
    i                     b    d dl Z d dlZ G d de j                  Z G d dej                  ZdS )    Nc                   (     e Zd ZdZ fdZd Z x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                 Z     t          | dt                      j                  |          S )N_frozen)getattrsuper__missing__)selfkey	__class__s     R/var/www/icac/venv/lib/python3.11/site-packages/importlib_metadata/_collections.pyr	   z FreezableDefaultDict.__missing__   s&    <wtY(;<<SAAA    c                       fd _         d S )Nc                 ,                                     S )N)default_factory)r   r
   s    r   <lambda>z-FreezableDefaultDict.freeze.<locals>.<lambda>   s    4#7#7#9#9 r   )r   )r
   s   `r   freezezFreezableDefaultDict.freeze   s    9999r   )__name__
__module____qualname____doc__r	   r   __classcell__)r   s   @r   r   r      sV         B B B B B: : : : : : :r   r   c                   :    e Zd ZU eed<   eed<   ed             ZdS )Pairnamevaluec           	      d     | t          t          j        |                    dd                     S )N=   )mapstrstripsplit)clstexts     r   parsez
Pair.parse    s)    sC	4::c1#5#56677r   N)r   r   r   r!   __annotations__classmethodr&    r   r   r   r      sA         
IIIJJJ8 8 [8 8 8r   r   )collectionstypingdefaultdictr   
NamedTupler   r)   r   r   <module>r.      s~        : : : : :;2 : : :,8 8 8 8 86 8 8 8 8 8r   