Your IP : 18.218.123.194
3
� f�O �
@ s� d Z ddlmZmZmZmZmZmZmZm Z ddl
mZmZ ddl
Z
ddlZddlZeefZddddd d
ddd
ddddg
ZG dd� de�ZG dd� de
j�ZG dd� de�ZG dd � d e
j�ZG dd� d�ZdS )z{Weak reference support for Python.
This module is an implementation of PEP 205:
http://www.python.org/dev/peps/pep-0205/
� )�getweakrefcount�getweakrefs�ref�proxy�CallableProxyType� ProxyType�
ReferenceType�_remove_dead_weakref)�WeakSet�_IterationGuardNr r r r �WeakKeyDictionaryr r r �
ProxyTypes�WeakValueDictionaryr
�
WeakMethod�finalizec sD e Zd ZdZdZddd�Z� fd d
�Zdd� Zd
d� Ze j
Z
� ZS )r z�
A custom `weakref.ref` subclass which simulates a weak reference to
a bound method, working around the lifetime problem of bound methods.
� _func_ref�
_meth_type�_alive�__weakref__Nc s~ y|j }|j}W n( tk
r8 tdjt|���d �Y nX � �fdd�}tj| ||�}t||�|_t|�|_ d|_
t|��|S )Nz)argument should be a bound method, not {}c s&