
    -Ph                     "     G d  de           ZdS )c                       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d Zd Zd Zd Zd Zd Zd Zd ZdS )BaseStemmerc                 0    |                      d           d S N )set_currentselfs    [/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/snowballstemmer/basestemmer.py__init__zBaseStemmer.__init__   s        c                     || _         d| _        t          | j                   | _        d| _        | j        | _        | j        | _        dS )z.
        Set the self.current string.
            N)currentcursorlenlimitlimit_backwardbraket)r	   values     r
   r   zBaseStemmer.set_current   sA     &&
;:r   c                     | j         S )z.
        Get the self.current string.
        )r   r   s    r
   get_currentzBaseStemmer.get_current   s     |r   c                     |j         | _         |j        | _        |j        | _        |j        | _        |j        | _        |j        | _        d S N)r   r   r   r   r   r   )r	   others     r
   	copy_fromzBaseStemmer.copy_from   s>     % % %
 % 4 %	 %	r   c                 v    | j         | j        k    rdS | j        | j                  |vrdS | xj         dz  c_         dS NF   Tr   r   r   r	   ss     r
   in_groupingzBaseStemmer.in_grouping   sD    ;$*$$5<$A--5qtr   c                     | j         | j        k     r6| j        | j                  |vrdS | xj         dz  c_         | j         | j        k     6dS NTr   Fr    r!   s     r
   go_in_groupingzBaseStemmer.go_in_grouping&   sR    kDJ&&|DK(11tKK1KK kDJ&& ur   c                 |    | j         | j        k    rdS | j        | j         dz
           |vrdS | xj         dz  c_         dS r   r   r   r   r!   s     r
   in_grouping_bzBaseStemmer.in_grouping_b-   sI    ;$---5<a(115qtr   c                     | j         | j        k    r9| j        | j         dz
           |vrdS | xj         dz  c_         | j         | j        k    9dS Nr   TFr(   r!   s     r
   go_in_grouping_bzBaseStemmer.go_in_grouping_b5   sX    kD///|DK!O,A55tKK1KK kD/// ur   c                 v    | j         | j        k    rdS | j        | j                  |vr| xj         dz  c_         dS dS r   r    r!   s     r
   out_groupingzBaseStemmer.out_grouping<   sD    ;$*$$5<$A--KK1KK4ur   c                     | j         | j        k     r6| j        | j                  |v rdS | xj         dz  c_         | j         | j        k     6dS r%   r    r!   s     r
   go_out_groupingzBaseStemmer.go_out_groupingD   sR    kDJ&&|DK(A--tKK1KK kDJ&& ur   c                 |    | j         | j        k    rdS | j        | j         dz
           |vr| xj         dz  c_         dS dS r   r(   r!   s     r
   out_grouping_bzBaseStemmer.out_grouping_bK   sI    ;$---5<a(11KK1KK4ur   c                     | j         | j        k    r9| j        | j         dz
           |v rdS | xj         dz  c_         | j         | j        k    9dS r+   r(   r!   s     r
   go_out_grouping_bzBaseStemmer.go_out_grouping_bS   sX    kD///|DK!O,11tKK1KK kD/// ur   c                     | j         | j        z
  t          |          k     rdS | j        | j        | j        t          |          z            |k    rdS | xj        t          |          z  c_        dS NFT)r   r   r   r   r!   s     r
   eq_szBaseStemmer.eq_sZ   sg    :#c!ff,,5<DK#a&&$889Q>>5s1vvtr   c                     | j         | j        z
  t          |          k     rdS | j        | j         t          |          z
  | j                  |k    rdS | xj         t          |          z  c_         dS r6   )r   r   r   r   r!   s     r
   eq_s_bzBaseStemmer.eq_s_bb   sh    ;,,s1vv555<c!ff,T[89Q>>5s1vvtr   c                    d}t          |          }| j        }| j        }d}d}d}	 |||z
  dz	  z   }	d}
t          ||          }||	         }t	          |t          |j                            D ]T}||z   |k    rd}
 nFt          | j        ||z                      t          |j        |                   z
  }
|
dk    r n|dz  }U|
dk     r|	}|}n|	}|}||z
  dk    r|dk    rn||k    rn|rnd}	 ||         }|t          |j                  k    rd|t          |j                  z   | _        |j        |j	        S |                    |           }|t          |j                  z   | _        |r|j	        S |j
        }|dk     rdS )Nr   FTr   )r   r   r   minranger"   ordr   methodresultsubstring_i)r	   vijclcommon_icommon_jfirst_key_inspectedkdiffcommonwi2ress                  r
   
find_amongzBaseStemmer.find_amongj   s   FFKJ#	+a!e\"AD8,,F!AFCHH--  v:??DE4<F
344s13r7||C199E!axx!!1uzzq5566 ' &*#;	+<	!A3qs88###ac((l8#8Ohhtnn#ac((l $8OA1uuq	r   c                    d}t          |          }| j        }| j        }d}d}d}	 |||z
  dz	  z   }	d}
t          ||          }||	         }t	          t          |j                  dz
  |z
  dd          D ]W}||z
  |k    rd}
 nIt          | j        |dz
  |z
                     t          |j        |                   z
  }
|
dk    r n|dz  }X|
dk     r|	}|}n|	}|}||z
  dk    r|dk    rn||k    rn|rnd}	 ||         }|t          |j                  k    rd|t          |j                  z
  | _        |j        |j	        S |                    |           }|t          |j                  z
  | _        |r|j	        S |j
        }|dk     rdS )zO
        find_among_b is for backwards processing. Same comments apply
        r   FTr   r;   )r   r   r   r<   r=   r"   r>   r   r?   r@   rA   )r	   rB   rC   rD   rE   lbrG   rH   rI   rJ   rK   rL   rM   rN   rO   s                  r
   find_among_bzBaseStemmer.find_among_b   s    FFK #	+a!e\"AD8,,F!ACHHqL612r::  v:##DE4<A7883qs2w<<G199E!axx!!1uzzq5566& &*#5	+6	!A3qs88###ac((l8#8Ohhtnn#ac((l $8OA1uuq	r   c                     t          |          ||z
  z
  }| j        d|         |z   | j        |d         z   | _        | xj        |z  c_        | j        |k    r| xj        |z  c_        n| j        |k    r|| _        |S )z
        to replace chars between c_bra and c_ket in self.current by the
        chars in s.

        @type c_bra int
        @type c_ket int
        @type s: string
        r   N)r   r   r   r   r	   c_brac_ketr"   
adjustments        r
   	replace_szBaseStemmer.replace_s   s     VVuu}-
|AeG,q04<3GG

j 

;%KK:%KKK[5  DKr   c                     | j         dk     s=| j         | j        k    s-| j        | j        k    s| j        t          | j                  k    rdS dS )Nr   FT)r   r   r   r   r   r   s    r
   slice_checkzBaseStemmer.slice_check   sL    8a<<48dh..$(TZ2G2G4:X[\`\hXiXiKiKi5tr   c                 x    d}|                                  r#|                     | j        | j        |           d}|S )z 
        @type s string
        FT)r[   rY   r   r   )r	   r"   r@   s      r
   
slice_fromzBaseStemmer.slice_from   sA      	NN48TXq111Fr   c                 ,    |                      d          S r   )r]   r   s    r
   	slice_delzBaseStemmer.slice_del   s    r"""r   c                     |                      |||          }|| j        k    r| xj        |z  c_        || j        k    r| xj        |z  c_        dS dS )zQ
        @type c_bra int
        @type c_ket int
        @type s: string
        N)rY   r   r   rU   s        r
   insertzBaseStemmer.insert   s_     ^^E5!44
DHHH
"HHDHHH
"HHHH r   c                 d    d}|                                  r| j        | j        | j                 }|S )z/
        Return the slice as a string.
        r   )r[   r   r   r   )r	   r@   s     r
   slice_tozBaseStemmer.slice_to  s7      	5\$(48"34Fr   c                 *    | j         d| j                 S )z<
        Return the current string up to the limit.
        r   )r   r   r   s    r
   	assign_tozBaseStemmer.assign_to  s     |AdjL))r   c                 |    |                      |           |                                  |                                 S r   )r   _stemr   )r	   words     r
   stemWordzBaseStemmer.stemWord  s5    

!!!r   c                        fd|D             S )Nc                 :    g | ]}                     |          S  )ri   ).0rh   r	   s     r
   
<listcomp>z)BaseStemmer.stemWords.<locals>.<listcomp>!  s%    666d##666r   rl   )r	   wordss   ` r
   	stemWordszBaseStemmer.stemWords   s    66666666r   N)__name__
__module____qualname__r   r   r   r   r#   r&   r)   r,   r.   r0   r2   r4   r7   r9   rP   rS   rY   r[   r]   r_   ra   rc   re   ri   rp   rl   r   r
   r   r      s         	 	 	  * * *                    7 7 7r7 7 7r  $  
  # # #
# 
# 
#  * * *" " "
7 7 7 7 7r   r   N)objectr   rl   r   r
   <module>ru      sC   `7 `7 `7 `7 `7& `7 `7 `7 `7 `7r   