
    g                     H    d dl mZ d dlmZ  G d de      Z G d de      Zy)   )BaseStemmer)Amongc            	          e Zd ZdZg  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       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      Z ed0dd       ed1dd       ed2dd       ed3dd      gZ ed4dd       ed5dd       ed6dd       ed7dd       ed8dd      gZg d9Zg d:Z	g d;Z
dZdZd<Zd= Zd> Zd? Zd@ ZdA ZdB ZyC)DDanishStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    hedr   ethed    eredeerede   endeerende   eneerneereenheden
   erenerheder   erers   heds   esendes   erendes   eneserneseresenshedens   erensersetserets   eteret   gddtgtktigligeligelsu   løst)w      r<   r   )   A   r    r   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   0   r
      )      *   r   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   r     c                    | j                   | _        | j                  }| j                  dz   }|| j                   kD  ry|| _        | j                  | _        || _        | j	                  t
        j                  dd      sy| j                  t
        j                  dd      sy| xj                  dz  c_        | j                  | _        	 | j                  | j                  k  s
t               | j                  | _        y# t        $ r Y yw xY w)Nr   Fa      r   T)	limitI_p1cursorI_xgo_out_groupingr   g_vgo_in_groupinglab0)selfv_1cs      S/var/www/openai/venv/lib/python3.12/site-packages/snowballstemmer/danish_stemmer.py__r_mark_regionszDanishStemmer.__r_mark_regionsI   s    JJ	kkKK!Otzz>;;##M$5$5r3?""=#4#4b#>qKK		99txx'fDI T 	s   4C< <	DDc                    | j                   | j                  k  ry| j                  }| j                  | _        | j                   | _        | j	                  t
        j                        }|dk(  r|| _        y| j                   | _        || _        |dk(  r| j                         syy| j                  t
        j                  dd      sy| j                         syy)NFr
   r   rG      T)rK   rJ   limit_backwardketfind_among_br   a_0bra	slice_delin_grouping_b
g_s_ending)rQ   v_2	among_vars      rT   __r_main_suffixzDanishStemmer.__r_main_suffix_   s    ;;"!!"ii;;%%m&7&78	>"%D;;!>>>#  %%m&>&>CH>>#    c                    | j                   | j                  z
  }| j                  | j                  k  ry| j                  }| j                  | _        | j                  | _        | j                  t        j                        dk(  r|| _        y| j                  | _        || _        | j                   |z
  | _        | j                  | j                  k  ry| xj                  dz  c_        | j                  | _        | j                         syy)NFr
   r   T)
rI   rK   rJ   rX   rY   rZ   r   a_1r\   r]   )rQ   rR   v_3s      rT   __r_consonant_pairz DanishStemmer.__r_consonant_pairw   s    jj4;;&;;"!!"ii;;]../14"%D;;!jj3&;;$---q;;~~rc   c                 8   | j                   | j                  z
  }	 | j                  | _        | j                  d      s
t	               | j                  | _        | j                  d      s
t	               | j                         sy	 | j                   |z
  | _        | j                  | j                  k  ry| j                  }| j                  | _        | j                  | _        | j                  t        j                        }|dk(  r|| _        y| j                  | _        || _        |dk(  rO| j                         sy| j                   | j                  z
  }| j                          | j                   |z
  | _        y| j                  d      syy# t        $ r Y w xY w)Nstr8   Fr
   r   u   løsT)rI   rK   rY   eq_s_brP   r\   r]   rJ   rX   rZ   r   a_2 _DanishStemmer__r_consonant_pair
slice_from)rQ   rR   rf   ra   v_4s        rT   __r_other_suffixzDanishStemmer.__r_other_suffix   sS   jj4;;&
	{{DH;;u%f{{DH;;u%f>># $ jj3&;;"!!"ii;;%%m&7&78	>"%D;;!>>>#**t{{*C##%**s*DK  ??;// Ts   A(F 	FFc                    | j                   | j                  k  ry| j                  }| j                  | _        | j                   | _        | j	                  t
        j                  dd      s|| _        y| j                   | _        | j                         | _	        | j                  dk(  ry|| _        | j                  | j                        sy| j                         syy)NFb   z   rE   T)rK   rJ   rX   rY   r^   r   g_cr\   slice_toS_chrj   r]   )rQ   r`   s     rT   __r_undoublezDanishStemmer.__r_undouble   s    ;;"!!"ii;;!!-"3"3R="%D;;MMO	99?!{{499%~~rc   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                  | _         y)NT)rK   _DanishStemmer__r_mark_regionsrX   rI   _DanishStemmer__r_main_suffixrl   _DanishStemmer__r_other_suffix_DanishStemmer__r_undouble)rQ   rR   r`   rf   rn   v_5s         rT   _stemzDanishStemmer._stem   s    kk"kkjjjj4;;&jj3&jj4;;&!jj3&jj4;;&jj3&jj4;;&jj3&))rc   N)__name__
__module____qualname____doc__r   r[   re   rk   rs   rN   r_   rL   rJ   ru   rx   ry   rl   rz   r{   r}    rc   rT   r   r      s*   
!fb!!h1! 	gr1! 	dB	!
 	h1! 	gq!! 	iA! 	fa! 	gq!! 	fa! 	eR! 	hA! 	gr1! 	eR! 	hA!  	gr1!!" 	dB#!$ 	gr1%!& 	eR'!( 	hA)!* 	j"a +!, 	gr1-!. 	hA/!0 	gr11!2 	fb!3!4 	iQ5!6 	hA7!8 	fb!9!: 	fb!;!< 	hA=!> 	eR?!@ 	gr1A!CH 	eReReReR	C 	eRfagq!fb!lB"C C
ICJJ
CDD,0,#J*rc   r   c                       e Zd Zy)rP   N)r~   r   r   r   rc   rT   rP   rP      s    rc   rP   N)basestemmerr   amongr   r   BaseExceptionrP   r   rc   rT   <module>r      s&    % SK Sl  = rc   