
    Eqg	                     `    d dl Z d dlZ e j        dd          Z G d d          Zd Zd ZdS )	    N_immutable_in__init__F)defaultc                   0     e Zd ZdZdZ fdZ fdZ xZS )
_ImmutablezImmutable mixin class c                     t                                           | urt          d          t                                          ||           d S Nz+object doesn't support attribute assignment)_in__init__get	TypeErrorsuper__setattr__)selfnamevalue	__class__s      D/var/www/html/env/lib/python3.11/site-packages/dns/_immutable_ctx.pyr   z_Immutable.__setattr__   sG    ??D((IJJJGGe,,,,,    c                     t                                           | urt          d          t                                          |           d S r	   )r
   r   r   r   __delattr__)r   r   r   s     r   r   z_Immutable.__delattr__   sE    ??D((IJJJGG%%%%%r   )__name__
__module____qualname____doc__	__slots__r   r   __classcell__)r   s   @r   r   r      s^         I- - - - -& & & & & & & & &r   r   c                 D      fd}t          j                   |_        |S )Nc                      t                               | d                   }	  | i | t                               |           d S # t                               |           w xY w)Nr   )r
   setreset)argskwargspreviousfs      r   nfz_immutable_init.<locals>.nf$   sf    ??47++	(Atvh'''''Kh''''s   A A#)inspect	signature__signature__)r$   r%   s   ` r   _immutable_initr)   #   s6    ( ( ( ( ( (++BIr   c                 "    t            j        v rEt           j                   _        t	           d          rt           j                   _         }n: G  fddt                      } j        |_         j        |_         j        |_        |S )N__setstate__c                   n     e Zd ZdZe fd            Z ed          re fd            Z xZS  xZS )immutable.<locals>.nclsr   c                 :     t                      j        |i | d S N)r   __init__r   r!   r"   r   s      r   r0   z immutable.<locals>.ncls.__init__>   s%      $1&11111r   r+   c                 :     t                      j        |i | d S r/   )r   r+   r1   s      r   r+   z$immutable.<locals>.ncls.__setstate__D   s%    (EGG($9&99999r   )	r   r   r   r   r)   r0   hasattrr+   r   )r   clss   @r   nclsr-   :   s        I2 2 2 2 _2 wsN++ : : : : : !: : : : :: : : :r   r5   )	r   __mro__r)   r0   r3   r+   r   r   r   )r4   r5   s   ` r   	immutabler7   0   s    S[   's|443'' 	A.s/?@@C	: 	: 	: 	: 	: 	: 	::s 	: 	: 	: ,.Kr   )contextvarsr&   
ContextVarr
   r   r)   r7   r   r   r   <module>r:      s        $k$%<eLLL& & & & & & & &,
 
 
    r   