o
    Mi g                     @   s|   d dl mZ d dlmZ G dd deZG dd deZG dd deZG d	d
 d
eZG dd deZ	G dd deZ
dS )   )BaseStemmer)Amongc                   @   s  e Zd ZdZh dZh dZh dZh dZdZdd Z	d	d
 Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zed#d$d%ed&d$d'gZed(d$d)ed*d$d%ed+d$d)ed,d$d%ed-d)d%ed.d$d)ed/d0d%ed1d2d%ed3d4d%ed5d$d'ed6d7d%ed8d7d%ed9d$d%ed:d;d%ed<d=d%ed>d$d)ed?d@d%edAdBd%edCdDd%edEd$d%edFd$d%gZedGd$d$edHd$d$edId$d$edJd$d$edKd$d$edLd$d$edMd$d$edNd$d$edOd$d$g	ZedPd$d%gZedQd$d%edRd$d)edSd$d'edTd$d%edUd$d)edVd$d'edWd$d%edXd$d)edYd$d'edZd$d%ed[d$d)ed\d$d'gZed]d$d%ed^d$d%ed_d$d%ed`d$d%edad$d%edbd$d%edcd0d%eddd$d'eded4d%edfd4d%g
Zedgd$d'edhdd%edidd%edjdd%edddd$gZedkd$dledmdd'ednd$dledod'd%edpd$d%edqd$d%edrd$d)gZedsd$d$edtd$d$edud$d$edvd$d$gZ edwd$d%edxd$d'edyd$d)gZ!edzd$d'ed{d$d%ed|d$d%gZ"g ed}d$d%ed~d$d%edd%d%edd$d%edd)d%edd$d%edd$d%edd$d%edd$d%edd$d%edd7d%edd$d;eddd;eddd;eddd;eddd;edd$d;edd$d;eddDd;eddd;eddDd;edd$d;eddd;eddd;eddd;eddd;edd$d;eddd;edd$d;edd$d;edd$d;edd$d;edd$d%eddd%eddd%eddd%eddd%edd$dledd$dledddledd$dledddledddledddledddledd$dledddledd$dledd$dledd$dledd$dledd$dledd$dledd$dedddedd$dedd$dedddedd$dedddedddedddedddedd$dedddedd$dedd$dedd$dedd$dedd$dedd$dBedd$dBedd$dBedddBedddBedddBedddBedd$dBedd$dBedd$dBedd$dBedd$d݃edd$d݃edd$d݃eddd݃eddd݃eddd݃eddd݃edd$d݃edd$d݃edd$d݃edd$d݃edd$d4edd$d4eddd4edd$d4eddd4eddd4eddd4eddd4edd$d4eddd4edd$d4edd$d4edd$d4edd$d4edd$d4eddd4edd$d2eddd2ed dd2eddd2eddd2edd$d0edd$d0eddd0eddd0edd$d0ed	d
d0edd
d0edd
d0edd
d0edd$d0eddd0edd$d0edd$d0edd$d0edd$d0edd$d0eddd0edd$d=eddd=edd$d=edd$d=eddd=edd$d=ed d!d=ed"d!d=ed#d!d=ed$d!d=ed%d$d=ed&d'd=ed(d$d=ed)d$d=ed*d$d=ed+d$d=ed,d$d=ed-d$ded.d$ded/d$ded0d1ded2d1ded3d1ded4d1ded5d$ded6d$ded7d$ded8d$ded9d$ded:d;ded<d$ded=d>ded?d$ded@d$d@edAd$d@edBd$d@edCdDd@edEdDd@edFdDd@edGdDd@edHd$d@edId$d@edJd$d@edKd$d@edLd$d'edMd$d'edNdOd'edPdQd'edRdOd'edSd$d'edTdUd'edVdUd'edWdUd'edXdUd'edYd$d'edZd[d'ed\d$d'ed]d$d'ed^d$d'ed_d$d'ed`d$d'edadbd'edcdbd'edddbd'ededbd'edfd$d7edgdhd7edidhd7edjdhd7edkdhd7edld$d7edmd$d7edndod7edpdod7edqd$d7edrdsd7edtdsd7edudsd7edvdsd7edwd$d7edxdyd7edzd$d7ed{d$d7ed|d$d7ed}d$d7ed~d$d7eddd7edd$dDedd$dDedd$dDedddDedddDedddDedddDedd$dDedd$dDedd$dDedd$dDedd$dDedddDedd$dDedddDedd$dDedd$dedd$dedddedd$dedddedddedddedddedd$dedddedd$dedd$dedd$dedd$dedd$dedddedd$dedddedddedddedddedd$d)eddd)edd$d)edd$d)eddd)edd$d)eddd)eddd)eddd)eddd)edd$d)eddd)edd$d)edd$d)edd$d)edd$d)edd$d)edd$d)edd$d)edd$dedd$dedȐddedʐdded̐ddedd$dedΐddedАddedѐddedҐddedd$dedԐddedd$dedd$dedd$dedd$dedd$dZ#dS (  EstonianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from estonian.sbl by Snowball 3.0.1 - https://snowballstem.org/
    >	   aeiou   ä   õ   ö   ü>   r   r   r   r   r	   >      š   žbdfghkpstz>   r   cr   r   jlmnr   qrr	   vwxr
   r   r   r       c                 C   sP   | j | _| tjsdS |  jd7  _| tjsdS |  jd7  _| j| _dS )NFr   T)limitI_p1go_out_groupingr   g_V1cursorgo_in_groupingself r-   T/home/ubuntu/.local/lib/python3.10/site-packages/snowballstemmer/estonian_stemmer.py__r_mark_regions   s   z EstonianStemmer.__r_mark_regionsc                 C   s(  | j | jk rdS | j}| j| _| j | _| tj}|dkr"|| _dS | j | _|| _| j| j  }| j d }|| jk r;dS || _ | j| | _ |dkr| j| j  }| 	tj
sVdS | j| | _ | j| j  }z
|  sjt W dS  tyu   Y nw | j| | _ |  sdS dS | 	tjsdS |  sdS dS )NFr$      r   T)r)   r&   limit_backwardketfind_among_br   a_0brar%   in_grouping_bg_GI_EstonianStemmer__r_LONGVlab0	slice_delg_KI)r,   v_2	among_varv_3r   v_4v_5r-   r-   r.   __r_emphasis#   sJ   

zEstonianStemmer.__r_emphasisc                 C   s   | j | jk rdS | j}| j| _| j | _| tj}|dkr"|| _dS | j | _|| _|dkr5|  s3dS dS |dkrB| 	ds@dS dS | 
tjsJdS |  sPdS dS )NFr$   r      r   T)r)   r&   r1   r2   r3   r   a_1r5   r:   
slice_fromr6   r(   r,   r<   r=   r-   r-   r.   __r_verbL   s0   
zEstonianStemmer.__r_verbc                 C   s   |  tjdkr
dS dS )Nr$   FT)r3   r   a_2r+   r-   r-   r.   	__r_LONGVg   s   zEstonianStemmer.__r_LONGVc                 C   sn   | j | jk rdS | j}| j| _| j | _| tjdkr || _dS | j | _|| _| tj	s/dS | 
 s5dS dS NFr$   T)r)   r&   r1   r2   r3   r   a_3r5   r6   g_RVr:   r,   r<   r-   r-   r.   __r_i_plurall   s   zEstonianStemmer.__r_i_pluralc                 C   s   | j | jk rdS | j}| j| _| j | _| tj}|dkr"|| _dS | j | _|| _|dkr6| ds4dS dS |dkrC| dsAdS dS | dsJdS dS )	NFr$   r   laserB   miseliseT)	r)   r&   r1   r2   r3   r   a_4r5   rD   rE   r-   r-   r.   __r_special_noun_endings~   s,   


z(EstonianStemmer.__r_special_noun_endingsc                 C   s
  | j | jk rdS | j}| j| _| j | _| tj}|dkr"|| _dS | j | _|| _|dkrbz+| j| j  }z| 	tj
s>t t  tyI   Y nw | j| | _ |  sWW dS W n$ tya   Y nw | j| j  }| j d }|| jk rtdS || _ | j| | _ |  sdS dS )NFr$   r   r0   T)r)   r&   r1   r2   r3   r   a_5r5   r%   r6   rK   lab1r9   r8   r:   )r,   r<   r=   r>   r?   r   r-   r-   r.   __r_case_ending   sB   

zEstonianStemmer.__r_case_endingc                 C   s$  | j | jk rdS | j}| j| _| j | _| tj}|dkr"|| _dS | j | _|| _|dkr6| ds4dS d
S |dkrb| j	| j  }z
| 
 sHt W dS  tyS   Y nw | j	| | _ |  s`dS d
S |dkrzb| j	| j  }zA| j	| j  }| j d }|| jk rt || _ | j	| | _ | tj}|dkr| dsW W dS t |dkr|  sW W dS t  ty   Y nw | j	| | _ | d	sW dS W d
S  ty   Y d
S w z+| j	| j  }z| tjst t  ty   Y nw | j	| | _ | 
 sW dS W n
 ty   Y nw |  sdS d
S )NFr$   r   ikurB      r0   r   r   T)r)   r&   r1   r2   r3   r   a_7r5   rD   r%   r8   r9   r:   lab2a_6rT   r6   rK   lab4lab3)r,   r<   r=   r>   r?   r@   r   v_6r-   r-   r.   __r_plural_three_first_cases   s   
3)




z,EstonianStemmer.__r_plural_three_first_casesc                 C   s^   | j | jk rdS | j}| j| _| j | _| tjdkr || _dS | j | _|| _|  s-dS dS rI   )	r)   r&   r1   r2   r3   r   a_8r5   r:   rL   r-   r-   r.   __r_nu   s   zEstonianStemmer.__r_nuc                 C   s   |  tjsdS | j| jkrdS | j| _| tj}|dkr dS | j| _|dkr1| 	ds/dS dS |dkr>| 	ds<dS dS | 	dsEdS dS )	NFr$   r   r   rB   r   r   T)
r6   r   r(   r&   r)   r2   r3   a_9r5   rD   r,   r=   r-   r-   r.   __r_undouble_kpt  s(   


z EstonianStemmer.__r_undouble_kptc                 C   s   | j | jk rdS | j}| j| _| j | _| tj}|dkr"|| _dS | j | _|| _|dkr=| tj	s5dS | 
 s;dS dS | 
 sCdS dS )NFr$   r   T)r)   r&   r1   r2   r3   r   a_10r5   r6   rK   r:   rE   r-   r-   r.   __r_degrees!  s(   zEstonianStemmer.__r_degreesc                 C   s   | j | j }|   | j | | _| j | j }|   | j | | _| j | j }|   | j | | _| j | j }|   | j | | _| j | j }|   | j | | _| j | j }|   | j | | _dS )NT)r%   r)   (_EstonianStemmer__r_special_noun_endings_EstonianStemmer__r_case_ending,_EstonianStemmer__r_plural_three_first_cases_EstonianStemmer__r_degrees_EstonianStemmer__r_i_plural_EstonianStemmer__r_nur,   v_1r<   r>   r?   r@   r]   r-   r-   r.   __r_substantive9  s&   zEstonianStemmer.__r_substantivec                 C   s  | j | _| tj}|dkrdS | j | _| j | jk rdS |dkr)| ds'dS d&S |dkr6| ds4dS d&S |dkrC| dsAdS d&S |d	krP| d
sNdS d&S |dkr]| ds[dS d&S |dkrj| dshdS d&S |dkrw| dsudS d&S |dkr| dsdS d&S |dkr| dsdS d&S |dkr| dsdS d&S |dkr| dsdS d&S |dkr| dsdS d&S |dkr| dsdS d&S |dkr| dsdS d&S |dkr| d sdS d&S |d!kr| d"sdS d&S |d#kr| d$sdS d&S | d%sdS d&S )'Nr$   Fr   joorB   saarW   viimar0   keesi   u   löö      lõi   loo   u   käisi	   u   söö
   too   u   võisi      jääma   u   müüsi   luge   u   põde   ladu   tegiu   nägiT)r)   r5   
find_amongr   a_11r2   r%   rD   rb   r-   r-   r.   __r_verb_exceptionsN  s   
4
1
.
+
(
%
"










z#EstonianStemmer.__r_verb_exceptionsc                 C   s4  | j }z
|  st W dS  ty   Y nw || _ | j }|   || _ | j | _| j| _ | j| j  }|   | j| | _ | j| j  }z2z&| j| j  }z
|  sRt t	  ty]   Y nw | j| | _ | 
  W n	 t	yr   Y nw W n	 ty}   Y nw | j| | _ | j| j  }|   | j| | _ | j| _ dS )NFT)r)   #_EstonianStemmer__r_verb_exceptionsr9    _EstonianStemmer__r_mark_regionsr1   r%   _EstonianStemmer__r_emphasis_EstonianStemmer__r_verbr\   rY   _EstonianStemmer__r_substantiverT    _EstonianStemmer__r_undouble_kptrl   r-   r-   r.   _stem  sF   zEstonianStemmer._stemgir   kirB   darW   matar   ksidnuksidmesimers   ksimert   nuksimerv   aksedaksery   taksesiteksiter}   nuksiter   r   sinr   ksinr   nuksinr   dakstaksaaeeiioouuu   ääu   õõu   ööu   üür   lanelineminelasselissemisselasilisimisilastlistmistgatalesser   r   ksr   ltst laslismisr   r0   siddeikkudeikeikketevadunutukkppttmamair   joobjoodjoodaksejoomajoomatajoomejoonjootejoovadjuuajuuakseu   jäiu   jäidr|   u   jäimeu   jäinu   jäiteu   jääbu   jäädu   jäädau
   jäädakse   u   jäädiu   jääksu	   jääksid   u
   jääksimeu	   jääksinu
   jääksiter~   u	   jäämata   u   jäämeu   jäänu   jääteu   jäävadu   jõiu   jõid    u   jõimeu   jõinu   jõitekeebkeedkeedakse&   keekskeeksid(   keeksimekeeksinkeeksitekeemakeemata-   keemekeenkeeskeetakeetekeevadu   käiarx   u   käiakse5   u   käibu   käidu   käidi8   u   käiksu   käiksid:   u	   käiksimeu   käiksinu	   käiksiteu   käimau   käimata?   u   käimeu   käinu   käisu   käiteu   käivadlaoblaodlaokslaoksidH   laoksimelaoksinlaoksitelaomelaonlaotelaovadloebr   loedloeksloeksidS   loeksimeloeksinloeksiteloemeloenloeteloevadloobloodloodi]   lookslooksid_   looksimelooksinlooksiteloomaloomatad   loomeloonlooteloovadluualuuaksej   ru   u   lõidl   u   lõimeu   lõinu   lõiteu   lööbu   löödu
   löödakser   u   löödiu   lööksu	   lööksidu   u
   lööksimeu	   lööksinu
   lööksiteu   löömau	   löömataz   u   löömeu   löönu   lööteu   löövadu   lüüau	   lüüakse   u   müüau	   müüakse   u   müübu   müüdu   müüdi   u   müüksu	   müüksid   u
   müüksimeu	   müüksinu
   müüksiteu   müümau	   müümata   u   müümeu   müünu   müüsu   müüteu   müüvadu   näebu   näedu   näeksu   näeksid   u	   näeksimeu   näeksinu	   näeksiteu   näemeu   näenu   näeteu   näevadu   nägemau	   nägemata   u   nähau   nähakse   u   nähtiu   põebu   põedu   põeksu   põeksid   u	   põeksimeu   põeksinu	   põeksiteu   põemeu   põenu   põeteu   põevadsaabsaadsaada   saadakse   saadisaakssaaksid   saaksimesaaksinsaaksitesaamasaamata   saamesaansaatesaavadsaisaid   saimesainsaiteu   sõiu   sõid   u   sõimeu   sõinu   sõiteu   sööbu   söödu
   söödakse   u   söödiu   sööksu	   sööksid   u
   sööksimeu	   sööksinu
   sööksiteu   söömau	   söömata   u   söömeu   söönu   sööteu   söövadu   süüau	   süüakse   teebteedteeksteeksid   teeksimeteeksinteeksiteteemeteenteeteteevadtegemategemata   tehatehakse   tehtitoobrz   toodtoodi   tookstooksid   tooksimetooksintooksitetoomatoomata   toometoontootetoovadtuuatuuakse   u   tõiu   tõid   u   tõimeu   tõinu   tõiteviiaviiakse   viibviidviidii  viiksviiksidi  viiksimeviiksinviiksiterq   viimatai  viimeviinviisimeviisinviisiteviiteviivadu   võibu   võidu   võidai  u	   võidaksei  u   võidiu   võiksu   võiksidi  u	   võiksimeu   võiksinu	   võiksiteu   võimau   võimatai  u   võimeu   võinu   võisu   võiteu   võivadN)$__name__
__module____qualname____doc__r(   rK   r;   r7   r&   r   r   r   r8   rj   rf   rg   rh   rk   r   ri   r   r   r   r   r4   rC   rG   rJ   rQ   rS   rZ   rX   r_   ra   rd   r   r-   r-   r-   r.   r      s   )$C@
%



























































	
























	























 
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
nopqrstuvwxyz{|}~                 	  
                                               !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?  @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _  `  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z  {  |  }  ~                                     	    
                                                                                             !    "    #    $  
r   c                   @      e Zd ZdS )r9   Nr  r  r  r-   r-   r-   r.   r9   F      r9   c                   @   r  )rT   Nr  r-   r-   r-   r.   rT   I  r  rT   c                   @   r  )rY   Nr  r-   r-   r-   r.   rY   L  r  rY   c                   @   r  )r\   Nr  r-   r-   r-   r.   r\   O  r  r\   c                   @   r  )r[   Nr  r-   r-   r-   r.   r[   R  r  r[   N)basestemmerr   amongr   r   BaseExceptionr9   rT   rY   r\   r[   r-   r-   r-   r.   <module>   s         D