ó
UèZc           @   sI   d  d l  m Z d g Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   reft   WeakSett   _IterationGuardc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   t  | ƒ |  _ d  S(   N(   R    t   weakcontainer(   t   selfR   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __init__   s    c         C   s/   |  j  ƒ  } | d  k	 r+ | j j |  ƒ n  |  S(   N(   R   t   Nonet
   _iteratingt   add(   R   t   w(    (    s!   /usr/lib/python2.7/_weakrefset.pyt	   __enter__   s    c         C   sH   |  j  ƒ  } | d  k	 rD | j } | j |  ƒ | sD | j ƒ  qD n  d  S(   N(   R   R   R   t   removet   _commit_removals(   R   t   et   tt   bR	   t   s(    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __exit__   s    	(   t   __name__t
   __module__R   R
   R   (    (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   
   s   		c           B   sC  e  Z d d  „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d Z	 d „  Z
 d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z e Z d „  Z d „  Z d „  Z e Z d „  Z d „  Z d „  Z e Z d „  Z d „  Z e Z d „  Z d „  Z  d „  Z! e! Z" d „  Z# d „  Z$ d „  Z% e% Z& d „  Z' RS(   c         C   s\   t  ƒ  |  _ t |  ƒ d „ } | |  _ g  |  _ t  ƒ  |  _ | d  k	 rX |  j | ƒ n  d  S(   Nc         S   sH   | ƒ  } | d  k	 rD | j r1 | j j |  ƒ qD | j j |  ƒ n  d  S(   N(   R   R   t   _pending_removalst   appendt   datat   discard(   t   itemt   selfrefR   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   _remove&   s
    		(   t   setR   R    R   R   R   R   t   update(   R   R   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   $   s    		c         C   s6   |  j  } |  j j } x | r1 | | j ƒ  ƒ q Wd  S(   N(   R   R   R   t   pop(   R   t   lR   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   4   s    		c         c   sH   t  |  ƒ 6 x. |  j D]# } | ƒ  } | d  k	 r | Vq q WWd  QXd  S(   N(   R   R   R   (   R   t   itemrefR   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __iter__:   s
    	c         C   s   t  |  j ƒ t  |  j ƒ S(   N(   t   lenR   R   (   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __len__A   s    c         C   s2   y t  | ƒ } Wn t k
 r$ t SX| |  j k S(   N(   R    t	   TypeErrort   FalseR   (   R   R   t   wr(    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __contains__D   s
    c         C   s%   |  j  t |  ƒ f t |  d d  ƒ f S(   Nt   __dict__(   t	   __class__t   listt   getattrR   (   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt
   __reduce__K   s    c         C   s6   |  j  r |  j ƒ  n  |  j j t | |  j ƒ ƒ d  S(   N(   R   R   R   R   R    R   (   R   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   Q   s    	c         C   s'   |  j  r |  j ƒ  n  |  j j ƒ  d  S(   N(   R   R   R   t   clear(   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR,   V   s    	c         C   s   |  j  |  ƒ S(   N(   R(   (   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   copy[   s    c         C   ss   |  j  r |  j ƒ  n  xV t rn y |  j j ƒ  } Wn t k
 rQ t d ƒ ‚ n X| ƒ  } | d  k	 r | Sq Wd  S(   Ns   pop from empty WeakSet(   R   R   t   TrueR   R   t   KeyErrorR   (   R   R   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   ^   s    			c         C   s0   |  j  r |  j ƒ  n  |  j j t | ƒ ƒ d  S(   N(   R   R   R   R   R    (   R   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   j   s    	c         C   s0   |  j  r |  j ƒ  n  |  j j t | ƒ ƒ d  S(   N(   R   R   R   R   R    (   R   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   o   s    	c         C   s8   |  j  r |  j ƒ  n  x | D] } |  j | ƒ q Wd  S(   N(   R   R   R   (   R   t   othert   element(    (    s!   /usr/lib/python2.7/_weakrefset.pyR   t   s    	c         C   s   |  j  | ƒ |  S(   N(   R   (   R   R0   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __ior__z   s    c         C   s   |  j  ƒ  } | j | ƒ | S(   N(   R-   t   difference_update(   R   R0   t   newset(    (    s!   /usr/lib/python2.7/_weakrefset.pyt
   difference~   s    c         C   s   |  j  | ƒ d  S(   N(   t   __isub__(   R   R0   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR3   „   s    c         C   sP   |  j  r |  j ƒ  n  |  | k r2 |  j j ƒ  n |  j j d „  | Dƒ ƒ |  S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   t   .0R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>Œ   s    (   R   R   R   R,   R3   (   R   R0   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR6   †   s    	c            s   ˆ  j  ‡  f d †  | Dƒ ƒ S(   Nc         3   s!   |  ] } | ˆ  k r | Vq d  S(   N(    (   R7   R   (   R   (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>   s    (   R(   (   R   R0   (    (   R   s!   /usr/lib/python2.7/_weakrefset.pyt   intersection   s    c         C   s   |  j  | ƒ d  S(   N(   t   __iand__(   R   R0   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   intersection_update“   s    c         C   s4   |  j  r |  j ƒ  n  |  j j d „  | Dƒ ƒ |  S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R7   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>˜   s    (   R   R   R   R:   (   R   R0   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR9   •   s    	c         C   s   |  j  j d „  | Dƒ ƒ S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R7   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>œ   s    (   R   t   issubset(   R   R0   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR;   ›   s    c         C   s   |  j  t d „  | Dƒ ƒ k  S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R7   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>    s    (   R   R   (   R   R0   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __lt__Ÿ   s    c         C   s   |  j  j d „  | Dƒ ƒ S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R7   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>£   s    (   R   t
   issuperset(   R   R0   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR=   ¢   s    c         C   s   |  j  t d „  | Dƒ ƒ k S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R7   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>§   s    (   R   R   (   R   R0   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __gt__¦   s    c         C   s3   t  | |  j ƒ s t S|  j t d „  | Dƒ ƒ k S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R7   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>¬   s    (   t
   isinstanceR(   t   NotImplementedR   R   (   R   R0   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __eq__©   s    c         C   s   |  j  ƒ  } | j | ƒ | S(   N(   R-   t   symmetric_difference_update(   R   R0   R4   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   symmetric_difference®   s    c         C   s   |  j  | ƒ d  S(   N(   t   __ixor__(   R   R0   (    (    s!   /usr/lib/python2.7/_weakrefset.pyRB   ´   s    c            sV   ˆ  j  r ˆ  j ƒ  n  ˆ  | k r2 ˆ  j j ƒ  n  ˆ  j j ‡  f d †  | Dƒ ƒ ˆ  S(   Nc         3   s!   |  ] } t  | ˆ  j ƒ Vq d  S(   N(   R    R   (   R7   R   (   R   (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>¼   s    (   R   R   R   R,   RB   (   R   R0   (    (   R   s!   /usr/lib/python2.7/_weakrefset.pyRD   ¶   s    	 c         C   s   |  j  d „  |  | f Dƒ ƒ S(   Nc         s   s"   |  ] } | D] } | Vq q d  S(   N(    (   R7   R   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>À   s    (   R(   (   R   R0   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   union¿   s    c         C   s   t  |  j | ƒ ƒ d k S(   Ni    (   R!   R8   (   R   R0   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt
   isdisjointÃ   s    N((   R   R   R   R   R   R    R"   R&   R+   t   __hash__R   R,   R-   R   R   R   R   R2   R5   t   __sub__R3   R6   R8   t   __and__R:   R9   R;   t   __le__R<   R=   t   __ge__R>   RA   RC   t   __xor__RB   RD   RE   t   __or__RF   (    (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   #   sJ   																														N(   t   _weakrefR    t   __all__t   objectR   R   (    (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   <module>   s   	