
    #Zj%                     *    d dl Z  G d de          ZdS )    Nc                        e Zd Zd Zd Z fdZd Zed             Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd ZddZddZd Z xZS )Dictc                    t                               | d|                    dd                      t                               | d|                    dd                      t                               | dd           |D ]}|st          |t                    r3|                                D ]\  }}|                     |          | |<   Mt          |t                    r@t          |d         t                    s%|                     |d                   | |d         <   t          |          D ]\  }}|                     |          | |<   |                                D ]\  }}|                     |          | |<   d S )N__parent__key__frozenFr      )	object__setattr__pop
isinstancedictitems_hooktupleiter)_Dict__selfargskwargsargkeyvals         Y/Users/jameslopez/projects/MentorCore/.venv/lib/python3.11/site-packages/addict/addict.py__init__zDict.__init__   s   6:vzz*d/K/KLLL67FJJw,E,EFFF6:u555 
	4 
	4C 	4C&& 4 #		 4 4HC"(,,s"3"3F3KK4C'' 4CFE1J1J 4!'c!f!5!5s1v $S		 4 4HC"(,,s"3"3F3KK4  	, 	,HC ,,s++F3KK	, 	,    c                 ~    t          | j        |          r"t          d                    |                    || |<   d S )Nz*'Dict' object attribute '{0}' is read-only)hasattr	__class__AttributeErrorformat)selfnamevalues      r   r   zDict.__setattr__   sJ    4>4(( 	  "66<fTllD D D DJJJr   c                 :   t          | d          ot                              | d          }|r8|t          t          |                                           vrt          |          t          t          |                               ||           	 t                              | d          }t                              | d          }n# t          $ r d }d }Y nw xY w|=| ||<   t          	                    | d           t          	                    | d           d S d S )Nr   r   r   )
r   r
   __getattribute__superr   keysKeyError__setitem__r   __delattr__)r!   r"   r#   isFrozenpr   r   s         r   r)   zDict.__setitem__    s$   D*-- >++D*== 	 	%E$$5$5$:$:$<$<<<tnn$dD%%dE222	''j99A))$88CC 	 	 	ACCC	 =AcFtZ000tW----- =s   6C CCc                     |                                  s|S t          |           j        }t          |          j        }d}t          |                    ||                    )Nz0unsupported operand type(s) for +: '{}' and '{}')r'   type__name__	TypeErrorr    )r!   other	self_type
other_typemsgs        r   __add__zDict.__add__1   sT    yy{{ 	?LT

+Ie-JDCCJJy*==>>>r   c                      t          |t                    r  |          S t          |t          t          f          r$ t	          |           fd|D                       S |S )Nc              3   B   K   | ]}                     |          V  d S N)r   ).0elemclss     r   	<genexpr>zDict._hook.<locals>.<genexpr>?   s-      ??$ciioo??????r   )r   r   listr   r.   )r;   items   ` r   r   z
Dict._hook:   sk    dD!! 	@3t99tUm,, 	@4::????$??????r   c                 ,    |                      |          S r8   )__getitem__)r!   r>   s     r   __getattr__zDict.__getattr__B   s    %%%r   c                     t                               | d          rt          |          |                     | |          S )Nr   )r   r   )r
   r%   r(   r   r!   r"   s     r   __missing__zDict.__missing__E   s<    ""444 	!4.. ~~t4~888r   c                     | |= d S r8    rC   s     r   r*   zDict.__delattr__J   s    JJJr   c                 <    i }                                  D ]\  }}t          |t                               r|                                ||<   :t          |t          t
          f          r( t          |           fd|D                       ||<   ~|||<   |S )Nc              3   ~   K   | ]7}t          |t                              r|                                n|V  8d S r8   )r   r.   to_dict)r9   r>   r!   s     r   r<   zDict.to_dict.<locals>.<genexpr>S   s[       (, (,! '1tDzz&B&B DLLNNN(, (, (, (, (, (,r   )r   r   r.   rI   r=   r   )r!   baser   r#   s   `   r   rI   zDict.to_dictM   s    **,, 	" 	"JC%d,, "!MMOOS		ED%=11 "'DKK (, (, (, (,%*(, (, (, , ,S		 "S		r   c                 *    t          j         |           S r8   )copyr!   s    r   rL   z	Dict.copyZ   s    yr   c                 *    t          j        |           S r8   )rL   deepcopyrM   s    r   rO   zDict.deepcopy]   s    }T"""r   c                     |                                  }||t          |           <   |                                 D ]0\  }}t          j        ||          |t          j        ||          <   1|S r8   )r   idr   rL   rO   )r!   memor1   r   r#   s        r   __deepcopy__zDict.__deepcopy__`   sg      RXX**,, 	I 	IJC.2mE4.H.HE$-T**++r   c                    i }|r<t          |          dk    rt                      |                    |d                    |                    |           |                                D ]Z\  }}|| vs0t	          | |         t
                    rt	          |t
                    s|| |<   ?| |                             |           [d S )Nr	   r   )lenr0   updater   r   r   )r!   r   r   r1   kvs         r   rV   zDict.updateg   s     	"4yy1}}kk!LLa!!!VKKMM 	" 	"DAq$Q.. 4((  QQq!!!!	" 	"r   c                 D    t          |                                           S r8   )r   r   rM   s    r   __getnewargs__zDict.__getnewargs__v   s    TZZ\\"""r   c                     | S r8   rF   rM   s    r   __getstate__zDict.__getstate__y   s    r   c                 0    |                      |           d S r8   rV   )r!   states     r   __setstate__zDict.__setstate__|       Er   c                     t          |t          t          f          st          S t          |           }|                    |           |S r8   r   r   r   NotImplementedrV   r!   r1   news      r   __or__zDict.__or__   s@    %$.. 	"!!4jj

5
r   c                     t          |t          t          f          st          S t          |          }|                    |            |S r8   rc   re   s      r   __ror__zDict.__ror__   s@    %$.. 	"!!5kk

4
r   c                 0    |                      |           | S r8   r^   )r!   r1   s     r   __ior__zDict.__ior__   s    Er   Nc                 (    || v r| |         S || |<   |S r8   rF   )r!   r   defaults      r   
setdefaultzDict.setdefault   s#    $;;9DINr   Tc                     t                               | d|           |                                 D ]/\  }}t          |t                    r|                    |           0d S )Nr   )r
   r   r   r   r   freeze)r!   shouldFreezer   r   s       r   rp   zDict.freeze   sd    4\:::

 	) 	)HC#t$$ )

<(((	) 	)r   c                 0    |                      d           d S )NF)rp   rM   s    r   unfreezezDict.unfreeze   ra   r   r8   )T)r/   
__module____qualname__r   r   r)   r5   classmethodr   rA   rD   r*   rI   rL   rO   rS   rV   rZ   r\   r`   rg   ri   rk   rn   rp   rs   __classcell__)r   s   @r   r   r      s       , , ,&  . . . . ."? ? ?   [& & &9 9 9
      # # #  " " "# # #             ) ) ) )      r   r   )rL   r   r   rF   r   r   <module>rx      sL    [ [ [ [ [4 [ [ [ [ [r   