ó
è¾bc           @   sb   d  Z  d d	 d „  ƒ  YZ d e f d „  ƒ  YZ d d l Z e j j e ƒ d d
 d „  ƒ  YZ d S(   sG   A more or less complete user-defined wrapper around dictionary objects.t   UserDictc           B   sì   e  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 d „  Z d „  Z d „  Z d d „ Z d d „ Z d „  Z d „  Z d „  Z e d d „ ƒ Z RS(   c          O   sò   |  s t  d ƒ ‚ n  |  d } |  d }  t |  ƒ d k rT t  d t |  ƒ ƒ ‚ n  |  rg |  d } nF d | k r§ | j d ƒ } d d  l } | j d t d d	 ƒn d  } i  | _ | d  k	 rÒ | j | ƒ n  t | ƒ rî | j | ƒ n  d  S(
   Ns<   descriptor '__init__' of 'UserDict' object needs an argumenti    i   s$   expected at most 1 arguments, got %dt   dictiÿÿÿÿs0   Passing 'dict' as keyword argument is deprecatedt
   stackleveli   (	   t	   TypeErrort   lent   popt   warningst   warnt   PendingDeprecationWarningt   Nonet   datat   update(   t   argst   kwargst   selfR   R   (    (    s   /usr/lib/python2.7/UserDict.pyt   __init__   s(    

	
	c         C   s   t  |  j ƒ S(   N(   t   reprR
   (   R   (    (    s   /usr/lib/python2.7/UserDict.pyt   __repr__   t    c         C   s6   t  | t ƒ r" t |  j | j ƒ St |  j | ƒ Sd  S(   N(   t
   isinstanceR    t   cmpR
   (   R   R   (    (    s   /usr/lib/python2.7/UserDict.pyt   __cmp__   s    c         C   s   t  |  j ƒ S(   N(   R   R
   (   R   (    (    s   /usr/lib/python2.7/UserDict.pyt   __len__"   R   c         C   sO   | |  j  k r |  j  | St |  j d ƒ r? |  j j |  | ƒ St | ƒ ‚ d  S(   Nt   __missing__(   R
   t   hasattrt	   __class__R   t   KeyError(   R   t   key(    (    s   /usr/lib/python2.7/UserDict.pyt   __getitem__#   s
    c         C   s   | |  j  | <d  S(   N(   R
   (   R   R   t   item(    (    s   /usr/lib/python2.7/UserDict.pyt   __setitem__)   R   c         C   s   |  j  | =d  S(   N(   R
   (   R   R   (    (    s   /usr/lib/python2.7/UserDict.pyt   __delitem__*   R   c         C   s   |  j  j ƒ  d  S(   N(   R
   t   clear(   R   (    (    s   /usr/lib/python2.7/UserDict.pyR    +   R   c         C   sq   |  j  t k r" t |  j j ƒ  ƒ Sd d  l } |  j } z i  |  _ | j |  ƒ } Wd  | |  _ X| j |  ƒ | S(   Niÿÿÿÿ(   R   R    R
   t   copyR   (   R   R!   R
   t   c(    (    s   /usr/lib/python2.7/UserDict.pyR!   ,   s    		
c         C   s   |  j  j ƒ  S(   N(   R
   t   keys(   R   (    (    s   /usr/lib/python2.7/UserDict.pyR#   8   R   c         C   s   |  j  j ƒ  S(   N(   R
   t   items(   R   (    (    s   /usr/lib/python2.7/UserDict.pyR$   9   R   c         C   s   |  j  j ƒ  S(   N(   R
   t	   iteritems(   R   (    (    s   /usr/lib/python2.7/UserDict.pyR%   :   R   c         C   s   |  j  j ƒ  S(   N(   R
   t   iterkeys(   R   (    (    s   /usr/lib/python2.7/UserDict.pyR&   ;   R   c         C   s   |  j  j ƒ  S(   N(   R
   t
   itervalues(   R   (    (    s   /usr/lib/python2.7/UserDict.pyR'   <   R   c         C   s   |  j  j ƒ  S(   N(   R
   t   values(   R   (    (    s   /usr/lib/python2.7/UserDict.pyR(   =   R   c         C   s   | |  j  k S(   N(   R
   (   R   R   (    (    s   /usr/lib/python2.7/UserDict.pyt   has_key>   R   c          O   sc  |  s t  d ƒ ‚ n  |  d } |  d }  t |  ƒ d k rT t  d t |  ƒ ƒ ‚ n  |  rg |  d } nF d | k r§ | j d ƒ } d d  l } | j d t d d	 ƒn d  } | d  k r¼ n„ t | t ƒ rá | j	 j
 | j	 ƒ n_ t | t i  ƒ ƒ st | d
 ƒ r| j	 j
 | ƒ n' x$ | j ƒ  D] \ } } | | | <q&Wt | ƒ r_| j	 j
 | ƒ n  d  S(   Ns:   descriptor 'update' of 'UserDict' object needs an argumenti    i   s$   expected at most 1 arguments, got %dR   iÿÿÿÿs0   Passing 'dict' as keyword argument is deprecatedR   i   R$   (   R   R   R   R   R   R   R	   R   R    R
   R   t   typeR   R$   (   R   R   R   R   R   t   kt   v(    (    s   /usr/lib/python2.7/UserDict.pyR   ?   s0    

	%c         C   s   | |  k r | S|  | S(   N(    (   R   R   t   failobj(    (    s   /usr/lib/python2.7/UserDict.pyt   get[   s    c         C   s!   | |  k r | |  | <n  |  | S(   N(    (   R   R   R-   (    (    s   /usr/lib/python2.7/UserDict.pyt
   setdefault_   s    c         G   s   |  j  j | | Œ S(   N(   R
   R   (   R   R   R   (    (    s   /usr/lib/python2.7/UserDict.pyR   c   s    c         C   s   |  j  j ƒ  S(   N(   R
   t   popitem(   R   (    (    s   /usr/lib/python2.7/UserDict.pyR0   e   s    c         C   s   | |  j  k S(   N(   R
   (   R   R   (    (    s   /usr/lib/python2.7/UserDict.pyt   __contains__g   s    c         C   s(   |  ƒ  } x | D] } | | | <q W| S(   N(    (   t   clst   iterablet   valuet   dR   (    (    s   /usr/lib/python2.7/UserDict.pyt   fromkeysi   s    	N(   t   __name__t
   __module__R   R   R   R	   t   __hash__R   R   R   R   R    R!   R#   R$   R%   R&   R'   R(   R)   R   R.   R/   R   R0   R1   t   classmethodR6   (    (    (    s   /usr/lib/python2.7/UserDict.pyR       s2   																				t   IterableUserDictc           B   s   e  Z d  „  Z RS(   c         C   s   t  |  j ƒ S(   N(   t   iterR
   (   R   (    (    s   /usr/lib/python2.7/UserDict.pyt   __iter__q   s    (   R7   R8   R=   (    (    (    s   /usr/lib/python2.7/UserDict.pyR;   p   s   iÿÿÿÿNt	   DictMixinc           B   sª   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d d	 „ Z d
 „  Z d „  Z d d „ Z d d „ Z d „  Z d „  Z d „  Z RS(   c         c   s    x |  j  ƒ  D] } | Vq Wd  S(   N(   R#   (   R   R+   (    (    s   /usr/lib/python2.7/UserDict.pyR=      s    c         C   s%   y |  | Wn t  k
 r  t SXt S(   N(   R   t   Falset   True(   R   R   (    (    s   /usr/lib/python2.7/UserDict.pyR)   „   s
    c         C   s   |  j  | ƒ S(   N(   R)   (   R   R   (    (    s   /usr/lib/python2.7/UserDict.pyR1   Š   s    c         c   s$   x |  D] } | |  | f Vq Wd  S(   N(    (   R   R+   (    (    s   /usr/lib/python2.7/UserDict.pyR%   Ž   s    c         C   s
   |  j  ƒ  S(   N(   R=   (   R   (    (    s   /usr/lib/python2.7/UserDict.pyR&   ‘   s    c         c   s&   x |  j  ƒ  D] \ } } | Vq Wd  S(   N(   R%   (   R   t   _R,   (    (    s   /usr/lib/python2.7/UserDict.pyR'   •   s    c         C   s#   g  |  j  ƒ  D] \ } } | ^ q S(   N(   R%   (   R   RA   R,   (    (    s   /usr/lib/python2.7/UserDict.pyR(   ˜   s    c         C   s   t  |  j ƒ  ƒ S(   N(   t   listR%   (   R   (    (    s   /usr/lib/python2.7/UserDict.pyR$   š   s    c         C   s"   x |  j  ƒ  D] } |  | =q Wd  S(   N(   R#   (   R   R   (    (    s   /usr/lib/python2.7/UserDict.pyR    œ   s    c         C   s.   y |  | SWn t  k
 r) | |  | <n X| S(   N(   R   (   R   R   t   default(    (    s   /usr/lib/python2.7/UserDict.pyR/   Ÿ   s
    c         G   sp   t  | ƒ d k r2 t d t d t  | ƒ ƒ ‚ n  y |  | } Wn" t k
 rd | r^ | d S‚  n X|  | =| S(   Ni   s&   pop expected at most 2 arguments, got i    (   R   R   R   R   (   R   R   R   R4   (    (    s   /usr/lib/python2.7/UserDict.pyR   ¥   s    c         C   sJ   y |  j  ƒ  j ƒ  \ } } Wn t k
 r8 t d ‚ n X|  | =| | f S(   Ns   container is empty(   R%   t   nextt   StopIterationR   (   R   R+   R,   (    (    s   /usr/lib/python2.7/UserDict.pyR0   ±   s    c         K   sº   | d  k r n‘ t | d ƒ rH x | j ƒ  D] \ } } | |  | <q+ WnX t | d ƒ r xF | j ƒ  D] } | | |  | <qd Wn! x | D] \ } } | |  | <q† W| r¶ |  j | ƒ n  d  S(   NR%   R#   (   R	   R   R%   R#   R   (   R   t   otherR   R+   R,   (    (    s   /usr/lib/python2.7/UserDict.pyR   ¸   s    c         C   s%   y |  | SWn t  k
 r  | SXd  S(   N(   R   (   R   R   RC   (    (    s   /usr/lib/python2.7/UserDict.pyR.   Ç   s    c         C   s   t  t |  j ƒ  ƒ ƒ S(   N(   R   R   R%   (   R   (    (    s   /usr/lib/python2.7/UserDict.pyR   Ì   s    c         C   sM   | d  k r d St | t ƒ r4 t | j ƒ  ƒ } n  t t |  j ƒ  ƒ | ƒ S(   Ni   (   R	   R   R>   R   R%   R   (   R   RF   (    (    s   /usr/lib/python2.7/UserDict.pyR   Î   s
    c         C   s   t  |  j ƒ  ƒ S(   N(   R   R#   (   R   (    (    s   /usr/lib/python2.7/UserDict.pyR   Ô   s    N(   R7   R8   R=   R)   R1   R%   R&   R'   R(   R$   R    R	   R/   R   R0   R   R.   R   R   R   (    (    (    s   /usr/lib/python2.7/UserDict.pyR>   x   s"   														(    (    (   t   __doc__R    R;   t   _abcollt   MutableMappingt   registerR>   (    (    (    s   /usr/lib/python2.7/UserDict.pyt   <module>   s
   m