
    xnh                    T    d dl mZ d dlmZ d dlmZmZ d
dZddZddZddZ	ddZ
y	)    )annotations)array)HashableSequencec                   t        | t              r| D cg c]  }t        |       c}S t        | t              r| S t        | t              r)| j
                  dv r| D cg c]  }t        |       c}S | S | | S g }| D ]|  }t        |t              r)t        |      dk(  r|j                  t        |             <t        |t              r|dk(  r|j                  d       c|j                  t        |             ~ |S c c}w c c}w )N)uw   )

isinstancestrordbytesr   typecodelenappendinthash)sxreselems       U/var/www/html/profi_bot/bot/venv/lib/python3.12/site-packages/rapidfuzz/_common_py.pyconv_sequencer   
   s    !S !"1A""!U!U::#$%&AqCFA&&y
CdC SY!^JJs4y!c"trzJJrNJJtDz"  J/ # 's   C>Dc                    t        | t              rt        |t              r| |fS t        | t              rt        |t              r| |fS t        |       t        |      fS N)r   r   r   r   )s1s2s     r   conv_sequencesr   &   sO    "cz"c22v"eB!62vmB///    c                L    d}t        | |      D ]  \  }}||k7  r |S |dz  } |S Nr   r
   )zip)r   r   
prefix_lench1ch2s        r   common_prefixr'   0   s@    JBKS#:  	a
	   r    c                p    d}t        t        |       t        |            D ]  \  }}||k7  r |S |dz  } |S r"   )r#   reversed)r   r   
suffix_lenr%   r&   s        r   common_suffixr+   ;   sI    Jhrl3S#:  	a
	 4 r    c                F    t        | |      }t        | |d  ||d        }||fS r   )r'   r+   )r   r   r$   r*   s       r   common_affixr-   F   s1    r2&Jr*+:;@J
##r    N)r   Sequence[Hashable]returnr.   )r   r.   r   r.   r/   z-tuple[Sequence[Hashable], Sequence[Hashable]])r   r.   r   r.   r/   r   )r   r.   r   r.   r/   ztuple[int, int])
__future__r   r   collections.abcr   r   r   r   r'   r+   r-    r    r   <module>r3      s)    #  .80$r    