Your IP : 18.219.107.243


Current Path : /opt/alt/python39/lib64/python3.9/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/__pycache__/_collections_abc.cpython-39.pyc

a

R�f�r�@s�dZddlmZmZddlZeee�Zed�Z	dd�Z
ee
�Z[
gd�ZdZ
eed	��Zeee���Zeei����Zeei����Zeei����Zeeg��Zeeeg���Zeeed���Zeeed
d>���Zeee���Zeed��Z eed
��Z!eee"���Z#ei���Z$ei���Z%ei���Z&eej'�Z(edd���Z)dd�Z*e*�Z*ee*�Z+e*�,�[*dd�Z-e-�Z-ee-�Z.[-dd�Z/Gdd�ded�Z0Gdd�ded�Z1Gdd�de1�Z2e2�3e+�Gdd�ded�Z4Gdd �d e4�Z5Gd!d"�d"e5�Z6e6�3e.�Gd#d$�d$ed�Z7Gd%d&�d&e7�Z8e8�3e�e8�3e�e8�3e�e8�3e�e8�3e�e8�3e�e8�3e�e8�3e�e8�3e�e8�3e�e8�3e �e8�3e!�e8�3e#�Gd'd(�d(e7�Z9Gd)d*�d*e8�Z:e:�3e)�Gd+d,�d,ed�Z;Gd-d.�d.ed�Z<Gd/d0�d0e;e7e<�Z=Gd1d2�d2e�Z>d3d4�Z?Gd5d6�d6ed�Z@Gd7d8�d8e=�ZAeA�3eB�Gd9d:�d:eA�ZCeC�3e�Gd;d<�d<e=�ZDeD�3e(�Gd=d>�d>e;�ZEGd?d@�d@eEeA�ZFeF�3e$�GdAdB�dBeEeA�ZGeG�3e&�GdCdD�dDeEe=�ZHeH�3e%�GdEdF�dFeD�ZIeI�3eJ�GdGdH�dHe9e=�ZKeK�3eL�eK�3eM�eK�3e�eK�3eN�GdIdJ�dJeK�ZOeO�3eP�eO�3e�GdKdL�dLeK�ZQeQ�3e�eQ�3e�dS)MzjAbstract Base Classes (ABCs) for collections, according to PEP 3119.

Unit tests are in test_collections.
�)�ABCMeta�abstractmethodN.cCsdS�N�rrr�5/opt/alt/python39/lib64/python3.9/_collections_abc.py�_f�r)�	Awaitable�	Coroutine�
AsyncIterable�
AsyncIterator�AsyncGenerator�Hashable�Iterable�Iterator�	Generator�
Reversible�Sized�	Container�Callable�
Collection�Set�
MutableSet�Mapping�MutableMapping�MappingView�KeysView�	ItemsView�
ValuesView�Sequence�MutableSequence�
ByteStringzcollections.abcr�i��rccsdVSrrrrrr�<lambda>>rr$c�sdSrrrrrr�_coro@rr%cCs
dVdSrrrrrr�_agFrr&cGsN|j}|D]>}|D],}||jvr|j|dur:tSq
qtSq
dS)NT)�__mro__�__dict__�NotImplemented)�C�methods�mro�method�Brrr�_check_methodsNs

r/c@s(eZdZdZedd��Zedd��ZdS)rrcCsdS�Nrr��selfrrr�__hash__^szHashable.__hash__cCs|turt|d�StS)Nr3)rr/r)��clsr*rrr�__subclasshook__bs
zHashable.__subclasshook__N)�__name__�
__module__�__qualname__�	__slots__rr3�classmethodr6rrrrrZs

r)�	metaclassc@s0eZdZdZedd��Zedd��Zee�Z	dS)r	rccs
dVdSrrr1rrr�	__await__mszAwaitable.__await__cCs|turt|d�StS)Nr=)r	r/r)r4rrrr6qs
zAwaitable.__subclasshook__N)
r7r8r9r:rr=r;r6�GenericAlias�__class_getitem__rrrrr	is

r	c@s>eZdZdZedd��Zeddd��Zdd�Zed	d
��Z	dS)r
rcCst�dS)zcSend a value into the coroutine.
        Return next yielded value or raise StopIteration.
        N��
StopIteration�r2�valuerrr�send~szCoroutine.sendNcCs4|dur|dur|�|�}|dur,|�|�}|�dS)zgRaise an exception in the coroutine.
        Return next yielded value or raise StopIteration.
        N��with_traceback�r2�typ�val�tbrrr�throw�s
zCoroutine.throwc	Cs2z|�t�Wnttfy$Yn
0td��dS)�.Raise GeneratorExit inside coroutine.
        zcoroutine ignored GeneratorExitN�rK�
GeneratorExitrA�RuntimeErrorr1rrr�close�s
zCoroutine.closecCs|turt|dddd�StS)Nr=rDrKrP)r
r/r)r4rrrr6�szCoroutine.__subclasshook__)NN)
r7r8r9r:rrDrKrPr;r6rrrrr
zs

r
c@s0eZdZdZedd��Zedd��Zee�Z	dS)rrcCst�Sr)rr1rrr�	__aiter__�szAsyncIterable.__aiter__cCs|turt|d�StS)NrQ)rr/r)r4rrrr6�s
zAsyncIterable.__subclasshook__N)
r7r8r9r:rrQr;r6r>r?rrrrr�s

rc@s0eZdZdZedd��Zdd�Zedd��ZdS)	rrc�st�dS)z@Return the next item or raise StopAsyncIteration when exhausted.N��StopAsyncIterationr1rrr�	__anext__�szAsyncIterator.__anext__cCs|Srrr1rrrrQ�szAsyncIterator.__aiter__cCs|turt|dd�StS)NrTrQ)rr/r)r4rrrr6�szAsyncIterator.__subclasshook__N)	r7r8r9r:rrTrQr;r6rrrrr�s
rc@sFeZdZdZdd�Zedd��Zed
dd��Zd	d
�Ze	dd��Z
dS)r
rc�s|�d�IdHS)zpReturn the next item from the asynchronous generator.
        When exhausted, raise StopAsyncIteration.
        N)�asendr1rrrrT�szAsyncGenerator.__anext__c�st�dS)zuSend a value into the asynchronous generator.
        Return next yielded value or raise StopAsyncIteration.
        NrRrBrrrrU�szAsyncGenerator.asendNc�s4|dur|dur|�|�}|dur,|�|�}|�dS)zyRaise an exception in the asynchronous generator.
        Return next yielded value or raise StopAsyncIteration.
        NrErGrrr�athrow�s
zAsyncGenerator.athrowc	�s8z|�t�IdHWnttfy*Yn
0td��dS)rLNz,asynchronous generator ignored GeneratorExit)rVrNrSrOr1rrr�aclose�s
zAsyncGenerator.aclosecCs|turt|ddddd�StS)NrQrTrUrVrW)r
r/r)r4rrrr6�s
�zAsyncGenerator.__subclasshook__)NN)r7r8r9r:rTrrUrVrWr;r6rrrrr
�s

r
c@s0eZdZdZedd��Zedd��Zee�Z	dS)rrccsdSrrr1rrr�__iter__szIterable.__iter__cCs|turt|d�StS)NrX)rr/r)r4rrrr6s
zIterable.__subclasshook__N)
r7r8r9r:rrXr;r6r>r?rrrrr�s

rc@s0eZdZdZedd��Zdd�Zedd��ZdS)	rrcCst�dS)zKReturn the next item from the iterator. When exhausted, raise StopIterationNr@r1rrr�__next__szIterator.__next__cCs|Srrr1rrrrXszIterator.__iter__cCs|turt|dd�StS)NrXrY)rr/r)r4rrrr6szIterator.__subclasshook__N)	r7r8r9r:rrYrXr;r6rrrrrs
rc@s(eZdZdZedd��Zedd��ZdS)rrccsdSrrr1rrr�__reversed__6szReversible.__reversed__cCs|turt|dd�StS)NrZrX)rr/r)r4rrrr6;szReversible.__subclasshook__N)r7r8r9r:rrZr;r6rrrrr2s

rc@sFeZdZdZdd�Zedd��Zed
dd��Zd	d
�Ze	dd��Z
dS)rrcCs
|�d�S)z^Return the next item from the generator.
        When exhausted, raise StopIteration.
        N)rDr1rrrrYFszGenerator.__next__cCst�dS)zcSend a value into the generator.
        Return next yielded value or raise StopIteration.
        Nr@rBrrrrDLszGenerator.sendNcCs4|dur|dur|�|�}|dur,|�|�}|�dS)zgRaise an exception in the generator.
        Return next yielded value or raise StopIteration.
        NrErGrrrrKSs
zGenerator.throwc	Cs2z|�t�Wnttfy$Yn
0td��dS)z.Raise GeneratorExit inside generator.
        zgenerator ignored GeneratorExitNrMr1rrrrP`s
zGenerator.closecCs|turt|ddddd�StS)NrXrYrDrKrP)rr/r)r4rrrr6js
�zGenerator.__subclasshook__)NN)r7r8r9r:rYrrDrKrPr;r6rrrrrBs

rc@s(eZdZdZedd��Zedd��ZdS)rrcCsdSr0rr1rrr�__len__ysz
Sized.__len__cCs|turt|d�StS)Nr[)rr/r)r4rrrr6}s
zSized.__subclasshook__N)r7r8r9r:rr[r;r6rrrrrus

rc@s0eZdZdZedd��Zedd��Zee�Z	dS)rrcCsdS�NFr)r2�xrrr�__contains__�szContainer.__contains__cCs|turt|d�StS)Nr^)rr/r)r4rrrr6�s
zContainer.__subclasshook__N)
r7r8r9r:rr^r;r6r>r?rrrrr�s

rc@seZdZdZedd��ZdS)rrcCs|turt|ddd�StS)Nr[rXr^)rr/r)r4rrrr6�szCollection.__subclasshook__N)r7r8r9r:r;r6rrrrr�srcsPeZdZdZdZdd�Ze�fdd��Z�fdd�Zd	d
�Z	�fdd�Z
�ZS)
�_CallableGenericAliasz� Represent `Callable[argtypes, resulttype]`.

    This sets ``__args__`` to a tuple containing the flattened``argtypes``
    followed by ``resulttype``.

    Example: ``Callable[[int, str], float]`` sets ``__args__`` to
    ``(int, str, float)``.
    rc
Cs`z|�||�WStyZ}z4ddl}|�t|��d�t�t||�WYd}~Sd}~00dS)Nrz. (This will raise a TypeError in Python 3.10.))� _CallableGenericAlias__create_ga�	TypeError�warnings�warn�str�DeprecationWarningr>)r5�origin�args�excrbrrr�__new__�s�z_CallableGenericAlias.__new__csXt|t�rt|�dkrtd��|\}}t|ttf�rDt|�|f}n|}t��|||�S)N�z6Callable must be used as Callable[[arg, ...], result].)�
isinstance�tuple�lenra�list�superri)r5rfrg�t_args�t_result�ga_args��	__class__rr�__create_ga�s�z!_CallableGenericAlias.__create_gacs\t|j�dkr&|jdtur&t���Sdd�dd�|jdd�D���dt|jd��d	�S)
Nrjrzcollections.abc.Callable[[z, cSsg|]}t|��qSr)�
_type_repr)�.0�arrr�
<listcomp>�rz2_CallableGenericAlias.__repr__.<locals>.<listcomp>���z], �])rm�__args__�Ellipsisro�__repr__�joinrvr1rsrrr~�s
��z_CallableGenericAlias.__repr__cCsB|j}t|�dkr|dtus6t|dd��|df}tt|ffS)Nrjrrz)r|rmr}rnr_r)r2rgrrr�
__reduce__�sz _CallableGenericAlias.__reduce__cs8t��|�}|j}|d}|dd�}||f}tt|�S)Nrz)ro�__getitem__r|r_r)r2�item�gargrqrprsrrr��sz!_CallableGenericAlias.__getitem__)r7r8r9�__doc__r:rir;r`r~r�r��
__classcell__rrrsrr_�s	
r_cCsbt|t�rt|�St|t�r>|jdkr,|jS|j�d|j��S|turJdSt|t�rZ|jSt|�S)z�Return the repr() of an object, special-casing types (internal helper).

    Copied from :mod:`typing` since collections.abc
    shouldn't depend on that module.
    �builtins�.z...)	rkr>�repr�typer8r9r}�FunctionTyper7)�objrrrrv�s



rvc@s0eZdZdZedd��Zedd��Zee�Z	dS)rrcOsdSr\r)r2rg�kwdsrrr�__call__�szCallable.__call__cCs|turt|d�StS)Nr�)rr/r)r4rrrr6�s
zCallable.__subclasshook__N)
r7r8r9r:rr�r;r6r_r?rrrrr�s

rc@s�eZdZdZdZdd�Zdd�Zdd�Zd	d
�Zdd�Z	e
d
d��Zdd�ZeZ
dd�Zdd�ZeZdd�Zdd�Zdd�ZeZdd�ZdS)raZA set is a finite, iterable container.

    This class provides concrete generic implementations of all
    methods except for __contains__, __iter__ and __len__.

    To override the comparisons (presumably for speed, as the
    semantics are fixed), redefine __le__ and __ge__,
    then the other operations will automatically follow suit.
    rcCs>t|t�stSt|�t|�kr"dS|D]}||vr&dSq&dS�NFT�rkrr)rm�r2�other�elemrrr�__le__s
z
Set.__le__cCs(t|t�stSt|�t|�ko&|�|�Sr�rkrr)rmr��r2r�rrr�__lt__s
z
Set.__lt__cCs(t|t�stSt|�t|�ko&|�|�Sr)rkrr)rm�__ge__r�rrr�__gt__!s
z
Set.__gt__cCs>t|t�stSt|�t|�kr"dS|D]}||vr&dSq&dSr�r�r�rrrr�&s
z
Set.__ge__cCs(t|t�stSt|�t|�ko&|�|�Srr�r�rrr�__eq__0s
z
Set.__eq__cCs||�S)z�Construct an instance of the class from any iterable input.

        Must override this method if the class constructor signature
        does not accept an iterable for an input.
        r�r5�itrrr�_from_iterable5szSet._from_iterablecs&t|t�stS���fdd�|D��S)Nc3s|]}|�vr|VqdSrr�rwrCr1rr�	<genexpr>ArzSet.__and__.<locals>.<genexpr>�rkrr)r�r�rr1r�__and__>s
zSet.__and__cCs|D]}||vrdSqdS)z1Return True if two sets have a null intersection.FTr)r2r�rCrrr�
isdisjointEszSet.isdisjointcCs*t|t�stSdd�||fD�}|�|�S)Ncss|]}|D]
}|Vq
qdSrr)rw�s�errrr�OrzSet.__or__.<locals>.<genexpr>r�)r2r��chainrrr�__or__Ls
z
Set.__or__cs:t�t�s"t�t�stS|����|��fdd�|D��S)Nc3s|]}|�vr|VqdSrrr��r�rrr�Ys�zSet.__sub__.<locals>.<genexpr>�rkrrr)r�r�rr�r�__sub__Ts



zSet.__sub__cs:t|t�s"t|t�stS��|�}���fdd�|D��S)Nc3s|]}|�vr|VqdSrrr�r1rrr�as�zSet.__rsub__.<locals>.<genexpr>r�r�rr1r�__rsub__\s



zSet.__rsub__cCs2t|t�s"t|t�stS|�|�}||||BSrr�r�rrr�__xor__ds



zSet.__xor__cCs�tj}d|d}t|�}d|d}||M}|D],}t|�}|||d>AdAdN}||M}q2||d?|d?AN}|d	d
}||M}||kr�||d8}|dkr�d}|S)
a+Compute the hash value of a set.

        Note that we don't define __hash__: not all sets are hashable.
        But if you define a hashable set type, its __hash__ should
        call this function.

        This must be compatible __eq__.

        All sets ought to compare equal if they contain the same
        elements, regardless of how they are implemented, and
        regardless of the order of the elements; so there's not much
        freedom for __eq__ or __hash__.  We match the algorithm used
        by the built-in frozenset type.
        rjr"iM��r�i�M[l�4~2��i�
i��6rzi��8#)�sys�maxsizerm�hash)r2�MAX�MASK�n�hr]�hxrrr�_hashms"
z	Set._hashN)r7r8r9r�r:r�r�r�r�r�r;r�r��__rand__r�r��__ror__r�r�r��__rxor__r�rrrrrs&



rc@sdeZdZdZdZedd��Zedd��Zdd�Zd	d
�Z	dd�Z
d
d�Zdd�Zdd�Z
dd�ZdS)ra�A mutable set is a finite, iterable container.

    This class provides concrete generic implementations of all
    methods except for __contains__, __iter__, __len__,
    add(), and discard().

    To override the comparisons (presumably for speed, as the
    semantics are fixed), all you have to do is redefine __le__ and
    then the other operations will automatically follow suit.
    rcCst�dS)zAdd an element.N��NotImplementedErrorrBrrr�add�szMutableSet.addcCst�dS)z8Remove an element.  Do not raise an exception if absent.Nr�rBrrr�discard�szMutableSet.discardcCs||vrt|��|�|�dS)z5Remove an element. If not a member, raise a KeyError.N)�KeyErrorr�rBrrr�remove�szMutableSet.removecCs<t|�}zt|�}Wnty,td�Yn0|�|�|S)z2Return the popped value.  Raise KeyError if empty.N)�iter�nextrAr�r��r2r�rCrrr�pop�s
zMutableSet.popcCs&z|��qWnty Yn0dS)z6This is slow (creates N new iterators!) but effective.N)r�r�r1rrr�clear�szMutableSet.clearcCs|D]}|�|�q|Sr)r�r�rrr�__ior__�szMutableSet.__ior__cCs||D]}|�|�q|Sr)r�r�rrr�__iand__�szMutableSet.__iand__cCsR||ur|��n<t|t�s&|�|�}|D]"}||vrB|�|�q*|�|�q*|Sr)r�rkrr�r�r�r�rrr�__ixor__�s


zMutableSet.__ixor__cCs*||ur|��n|D]}|�|�q|Sr)r�r�r�rrr�__isub__�s

zMutableSet.__isub__N)r7r8r9r�r:rr�r�r�r�r�r�r�r�r�rrrrr�s



rc@sReZdZdZedd��Zddd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�ZdZdS)rrcCst�dSr�r��r2�keyrrrr��szMapping.__getitem__NcCs&z
||WSty |YS0dS)z<D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None.Nr��r2r��defaultrrr�get�s
zMapping.getcCs*z||Wnty YdS0dSdSr�r�r�rrrr^�s
zMapping.__contains__cCst|�S)z:D.keys() -> a set-like object providing a view on D's keys)rr1rrr�keysszMapping.keyscCst|�S)z<D.items() -> a set-like object providing a view on D's items)rr1rrr�itemssz
Mapping.itemscCst|�S)z6D.values() -> an object providing a view on D's values)rr1rrr�valuesszMapping.valuescCs&t|t�stSt|���t|���kSr)rkrr)�dictr�r�rrrr�s
zMapping.__eq__)N)
r7r8r9r:rr�r�r^r�r�r�r�rZrrrrr�s


rc@s0eZdZdZdd�Zdd�Zdd�Zee�Z	dS)	r��_mappingcCs
||_dSrr�)r2�mappingrrr�__init__"szMappingView.__init__cCs
t|j�Sr)rmr�r1rrrr[%szMappingView.__len__cCs
d�|�S)Nz&{0.__class__.__name__}({0._mapping!r}))�formatr1rrrr~(szMappingView.__repr__N)
r7r8r9r:r�r[r~r;r>r?rrrrrs
rc@s,eZdZdZedd��Zdd�Zdd�ZdS)	rrcCst|�Sr��setr�rrrr�2szKeysView._from_iterablecCs
||jvSrr�r�rrrr^6szKeysView.__contains__ccs|jEdHdSrr�r1rrrrX9szKeysView.__iter__N�r7r8r9r:r;r�r^rXrrrrr.s

rc@s,eZdZdZedd��Zdd�Zdd�ZdS)	rrcCst|�Srr�r�rrrr�DszItemsView._from_iterablecCs@|\}}z|j|}Wnty*YdS0||up:||kSdSr\)r�r�)r2r�r�rC�vrrrr^HszItemsView.__contains__ccs |jD]}||j|fVqdSrr�r�rrrrXQs
zItemsView.__iter__Nr�rrrrr@s

	rc@s eZdZdZdd�Zdd�ZdS)rrcCs0|jD]$}|j|}||us$||krdSqdS�NTFr�)r2rCr�r�rrrr^]s


zValuesView.__contains__ccs|jD]}|j|VqdSrr�r�rrrrXds
zValuesView.__iter__N)r7r8r9r:r^rXrrrrrYsrc@s^eZdZdZedd��Zedd��Ze�Zefdd�Z	dd	�Z
d
d�Zddd
�Zddd�Z
dS)rrcCst�dSrr��r2r�rCrrr�__setitem__yszMutableMapping.__setitem__cCst�dSrr�r�rrr�__delitem__}szMutableMapping.__delitem__cCs>z||}Wn"ty.||jur&�|YS0||=|SdS)z�D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
          If key is not found, d is returned if given, otherwise KeyError is raised.
        N)r��_MutableMapping__marker)r2r�r�rCrrrr��s

zMutableMapping.popcCs@ztt|��}Wnty(td�Yn0||}||=||fS)z�D.popitem() -> (k, v), remove and return some (key, value) pair
           as a 2-tuple; but raise KeyError if D is empty.
        N)r�r�rAr�r�rrr�popitem�szMutableMapping.popitemcCs&z|��qWnty Yn0dS)z,D.clear() -> None.  Remove all items from D.N)r�r�r1rrrr��szMutableMapping.clearcKs|t|t�r"|D]}||||<qn<t|d�rH|��D]}||||<q4n|D]\}}|||<qL|��D]\}}|||<qfdS)aK D.update([E, ]**F) -> None.  Update D from mapping/iterable E and F.
            If E present and has a .keys() method, does:     for k in E: D[k] = E[k]
            If E present and lacks .keys() method, does:     for (k, v) in E: D[k] = v
            In either case, this is followed by: for k, v in F.items(): D[k] = v
        r�N)rkr�hasattrr�r�)r2r�r�r�rCrrr�update�s


zMutableMapping.updateNcCs*z
||WSty$|||<Yn0|S)z@D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in Dr�r�rrr�
setdefault�s

zMutableMapping.setdefault)r)N)r7r8r9r:rr�r��objectr�r�r�r�r�r�rrrrrls


rc@sJeZdZdZdZedd��Zdd�Zdd�Zd	d
�Z	dd
d�Z
dd�ZdS)rz�All the operations on a read-only sequence.

    Concrete subclasses must override __new__ or __init__,
    __getitem__, and __len__.
    rcCst�dSr��
IndexError�r2�indexrrrr��szSequence.__getitem__ccs:d}z||}|V|d7}qWnty4YdS0dS)Nrr"r�)r2�ir�rrrrX�szSequence.__iter__cCs$|D]}||us||krdSqdSr�r)r2rCr�rrrr^�szSequence.__contains__ccs$ttt|���D]}||VqdSr)�reversed�rangerm)r2r�rrrrZ�szSequence.__reversed__rNcCs�|dur"|dkr"tt|�|d�}|dur>|dkr>|t|�7}|}|dusR||kr�z"||}||usl||krr|WSWnty�Yq�Yn0|d7}qBt�dS)z�S.index(value, [start, [stop]]) -> integer -- return first index of value.
           Raises ValueError if the value is not present.

           Supporting start and stop arguments is optional, but
           recommended.
        Nrr")�maxrmr��
ValueError)r2rC�start�stopr�r�rrrr��s


zSequence.indexcst�fdd�|D��S)zBS.count(value) -> integer -- return number of occurrences of valuec3s"|]}|�us|�krdVqdS)r"Nr)rwr��rCrrr�rz!Sequence.count.<locals>.<genexpr>)�sumrBrr�r�count�szSequence.count)rN)r7r8r9r�r:rr�rXr^rZr�r�rrrrr�s


rc@seZdZdZdZdS)r!zMThis unifies bytes and bytearray.

    XXX Should add all their methods.
    rN)r7r8r9r�r:rrrrr!
sr!c@sneZdZdZedd��Zedd��Zedd��Zdd	�Zd
d�Z	dd
�Z
dd�Zddd�Zdd�Z
dd�ZdS)r rcCst�dSrr��r2r�rCrrrr�"szMutableSequence.__setitem__cCst�dSrr�r�rrrr�&szMutableSequence.__delitem__cCst�dS)z3S.insert(index, value) -- insert value before indexNr�r�rrr�insert*szMutableSequence.insertcCs|�t|�|�dS)z:S.append(value) -- append value to the end of the sequenceN)r�rmrBrrr�append/szMutableSequence.appendcCs&z|��qWnty Yn0dS)z,S.clear() -> None -- remove all items from SN)r�r�r1rrrr�3szMutableSequence.clearcCsHt|�}t|d�D].}|||d||||<|||d<qdS)z!S.reverse() -- reverse *IN PLACE*rjr"N)rmr�)r2r�r�rrr�reverse;szMutableSequence.reversecCs(||urt|�}|D]}|�|�qdS)zMS.extend(iterable) -- extend sequence by appending elements from the iterableN)rnr�)r2r�r�rrr�extendAszMutableSequence.extendrzcCs||}||=|S)z�S.pop([index]) -> item -- remove and return item at index (default last).
           Raise IndexError if list is empty or index is out of range.
        r)r2r�r�rrrr�HszMutableSequence.popcCs||�|�=dS)zvS.remove(value) -- remove first occurrence of value.
           Raise ValueError if the value is not present.
        N)r�rBrrrr�PszMutableSequence.removecCs|�|�|Sr)r�)r2r�rrr�__iadd__Vs
zMutableSequence.__iadd__N)rz)r7r8r9r:rr�r�r�r�r�r�r�r�r�r�rrrrr s	



r )Rr��abcrrr�r�rn�intr>�EllipsisTyperr��__all__r7r��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%�	coroutinerPr&�async_generatorr/rr	r
�registerrrr
rrrrrrrr_rvrr�	frozensetrrrrrrrr�rrlrd�
memoryviewr!�bytesr rrrr�<module>s�	
)
0













0
=
P
3



T
>



	

D


?>