o
    |Th‹  ã                   @   s¼   d dl Z d dlmZmZmZmZmZ e jdkrd dlm	Z	 nd dl
m	Z	 dd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ ZdS )!é    N)Ú	ItemsViewÚIterableÚKeysViewÚSetÚ
ValuesView)é   é   )Úassert_neverc                 C   ó   t  | ¡ d S ©N)r   Úregister©Úview_cls© r   úZ/home/air/segue/gemini/back/venv/lib/python3.10/site-packages/multidict/_multidict_base.pyÚ_abc_itemsview_register
   ó   r   c                 C   r
   r   )r   r   r   r   r   r   Ú_abc_keysview_register   r   r   c                 C   r
   r   )r   r   r   r   r   r   Ú_abc_valuesview_register   r   r   c                 C   s4  |dkrt |tƒstS t| ƒt|ƒk o| |kS |dkr:t |tƒs"tS t| ƒt|ƒkr,dS | D ]	}||vr7 dS q.dS |dkrQt |tƒsEtS t| ƒt|ƒkoP| |kS |dkrZ| |k S |dkrqt |tƒsetS t| ƒt|ƒkop| |kS |dkr”t |tƒs|tS t| ƒt|ƒk r†dS |D ]	}|| vr‘ dS qˆdS t|ƒ d S )	Nr   é   FTé   r   é   é   )Ú
isinstancer   ÚNotImplementedÚlenr	   )ÚviewÚotherÚopÚelemr   r   r   Ú_viewbaseset_richcmp   sF   

ÿ



ÿr    c                 C   sX   t |tƒstS t | tƒrtt| ƒƒ} t |tƒrtt|ƒƒ}t |tƒs(tt|ƒƒ}| |@ S r   ©r   r   r   r   ÚsetÚiter©r   r   r   r   r   Ú_viewbaseset_and;   ó   



r%   c                 C   sX   t |tƒstS t | tƒrtt| ƒƒ} t |tƒrtt|ƒƒ}t |tƒs(tt|ƒƒ}| |B S r   r!   r$   r   r   r   Ú_viewbaseset_orG   r&   r'   c                 C   sX   t |tƒstS t | tƒrtt| ƒƒ} t |tƒrtt|ƒƒ}t |tƒs(tt|ƒƒ}| | S r   r!   r$   r   r   r   Ú_viewbaseset_subS   r&   r(   c                 C   sX   t |tƒstS t | tƒrtt| ƒƒ} t |tƒrtt|ƒƒ}t |tƒs(tt|ƒƒ}| |A S r   r!   r$   r   r   r   Ú_viewbaseset_xor_   r&   r)   c                 C   ó   |D ]	}|| v r dS qdS ©z1Return True if two sets have a null intersection.FTr   )r   r   Úvr   r   r   Ú_itemsview_isdisjointk   ó
   ÿr-   c                 C   s>   g }| D ]\}}|  d ||¡¡ qd |¡}d | jj|¡S )Nz
{!r}: {!r}ú, ú{}({})©ÚappendÚformatÚjoinÚ	__class__Ú__name__)r   ÚlstÚkr,   Úbodyr   r   r   Ú_itemsview_reprs   s
   
r:   c                 C   r*   r+   r   )r   r   r8   r   r   r   Ú_keysview_isdisjoint{   r.   r;   c                 C   ó8   g }| D ]
}|  d |¡¡ qd |¡}d | jj|¡S ©Nz{!r}r/   r0   r1   )r   r7   r8   r9   r   r   r   Ú_keysview_reprƒ   ó
   
r>   c                 C   r<   r=   r1   )r   r7   r,   r9   r   r   r   Ú_valuesview_repr‹   r?   r@   c                 C   sB   g }|   ¡ D ]\}}| d ||¡¡ qd |¡}d | jj|¡S )Nz
'{}': {!r}r/   z<{}({})>)Úitemsr2   r3   r4   r5   r6   )Úmdr7   r8   r,   r9   r   r   r   Ú_mdrepr“   s
   
rC   )ÚsysÚcollections.abcr   r   r   r   r   Úversion_infoÚtypingr	   Útyping_extensionsr   r   r   r    r%   r'   r(   r)   r-   r:   r;   r>   r@   rC   r   r   r   r   Ú<module>   s&    
%