o
    ¿Z2hä  ã                   @  sR   d Z ddlmZ ddlmZmZmZ edƒZG dd„ deeef ƒZ	ddd„Z
dS )zObjects shared by opc modules.é    )Úannotations)ÚAnyÚDictÚTypeVarÚ_Tc                      s8   e Zd ZdZ‡ fdd„Z‡ fdd„Z‡ fdd„Z‡  ZS )ÚCaseInsensitiveDictaL  Mapping type that behaves like dict except that it matches without respect to the
    case of the key.

    E.g. cid['A'] == cid['a']. Note this is not general-purpose, just complete enough to
    satisfy opc package needs. It assumes str keys, and that it is created empty; keys
    passed in constructor are not accounted for
    c                   ó   t t| ƒ | ¡ ¡S ©N)Úsuperr   Ú__contains__Úlower©ÚselfÚkey©Ú	__class__© ú`/home/skpark/git/infrasmart_work/infrasmart/venv/lib/python3.10/site-packages/docx/opc/shared.pyr      ó   z CaseInsensitiveDict.__contains__c                   r   r	   )r
   r   Ú__getitem__r   r   r   r   r   r      r   zCaseInsensitiveDict.__getitem__c                   s   t t| ƒ | ¡ |¡S r	   )r
   r   Ú__setitem__r   )r   r   Úvaluer   r   r   r      s   zCaseInsensitiveDict.__setitem__)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   Ú__classcell__r   r   r   r   r   
   s
    r   ÚclsÚtypeÚmethod_nameÚstrc                 C  s
   t | |ƒS )z,Return method of `cls` having `method_name`.)Úgetattr)r   r   r   r   r   Úcls_method_fn   s   
r"   N)r   r   r   r    )r   Ú
__future__r   Útypingr   r   r   r   r    r   r"   r   r   r   r   Ú<module>   s    