
    g#                         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 G d de      Z	 G d de      Z
 G d de      Zy)   )BaseStemmer)Amongc                   h   e Zd ZdZ eddd       eddd       eddd      gZ eddd       eddd       ed	dd      gZ ed
ddd       edddd       ed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d       eddd       eddd       edd d       ed!d dd       ed"dd      gZ ed#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	g d+Z
d&Zd&Zd, Zd- Zd. Zd/ Zd0 Zd1 Zd2 Zd3 Zd4 Zd5 Zd6 Zy7)8IndonesianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    kahr   lahpunnyakumui!_IndonesianStemmer__r_SUFFIX_I_OKan"_IndonesianStemmer__r_SUFFIX_AN_OKkan#_IndonesianStemmer__r_SUFFIX_KAN_OKdike   memem   menmeng   meny   _IndonesianStemmer__r_VOWELpem   penpeng   penyterbe_IndonesianStemmer__r_KERbelajar    berpepelajarper)   A      c                     | j                   | _        | j                  t        j                        dk(  ry| j                   | _        | j                         sy| xj                  dz  c_        yNr*   Fr   T)cursorketfind_among_br   a_0bra	slice_del	I_measureselfs    W/var/www/openai/venv/lib/python3.12/site-packages/snowballstemmer/indonesian_stemmer.py__r_remove_particlez%IndonesianStemmer.__r_remove_particle<   S    ;;.223q8;;~~!    c                     | j                   | _        | j                  t        j                        dk(  ry| j                   | _        | j                         sy| xj                  dz  c_        yr3   )r4   r5   r6   r   a_1r8   r9   r:   r;   s    r=   __r_remove_possessive_pronounz/IndonesianStemmer.__r_remove_possessive_pronounG   r?   r@   c                 D    | j                   dk7  sy| j                   dk7  syy)Nr   Fr   TI_prefixr;   s    r=   __r_SUFFIX_KAN_OKz#IndonesianStemmer.__r_SUFFIX_KAN_OKR   s#    }}!}}!r@   c                 $    | j                   dk7  syy)Nr   FTrE   r;   s    r=   __r_SUFFIX_AN_OKz"IndonesianStemmer.__r_SUFFIX_AN_OKY   s    }}!r@   c                     | j                   dk  sy| j                  | j                  z
  }	 | j                  d      s
t	               y# t        $ r Y nw xY w| j                  |z
  | _        y)Nr   FsT)rF   limitr4   eq_s_blab0)r<   v_1s     r=   __r_SUFFIX_I_OKz!IndonesianStemmer.__r_SUFFIX_I_OK^   s^    }}!jj4;;&	;;t$fTjj3&s   A 	AAc                     | j                   | _        | j                  t        j                        dk(  ry| j                   | _        | j                         sy| xj                  dz  c_        yr3   )r4   r5   r6   r   a_2r8   r9   r:   r;   s    r=   __r_remove_suffixz#IndonesianStemmer.__r_remove_suffixj   r?   r@   c                 H    | j                  t        j                  dd      syy)Na   u   FT)in_groupingr   g_vowelr;   s    r=   	__r_VOWELzIndonesianStemmer.__r_VOWELu   s!     1 9 92sCr@   c                 l    | j                  t        j                  dd      sy| j                  d      syy)NrU   rV   FerT)out_groupingr   rX   eq_sr;   s    r=   __r_KERzIndonesianStemmer.__r_KERz   s0      !2!:!:BDyyr@   c                 &   | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        |dk(  r.| j                         syd| _        | xj                  dz  c_        y|dk(  r.| j                         syd| _        | xj                  dz  c_        y|dk(  r/d| _        | j                  d      sy| xj                  dz  c_        y|dk(  r/d| _        | j                  d      sy| xj                  dz  c_        y|dk(  rd| _        | xj                  dz  c_        	 | j                   }	 | j                   }| j                  t        j                  d	d
      s
t               || _         | j                  d      syt               d| _        | xj                  dz  c_        	 | j                   }	 | j                   }| j                  t        j                  d	d
      s
t               || _         | j                  d      syt               # t        $ r Y nw xY w|| _         | j                         sy	 y# t        $ r Y yw xY w# t        $ r Y nw xY w|| _         | j                         sy	 y# t        $ r Y yw xY w)Nr*   Fr   r   r   rK   r   r   rU   rV   pT)r4   r8   
find_amongr   a_3r5   r9   rF   r:   
slice_fromrW   rX   lab1rN   lab3lab2)r<   	among_varrO   v_2v_3v_4s         r=   __r_remove_first_order_prefixz/IndonesianStemmer.__r_remove_first_order_prefix   sk   ;;OO$5$9$9:	>;;>>>#DMNNaNn m !^>>#DMNNaNb a !^DM??4(NNaNX W !^DM??4(NNaNN M !^DMNNaNkk"++C++,=,E,Er3O"f"%DK??40$&L DMNNaNkk"++C++,=,E,Er3O"f"%DK??40$&L% !T!!~~'  (. ) ( )  !T!!~~'  (   sn   8I AH# 
H# <J 	AI 
I #	H/,I .H//I 	II	I'$J &I''J 	JJc                    | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        |dk(  r.| j                         syd| _        | xj                  dz  c_        y|dk(  r(| j                  d      sy| xj                  dz  c_        y|dk(  r.| j                         syd| _        | xj                  dz  c_        y| j                  d      syd| _        | xj                  dz  c_        y)	Nr*   Fr   r   ajarr   r   T)
r4   r8   ra   r   a_4r5   r9   rF   r:   rc   )r<   rg   s     r=   __r_remove_second_order_prefixz0IndonesianStemmer.__r_remove_second_order_prefix   s    ;;OO$5$9$9:	>;;>>>#DMNNaN   !^??7+NNaN  !^>>#DMNNaN 	 ??7+DMNNaNr@   c                    d| _         | j                  }	 	 | j                  }	 | j                  t        j                  dd      s
t               | xj                  dz  c_        | xj                   dz  c_         d# t
        $ r Y nw xY w|| _        n# t        $ r Y nw xY w|| _        | j                   dkD  syd| _        | j                  | _        | j                  | _        | j                  | j                  z
  }| j                          | j                  |z
  | _        | j                   dkD  sy| j                  | j                  z
  }| j                          | j                  |z
  | _        | j                  | _        | j                   dkD  sy	 | j                  }	 | j                  }| j                         s
t               | j                  }	 | j                  }| j                   dkD  s
t               | j                  | _        | j                  | _        | j                         s
t               | j                  | _        || _        | j                   dkD  s
t               | j!                         s
t               n# t        $ r Y nw xY w|| _        || _        t#               # t        $ r Y nw xY w|| _        | j                  }	| j!                          |	| _        | j                  }
	 | j                   dkD  s
t%               | j                  | _        | j                  | _        | j                         s
t%               | j                  | _        n# t$        $ r Y nw xY w|
| _        y# t"        $ r Y yw xY w)Nr*   TrU   rV   r   r   F)r:   r4   go_out_groupingr   rX   rd   rN   rF   limit_backwardrL   %_IndonesianStemmer__r_remove_particle/_IndonesianStemmer__r_remove_possessive_pronoun/_IndonesianStemmer__r_remove_first_order_prefixre   lab4#_IndonesianStemmer__r_remove_suffix0_IndonesianStemmer__r_remove_second_order_prefixrf   lab5)r<   rO   rh   ri   rj   v_5v_6v_7v_8v_9v_10s              r=   _stemzIndonesianStemmer._stem   s   kk	kk"//0A0I0I2sS"fKK1$KNNa'N!T!!T~~!"kkjjjj4;;&  "jj3&~~!jj4;;&**,jj3&))~~!)	++Ckk99;&Lkk"++C>>A-"f*.++D'"&**DK113"f"&"5"5DK"%DK>>A-"f>>@"f A!T!!!fDK++C//1DK;;D~~)&L&*kk#"jj--/&L"11DK T 	s   B AA9 8B 9	BB B
B 	BBM# 2J B,I8 7J 8	JJ JJ 	J+(M# *J++9M# %A&M M# 	MM# M
M# #	M/.M/N)__name__
__module____qualname____doc__r   r7   rB   rR   rb   rn   rX   rF   r:   rs   rt   r   r   r   rw   r   r(   ru   rx   r    r@   r=   r   r      s    	fb!fb!fb!C 	fb!eReRC 	dB>?eR@AfaABC 	eReReRfafagq!gq!:;fb!fb!gq!gq!:;fb!C  	eR78j!QfaeRj!QfaC GHI		

	
BH:Kr@   r   c                       e Zd Zy)rN   Nr   r   r   r   r@   r=   rN   rN   0      r@   rN   c                       e Zd Zy)rd   Nr   r   r@   r=   rd   rd   3  r   r@   rd   c                       e Zd Zy)rf   Nr   r   r@   r=   rf   rf   6  r   r@   rf   c                       e Zd Zy)re   Nr   r   r@   r=   re   re   9  r   r@   re   c                       e Zd Zy)rv   Nr   r   r@   r=   rv   rv   <  r   r@   rv   c                       e Zd Zy)ry   Nr   r   r@   r=   ry   ry   ?  r   r@   ry   N)basestemmerr   amongr   r   BaseExceptionrN   rd   rf   re   rv   ry   r   r@   r=   <module>r      sX    % f fR	  =   =   =   =   =   = r@   