
                         ^    S r SSKr " S S\5      r " S S\R                  " \\5      5      rg)zSimple immutable data object.    Nc                   <   ^  \ rS rSrSrU 4S jr\S 5       rSrU =r	$ )	_DataType   zDumb immutable data type.c                    >^  UR                  5       nUR                  S[        5       5      nUR                  U 4S j[	        U5       5       5        [
        [        T ]  T XU5      $ )NNAMESc              3   N   >#    U  H  u  pUTR                  U5      4v   M     g 7fN)_CreateAccessor).0inameclss      1lib/googlecloudsdk/command_lib/code/dataobject.py	<genexpr>$_DataType.__new__.<locals>.<genexpr>    s(      H6F71s""1%&6Fs   "%)copygettupleupdate	enumeratesuperr   __new__)r   	classnamebases
class_dictnames	__class__s   `    r   r   _DataType.__new__   s\    "JNN7EG,E H6?6FH H C(i
KK    c                 "   ^  [        U 4S j5      $ )z"Create an tuple accessor property.c                    > U T   $ r	    )tplr   s    r   <lambda>+_DataType._CreateAccessor.<locals>.<lambda>(   s	    Ar   )property)r   s   `r   r
   _DataType._CreateAccessor%   s     &''r   r"   )
__name__
__module____qualname____firstlineno____doc__r   staticmethodr
   __static_attributes____classcell__r   s   @r   r   r      s     !L ( (r   r   c                   2   ^  \ rS rSrSrU 4S jrS rSrU =r$ )
DataObject+   z!Parent class of dumb data object.c                    >^ [        U S[        5       5      n[        T5      [        U5      -
  nU(       a  [        S[	        U5      -   5      e[        U4S jU 5       5      n[
        [        U ]  X5      $ )Nr   zInvalid names: c              3   <   >#    U  H  oT;   a  TU   OS v   M     g 7fr	   r"   )r   r   kwargss     r   r   %DataObject.__new__.<locals>.<genexpr>4   s     KUTtD8Us   )getattrr   set
ValueErrorreprr   r2   r   )r   r6   r   invalid_namesr#   r   s    `   r   r   DataObject.__new__.   s`    C%'*EK#e*,M(4+>>??
KUK
KCS)#33r   c                 j   ^ ^ [        UU 4S jT R                   5       5      nT R                  " S0 UD6$ )Nc           
   3   `   >#    U  H#  oTR                  U[        TUS 5      5      4v   M%     g 7fr	   )r   r8   )r   nchangesselfs     r   r   %DataObject.replace.<locals>.<genexpr>9   s(     OJq7;;q'$4"89:Js   +.r"   )dictr   r   )rB   rA   outs   `` r   replaceDataObject.replace7   s)    
ODJJO
OC>> C  r   r"   )	r(   r)   r*   r+   r,   r   rF   r.   r/   r0   s   @r   r2   r2   +   s    )4! !r   r2   )r,   sixtyper   with_metaclassr   r2   r"   r   r   <module>rK      s2    $ 
( (.!##Iu5 !r   