
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
UZ                 @   sb   yd dl m Z  d dlmZ W n0 ek
rL   d dlm Z  eZd dlmZ Y nX G dd de ZdS )    )UserDict)
StringType)reducec               @   s   e Zd Zd"ddZdd Zdd Zdd	 ZeZd
d Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! ZdS )#UserDictCaseNc             C   s   i | _ tj| | d S )N)kcaser   __init__)selfdata r
   "/usr/lib/python3.6/UserDictCase.pyr      s    zUserDictCase.__init__c             C   s   t |tr|j S |S dS )z. Return the lower() of key if it is a string. N)
isinstancer   lower)r   keyr
   r
   r   Z__lower_string#   s    
zUserDictCase.__lower_stringc             C   s"   | j |}|| j|< || j|< d S )N)_UserDictCase__lower_stringr	   r   )r   r   valueZlkeyr
   r
   r   __setitem__+   s    

zUserDictCase.__setitem__c             C   s   | j |}| j| S )N)r   r	   )r   r   r
   r
   r   __getitem__0   s    
zUserDictCase.__getitem__c             C   s   | j |}| j|= | j|= d S )N)r   r	   r   )r   r   r
   r
   r   __delitem__6   s    
zUserDictCase.__delitem__c             C   s   | j |}|| jkS )N)r   r	   )r   r   r
   r
   r   __contains__;   s    
zUserDictCase.__contains__c             C   s
   | j j S )N)r   values)r   r
   r
   r   keys?   s    zUserDictCase.keysc             C   s   | j  j S )N)get_hashitems)r   r
   r
   r   r   B   s    zUserDictCase.itemsc             C   s   || kS )Nr
   )r   r   r
   r
   r   has_keyE   s    zUserDictCase.has_keyc             C   s   | j j  | jj  d S )N)r	   clearr   )r   r
   r
   r   r   I   s    
zUserDictCase.clearc             C   s   t | jfdd| jj i S )Nc             S   s   | j ||d  |d ip| S )Nr      )update)atZhcr
   r
   r   <lambda>O   s    z'UserDictCase.get_hash.<locals>.<lambda>)r   r   r	   r   )r   r
   r
   r   r   N   s    zUserDictCase.get_hashc             C   s   | j  S )N)r   )r   r
   r
   r   __getstate__S   s    zUserDictCase.__getstate__c             C   s   | j | d S )N)r   )r   stater
   r
   r   __setstate__W   s    zUserDictCase.__setstate__c             C   s   | j  S )N)r   )r   r
   r
   r   dict[   s    zUserDictCase.dictc             C   s"   x|j  D ]\}}|| |< q
W d S )N)r   )r   r#   kvr
   r
   r   r   ^   s    zUserDictCase.updatec             C   s
   t | jS )N)iterr	   )r   r
   r
   r   __iter__d   s    zUserDictCase.__iter__)N)__name__
__module____qualname__r   r   r   r   getr   r   r   r   r   r   r   r    r"   r#   r   r'   r
   r
   r
   r   r      s"   
r   N)	r   typesr   ImportErrorcollectionsbytes	functoolsr   r   r
   r
   r
   r   <module>   s   