File: //usr/lib64/python3.6/__pycache__/weakref.cpython-36.opt-2.pyc
3
  \�O  �            
   @   s�   d dl mZmZmZmZmZmZmZmZ d dl	m
Z
mZ d dlZd dl
Z
d dlZeefZdddddd	d
ddd
dddg
ZG dd� de�ZG dd
� d
ej�ZG dd� de�ZG dd� dej�ZG dd� d�ZdS )�    )�getweakrefcount�getweakrefs�ref�proxy�CallableProxyType�	ProxyType�
ReferenceType�_remove_dead_weakref)�WeakSet�_IterationGuardNr   r   r   r   �WeakKeyDictionaryr   r   r   �
ProxyTypes�WeakValueDictionaryr
   �
WeakMethod�finalizec                   s@   e Zd ZdZddd�Z� fdd	�Zd
d� Zdd
� Zej	Z	�  Z
S )r   �	_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&