ó
ed›]c           @   s¾   d  d l  m Z d  d l m Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d	 e f d
 „  ƒ  YZ d e f d „  ƒ  YZ	 d e f d „  ƒ  YZ
 d e f d „  ƒ  YZ d S(   i   (   t   BaseStemmer(   t   Amongt   EnglishStemmerc           B   sš  e  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 ƒ 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 ƒ 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 ƒ 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 ƒ e d' d d( ƒ e d) d d* ƒ e d+ d d, ƒ e d- d. d. ƒ e d/ d d0 ƒ e d1 d d2 ƒ e d3 d d4 ƒ e d5 d d6 ƒ e d7 d d8 ƒ e d9 d d0 ƒ e d: d d, ƒ e d; d d< ƒ e d= d d ƒ e d> d4 d? ƒ e d@ d d0 ƒ e dA d d? ƒ e dB dC dD ƒ e dE d dD ƒ e dF d d? ƒ e dG d d< ƒ e dH d d2 ƒ e dI d d6 ƒ g Z	 e dJ d d. ƒ e dK d dD ƒ e dL d d ƒ e dM d d. ƒ e dN d d. ƒ e d= d d ƒ e d> d8 d ƒ e dO d d8 ƒ e dP d d8 ƒ g	 Z
 e dQ d d ƒ e dR d d ƒ e dS d d ƒ e dT d d ƒ e dU d d ƒ e dV d d ƒ e dW d d ƒ e dX d d ƒ e dY d 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 d` d d ƒ e da d* d ƒ e db dc d ƒ g Z e dd d d ƒ e de d d ƒ g Z e df d d ƒ e dg d d ƒ e dh d d ƒ e di d d ƒ e dj d d ƒ e dk d d ƒ e dl d d ƒ e dm d d ƒ g Z e dn d d ƒ e do d d ƒ e dp d d ƒ e dq d d ƒ e dr d d ƒ e ds d d2 ƒ e dt d d? ƒ e du d d ƒ e dv d dD ƒ e dw d d. ƒ e dx d d ƒ e dy d d6 ƒ e dz d d< ƒ e d{ d d ƒ e d| d d ƒ e d} d d ƒ e d~ d d8 ƒ e d d d0 ƒ g Z dC d€ dc d g Z d dC d€ d d g Z d‚ dƒ d g Z e 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# d’ „  Z$ d“ „  Z% RS(”   s   
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.0.0 - https://snowballstem.org/
    u   arseniÿÿÿÿu   communu   generu   'i   u   's'i    u   'su   iedi   u   si   u   iesu   ssesu   ssu   usu    u   bbu   ddu   ffu   ggu   blu   mmu   nnu   ppu   rru   atu   ttu   izu   edu   eedu   ingu   edlyu   eedlyu   inglyu   anciu   enciu   ogii   u   lii   u   blii   u   ablii   u   allii   u   fullii	   u   lesslii   u   ouslii
   u   entlii   u   alitiu   bilitiu   ivitii   u   tionalu   ationali   u   alismu   ationu   izationi   i   u   izeru   atoru   ivenessu   fulnessu   ousnessu   icateu   ativeu   alizeu   icitiu   icalu   fulu   nessu   icu   anceu   enceu   ableu   ibleu   ateu   iveu   izeu   itiu   alu   ismu   ionu   eru   ousu   antu   entu   mentu   ementi   u   eu   lu   succeedu   proceedu   exceedu   canningu   inningu   earringu   herringu   outingu   andesu   atlasu   biasu   cosmosu   dyingu   earlyu   gentlyu   howeu   idlyu   lyingu   newsu   onlyu   singlyu   skiesu   skisu   skyu   tyingu   uglyiA   iÐ   i7   i   c         C   sY  t  |  _ |  j } yG |  j |  _ |  j d ƒ s< t ƒ  ‚ n  |  j |  _ |  j ƒ  sX t  SWn t k
 rl n X| |  _ |  j } yS |  j |  _ |  j d ƒ s© t ƒ  ‚ n  |  j |  _ |  j	 d ƒ sÈ t  St
 |  _ Wn t k
 rå n X| |  _ |  j } y@x9t
 r6|  j } yyÑ xÊ t
 rß|  j } ym |  j t j d d ƒ sLt ƒ  ‚ n  |  j |  _ |  j d ƒ sst ƒ  ‚ n  |  j |  _ | |  _ t ƒ  ‚ Wn t k
 r¥n X| |  _ |  j |  j k rÍt ƒ  ‚ n  |  j d 7_ qWWn t k
 rôn X|  j	 d ƒ st  St
 |  _ wþ Wn t k
 r(n X| |  _ Pqþ WWn t k
 rKn X| |  _ t
 S(   Nu   'u   yu   Yia   iy   i   (   t   Falset	   B_Y_foundt   cursort   brat   eq_st   lab0t   kett	   slice_delt   lab1t
   slice_fromt   Truet   in_groupingR   t   g_vt   lab5t   lab4t   limitt   lab3t   lab2(   t   selft   v_1t   v_2t   v_3t   v_4t   v_5(    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt   __r_prelude¦   sz    		 		 							 	 	 		 	c         C   s™  |  j  |  _ |  j  |  _ |  j } yWyÁ |  j } y1 |  j t j ƒ d k rW t ƒ  ‚ n  t ƒ  ‚ Wn t k
 rt n X| |  _ |  j	 t j
 d d ƒ s¢ t ƒ  ‚ n  |  j d 7_ |  j t j
 d d ƒ sÕ t ƒ  ‚ n  |  j d 7_ Wn t k
 rø n X|  j |  _ |  j	 t j
 d d ƒ s)t ƒ  ‚ n  |  j d 7_ |  j t j
 d d ƒ s\t ƒ  ‚ n  |  j d 7_ |  j |  _ Wn t k
 r‹n X| |  _ t S(   Ni    ia   iy   i   (   R   t   I_p1t   I_p2R   t
   find_amongR   t   a_0R   R   t   go_out_groupingR   R   t   go_in_groupingR   (   R   R   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt   __r_mark_regionsù   sB    		 	  	c         C   s  yÿ |  j  |  j } yy |  j t j d d ƒ s: t ƒ  ‚ n  |  j t j d d ƒ s^ t ƒ  ‚ n  |  j t j d d ƒ s‚ t ƒ  ‚ n  t ƒ  ‚ Wn t k
 rŸ n X|  j  | |  _ |  j t j d d ƒ sÌ t	 S|  j t j d d ƒ sè t	 S|  j |  j
 k rþ t	 SWn t k
 rn Xt S(   NiY   iy   ia   (   R   R   t   out_grouping_bR   t   g_v_WXYR   t   in_grouping_bR   R   R   t   limit_backwardR   (   R   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt
   __r_shortv%  s,      c         C   s   |  j  |  j k s t St S(   N(   R   R   R   R   (   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt   __r_R1@  s    c         C   s   |  j  |  j k s t St S(   N(   R   R   R   R   (   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt   __r_R2E  s    c         C   s!  |  j  |  j } y` |  j |  _ |  j t j ƒ d k rS |  j  | |  _ t ƒ  ‚ n  |  j |  _ |  j ƒ  so t	 SWn t k
 rƒ n X|  j |  _ |  j t j
 ƒ } | d k r² t	 S|  j |  _ | d k rà |  j d ƒ st	 Sn=| d k r®y« |  j  |  j } y` |  j d } |  j | k s-| |  j  k r9t ƒ  ‚ n  | |  _ |  j d ƒ sUt	 St ƒ  ‚ Wn t k
 rrn X|  j  | |  _ |  j d ƒ s–t	 SWqt k
 rªqXno | d k r|  j |  j k rÐt	 S|  j d 8_ |  j t j d d	 ƒ sût	 S|  j d 8_ |  j ƒ  st	 Sn  t S(
   Ni    i   u   ssi   u   iu   iei   ia   iy   (   R   R   R	   t   find_among_bR   t   a_1R   R   R
   R   t   a_2R   R&   R   R   t   go_out_grouping_bR   R   (   R   R   t	   among_varR   t   c(    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt   __r_Step_1aJ  s^     	  c         C   s2  |  j  |  _ |  j t j ƒ } | d k r. t S|  j  |  _ | d k rl |  j ƒ  sV t S|  j d ƒ s.t SnÂ| d k r.|  j	 |  j  } |  j
 t j d d ƒ s¤ t S|  j  d 8_  |  j	 | |  _  |  j ƒ  sÓ t S|  j	 |  j  } |  j t j ƒ } | d k rt S|  j	 | |  _  | d k rO|  j  } |  j |  j  |  j  d ƒ | |  _  q.| d k r«|  j  |  _ |  j  |  j k r}t S|  j  d 8_  |  j  |  _ |  j ƒ  s+t Sq.| d k r.|  j  |  j k rÍt S|  j	 |  j  } |  j ƒ  sít S|  j	 | |  _  |  j  } |  j |  j  |  j  d ƒ | |  _  q.n  t S(	   Ni    i   u   eei   ia   iy   u   ei   (   R   R	   R*   R   t   a_4R   R   t   _EnglishStemmer__r_R1R   R   R-   R   R
   t   a_3t   insertR&   R   t   _EnglishStemmer__r_shortvR   (   R   R.   R   R   R/   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt   __r_Step_1b‘  s\    		c         C   s  |  j  |  _ ys |  j |  j  } y( |  j d ƒ s= t ƒ  ‚ n  t ƒ  ‚ Wn t k
 rZ n X|  j | |  _  |  j d ƒ s~ t SWn t k
 r’ n X|  j  |  _ |  j t	 j
 d d ƒ s» t Sy& |  j  |  j k rÜ t ƒ  ‚ n  t SWn t k
 rô n X|  j d ƒ st St S(   Nu   yu   Yia   iy   u   i(   R   R	   R   t   eq_s_bR   R   R   R   R#   R   R   R&   R   R   R   (   R   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt   __r_Step_1cÜ  s4       c         C   sx  |  j  |  _ |  j t j ƒ } | d k r. t S|  j  |  _ |  j ƒ  sJ t S| d k rl |  j d ƒ stt Sn| d k rŽ |  j d ƒ stt Snæ| d k r° |  j d ƒ stt SnÄ| d k rÒ |  j d	 ƒ stt Sn¢| d
 k rô |  j d ƒ stt Sn€| d k r|  j d ƒ stt Sn^| d k r8|  j d ƒ stt Sn<| d k rZ|  j d ƒ stt Sn| d k r||  j d ƒ stt Snø | d k rž|  j d ƒ stt SnÖ | d k rÀ|  j d ƒ stt Sn´ | d k râ|  j d ƒ stt Sn’ | d k r|  j	 d ƒ st S|  j d ƒ stt Sn] | d k r9|  j d ƒ stt Sn; | d k rt|  j
 t j d  d! ƒ sat S|  j ƒ  stt Sn  t S("   Ni    i   u   tioni   u   encei   u   ancei   u   ablei   u   enti   u   izei   u   atei   u   ali	   u   fuli
   u   ousi   u   ivei   u   blei   u   lu   ogi   u   lessi   ic   it   (   R   R	   R*   R   t   a_5R   R   R2   R   R7   R%   t
   g_valid_LIR
   R   (   R   R.   (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt
   __r_Step_2þ  sr    c         C   s$  |  j  |  _ |  j t j ƒ } | d k r. t S|  j  |  _ |  j ƒ  sJ t S| d k rl |  j d ƒ s t Sn´ | d k rŽ |  j d ƒ s t Sn’ | d k r° |  j d ƒ s t Snp | d k rÒ |  j d	 ƒ s t SnN | d
 k rñ |  j	 ƒ  s t Sn/ | d k r |  j
 ƒ  st S|  j	 ƒ  s t Sn  t S(   Ni    i   u   tioni   u   atei   u   ali   u   ici   i   (   R   R	   R*   R   t   a_6R   R   R2   R   R
   t   _EnglishStemmer__r_R2R   (   R   R.   (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt
   __r_Step_3^  s8    c         C   s  |  j  |  _ |  j t j ƒ } | d k r. t S|  j  |  _ |  j ƒ  sJ t S| d k ri |  j ƒ  st Sn¦ | d k rys |  j	 |  j  } y( |  j
 d ƒ s¦ t ƒ  ‚ n  t ƒ  ‚ Wn t k
 rÃ n X|  j	 | |  _  |  j
 d ƒ sç t SWn t k
 rû n X|  j ƒ  st Sn  t S(   Ni    i   i   u   su   t(   R   R	   R*   R   t   a_7R   R   R=   R
   R   R7   R   R   R   (   R   R.   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt
   __r_Step_4  s6      c         C   st  |  j  |  _ |  j t j ƒ } | d k r. t S|  j  |  _ | d k r.yÁ |  j |  j  } y% |  j ƒ  st t	 ƒ  ‚ n  t
 ƒ  ‚ Wn t	 k
 r‘ n X|  j | |  _  |  j ƒ  s² t S|  j |  j  } y  |  j ƒ  sÝ t ƒ  ‚ n  t SWn t k
 rõ n X|  j | |  _  Wn t
 k
 rn X|  j ƒ  spt SnB | d k rp|  j ƒ  sJt S|  j d ƒ s]t S|  j ƒ  spt Sn  t S(   Ni    i   i   u   l(   R   R	   R*   R   t   a_8R   R   R   R=   R   R   R2   R5   R   R
   R7   R   (   R   R.   R   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt
   __r_Step_5¹  sJ       c         C   sN   |  j  |  _ |  j t j ƒ d k r( t S|  j  |  _ |  j  |  j k rJ t St S(   Ni    (	   R   R	   R*   R   t   a_9R   R   R&   R   (   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt   __r_exception2ï  s    c         C   sÊ  |  j  |  _ |  j t j ƒ } | d k r. t S|  j  |  _ |  j  |  j k  rP t S| d k rr |  j d ƒ sÆt SnT| d k r” |  j d ƒ sÆt Sn2| d k r¶ |  j d ƒ sÆt Sn| d k rØ |  j d	 ƒ sÆt Snî | d
 k rú |  j d ƒ sÆt SnÌ | d k r|  j d ƒ sÆt Snª | d k r>|  j d ƒ sÆt Snˆ | d k r`|  j d ƒ sÆt Snf | d k r‚|  j d ƒ sÆt SnD | d k r¤|  j d ƒ sÆt Sn" | d k rÆ|  j d ƒ sÆt Sn  t	 S(   Ni    i   u   skii   u   skyi   u   diei   u   liei   u   tiei   u   idli   u   gentli   u   uglii	   u   earlii
   u   onlii   u   singl(
   R   R   R   R   t   a_10R   R	   R   R   R   (   R   R.   (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt   __r_exception1ý  sR    c         C   s   |  j  s t Sxt r|  j } yÛ y­ x¦ t rÍ |  j } yI |  j |  _ |  j d ƒ sa t ƒ  ‚ n  |  j |  _ | |  _ t ƒ  ‚ Wn t k
 r“ n X| |  _ |  j |  j	 k r» t
 ƒ  ‚ n  |  j d 7_ q( WWn t k
 râ n X|  j d ƒ sö t Sw Wn t
 k
 rn X| |  _ Pq Wt S(   Nu   Yi   u   y(   R   R   R   R   R   R   R   R	   R   R   R   R   (   R   R   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt   __r_postludeC  s>    						 	  	c         C   sì  yÔ|  j  } y% |  j ƒ  s' t ƒ  ‚ n  t ƒ  ‚ Wn t k
 rD n X| |  _  y} |  j  } yJ |  j  d } d | k s… | |  j k r‘ t ƒ  ‚ n  | |  _  t ƒ  ‚ Wn t k
 r· n X| |  _  t ƒ  ‚ Wn t k
 rÞ n X| |  _  |  j ƒ  |  j ƒ  |  j  |  _	 |  j |  _  |  j |  j  } |  j
 ƒ  |  j | |  _  yY|  j |  j  } y% |  j ƒ  slt ƒ  ‚ n  t ƒ  ‚ Wn t k
 r‰n X|  j | |  _  |  j |  j  } |  j ƒ  |  j | |  _  |  j |  j  } |  j ƒ  |  j | |  _  |  j |  j  } |  j ƒ  |  j | |  _  |  j |  j  }	 |  j ƒ  |  j |	 |  _  |  j |  j  }
 |  j ƒ  |  j |
 |  _  |  j |  j  } |  j ƒ  |  j | |  _  Wn t k
 rªn X|  j	 |  _  |  j  } |  j ƒ  | |  _  Wn t k
 rçn Xt S(   Ni   i    (   R   t   _EnglishStemmer__r_exception1R   R   R   R   R   t   _EnglishStemmer__r_preludet   _EnglishStemmer__r_mark_regionsR&   t   _EnglishStemmer__r_Step_1at   _EnglishStemmer__r_exception2R   R   t   _EnglishStemmer__r_Step_1bt   _EnglishStemmer__r_Step_1ct   _EnglishStemmer__r_Step_2t   _EnglishStemmer__r_Step_3t   _EnglishStemmer__r_Step_4t   _EnglishStemmer__r_Step_5t   _EnglishStemmer__r_postludeR   (   R   R   R   R/   R   t   v_6t   v_7t   v_8t   v_9t   v_10t   v_11t   v_12t   v_13(    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt   _stemk  s†    	 			 	 	


 





 	
 (&   t   __name__t
   __module__t   __doc__R   R   R+   R,   R3   R1   R9   R<   R?   RA   RC   RE   R   R$   R:   R   R   R   R   RI   RJ   R5   R2   R=   RK   RM   RN   RO   RP   RQ   RR   RL   RH   RS   R\   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyR      s
  	S	,				G	K	"	`	2	)	6		F	(R   c           B   s   e  Z RS(    (   R]   R^   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyR   Ê  s    R   c           B   s   e  Z RS(    (   R]   R^   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyR   Í  s    R   c           B   s   e  Z RS(    (   R]   R^   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyR   Ð  s    R   c           B   s   e  Z RS(    (   R]   R^   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyR   Ó  s    R   c           B   s   e  Z RS(    (   R]   R^   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyR   Ö  s    R   c           B   s   e  Z RS(    (   R]   R^   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyR   Ù  s    N(   t   basestemmerR    t   amongR   R   t   BaseExceptionR   R   R   R   R   R   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/english_stemmer.pyt   <module>   s   ÿ ÿ ÿ Æ