
    Ric5                     t    d dl mZ d dlmZ  G d de      Z G d de      Z G d de      Z G d	 d
e      Zy)   )BaseStemmer)Amongc                      e Zd ZdZh dZdZd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Z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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      gZ ed/dd       ed0dd      gZg  ed1dd       ed2dd       ed3dd       ed4dd       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d?dd       ed@dd       edAdd       edBdd       edCdd       edDdd       edEdFd       edGdHd       edIdFd       edJdKd       edLdKd       edMdFd       edNdFd       edOdd       edPdd       edQdd       edRdSd       edTdSd       edUdSd       edVdWd       edXdWd       edYdWd       edZdSd       ed[dSd       ed\dSd       ed]dd       ed^dd       ed_dd       ed`dd       edadd      Z edbdd       edcdd       edddd      gZ ededd       edfdd       edgdd       edhdd       edidjd       edkdjdj      gZ eddd       eddd      gZ edlddj       edmddj       ednddj       edoddj       edpdd       edqdd       edrddj      gZ edsdd       edtddj       edudd       eddd       edvdjd       edwdxd       edydxd       edzdxd       ed{dxdj       ed|dxd       ed}dxd       ed~djd      gZg  eddd       eddd       eddd       eddd       eddd       eddd       eddd       edddj       eddd       eddd       eddd       eddd       eddd       eddd       edddj       eddd       eddd       eddd       eddd       eddd       eddFd       eddHdj       eddd       eddKd       eddKd       eddKd       eddKd       eddKdj       eddd       eddd       edddj      Zg  eddd       eddd       eddd       eddd       eddjd       eddd       edddj       eddd       eddd       eddd       eddd       eddd       eddd       edsddj       eddd       eddd       eddd       edddj       eddd       eddd       eddFd       eddd       eddd       eddd       edddj       eddd       eddd       eddd       eddd       eddd       eddd       edddj       eddd       eddWd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       edddj      Z y)HungarianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from hungarian.sbl by Snowball 3.0.1 - https://snowballstem.org/
    >      ő   űaeiou   á   é   í   ó   ö   ú   ü    c                 b   | j                   | _        	 | j                  }	 | j                  t        j
                        s
t               | j                  }	 | j                  t        j
                        s
t               | xj                  dz  c_        | j                  | _        || _        t               # t        $ r Y w xY w# t        $ r Y nw xY w|| _        | j                  t        j
                        sy| xj                  dz  c_        | j                  | _        y# t        $ r Y yw xY w)Nr   FT)limitI_p1cursorin_groupingr   g_vlab1go_in_groupinglab2lab0go_out_grouping)selfv_1v_2s      Y/home/agent/.friday_env/lib/python3.12/site-packages/snowballstemmer/hungarian_stemmer.py__r_mark_regionsz!HungarianStemmer.__r_mark_regions   s    JJ		++C''(8(<(<=&Lkk"../?/C/CD"fKK1$K $DI!f !T! DK''(8(<(<=KK1KDI T 	sY   D" 5C AB6 %C 6	C?C CC 	CD" C)D" ;&D" "	D.-D.c                 4    | j                   | j                  k  S )N)r   r   r!   s    r$   __r_R1zHungarianStemmer.__r_R1+   s    yyDKK''    c                    | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        | j                         sy|dk(  r| j                  d      syy| j                  d      syy)Nr   Fr   r	   r
   T)r   ketfind_among_br   a_0bra_HungarianStemmer__r_R1
slice_fromr!   	among_vars     r$   __r_v_endingzHungarianStemmer.__r_v_ending.   t    ;;%%&6&:&:;	>;;{{}>??4(  ??4(r)   c                     | j                   | j                  z
  }| j                  t        j                        dk(  ry| j                   |z
  | _        yNr   FT)r   r   r,   r   a_1)r!   r"   s     r$   
__r_doublezHungarianStemmer.__r_double>   sD    jj4;;&-112a7jj3&r)   c                 &   | j                   | j                  k  ry| xj                   dz  c_         | j                   | _        | j                   | j                  k  ry| xj                   dz  c_         | j                   | _        | j	                         syy)NFr   T)r   limit_backwardr+   r.   	slice_delr'   s    r$   __r_undoublezHungarianStemmer.__r_undoubleE   sn    ;;$---q;;;;$---q;;~~r)   c                    | j                   | _        | j                  t        j                        dk(  ry| j                   | _        | j                         sy| j                         sy| j                         sy| j                         syyr6   )
r   r+   r,   r   a_2r.   r/   _HungarianStemmer__r_doubler;   _HungarianStemmer__r_undoubler'   s    r$   __r_instrumzHungarianStemmer.__r_instrumS   m    ;;-112a7;;{{} ~~  "r)   c                     | j                   | _        | j                  t        j                        dk(  ry| j                   | _        | j                         sy| j                         sy| j                         syyr6   )	r   r+   r,   r   a_3r.   r/   r;   _HungarianStemmer__r_v_endingr'   s    r$   __r_casezHungarianStemmer.__r_casec   s`    ;;-112a7;;{{}~~  "r)   c                    | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        | j                         sy|dk(  r| j                  d      syy| j                  d      syy)Nr   Fr   r
   r	   T)r   r+   r,   r   a_4r.   r/   r0   r1   s     r$   __r_case_specialz!HungarianStemmer.__r_case_specialq   r4   r)   c                 6   | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        | j                         sy|dk(  r| j                         syy|dk(  r| j                  d      syy| j                  d      syyNr   Fr      r	   r
   T)	r   r+   r,   r   a_5r.   r/   r;   r0   r1   s     r$   __r_case_otherzHungarianStemmer.__r_case_other       ;;%%&6&:&:;	>;;{{}>>>#  !^??4(  ??4(r)   c                    | j                   | _        | j                  t        j                        dk(  ry| j                   | _        | j                         sy| j                         sy| j                         sy| j                         syyr6   )
r   r+   r,   r   a_6r.   r/   r?   r;   r@   r'   s    r$   __r_factivezHungarianStemmer.__r_factive   rB   r)   c                 6   | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        | j                         sy|dk(  r| j                  d      syy|dk(  r| j                  d      syy| j                         syy)Nr   Fr   r	   rL   r
   T)	r   r+   r,   r   a_7r.   r/   r0   r;   r1   s     r$   
__r_pluralzHungarianStemmer.__r_plural   s    ;;%%&6&:&:;	>;;{{}>??4(  !^??4(
  >>#r)   c                 6   | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        | j                         sy|dk(  r| j                         syy|dk(  r| j                  d      syy| j                  d      syy)Nr   Fr   rL   r
   r	   T)	r   r+   r,   r   a_8r.   r/   r;   r0   r1   s     r$   	__r_ownedzHungarianStemmer.__r_owned   rO   r)   c                 6   | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        | j                         sy|dk(  r| j                         syy|dk(  r| j                  d      syy| j                  d      syyrK   )	r   r+   r,   r   a_9r.   r/   r;   r0   r1   s     r$   __r_sing_ownerzHungarianStemmer.__r_sing_owner   rO   r)   c                 6   | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        | j                         sy|dk(  r| j                         syy|dk(  r| j                  d      syy| j                  d      syyrK   )	r   r+   r,   r   a_10r.   r/   r;   r0   r1   s     r$   __r_plur_ownerzHungarianStemmer.__r_plur_owner   s    ;;%%&6&;&;<	>;;{{}>>>#  !^??4(  ??4(r)   c                    | j                   }| j                          || _         | j                   | _        | j                  | _         | j                  | j                   z
  }| j	                          | j                  |z
  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | j                   z
  }	| j                          | j                  |	z
  | _         | j                  | j                   z
  }
| j                          | j                  |
z
  | _         | j                  | _         y)NT)r   !_HungarianStemmer__r_mark_regionsr:   r   _HungarianStemmer__r_instrum_HungarianStemmer__r_case!_HungarianStemmer__r_case_special_HungarianStemmer__r_case_other_HungarianStemmer__r_factive_HungarianStemmer__r_owned_HungarianStemmer__r_sing_owner_HungarianStemmer__r_plur_owner_HungarianStemmer__r_plural)r!   r"   r#   v_3v_4v_5v_6v_7v_8v_9v_10s              r$   _stemzHungarianStemmer._stem   s   kk"kkjjjj4;;&jj3&jj4;;&jj3&jj4;;&jj3&jj4;;&jj3&jj4;;&jj3&jj4;;&jj3&jj4;;&jj3&jj4;;&jj3&zzDKK'jj4'))r)   r   r   r   rL   bbccddffggjjkkllmmnnpprrccssszzsttvvggyllynnyttysszzzalelbarabereignaknekvalvelulu   nálu   nélu   bólu   rólu   tólu   ülu   bőlu   rőlu   tőlnan   ban   enben   u   képpenonu   önu   képpkortat   etu   kéntu   anként    u   enkéntu   onkéntotu   értu   öthezhozu   hözu   váu   véu   ánu   énu   ánkéntstulastulu   ástulu   stülu   estül   u   éstülkakekoku   áku   éku   öku   éiu   áéiu   ééiu   kéu   aké   u   ekéu   okéu   ákéu   ékéu   ökéu   éér	   jadadedodu   ádu   édu   ödr
   je	   nkunk   u   ánku   énku   ünkukjuk   u   ájuk   u   üku   jüku   éjükmamemomu   ámu   émr   idaidjaideidjeidu   áidu   éidr   ai   jai   eijei
   u   áiitekeitek   jeitek   u   éitekikaik   jaikeikjeik   u   áiku   éikinkaink   jaink   einkjeink   u   áinku   éinkaitokjaitoku   áitokimaim#   jaim$   eimjeim&   u   áimu   éimN)!__name__
__module____qualname____doc__r   r   r`   r/   rE   r?   r@   ra   rb   rc   rd   re   ri   rf   rg   rh   rr   r   r-   r7   r>   rD   rH   rM   rQ   rT   rW   rZ   r]    r)   r$   r   r      s>   
 hCD2(   ( (((("J 	eReRC 	eReReReReReReReReReReReRfb"eRfb"eReRfb"fb"fb"fb"fb"eR/C6 	eReRC
-eR-eR- 	eR- 	eR	-
 	eR- 	fb"- 	fb"- 	fb"- 	fb"- 	eR- 	gr2- 	gr2- 	gr2- 	gr2- 	gr2-  	fb"!-" 	gr2#-$ 	gr2%-& 	gr2'-( 	dB)-* 	eR+-, 	fb"--. 	eR/-0 	fb"1-2 	j"b!3-4 	eR5-6 	fb"7-8 	hB9-: 	fb";-< 	dB=-> 	eR?-@ 	eRA-B 	hBC-D 	j"b!E-F 	j"b!G-H 	j"b!I-J 	eRK-L 	gr2M-N 	fb"O-P 	fb"Q-R 	fb"S-T 	gr2U-V 	fb"W-X 	fb"Y-C` 	fb!fb!k2q!C 	gr1h1iAhAiAj!QC 	eReRC 	dBeQeQeQfafafaC 	fb!h1h1eRfagq!gq!gq!h1h1h1gq!C dB eQ  	dB  	eQ	 
 	eQ  	eQ  	fa  	fa  	fa  	dB  	eQ  	eR  	fb!  	gr1  	gr1   	gr1! " 	eR# $ 	fb!% & 	hA' ( 	fb!) * 	gr1+ , 	iQ- . 	dB/ 0 	eR1 2 	eR3 4 	eR5 6 	fb!7 8 	fb!9 : 	dB; < 	eR= > 	eR? CD+eR+fa+ 	gq!+ 	fa	+
 	gq!+ 	gq!+ 	gq!+ 	dB+ 	eQ+ 	fa+ 	eQ+ 	fb!+ 	fa+ 	fa+ 	gr1+  	hA!+" 	iQ#+$ 	iQ%+& 	eR'+( 	fb!)+* 	gr1++, 	fb!-+. 	gr1/+0 	gr11+2 	gr13+4 	fb!5+6 	gr17+8 	hA9+: 	gr1;+< 	hA=+> 	hA?+@ 	hAA+B 	hAC+D 	iQE+F 	iQG+H 	eRI+J 	fb!K+L 	gr1M+N 	fb!O+P 	gr1Q+R 	gr1S+T 	gr1U+Dr)   r   c                       e Zd Zy)r   Nr   r   r   r   r)   r$   r   r         r)   r   c                       e Zd Zy)r   Nr   r   r)   r$   r   r     r   r)   r   c                       e Zd Zy)r   Nr   r   r)   r$   r   r     r   r)   r   N)	basestemmerr   amongr   r   BaseExceptionr   r   r   r   r)   r$   <module>r      s:    % ^{ ^B  =   =   = r)   