o
    VÌhç  ã                   @   s6   d dl Z G dd„ de jƒZG dd„ de  dd¡ƒZdS )é    Nc                       s(   e Zd ZdZ‡ fdd„Zdd„ Z‡  ZS )ÚFreezableDefaultDicta!  
    Often it is desirable to prevent the mutation of
    a default dict after its initial construction, such
    as to prevent mutation during iteration.

    >>> dd = FreezableDefaultDict(list)
    >>> dd[0].append('1')
    >>> dd.freeze()
    >>> dd[1]
    []
    >>> len(dd)
    1
    c                    s   t | dtƒ jƒ|ƒS )NÚ_frozen)ÚgetattrÚsuperÚ__missing__)ÚselfÚkey©Ú	__class__© ús/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/importlib_metadata/_collections.pyr      s   z FreezableDefaultDict.__missing__c                    s   ‡ fdd„ˆ _ d S )Nc                    s   ˆ   ¡ S )N)Údefault_factory)r   ©r   r   r   Ú<lambda>   s    z-FreezableDefaultDict.freeze.<locals>.<lambda>)r   r   r   r   r   Úfreeze   s   zFreezableDefaultDict.freeze)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ú__classcell__r   r   r	   r   r      s    r   c                   @   s   e Zd Zedd„ ƒZdS )ÚPairc                 C   s   | t tj| dd¡ƒŽ S )Nú=é   )ÚmapÚstrÚstripÚsplit)ÚclsÚtextr   r   r   Úparse   s   z
Pair.parseN)r   r   r   Úclassmethodr   r   r   r   r   r      s    r   z
name value)ÚcollectionsÚdefaultdictr   Ú
namedtupler   r   r   r   r   Ú<module>   s    