o
    ãºõfÝ  ã                   @  s^   d dl mZ d dlmZ d dlmZmZ ddd„Zddd„Zddd„Zddd„Z	ddd„Z
dS )é    )Úannotations)Úarray)ÚHashableÚSequenceÚsúSequence[Hashable]Úreturnc                 C  s¼   t | tƒrdd„ | D ƒS t | tƒr| S t | tƒr&| jdkr$dd„ | D ƒS | S | d u r,| S g }| D ]+}t |tƒrEt|ƒdkrE| t|ƒ¡ q0t |tƒrT|dkrT| d¡ q0| t	|ƒ¡ q0|S )Nc                 S  ó   g | ]}t |ƒ‘qS © ©Úord©Ú.0Úxr
   r
   úM/home/ubuntu/webapp/venv/lib/python3.10/site-packages/rapidfuzz/_common_py.pyÚ
<listcomp>   ó    z!conv_sequence.<locals>.<listcomp>Úuc                 S  r	   r
   r   r   r
   r
   r   r      r   é   éÿÿÿÿ)
Ú
isinstanceÚstrÚbytesr   ÚtypecodeÚlenÚappendr   ÚintÚhash)r   ÚresÚelemr
   r
   r   Úconv_sequence
   s$   



r    Ús1Ús2ú-tuple[Sequence[Hashable], Sequence[Hashable]]c                 C  sH   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    )r!   r"   r
   r
   r   Úconv_sequences&   s
   r%   r   c                 C  s2   d}t | |ƒD ]\}}||kr |S |d7 }q|S ©Nr   r   )Úzip)r!   r"   Ú
prefix_lenÚch1Úch2r
   r
   r   Úcommon_prefix0   s   
þr+   c                 C  s:   d}t t| ƒt|ƒƒD ]\}}||kr |S |d7 }q|S r&   )r'   Úreversed)r!   r"   Ú
suffix_lenr)   r*   r
   r
   r   Úcommon_suffix;   s   
þr.   útuple[int, int]c                 C  s,   t | |ƒ}t| |d … ||d … ƒ}||fS r$   )r+   r.   )r!   r"   r(   r-   r
   r
   r   Úcommon_affixF   s   
r0   N)r   r   r   r   )r!   r   r"   r   r   r#   )r!   r   r"   r   r   r   )r!   r   r"   r   r   r/   )Ú
__future__r   r   Útypingr   r   r    r%   r+   r.   r0   r
   r
   r
   r   Ú<module>   s   




