Your IP : 3.15.231.17
3
\"�@srddlmZdd�ZGdd�de�ZGdd�de�ZGdd �d e�ZGd
d�de �Z
Gdd
�d
e
d�Zdd�ZdS)�)�WeakSetcCs
d|_|S)NT)�__isabstractmethod__)�funcobj�r�/usr/lib64/python3.6/abc.py�abstractmethod srcs eZdZdZ�fdd�Z�ZS)�abstractclassmethodTcsd|_t�j|�dS)NT)r�super�__init__)�self�callable)� __class__rrr
0szabstractclassmethod.__init__)�__name__�
__module__�__qualname__rr
�
__classcell__rr)r
rrsrcs eZdZdZ�fdd�Z�ZS)�abstractstaticmethodTcsd|_t�j|�dS)NT)rr r
)rr)r
rrr
Hszabstractstaticmethod.__init__)rrrrr
rrr)r
rr5src@seZdZdZdS)�abstractpropertyTN)rrrrrrrrrMsrcsBeZdZdZ�fdd�Zdd�Zd
dd�Zd d
�Zdd�Z�Z S)�ABCMetarc s�t�j||||f|�}dd�|j�D�}xF|D]>}x8t|dt��D]&}t||d�}t|dd�rB|j|�qBWq.Wt|�|_t�|_ t�|_
t�|_tj
|_|S)NcSs h|]\}}t|dd�r|�qS)rF)�getattr)�.0�name�valuerrr� <setcomp>�sz"ABCMeta.__new__.<locals>.<setcomp>�__abstractmethods__rF)r �__new__�itemsr�set�add� frozensetrr�
_abc_registry�
_abc_cache�_abc_negative_cacher�_abc_invalidation_counter�_abc_negative_cache_version) �mclsr�bases� namespace�kwargs�cls� abstracts�baser)r
rrr�s
zABCMeta.__new__cCsPt|t�std��t||�r |St||�r2td��|jj|�tjd7_|S)NzCan only register classesz'Refusing to create an inheritance cycle�) �
isinstance�type� TypeError�
issubclass�RuntimeErrorr rrr#)r)�subclassrrr�register�s
zABCMeta.registerNcCs|td|j|jf|d�tdtj|d�xLt|j�D]>}|jd�r6t||�}t |t
�r`t|�}td||f|d�q6WdS)NzClass: %s.%s)�filezInv.counter: %s�_abc_z%s: %r)�printrrrr#�sorted�__dict__�
startswithrr-rr)r)r4rrrrr�_dump_registry�s
zABCMeta._dump_registrycsb|j}|�jkrdSt|�}||krH�jtjkr>|�jkr>dS�j|�St�fdd�||hD��S)NTFc3s|]}�j|�VqdS)N)�__subclasscheck__)r�c)r)rr� <genexpr>�sz,ABCMeta.__instancecheck__.<locals>.<genexpr>) r
r!r.r$rr#r"r;�any)r)�instancer2�subtyper)r)r�__instancecheck__�s
zABCMeta.__instancecheck__cCs�||jkrdS|jtjkr,t�|_tj|_n||jkr:dS|j|�}|tk rn|r^|jj|�n|jj|�|S|t |df�kr�|jj|�dSx(|j
D]}t||�r�|jj|�dSq�Wx*|j�D]}t||�r�|jj|�dSq�W|jj|�dS)NTF�__mro__)
r!r$rr#rr"�__subclasshook__�NotImplementedrrr r0�__subclasses__)r)r2�ok�rcls�sclsrrrr;�s4
zABCMeta.__subclasscheck__)N)
rrrr#rr3r:rAr;rrr)r
rrms
rc@seZdZdS)�ABCN)rrrrrrrrI�srI)� metaclasscCstjS)N)rr#rrrr�get_cache_token�srKN)
�_weakrefsetrr�classmethodr�staticmethodr�propertyrr.rrIrKrrrr�<module>s
?>