
    1 fB                     r    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d	S )
   )BaseStemmer)Amongc            !       D   e Zd Zd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           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d,dd          gZ ed-dd           ed.d/d           ed0dd           ed1dd           ed2dd           ed3d4d           ed5dd           ed6dd           ed7d8d           ed9d8d           ed:dd          gZg d;Zg d<Z	d/Z
d/Zd= Zd> Zd? Zd@ ZdA ZdBS )CNorwegianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    ar   eedeandeendeaneenehetene   erte   enheten	   arerheter   s   as   esedes   endeseneshetenes   enshetens   ersetsethet   ertastdtvtlegeleg    igeigligelig   elslovelov   slovhetslov)   A   r    r   r3   r3   r3   r3   r3   r3   r3   r3   r3   r3   r3   r3   0   r3      )w   }      r   c                    | j         | _        | j        }| j        dz   }|| j         k    rdS || _        | j        | _        || _        |                     t
          j        dd          sdS |                     t
          j        dd          sdS | xj        dz  c_        | j        | _        	 | j        | j        k     st                      | j        | _        n# t          $ r Y nw xY wdS )Nr   Fa      r   T)	limitI_p1cursorI_xgo_out_groupingr   g_vgo_in_groupinglab0)selfv_1cs      W/var/www/equiseq/venv/lib/python3.11/site-packages/snowballstemmer/norwegian_stemmer.py__r_mark_regionsz!NorwegianStemmer.__r_mark_regionsG   s    J	kK!Otz>>5;##$4$8"cBB 	5""#3#7SAA 	5qK		9tx''ffDIITTts   (*C 
C C c                    | j         | j        k     rdS | j        }| j        | _        | j         | _        |                     t
          j                  }|dk    r	|| _        dS | j         | _        || _        |dk    r|                                 sdS n|dk    r	 | j	        | j         z
  }	 | 
                    t
          j        dd          st                      t                      # t          $ r Y nw xY w| j	        |z
  | _         |                     d          sdS |                     t
          j        dd	          sdS n# t          $ r Y nw xY w|                                 sdS n|                     d
          sdS dS )NFr3   r   r   b   z   krG   rH   r   T)rK   rJ   limit_backwardketfind_among_br   a_0bra	slice_delrI   in_grouping_b
g_s_endinglab1rP   eq_s_bout_grouping_brN   
slice_from)rQ   v_2	among_varv_3s       rT   __r_main_suffixz NorwegianStemmer.__r_main_suffix]   s   ;""5!"i;%%&6&:;;	>>"%D5;!>>>>## u !^^j4;."--.>.I2sSS %"ff&&L!!!TT!"j3.{{4(( ! 5**+;+?SII ! 5!>>## u ??5)) uts6   D> '=C$ $
C1.D> 0C11'D> !D> >
E
Ec                    | j         | j        z
  }| j        | j        k     rdS | j        }| j        | _        | j        | _        |                     t          j                  dk    r	|| _        dS | j        | _        || _        | j         |z
  | _        | j        | j        k    rdS | xj        dz  c_        | j        | _        | 	                                sdS dS )NFr3   r   T)
rI   rK   rJ   rZ   r[   r\   r   a_1r^   r_   )rQ   rR   rh   s      rT   __r_consonant_pairz#NorwegianStemmer.__r_consonant_pair   s    j4;&;""5!"i;-122a77"%D5;!j3&;$---5q;~~ 	5t    c                    | j         | j        k     rdS | j        }| j        | _        | j         | _        |                     t
          j                  dk    r	|| _        dS | j         | _        || _        |                                 sdS dS )NFr3   T)	rK   rJ   rZ   r[   r\   r   a_2r^   r_   )rQ   rf   s     rT   __r_other_suffixz!NorwegianStemmer.__r_other_suffix   s    ;""5!"i;-122a77"%D5;!~~ 	5trm   c                    | j         }|                                  || _         | j         | _        | j        | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | _         dS )NT)rK   !_NorwegianStemmer__r_mark_regionsrZ   rI    _NorwegianStemmer__r_main_suffix#_NorwegianStemmer__r_consonant_pair!_NorwegianStemmer__r_other_suffix)rQ   rR   rf   rh   v_4s        rT   _stemzNorwegianStemmer._stem   s    k"kjj4;&j3&j4;&!!!j3&j4;&j3&)trm   N)__name__
__module____qualname____doc__r   r]   rk   ro   rN   ra   rL   rJ   rr   rs   rt   ru   rw    rm   rT   r   r      ss         	dBdBfagq!gq!fafaiAgq!eRh1eReRhAdBeReRgr1hAgr1j"a  fb!iQfb!fb!eRfb!fb!fb!;CB 	eReRC 	fb!gq!eRfafagq!fb!fb!gq!gq!j!QC J
I
IC###J
CD  ,$ $ $L  ,       rm   r   c                       e Zd ZdS )rP   Nrx   ry   rz   r|   rm   rT   rP   rP                rm   rP   c                       e Zd ZdS )rb   Nr~   r|   rm   rT   rb   rb      r   rm   rb   N)basestemmerr   amongr   r   BaseExceptionrP   rb   r|   rm   rT   <module>r      s    % $ $ $ $ $      r r r r r{ r r rj      =         =     rm   