
    h                     n    d dl Z  G d de j                  Z G d d e j        dd                    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     6/usr/lib/python3.11/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ed             ZdS )Pairc           	      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   classmethodr$    r   r   r   r      s-        8 8 [8 8 8r   r   z
name value)collectionsdefaultdictr   
namedtupler   r&   r   r   <module>r*      s       : : : : :;2 : : :,8 8 8 8 8!;!&,77 8 8 8 8 8r   