U e5d�e�@spddlmZmZddlZddddddd d d d d ddddddddddddddgZdZeed��Zeee ���Z eei� ���Z eei� ���Zeei����Zeeg��Zeeeg���Zeeed���Zeeedd>���Zeee���Zeed ��Zeed!��Zeee���Zei� ��Zei� ��Zei���Zeej �Z!ed"d#���Z"d$d%�Z#e#�Z#ee#�Z$e#�%�[#d&d'�Z&e&�Z&ee&�Z'[&d(d)�Z(Gd*d�ded+�Z)Gd,d�ded+�Z*Gd-d�de*�Z+e+�,e$�Gd.d�ded+�Z-Gd/d�de-�Z.Gd0d�de.�Z/e/�,e'�Gd1d �d ed+�Z0Gd2d �d e0�Z1e1�,e�e1�,e �e1�,e �e1�,e�e1�,e�e1�,e�e1�,e�e1�,e�e1�,e�e1�,e�e1�,e�e1�,e�e1�,e�Gd3d �d e0�Z2Gd4d �d e1�Z3e3�,e"�Gd5d �d ed+�Z4Gd6d�ded+�Z5Gd7d�de4e0e5�Z6Gd8d�ded+�Z7Gd9d�de6�Z8e8�,e9�Gd:d�de8�Z:e:�,e�Gd;d�de6�Z;e;�,e!�Gdd�dee>�,e�Gd?d�de8rr#c�sdSr!r r r r r"�_coro:rr$cCs dVdSr!r r r r r"�_ag@rr%cGsN|j}|D]>}|D],}||jkr|j|dkr:tSq qtSq dS)NT)�__mro__�__dict__�NotImplemented)�C�methods�mro�method�Br r r"�_check_methodsHs   r.c@s(eZdZdZedd��Zedd��ZdS)r r cCsdS�Nrr ��selfr r r"�__hash__XszHashable.__hash__cCs|tkrt|d�StS)Nr2)r r.r(��clsr)r r r"�__subclasshook__\s zHashable.__subclasshook__N)�__name__� __module__� __qualname__� __slots__rr2� classmethodr5r r r r"r Ts  )� metaclassc@s(eZdZdZedd��Zedd��ZdS)rr ccs dVdSr!r r0r r r"� __await__gszAwaitable.__await__cCs|tkrt|d�StS)Nr<)rr.r(r3r r r"r5ks zAwaitable.__subclasshook__N)r6r7r8r9rr<r:r5r r r r"rcs  c@s>eZdZdZedd��Zed dd��Zdd�Zed d ��Z dS) rr cCst�dSr!�� StopIteration�r1�valuer r r"�sendvszCoroutine.sendNcCs4|dkr|dkr|�|�}|dk r,|�|�}|�dSr!��with_traceback�r1�typ�val�tbr r r"�throw}s zCoroutine.throwc Cs4z|�t�Wnttfk r&Yn Xtd��dS)Nzcoroutine ignored GeneratorExit�rH� GeneratorExitr>� RuntimeErrorr0r r r"�close�s zCoroutine.closecCs|tkrt|dddd�StS)Nr<rArHrL)rr.r(r3r r r"r5�szCoroutine.__subclasshook__)NN) r6r7r8r9rrArHrLr:r5r r r r"rrs   c@s(eZdZdZedd��Zedd��ZdS)rr cCst�Sr!)rr0r r r"� __aiter__�szAsyncIterable.__aiter__cCs|tkrt|d�StS)NrM)rr.r(r3r r r"r5�s zAsyncIterable.__subclasshook__N)r6r7r8r9rrMr:r5r r r r"r�s  c@s0eZdZdZedd��Zdd�Zedd��ZdS) rr c�st�dSr!��StopAsyncIterationr0r r r"� __anext__�szAsyncIterator.__anext__cCs|Sr!r r0r r r"rM�szAsyncIterator.__aiter__cCs|tkrt|dd�StS)NrPrM)rr.r(r3r r r"r5�s zAsyncIterator.__subclasshook__N) r6r7r8r9rrPrMr:r5r r r r"r�s  c@sFeZdZdZdd�Zedd��Zed dd��Zd d �Ze d d ��Z dS)rr c�s|�d�IdHSr!)�asendr0r r r"rP�szAsyncGenerator.__anext__c�st�dSr!rNr?r r r"rQ�szAsyncGenerator.asendNc�s4|dkr|dkr|�|�}|dk r,|�|�}|�dSr!rBrDr r r"�athrow�s zAsyncGenerator.athrowc �s:z|�t�IdHWnttfk r,Yn Xtd��dS)Nz,asynchronous generator ignored GeneratorExit)rRrJrOrKr0r r r"�aclose�s zAsyncGenerator.aclosecCs|tkrt|ddddd�StS)NrMrPrQrRrS)rr.r(r3r r r"r5�s�zAsyncGenerator.__subclasshook__)NN) r6r7r8r9rPrrQrRrSr:r5r r r r"r�s   c@s(eZdZdZedd��Zedd��ZdS)r r ccsdSr!r r0r r r"�__iter__�szIterable.__iter__cCs|tkrt|d�StS)NrT)r r.r(r3r r r"r5�s zIterable.__subclasshook__N)r6r7r8r9rrTr:r5r r r r"r �s  c@s0eZdZdZedd��Zdd�Zedd��ZdS) r r cCst�dSr!r=r0r r r"�__next__szIterator.__next__cCs|Sr!r r0r r r"rT szIterator.__iter__cCs|tkrt|dd�StS)NrTrU)r r.r(r3r r r"r5s zIterator.__subclasshook__N) r6r7r8r9rrUrTr:r5r r r r"r s  c@s(eZdZdZedd��Zedd��ZdS)r r ccsdSr!r r0r r r"� __reversed__)szReversible.__reversed__cCs|tkrt|dd�StS)NrVrT)r r.r(r3r r r"r5.s zReversible.__subclasshook__N)r6r7r8r9rrVr:r5r r r r"r %s  c@sFeZdZdZdd�Zedd��Zed dd��Zd d �Ze d d ��Z dS)r r cCs |�d�Sr!)rAr0r r r"rU9szGenerator.__next__cCst�dSr!r=r?r r r"rA?szGenerator.sendNcCs4|dkr|dkr|�|�}|dk r,|�|�}|�dSr!rBrDr r r"rHFs zGenerator.throwc Cs4z|�t�Wnttfk r&Yn Xtd��dS)Nzgenerator ignored GeneratorExitrIr0r r r"rLSs zGenerator.closecCs|tkrt|ddddd�StS)NrTrUrArHrL)r r.r(r3r r r"r5]s�zGenerator.__subclasshook__)NN) r6r7r8r9rUrrArHrLr:r5r r r r"r 5s   c@s(eZdZdZedd��Zedd��ZdS)rr cCsdSr/r r0r r r"�__len__ksz Sized.__len__cCs|tkrt|d�StS)NrW)rr.r(r3r r r"r5os zSized.__subclasshook__N)r6r7r8r9rrWr:r5r r r r"rgs  c@s(eZdZdZedd��Zedd��ZdS)rr cCsdS�NFr )r1�xr r r"� __contains__zszContainer.__contains__cCs|tkrt|d�StS)NrZ)rr.r(r3r r r"r5~s zContainer.__subclasshook__N)r6r7r8r9rrZr:r5r r r r"rvs  c@seZdZdZedd��ZdS)rr cCs|tkrt|ddd�StS)NrWrTrZ)rr.r(r3r r r"r5�szCollection.__subclasshook__N)r6r7r8r9r:r5r r r r"r�sc@s(eZdZdZedd��Zedd��ZdS)rr cOsdSrXr )r1�args�kwdsr r r"�__call__�szCallable.__call__cCs|tkrt|d�StS)Nr])rr.r(r3r r r"r5�s zCallable.__subclasshook__N)r6r7r8r9rr]r:r5r r r r"r�s  c@s�eZdZdZdd�Zdd�Zdd�Zdd �Zd d �Ze d d ��Z dd�Z e Z dd�Z dd�ZeZdd�Zdd�Zdd�ZeZdd�ZdS)rr cCs>t|t�stSt|�t|�kr"dS|D]}||kr&dSq&dS�NFT�� isinstancerr(�len�r1�other�elemr r r"�__le__�s z Set.__le__cCs(t|t�stSt|�t|�ko&|�|�Sr!�r`rr(rare�r1rcr r r"�__lt__�s z Set.__lt__cCs(t|t�stSt|�t|�ko&|�|�Sr!)r`rr(ra�__ge__rgr r r"�__gt__�s z Set.__gt__cCs>t|t�stSt|�t|�kr"dS|D]}||kr&dSq&dSr^r_rbr r r"ri�s z Set.__ge__cCs(t|t�stSt|�t|�ko&|�|�Sr!rfrgr r r"�__eq__�s z Set.__eq__cCs||�Sr!r )r4�itr r r"�_from_iterable�szSet._from_iterablecs&t|t�stS���fdd�|D��S)Nc3s|]}|�kr|VqdSr!r ��.0r@r0r r"� �szSet.__and__..�r`r r(rmrgr r0r"�__and__�s z Set.__and__cCs|D]}||krdSqdSr^r )r1rcr@r r r"� isdisjoint�szSet.isdisjointcCs*t|t�stSdd�||fD�}|�|�S)Ncss|]}|D] }|Vq qdSr!r )ro�s�er r r"rp�szSet.__or__..rq)r1rc�chainr r r"�__or__�s z Set.__or__cs:t�t�s"t�t�stS|����|��fdd�|D��S)Nc3s|]}|�kr|VqdSr!r rn�rcr r"rp�s�zSet.__sub__..�r`rr r(rmrgr rxr"�__sub__�s    z Set.__sub__cs:t|t�s"t|t�stS��|�}���fdd�|D��S)Nc3s|]}|�kr|VqdSr!r rnr0r r"rp�s�zSet.__rsub__..ryrgr r0r"�__rsub__�s    z Set.__rsub__cCs2t|t�s"t|t�stS|�|�}||||BSr!ryrgr r r"�__xor__s    z Set.__xor__cCs�tj}d|d}t|�}d|d}||M}|D],}t|�}|||d>AdAdN}||M}q2|dd}||M}||kr�||d8}|d kr�d }|S) N�riM��r�i�M[l�4~2i� i��6�����i��8#)�sys�maxsizera�hash)r1�MAX�MASK�n�hrY�hxr r r"�_hash s      z Set._hashN)r6r7r8r9rerhrjrirkr:rmrr�__rand__rsrw�__ror__rzr{r|�__rxor__r�r r r r"r�s$    c@s`eZdZdZedd��Zedd��Zdd�Zdd �Zd d �Z d d �Z dd�Z dd�Z dd�Z dS)rr cCst�dSr!��NotImplementedErrorr?r r r"�add:szMutableSet.addcCst�dSr!r�r?r r r"�discard?szMutableSet.discardcCs||krt|��|�|�dSr!)�KeyErrorr�r?r r r"�removeDszMutableSet.removecCs>t|�}z t|�}Wntk r.td�YnX|�|�|Sr!)�iter�nextr>r�r��r1rlr@r r r"�popJs   zMutableSet.popcCs(z|��qWntk r"YnXdSr!)r�r�r0r r r"�clearTszMutableSet.clearcCs|D]}|�|�q|Sr!)r�r�r r r"�__ior__\s zMutableSet.__ior__cCs||D]}|�|�q|Sr!)r�r�r r r"�__iand__as  zMutableSet.__iand__cCsR||kr|��nr�r�r r r"�popitem$s zMutableMapping.popitemcCs(z|��qWntk r"YnXdSr!)r�r�r0r r r"r�0szMutableMapping.clearcKs|t|t�r"|D]}||||<qn|dkr>|t|�7}|}|dksR||kr�z"||}||ksl||krr|WSWntk r�Yq�YnX|d7}qBt�dSr�)�maxrar�� ValueError)r1r@�start�stopr�r�r r r"r�zs    zSequence.indexcst�fdd�|D��S)Nc3s"|]}|�ks|�krdVqdS)rNr )ror��r@r r"rp�sz!Sequence.count..)�sumr?r r�r"�count�szSequence.count)rN) r6r7r8r9rr�rTrZrVr�r�r r r r"rXs   c@seZdZdZdS)rr N)r6r7r8r9r r r r"r�sc@sneZdZdZedd��Zedd��Zedd��Zdd �Zd d �Z d d �Z dd�Z ddd�Z dd�Z dd�ZdS)rr cCst�dSr!r��r1r�r@r r r"r��szMutableSequence.__setitem__cCst�dSr!r�r�r r r"r��szMutableSequence.__delitem__cCst�dSr!r�r�r r r"�insert�szMutableSequence.insertcCs|�t|�|�dSr!)r�rar?r r r"�append�szMutableSequence.appendcCs(z|��qWntk r"YnXdSr!)r�r�r0r r r"r��szMutableSequence.clearcCsHt|�}t|d�D].}|||d||||<|||d<qdS)Nr}r)rar�)r1r�r�r r r"�reverse�szMutableSequence.reversecCs(||krt|�}|D]}|�|�qdSr!)�listr�)r1r�r�r r r"�extend�szMutableSequence.extendrcCs||}||=|Sr!r )r1r�r�r r r"r��szMutableSequence.popcCs||�|�=dSr!)r�r?r r r"r��szMutableSequence.removecCs|�|�|Sr!)r�)r1r�r r r"�__iadd__�s zMutableSequence.__iadd__N)r)r6r7r8r9rr�r�r�r�r�r�r�r�r�r�r r r r"r�s     )J�abcrrr��__all__r6�typer��bytes_iterator� bytearray�bytearray_iteratorr��dict_keyiteratorr��dict_valueiteratorr��dict_itemiterator� list_iteratorr��list_reverseiteratorr��range_iterator�longrange_iteratorr�� set_iterator� str_iterator�tuple_iterator�zip� zip_iterator� dict_keys� dict_values� dict_itemsr'� mappingproxy� generatorr$� coroutinerLr%�async_generatorr.r rr�registerrrrr r r r rrrrr� frozensetrrrrrrrr�r�tuple�str� memoryviewr�bytesrr�r r r r"� s��         ) 0              /   O 2    S =      C