o
    UÌhí  ã                   @  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v 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
   úh/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/rapidfuzz/_common_py.pyÚ
<listcomp>   ó    z!conv_sequence.<locals>.<listcomp>)ÚuÚwc                 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   
r1   N)r   r   r   r   )r"   r   r#   r   r   r$   )r"   r   r#   r   r   r   )r"   r   r#   r   r   r0   )Ú
__future__r   r   Úcollections.abcr   r   r!   r&   r,   r/   r1   r
   r
   r
   r   Ú<module>   s   




