ó
è¾bc           @   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   sL  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! 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__C   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__F   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__M   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   S   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,   X   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   l   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   q   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   v   s    	c         C   s   |  j  | ƒ |  S(   N(   R   (   R   R0   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __ior__|   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  | ƒ } | t k r t S| S(   N(   RA   R@   (   R   R0   t   opposite(    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __ne__°   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.pyRD   ¼   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,   RD   (   R   R0   (    (   R   s!   /usr/lib/python2.7/_weakrefset.pyRF   ¾   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   RE   t   __xor__RD   RF   RG   t   __or__RH   (    (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   #   sL   																																N(   t   _weakrefR    t   __all__t   objectR   R   (    (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   <module>   s   	