B YI~d��� @s�dddddddddg Zd d lZd d lmZmZd d lmZ d d l Z d d l Z d d lmZd dlmZmZmZd dlmZyd dlmZWnek r�YnXej�e�yd dlm Z Wnek r�YnXdd�Z!Gdd�dej"�Z#Gdd�dej$�Z%Gdd�dej&�Z'Gdd�de(�Z)Gdd�de*�Z+yd dlm+Z+Wnek �rRYnXiZ,dd d d�d d�Z-d!d"�Z.yd d#lm.Z.Wnek �r�YnXGd$d�de*�Z/Gd%d�dej0�Z1Gd&d�dej0�Z2Gd'd�dej�Z3Gd(d�dej4�Z5d S))�deque� defaultdict� namedtuple�UserDict�UserList� UserString�Counter� OrderedDict�ChainMap�N)� itemgetter�eq)� iskeyword)�proxy)�repeat�chain�starmap)�recursive_repr)r)rcCsR|tjkr:tt|�}ddl}|jdtdd�|t�|<|Stdt�d|����dS)Nr z�Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3,and in 3.9 it will stop working�)� stacklevelzmodule z has no attribute ) �_collections_abc�__all__�getattr�warnings�warn�DeprecationWarning�globals�AttributeError�__name__)�name�objr�r �9/opt/alt/python37/lib64/python3.7/collections/__init__.py� __getattr__*s    r"c@seZdZdd�ZdS)�_OrderedDictKeysViewccst|j�EdHdS)N)�reversed�_mapping)�selfr r r!� __reversed__?sz!_OrderedDictKeysView.__reversed__N)r� __module__� __qualname__r'r r r r!r#=sr#c@seZdZdd�ZdS)�_OrderedDictItemsViewccs(x"t|j�D]}||j|fVq WdS)N)r$r%)r&�keyr r r!r'Dsz"_OrderedDictItemsView.__reversed__N)rr(r)r'r r r r!r*Bsr*c@seZdZdd�ZdS)�_OrderedDictValuesViewccs$xt|j�D]}|j|Vq WdS)N)r$r%)r&r+r r r!r'Jsz#_OrderedDictValuesView.__reversed__N)rr(r)r'r r r r!r,Hsr,c@seZdZdZdS)�_Link)�prev�nextr+� __weakref__N)rr(r)� __slots__r r r r!r-Nsr-c@s�eZdZdd�Zejeefdd�Zejfdd�Zdd�Z d d �Z d d �Z d)dd�Z d*dd�Z dd�ZejjZZdd�Zdd�Zdd�ZejjZe�Zefdd�Zd+dd�Ze�dd ��Zd!d"�Zd#d$�Zed,d%d&��Z d'd(�Z!dS)-rcOs�|s td��|^}}t|�dkr0tdt|���y |jWn>tk rxt�|_t|j�|_}||_|_i|_ YnX|j ||�dS)Nz?descriptor '__init__' of 'OrderedDict' object needs an argument�z$expected at most 1 arguments, got %d) � TypeError�len�_OrderedDict__rootrr-�_OrderedDict__hardroot�_proxyr.r/�_OrderedDict__map�_OrderedDict__update)�args�kwdsr&�rootr r r!�__init__`s    zOrderedDict.__init__c CsZ||krJ|�|j|<}|j}|j}||||_|_|_||_||�|_||||�dS)N)r8r5r.r/r+) r&r+�valueZ dict_setitemrZLink�linkr<�lastr r r!� __setitem__ss zOrderedDict.__setitem__cCs>|||�|j�|�}|j}|j}||_||_d|_d|_dS)N)r8�popr.r/)r&r+Z dict_delitemr?� link_prev� link_nextr r r!� __delitem__�s  zOrderedDict.__delitem__ccs,|j}|j}x||k r&|jV|j}qWdS)N)r5r/r+)r&r<�currr r r!�__iter__�s  zOrderedDict.__iter__ccs,|j}|j}x||k r&|jV|j}qWdS)N)r5r.r+)r&r<rFr r r!r'�s  zOrderedDict.__reversed__cCs*|j}||_|_|j��t�|�dS)N)r5r.r/r8�clear�dict)r&r<r r r!rH�s  zOrderedDict.clearTcCsj|s td��|j}|r0|j}|j}||_||_n|j}|j}||_||_|j}|j|=t�||�}||fS)Nzdictionary is empty)�KeyErrorr5r.r/r+r8rIrB)r&r@r<r?rCrDr+r>r r r!�popitem�s  zOrderedDict.popitemc Cst|j|}|j}|j}|j}||_||_|j}|rR|j}||_||_||_||_n|j}||_||_||_||_dS)N)r8r.r/r5) r&r+r@r?rCrDZ soft_linkr<�firstr r r!� move_to_end�s$ zOrderedDict.move_to_endcCsVtj}t|�d}||j�}|||j�d7}|||j�|7}|||j�|7}|S)Nr2r)�_sys� getsizeofr4�__dict__r8r6r5)r&Zsizeof�n�sizer r r!� __sizeof__�s  zOrderedDict.__sizeof__cCst|�S)N)r#)r&r r r!�keys�szOrderedDict.keyscCst|�S)N)r*)r&r r r!�items�szOrderedDict.itemscCst|�S)N)r,)r&r r r!�values�szOrderedDict.valuescCs0||kr||}||=|S||jkr,t|��|S)N)�_OrderedDict__markerrJ)r&r+�default�resultr r r!rB�s zOrderedDict.popNcCs||kr||S|||<|S)Nr )r&r+rXr r r!� setdefaultszOrderedDict.setdefaultcCs*|sd|jjfSd|jjt|���fS)Nz%s()z%s(%r))� __class__r�listrU)r&r r r!�__repr__ szOrderedDict.__repr__cCsHt|���}xtt��D]}|�|d�qW|jd|p8ddt|���fS)Nr )�vars�copyrrBr[�iterrU)r&Z inst_dict�kr r r!� __reduce__s zOrderedDict.__reduce__cCs |�|�S)N)r[)r&r r r!r_szOrderedDict.copycCs |�}x|D] }|||<q W|S)Nr )�cls�iterabler>r&r+r r r!�fromkeyss  zOrderedDict.fromkeyscCs2t|t�r&t�||�o$ttt||��St�||�S)N)� isinstancerrI�__eq__�all�map�_eq)r&�otherr r r!rg%s zOrderedDict.__eq__)T)T)N)N)"rr(r)r=rIrAr7r-rErGr'rHrKrMrSr�MutableMapping�updater9rTrUrV�__ne__�objectrWrBrZ�_recursive_reprr]rbr_� classmethodrergr r r r!rQs.          )rF)�rename�defaults�modulec s�t�t�r��dd����ttt����t�t|��}|r�t�}xNt ��D]B\}}|� �rtt |�st|� d�st||kr�d|���|<|� |�qJWxR|g�D]D}t|�tk r�td��|� �s�td|����t |�r�td|����q�Wt�}xN�D]F}|� d��r|�std|����||k�r,td|����|� |�q�Wi}|dk �r�t|�}t|�t��k�rjtd ��ttttt��t|�����}tttj����t���t���d d �d d �} dd�dd��D��d�tj�t�d| �d| �d�} �d|��d�} t| | �| d} d|�d| �d�| _|dk �r6|| _t���fdd��} d|�d�| j_�fdd�}d |�d!�|_�fd"d#�}d$d%�}d&d'�}x.| | j||||fD]}|�d(|j��|_�q�W|�d| �d�d)�||| | ||||d*� }t }xlt ��D]`\}}y||\}}Wn4t!k �rBt"|�}d+|��}||f||<YnXt#||d,�||<�q�Wt|tf|�}|dk�r�yt�$d �j%�&d-d.�}Wnt'tfk �r�YnX|dk �r�||_(|S)/N�,� �_z*Type names and field names must be stringsz6Type names and field names must be valid identifiers: z0Type names and field names cannot be a keyword: z-Field names cannot start with an underscore: z"Encountered duplicate field name: z(Got more default values than field names�'�r2������(z, css|]}|�d�VqdS)z=%rNr )�.0rr r r!� �sznamedtuple..�)zdef __new__(_cls, z): return _tuple_new(_cls, (z))� namedtuple_)� _tuple_newr�__new__zCreate new instance of cs2�||�}�|��kr.td��dt|�����|S)Nz Expected z arguments, got )r3r4)rcrdrY)�_len� num_fields� tuple_newr r!�_make�s  znamedtuple.._makez Make a new z# object from a sequence or iterablecs.|�t|j�|��}|r*tdt|�����|S)NzGot unexpected field names: )r�rirB� ValueErrorr\)�_selfr;rY)� field_namesr r!�_replace�sznamedtuple.._replacez Return a new z2 object replacing specified fields with new valuescs|jj�|S)N)r[r)r&)�repr_fmtr r!r]�sznamedtuple..__repr__cSstt|j|��S)N)r�zip�_fields)r&r r r!�_asdict�sznamedtuple.._asdictcSst|�S)N)�tuple)r&r r r!�__getnewargs__�sz"namedtuple..__getnewargs__�.r ) �__doc__r1r��_field_defaults�_fields_defaultsr�r�r�r]r�r�zAlias for field number )�docr�__main__))rf�str�replace�splitr\rirN�intern�set� enumerate� isidentifier� _iskeyword� startswith�add�typer3r�r�r4rIr$r��repr�joinr��execr�� __defaults__rq�__func__rr)�_nt_itemgettersrJ� _itemgetter�property� _getframe� f_globals�getrr()�typenamer�rrrsrt�seen�indexr�field_defaults�arg_list�s� namespacer�r�r�r]r�r��method�class_namespace�cache�itemgetter_objectr�rYr )r�r�r�r�r�r!r<s�              cCs*|j}x|D]}||d�d||<q WdS)Nr r2)r�)�mappingrdZ mapping_get�elemr r r!�_count_elements�s r�)r�cs�eZdZ�fdd�Zdd�Zd.dd�Zdd �Zed/d d ��Z�fd d �Z dd�Z dd�Z dd�Z �fdd�Z dd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Z�ZS)0rcsN|s td��|^}}t|�dkr0tdt|���tt|���|j||�dS)Nz;descriptor '__init__' of 'Counter' object needs an argumentr2z$expected at most 1 arguments, got %d)r3r4�superrr=rm)r:r;r&)r[r r!r=&s  zCounter.__init__cCsdS)Nr r )r&r+r r r!� __missing__:szCounter.__missing__NcCs6|dkrt|��td�dd�Stj||��td�d�S)Nr2T)r+�reverse)r+)�sortedrUr��_heapq�nlargest)r&rQr r r!� most_common?s zCounter.most_commoncCst�tt|����S)N)�_chain� from_iterable�_starmap�_repeatrU)r&r r r!�elementsLszCounter.elementscCs td��dS)[email protected]() is undefined. Use Counter(iterable) instead.)�NotImplementedError)rcrd�vr r r!redszCounter.fromkeyscs�|s td��|^}}t|�dkr0tdt|���|r<|dnd}|dk r�t|tj�r�|r�|j}x8|��D]\}}|||d�||<qhWq�tt|�� |�n t ||�|r�|� |�dS)Nz9descriptor 'update' of 'Counter' object needs an argumentr2z$expected at most 1 arguments, got %dr ) r3r4rfr�Mappingr�rUr�rrmr�)r:r;r&rd�self_getr��count)r[r r!rmks    zCounter.updatecOs�|s td��|^}}t|�dkr0tdt|���|r<|dnd}|dk r�|j}t|tj�r�xH|��D]\}}||d�|||<qdWn x|D]}||d�d||<q�W|r�|�|�dS)Nz;descriptor 'subtract' of 'Counter' object needs an argumentr2z$expected at most 1 arguments, got %dr )r3r4r�rfrr�rU�subtract)r:r;r&rdr�r�r�r r r!r��s   zCounter.subtractcCs |�|�S)N)r[)r&r r r!r_�sz Counter.copycCs|jt|�ffS)N)r[rI)r&r r r!rb�szCounter.__reduce__cs||krt��|�dS)N)r�rE)r&r�)r[r r!rE�szCounter.__delitem__cCs`|sd|jjSy&d�tdj|����}d|jj|fStk rZd�|jjt|��SXdS)Nz%s()z, z%r: %rz%s({%s})z {0}({1!r})) r[rr�ri�__mod__r�r3�formatrI)r&rUr r r!r]�s zCounter.__repr__cCsxt|t�stSt�}x0|��D]$\}}|||}|dkr|||<qWx,|��D] \}}||krP|dkrP|||<qPW|S)Nr )rfr�NotImplementedrU)r&rkrYr�r��newcountr r r!�__add__�s    zCounter.__add__cCs|t|t�stSt�}x0|��D]$\}}|||}|dkr|||<qWx0|��D]$\}}||krP|dkrPd|||<qPW|S)Nr )rfrr�rU)r&rkrYr�r�r�r r r!�__sub__�s   zCounter.__sub__cCs�t|t�stSt�}x<|��D]0\}}||}||kr:|n|}|dkr|||<qWx,|��D] \}}||kr\|dkr\|||<q\W|S)Nr )rfrr�rU)r&rkrYr�r�� other_countr�r r r!�__or__�s   zCounter.__or__cCsVt|t�stSt�}x<|��D]0\}}||}||kr:|n|}|dkr|||<qW|S)Nr )rfrr�rU)r&rkrYr�r�r�r�r r r!�__and__s  zCounter.__and__cCs0t�}x$|��D]\}}|dkr|||<qW|S)Nr )rrU)r&rYr�r�r r r!�__pos__s  zCounter.__pos__cCs4t�}x(|��D]\}}|dkrd|||<qW|S)Nr )rrU)r&rYr�r�r r r!�__neg__'s zCounter.__neg__cCs*dd�|��D�}x|D] }||=qW|S)NcSsg|]\}}|dks|�qS)r r )r|r�r�r r r!� 4sz*Counter._keep_positive..)rU)r&� nonpositiver�r r r!�_keep_positive2s  zCounter._keep_positivecCs.x$|��D]\}}|||7<q W|��S)N)rUr�)r&rkr�r�r r r!�__iadd__9s zCounter.__iadd__cCs.x$|��D]\}}|||8<q W|��S)N)rUr�)r&rkr�r�r r r!�__isub__Fs zCounter.__isub__cCs6x,|��D] \}}||}||kr |||<q W|��S)N)rUr�)r&rkr�r�r�r r r!�__ior__Ss  zCounter.__ior__cCs6x,|��D] \}}||}||kr |||<q W|��S)N)rUr�)r&rkr�r�r�r r r!�__iand__bs  zCounter.__iand__)N)N)rr(r)r=r�r�r�rqrermr�r_rbrEr]r�r�r�r�r�r�r�r�r�r�r�� __classcell__r r )r[r!r�s.3    ("    c@s�eZdZdd�Zdd�Zdd�Zd&dd �Zd d �Zd d �Zdd�Z dd�Z e �dd��Z e dd��Zdd�ZeZd'dd�Zedd��Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�ZdS)(r cGst|�p ig|_dS)N)r\�maps)r&r�r r r!r=�szChainMap.__init__cCs t|��dS)N)rJ)r&r+r r r!r��szChainMap.__missing__c Cs8x,|jD]"}y||Stk r(YqXqW|�|�S)N)r�rJr�)r&r+r�r r r!� __getitem__�s   zChainMap.__getitem__NcCs||kr||S|S)Nr )r&r+rXr r r!r��sz ChainMap.getcCstt�j|j��S)N)r4r��unionr�)r&r r r!�__len__�szChainMap.__len__cCs*i}xt|j�D]}|�|�qWt|�S)N)r$r�rmr`)r&�dr�r r r!rG�szChainMap.__iter__cst�fdd�|jD��S)Nc3s|]}�|kVqdS)Nr )r|�m)r+r r!r}�sz(ChainMap.__contains__..)�anyr�)r&r+r )r+r!� __contains__�szChainMap.__contains__cCs t|j�S)N)r�r�)r&r r r!�__bool__�szChainMap.__bool__cCsd�|d�tt|j���S)Nz{0.__class__.__name__}({1})z, )r�r�rir�r�)r&r r r!r]�szChainMap.__repr__cGs|tj|f|���S)N)rIre)rcrdr:r r r!re�szChainMap.fromkeyscCs$|j|jd��f|jdd���S)Nr r2)r[r�r_)r&r r r!r_�sz ChainMap.copycCs|dkr i}|j|f|j��S)N)r[r�)r&r�r r r!� new_child�szChainMap.new_childcCs|j|jdd��S)Nr2)r[r�)r&r r r!�parents�szChainMap.parentscCs||jd|<dS)Nr )r�)r&r+r>r r r!rA�szChainMap.__setitem__cCs8y|jd|=Wn"tk r2td�|���YnXdS)Nr z(Key not found in the first mapping: {!r})r�rJr�)r&r+r r r!rE�szChainMap.__delitem__cCs0y|jd��Stk r*td��YnXdS)Nr z#No keys found in the first mapping.)r�rKrJ)r&r r r!rK�szChainMap.popitemcGs>y|jdj|f|��Stk r8td�|���YnXdS)Nr z(Key not found in the first mapping: {!r})r�rBrJr�)r&r+r:r r r!rB�sz ChainMap.popcCs|jd��dS)Nr )r�rH)r&r r r!rH�szChainMap.clear)N)N)rr(r)r=r�r�r�r�rGr�r�rpr]rqrer_�__copy__r�r�r�rArErKrBrHr r r r!r vs&    c@sjeZdZdd�Zdd�Zdd�Zdd�Zd d �Zd d �Zd d�Z dd�Z dd�Z dd�Z e ddd��ZdS)rcOs�|s td��|^}}t|�dkr0tdt|���|r>|d}n0d|krj|�d�}ddl}|jdtdd�nd}i|_|dk r�|�|�t|�r�|�|�dS) Nzr�r+r r r!re#s  zUserDict.fromkeys)N)rr(r)r=r�r�rArErGr�r]r�r_rqrer r r r!r�s c@seZdZd?dd�Zdd�Zdd�Zdd �Zd d �Zd d �Zdd�Z dd�Z dd�Z dd�Z dd�Z dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�ZeZd$d%�Zd&d'�Zd(d)�Zd*d+�Zd@d-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!dS)ArNcCsbg|_|dk r^t|�t|j�kr0||jdd�<n.t|t�rT|jdd�|jdd�<n t|�|_dS)N)r�r�rfrr\)r&�initlistr r r!r=2s zUserList.__init__cCs t|j�S)N)r�r�)r&r r r!r]<r�zUserList.__repr__cCs|j|�|�kS)N)r��_UserList__cast)r&rkr r r!�__lt__=r�zUserList.__lt__cCs|j|�|�kS)N)r�r�)r&rkr r r!�__le__>r�zUserList.__le__cCs|j|�|�kS)N)r�r�)r&rkr r r!rg?r�zUserList.__eq__cCs|j|�|�kS)N)r�r�)r&rkr r r!�__gt__@r�zUserList.__gt__cCs|j|�|�kS)N)r�r�)r&rkr r r!�__ge__Ar�zUserList.__ge__cCst|t�r|jS|S)N)rfrr�)r&rkr r r!�__castBszUserList.__castcCs ||jkS)N)r�)r&r�r r r!r�Dr�zUserList.__contains__cCs t|j�S)N)r4r�)r&r r r!r�Er�zUserList.__len__cCs(t|t�r|�|j|�S|j|SdS)N)rf�slicer[r�)r&�ir r r!r�Fs zUserList.__getitem__cCs||j|<dS)N)r�)r&r�r�r r r!rAKr�zUserList.__setitem__cCs |j|=dS)N)r�)r&r�r r r!rELr�zUserList.__delitem__cCsPt|t�r|�|j|j�St|t|j��r<|�|j|�S|�|jt|��S)N)rfrr[r�r�r\)r&rkr r r!r�Ms  zUserList.__add__cCsPt|t�r|�|j|j�St|t|j��r<|�||j�S|�t|�|j�S)N)rfrr[r�r�r\)r&rkr r r!�__radd__Ss  zUserList.__radd__cCsRt|t�r|j|j7_n2t|t|j��r<|j|7_n|jt|�7_|S)N)rfrr�r�r\)r&rkr r r!r�Ys  zUserList.__iadd__cCs|�|j|�S)N)r[r�)r&rQr r r!�__mul__aszUserList.__mul__cCs|j|9_|S)N)r�)r&rQr r r!�__imul__dszUserList.__imul__cCs8|j�|j�}|j�|j�|jddd�|jd<|S)Nr�)r[r�rPrm)r&r�r r r!r�gszUserList.__copy__cCs|j�|�dS)N)r��append)r&r�r r r!r�mr�zUserList.appendcCs|j�||�dS)N)r��insert)r&r�r�r r r!r�nr�zUserList.insertrzcCs |j�|�S)N)r�rB)r&r�r r r!rBor�z UserList.popcCs|j�|�dS)N)r��remove)r&r�r r r!rpr�zUserList.removecCs|j��dS)N)r�rH)r&r r r!rHqr�zUserList.clearcCs |�|�S)N)r[)r&r r r!r_rr�z UserList.copycCs |j�|�S)N)r�r�)r&r�r r r!r�sr�zUserList.countcGs|jj|f|��S)N)r�r�)r&r�r:r r r!r�tr�zUserList.indexcCs|j��dS)N)r�r�)r&r r r!r�ur�zUserList.reversecOs|jj||�dS)N)r��sort)r&r:r;r r r!rvr�z UserList.sortcCs*t|t�r|j�|j�n |j�|�dS)N)rfrr��extend)r&rkr r r!rws zUserList.extend)N)rz)"rr(r)r=r]r�r�rgr�r�r�r�r�r�rArEr�r�r�r��__rmul__r�r�r�r�rBrrHr_r�r�r�rrr r r r!r0s>  c@sheZdZdd�Zdd�Zdd�Zdd�Zd d �Zd d �Zd d�Z dd�Z dd�Z dd�Z dd�Z dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�ZeZd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1ejfd2d3�Zd�d5d6�Zd1ejfd7d8�Z d�d:d;�Z!d1ejfdd?�Z#d@dA�Z$d1ejfdBdC�Z%dDdE�Z&dFdG�Z'dHdI�Z(dJdK�Z)dLdM�Z*dNdO�Z+dPdQ�Z,dRdS�Z-dTdU�Z.dVdW�Z/dXdY�Z0dZd[�Z1d\d]�Z2d^d_�Z3d`da�Z4d�dbdc�Z5e6j7Z7ddde�Z8d�dgdh�Z9d1ejfdidj�Z:d1ejfdkdl�Z;dmdn�Zd�dsdt�Z?d�dudv�Z@d�dxdy�ZAd1ejfdzd{�ZBd�d|d}�ZCd~d�ZDd�d��ZEd�d��ZFd�d��ZGd�d��ZHd4S)�rcCs<t|t�r||_n&t|t�r.|jdd�|_n t|�|_dS)N)rfr�r�r)r&�seqr r r!r=�s   zUserString.__init__cCs t|j�S)N)r�r�)r&r r r!�__str__�r�zUserString.__str__cCs t|j�S)N)r�r�)r&r r r!r]�r�zUserString.__repr__cCs t|j�S)N)�intr�)r&r r r!�__int__�r�zUserString.__int__cCs t|j�S)N)�floatr�)r&r r r!� __float__�r�zUserString.__float__cCs t|j�S)N)�complexr�)r&r r r!� __complex__�r�zUserString.__complex__cCs t|j�S)N)�hashr�)r&r r r!�__hash__�r�zUserString.__hash__cCs|jdd�fS)N)r�)r&r r r!r��szUserString.__getnewargs__cCs t|t�r|j|jkS|j|kS)N)rfrr�)r&�stringr r r!rg�s  zUserString.__eq__cCs t|t�r|j|jkS|j|kS)N)rfrr�)r&rr r r!r��s  zUserString.__lt__cCs t|t�r|j|jkS|j|kS)N)rfrr�)r&rr r r!r��s  zUserString.__le__cCs t|t�r|j|jkS|j|kS)N)rfrr�)r&rr r r!r��s  zUserString.__gt__cCs t|t�r|j|jkS|j|kS)N)rfrr�)r&rr r r!r��s  zUserString.__ge__cCst|t�r|j}||jkS)N)rfrr�)r&�charr r r!r��s zUserString.__contains__cCs t|j�S)N)r4r�)r&r r r!r��r�zUserString.__len__cCs|�|j|�S)N)r[r�)r&r�r r r!r��r�zUserString.__getitem__cCsJt|t�r|�|j|j�St|t�r6|�|j|�S|�|jt|��S)N)rfrr[r�r�)r&rkr r r!r��s   zUserString.__add__cCs.t|t�r|�||j�S|�t|�|j�S)N)rfr�r[r�)r&rkr r r!r��s zUserString.__radd__cCs|�|j|�S)N)r[r�)r&rQr r r!r��szUserString.__mul__cCs|�|j|�S)N)r[r�)r&r:r r r!r��szUserString.__mod__cCs|�|t�S)N)r[r:)r&r�r r r!�__rmod__�szUserString.__rmod__cCs|�|j���S)N)r[r�� capitalize)r&r r r!r�r�zUserString.capitalizecCs|�|j���S)N)r[r��casefold)r&r r r!r�szUserString.casefoldcGs|�|jj|f|���S)N)r[r��center)r&�widthr:r r r!r�szUserString.centerr cCs t|t�r|j}|j�|||�S)N)rfrr�r�)r&�sub�start�endr r r!r��s zUserString.countNcCs>|r.|r|�|j�||��S|�|j�|��S|�|j���S)N)r[r��encode)r&�encoding�errorsr r r!r�s zUserString.encodecCs|j�|||�S)N)r��endswith)r&�suffixrrr r r!r�szUserString.endswith�cCs|�|j�|��S)N)r[r�� expandtabs)r&�tabsizer r r!r�szUserString.expandtabscCs t|t�r|j}|j�|||�S)N)rfrr��find)r&rrrr r r!r �s zUserString.findcOs|jj||�S)N)r�r�)r&r:r;r r r!r��szUserString.formatcCs |j�|�S)N)r�� format_map)r&r�r r r!r!�szUserString.format_mapcCs|j�|||�S)N)r�r�)r&rrrr r r!r��szUserString.indexcCs |j��S)N)r��isalpha)r&r r r!r"�r�zUserString.isalphacCs |j��S)N)r��isalnum)r&r r r!r#�r�zUserString.isalnumcCs |j��S)N)r��isascii)r&r r r!r$�r�zUserString.isasciicCs |j��S)N)r�� isdecimal)r&r r r!r%�r�zUserString.isdecimalcCs |j��S)N)r��isdigit)r&r r r!r&�r�zUserString.isdigitcCs |j��S)N)r�r�)r&r r r!r��r�zUserString.isidentifiercCs |j��S)N)r��islower)r&r r r!r'�r�zUserString.islowercCs |j��S)N)r�� isnumeric)r&r r r!r(�r�zUserString.isnumericcCs |j��S)N)r�� isprintable)r&r r r!r)�r�zUserString.isprintablecCs |j��S)N)r��isspace)r&r r r!r*�r�zUserString.isspacecCs |j��S)N)r��istitle)r&r r r!r+�r�zUserString.istitlecCs |j��S)N)r��isupper)r&r r r!r,�r�zUserString.isuppercCs |j�|�S)N)r�r�)r&rr r r!r��r�zUserString.joincGs|�|jj|f|���S)N)r[r��ljust)r&rr:r r r!r-�szUserString.ljustcCs|�|j���S)N)r[r��lower)r&r r r!r.�r�zUserString.lowercCs|�|j�|��S)N)r[r��lstrip)r&�charsr r r!r/�r�zUserString.lstripcCs |j�|�S)N)r�� partition)r&�sepr r r!r1�szUserString.partitionrzcCs6t|t�r|j}t|t�r |j}|�|j�|||��S)N)rfrr�r[r�)r&�old�new�maxsplitr r r!r��s   zUserString.replacecCs t|t�r|j}|j�|||�S)N)rfrr��rfind)r&rrrr r r!r6�s zUserString.rfindcCs|j�|||�S)N)r��rindex)r&rrrr r r!r7�szUserString.rindexcGs|�|jj|f|���S)N)r[r��rjust)r&rr:r r r!r8szUserString.rjustcCs |j�|�S)N)r�� rpartition)r&r2r r r!r9szUserString.rpartitioncCs|�|j�|��S)N)r[r��rstrip)r&r0r r r!r:szUserString.rstripcCs|j�||�S)N)r�r�)r&r2r5r r r!r�szUserString.splitcCs|j�||�S)N)r��rsplit)r&r2r5r r r!r;szUserString.rsplitFcCs |j�|�S)N)r�� splitlines)r&�keependsr r r!r< r�zUserString.splitlinescCs|j�|||�S)N)r�r�)r&�prefixrrr r r!r� szUserString.startswithcCs|�|j�|��S)N)r[r��strip)r&r0r r r!r? r�zUserString.stripcCs|�|j���S)N)r[r��swapcase)r&r r r!r@r�zUserString.swapcasecCs|�|j���S)N)r[r��title)r&r r r!rAr�zUserString.titlecGs|�|jj|��S)N)r[r�� translate)r&r:r r r!rBszUserString.translatecCs|�|j���S)N)r[r��upper)r&r r r!rCr�zUserString.uppercCs|�|j�|��S)N)r[r��zfill)r&rr r r!rDr�zUserString.zfill)NN)r)N)rz)N)Nrz)Nrz)F)N)Irr(r)r=rr]rr r r r�rgr�r�r�r�r�r�r�r�r�r�rr�rrrrrN�maxsizer�rrrr r�r!r�r"r#r$r%r&r�r'r(r)r*r+r,r�r-r.r/r�� maketransr1r�r6r7r8r9r:r�r;r<r�r?r@rArBrCrDr r r r!r�s�         )6rr�operatorr r�r rj�keywordr r��sysrN�heapqr��_weakrefrr7� itertoolsrr�rr�rr��reprlibrrp� _collectionsr� ImportError�MutableSequence�registerrr"�KeysViewr#� ItemsViewr*� ValuesViewr,ror-rIrr�rr�rrlr rr�Sequencerr r r r!�sZ      _-oKS