+
    BrhS                    T   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
 . RWOt ! R R]4      t ! R R4      t]! 4       t ! R	 R
4      t]! 4       t ! R R4      t]! 4       t]P(                  ! / 4      t ! R R4      t]! R4      t]! R4      t]! R4      tRtRtRt] P:                  ! R4      t]! ]P@                  ]!]"]#]$]%]&]PN                  ]PP                  ]PR                  ]PT                  ]PV                  ],]-].04      t/]0! 4       t1 ! R R4      t2 ! R R4      t3 ! R R4      t4R]R]RRRRRRR RR!RR"]R#R/	R$ lt5R% t6R& t7 ! R' R(4      t8R) t9R* t:R+ t;R, t<R- t=R. t>R/ t?R0 t@R1 tAR2 tBR3 tCR4 tDR5 tER6 tF/ RXRbRYRbRZRbR[RbR\]DbR]RbR^]EbR_RbR`]EbRa]FbRb]EbRc]FbRd]EbRe]FbRf]EbRg]FbtGR8 tHR9 tIR: tJR; tKR< tLR= tMR> tNRhRRRRR?RR@R7RAR7RBR7RCRR"R7RDR7RER7/
RF lltORG tPRH tQRI tRRJ]S/RK ltTRL tURM]V/RN ltWRO tXRPRiRQRRRRRR?RR@R7RAR7RBR7RCRR"R7RDR7RER7RRRRS]O/RT ltYRU tZRV t[R# )j    N)recursive_reprFieldFrozenInstanceErrorInitVarc                       ] tR t^tRtR# )r    N__name__
__module____qualname____firstlineno____static_attributes__r       (/usr/local/lib/python3.14/dataclasses.pyr   r      s    4r   c                   &   a  ] tR t^t o R tRtV tR# )_HAS_DEFAULT_FACTORY_CLASSc                    R # )z	<factory>r   selfs   &r   __repr__#_HAS_DEFAULT_FACTORY_CLASS.__repr__   s    r   r   N)r
   r   r   r   r   r   __classdictcell____classdict__s   @r   r   r      s      r   r   c                       ] tR t^tRtR# )_MISSING_TYPEr   Nr	   r   r   r   r   r          r   r   c                       ] tR t^tRtR# )_KW_ONLY_TYPEr   Nr	   r   r   r   r   r      r   r   r   c                   ,   a  ] tR t^t o R tR tRtV tR# )_FIELD_BASEc                    Wn         R # Nnamer   r%   s   &&r   __init___FIELD_BASE.__init__       	r   c                    V P                   # r#   r$   r   s   &r   r   _FIELD_BASE.__repr__   s    yyr   r$   N)r
   r   r   r   r'   r   r   r   r   s   @r   r!   r!      s      r   r!   _FIELD_FIELD_CLASSVAR_FIELD_INITVAR__dataclass_fields____dataclass_params____post_init__z^(?:\s*(\w+)\s*\.)?\s*(\w+)c                   6   a  ] tR t^t o RtR tR tR tRtV t	R# )r   c                    Wn         R # r#   type)r   r5   s   &&r   r'   InitVar.__init__   r)   r   c                    \        V P                  \        4      '       d   V P                  P                  pM\        V P                  4      pR V R2# )zdataclasses.InitVar[])
isinstancer5   r
   repr)r   	type_names   & r   r   InitVar.__repr__  s@    dii&&		**I TYYI%i[22r   c                    \        V4      # r#   )r   )clsr5   s   &&r   __class_getitem__InitVar.__class_getitem__
  s    t}r   r4   N)
r
   r   r   r   	__slots__r'   r   r?   r   r   r   s   @r   r   r      s     I3 r   c                   n   a  ] tR tRt o RtR t]! 4       R 4       tR t]	! ]
P                  4      tRtV tR# )r   i  c
                    R V n         R V n        Wn        W n        W0n        W@n        WPn        W`n        Vf   \        M\        P                  ! V4      V n        Wn        Wn        R V n        R # r#   )r%   r5   defaultdefault_factoryinitr:   hashcompare_EMPTY_METADATAtypesMappingProxyTypemetadatakw_onlydoc_field_type)
r   rD   rE   rF   r:   rG   rH   rL   rM   rN   s
   &&&&&&&&&&r   r'   Field.__init__&  sc    		.			$, )//9 	 r   c                V   R V P                   : RV P                  : RV P                  : RV P                  : RV P                  : RV P
                  : RV P                  : RV P                  : RV P                  : R	V P                  : R
V P                  : RV P                   R2# )zField(name=z,type=z	,default=z,default_factory=z,init=,repr=z,hash=z	,compare=z
,metadata=	,kw_only=z,doc=z,_field_type=))r%   r5   rD   rE   rF   r:   rG   rH   rL   rM   rN   rO   r   s   &r   r   Field.__repr__7  s    		} %		} %<<* +##'#7#7": ;		} %		} %		} %<<* + MM, -<<* +xxl ##//0 	r   c                    \        \        V P                  4      R R4      pV'       d   V! V P                  W4       R# R# )__set_name__N)getattrr5   rD   )r   ownerr%   funcs   &&& r   rW   Field.__set_name__P  s1    tDLL)>4@ u+ r   )rO   rH   rD   rE   rN   rG   rF   rM   rL   r%   r:   r5   N)r%   r5   rD   rE   r:   rG   rF   rH   rL   rM   rN   rO   )r
   r   r   r   rA   r'   r   r   rW   classmethodrJ   GenericAliasr?   r   r   r   s   @r   r   r     s@     I "  0, $E$6$67r   c                   0   a  ] tR tRt o RtR tR tRtV tR# )_DataclassParamsiZ  c                ~    Wn         W n        W0n        W@n        WPn        W`n        Wpn        Wn        Wn        Wn	        R # r#   
rF   r:   eqorderunsafe_hashfrozen
match_argsrM   slotsweakref_slot)r   rF   r:   rb   rc   rd   re   rf   rM   rg   rh   s   &&&&&&&&&&&r   r'   _DataclassParams.__init__g  s8     		
&$
(r   c                    R V P                   : RV P                  : RV P                  : RV P                  : RV P                  : RV P
                  : RV P                  : RV P                  : RV P                  : R	V P                  : R
2# )z_DataclassParams(init=rR   z,eq=z,order=z,unsafe_hash=z,frozen=z,match_args=rS   z,slots=z,weakref_slot=rT   ra   r   s   &r   r   _DataclassParams.__repr__u  s    		} %		} %gg[ ! '#//2 3++ )"oo0 1<<* + '  $ 1 14 	r   )
rb   re   rF   rM   rf   rc   r:   rg   rd   rh   Nra   )	r
   r   r   r   rA   r'   r   r   r   r   s   @r   r_   r_   Z  s     
I) r   r_   rD   rE   rF   Tr:   rG   rH   rL   rM   rN   c        	        ^    V \         Jd   V\         Jd   \        R4      h\        WW#WEWgV4	      # )a  Return an object to identify dataclass fields.

default is the default value of the field.  default_factory is a
0-argument function called to initialize a field's value.  If init
is true, the field will be a parameter to the class's __init__()
function.  If repr is true, the field will be included in the
object's repr().  If hash is true, the field will be included in the
object's hash().  If compare is true, the field will be used in
comparison functions.  metadata, if specified, must be a mapping
which is stored but not otherwise examined by dataclass.  If kw_only
is true, the field will become a keyword-only parameter to
__init__().  doc is an optional docstring for this field.

It is an error to specify both default and default_factory.
z/cannot specify both default and default_factory)MISSING
ValueErrorr   )	rD   rE   rF   r:   rG   rH   rL   rM   rN   s	   $$$$$$$$$r   fieldro     s7    $ g/"@JKK4tC) )r   c                     \         ;QJ d    . R  V  4       F  NK  	  5M! R  V  4       4      \         ;QJ d    . R V  4       F  NK  	  53# ! R V  4       4      3# )c              3   t   "   T F.  qP                   '       g   K  VP                  '       d   K*  Vx  K0  	  R # 5ir#   rF   rM   .0fs   & r   	<genexpr>(_fields_in_init_order.<locals>.<genexpr>  s     @Vvv!aii!!V   88
8c              3   t   "   T F.  qP                   '       g   K  VP                  '       g   K*  Vx  K0  	  R # 5ir#   rr   rs   s   & r   rv   rw     s     <Vvv!!))!!Vrx   )tuple)fieldss   &r   _fields_in_init_orderr|     sQ     E@V@EE@V@@E<V<E <V<< r   c           	          V'       g   R # RRP                  V Uu. uF  q  RVP                   2NK  	  up4       R2# u upi )()(,.,))joinr%   )obj_namer{   ru   s   && r   
_tuple_strr     sB     sxx@A:Qqvvh/@AB"EE@s   >
c            
       J   a  ] tR tRt o R tRRR]RRRRR	R/R
 ltR tRtV t	R# )_FuncBuilderi  c                X    . V n         . V n        Wn        / V n        / V n        / V n        R # r#   )namessrcglobalslocalsoverwrite_errorsunconditional_adds)r   r   s   &&r   r'   _FuncBuilder.__init__  s,    
 ""$r   r   Nreturn_typeoverwrite_errorFunconditional_add	decoratorc                  Ve   V P                   P                  V4       V'       d   W`P                  V&   V'       d   RV P                  V&   V P                  P                  V4       V\        Jd   WPP                   RV R2&   RV R2p	MRp	RP                  V4      pRP                  V4      pV P                  P                  V'       d   RV R2MR R	V R
V RV	 RV 2	4       R # )NT__dataclass__return_type__z->__dataclass_ r   
 z def r   rT   z:
)	r   updater   r   r   appendrm   r   r   )
r   r%   argsbodyr   r   r   r   r   return_annotations
   &&&&$$$$$ r   add_fn_FuncBuilder.add_fn  s    KKv& *9!!$'
 ,0D##D)

$g%?JKK,tfN;<"0n E "xx~yy 		Qyk,rB%vQtfTUVgUhhklpkqrsr   c                6   R P                  V P                  4      pRP                  V P                  P                  4       4      p\	        V P
                  4      ^ 8X  d   RpMRRP                  V P
                  4       R2pRV RV RV 2p/ p\        WPP                  V4       VR,          ! R/ V P                  B p\        V P
                  V4       F  w  rVP                   R	V	P                   2V	n	        V P                  P                  VR
4      '       d   \        WV	4       KU  \        WV	4      p
V
'       g   Kk  V P                  P                  V4      ;p'       g   K  RV	P                   RVP                   2pVRJ g   V RV 2p\!        V4      h	  R# )r   r   r~   r   r   zdef __create_fn__(z):
z	
 return __create_fn__r   FzCannot overwrite attribute z
 in class Tr   Nr   )r   r   r   keyslenr   execr   zipr   r
   r   getsetattr_set_new_attributer   	TypeError)r   r>   fns_src
local_varsreturn_namestxtnsfnsr%   fnalready_exists	msg_extra	error_msgs   &&           r   add_fns_to_class_FuncBuilder.add_fns_to_class  su   ))DHH% XXdkk..01
 tzz?aLsxx

34B7L #:,d7):l^TS,,#!0DKK0 DJJ,HD!$!1!1 2!BKK=ABO&&**4772&!3Cr!B ">D4I4I4M4Md4S'Sy'S'S#>r{{m L--0\\N"<I$,'0k9+$>	#I.. -r   )r   r   r   r   r   r   )
r
   r   r   r   r'   rm   r   r   r   r   r   s   @r   r   r     sF     %t t7 t$t8=tIMtB./ ./r   r   c                 B    V '       d   R V RV: RV R2# RV RV RV 2# )z,  __dataclass_builtins_object__.__setattr__(r   rT     r   =r   )re   r%   value	self_names   &&&&r   _field_assignr     s?     =i[$QRSXRYYZ[[	{!D65'**r   c                 l   R V P                    R2pV P                  \        JdT   V P                  '       d.   V P                  W%&   V RV P                    RV P                    2pMV P                  W%&   V R2pMV P                  '       dQ   V P                  \        J d   V P                   pM^V P                  \        Jd   V P                  W%&   V P                   pM/V'       d&   V P                  \        Jd   V P                  W%&   TpMR# V P
                  \        J d   R# \        WP                   XV4      # )__dataclass_dflt___z() if z+ is __dataclass_HAS_DEFAULT_FACTORY__ else r~   N)r%   rE   rm   rF   rD   rO   r.   r   )ru   re   r   r   rg   default_namer   s   &&&&&  r   _field_initr     s    'qvvhb1L'666 %&$5$5G!$~ &66( #VVH&E$ %&$5$5G!#nB'E 666yyG#')()		% '1()		%$
 
 	}}& 	::r   c                 
   V P                   \        J d   V P                  \        J d   R pM;V P                   \        Jd   RV P                   R2pMV P                  \        Jd   RpV P                   RV P                   RX 2# )r   z=__dataclass_dflt_r   z"=__dataclass_HAS_DEFAULT_FACTORY__z:__dataclass_type_)rD   rm   rE   r%   )ru   rD   s   & r   _init_paramr   W  sw    
 	yyG 1 1W < 	
'	! 'qvvhb1	
		'	)6ffX'xr';;r   c           	      ^   R pV Fr  p	V	P                   '       g   K  V	P                  \        J d   V	P                  \        J g   T	pKC  V'       g   KM  \	        RV	P
                  : RVP
                  : 24      h	  / V  U	u/ uF  p	RV	P
                   R2V	P                  bK   	  up	CR\        R\        /Cp
. pV  F+  p	\        WWV4      pV'       g   K  VP                  V4       K-  	  V'       d8   RP                  R V  4       4      pVP                  R	V R
\         RV R24       V'       g   R.pV U	u. uF  p	\        V	4      NK  	  pp	V'       d,   VR.,          pY U	u. uF  p	\        V	4      NK  	  up	,          pVP                  RV.V,           VV
R R7       R # u up	i u up	i u up	i )Nznon-default argument z follows default argument __dataclass_type_r   !__dataclass_HAS_DEFAULT_FACTORY____dataclass_builtins_object__r   c              3   f   "   T F'  pVP                   \        J g   K  VP                  x  K)  	  R # 5ir#   )rO   r.   r%   rs   s   & r   rv   _init_fn.<locals>.<genexpr>  s(      Bf!".!@ %afffs   11r   r   r   rT   z  pass*r'   )r   r   )rF   rD   rm   rE   r   r%   r5   _HAS_DEFAULT_FACTORYobjectr   r   r   _POST_INIT_NAMEr   r   )r{   
std_fieldskw_only_fieldsre   has_post_initr   func_builderrg   seen_defaultru   r   
body_linesline
params_str_init_paramss   &&&&&&&&       r   _init_fnr   j  s    L666II(Q->->'-I "7z B<<H<M<M;P!R S S HA$QVVHB/7H 46J0&F J1f? 4d#  XX Bf B B
Byk?*;1ZLJK Z
,67JqKNJL7 	@AQ@@
"l2"%$(	  *? I0 8 As    $F 7F%#F*c                     R V R\         /pRpV'       d.   VRRP                  R V 4       4      ,           R,           ,          pVP                  RRRV R	2R
R3VRR7       VP                  RRRV R	2RR3VRR7       R# )r>   r   ztype(self) is clsz or name in {, c              3   L   "   T F  p\        VP                  4      x  K  	  R # 5ir#   )r:   r%   rs   s   & r   rv   '_frozen_get_del_attr.<locals>.<genexpr>  s     0Nv!affvs   "$}__setattr__z  if :z@   raise FrozenInstanceError(f"cannot assign to field {name!r}")z+  super(cls, self).__setattr__(name, value)T)r   r   __delattr__z=   raise FrozenInstanceError(f"cannot delete field {name!r}")z$  super(cls, self).__delattr__(name)N)r   r%   r   r&   )r   r   r   )r>   r{   r   r   	conditions   &&&  r   _frozen_get_del_attrr     s    S#%8:F#I_tyy0Nv0N'NNQTTT	1 1-\FI  &(,  . ( 1-Y?B  &(,  .r   c                 f    WP                   J ;'       g    VP                  V 4      VP                   J # r#   )ClassVar
get_origin)a_typetypings   &&r   _is_classvarr     s2    oo% > >!!&)V__<?r   c                 Z    WP                   J ;'       g    \        V 4      VP                   J # r#   )r   r5   r   dataclassess   &&r   _is_initvarr     s1     ))) 3 3F|{2224r   c                     WP                   J # r#   )KW_ONLYr   s   &&r   _is_kw_onlyr     s    ((((r   c                 T   \         P                  V 4      pV'       Ed
   R pVP                  ^4      pV'       g5   \        P                  P                  VP                  4      P                  pM\        P                  P                  VP                  4      pV'       dS   VP                  P                  V4      VJ d4   \        P                  P                  VP                  4      P                  pV'       d0   V! VP                  VP                  ^4      4      V4      '       d   R# R# )NTF)_MODULE_IDENTIFIER_REmatchgroupsysmodulesr   r   __dict__)	
annotationr>   a_moduler   is_type_predicater   r   module_namemodules	   &&&&&    r   _is_typer     s    R "''
3Eukk!n 099B [[__S^^4F&//--k:hF[[__V%6%67@@#BFF5;;q>$:HEEr   c                    \        W\        4      p\        V\        4      '       d   TpM2\        V\        P
                  4      '       d   \        p\        VR 7      pWn        W%n        \        Vn
        \        P                  P                  R4      pV'       di   \        W&4      '       gM   \        VP                  \        4      '       d8   \!        VP                  WVP"                  \        4      '       d   \$        Vn
        VP                  \        J d   \        P                  \&        ,          p\)        W'4      '       gM   \        VP                  \        4      '       d8   \!        VP                  WVP*                  \(        4      '       d   \,        Vn
        VP                  \$        \,        39   d.   VP.                  \        Jd   \1        RVP                   R24      hVP                  \        \,        39   d   VP2                  \        J d   W5n        MCVP                  \$        J g   Q hVP2                  \        Jd   \1        RVP                   R24      hVP                  \        J dR   VP4                  P6                  P8                  f0   \;        R\        VP4                  4       RVP                   R24      hV# ))rD   r   field z cannot have a default factoryz$ is a ClassVar but specifies kw_onlyzmutable default z for field z$ is not allowed: use default_factory)rX   rm   r9   r   rJ   MemberDescriptorTypero   r%   r5   r,   rO   r   r   r   r   strr   r   r-   r
   r   r   r.   rE   r   rM   rD   	__class____hash__rn   )r>   a_namer   default_kw_onlyrD   ru   r   r   s   &&&&    r   
_get_fieldr    s    c7+G'5!!gu99::G'" FF
 AM  [[__X&F((1663''QVVS&//)+ ++AM 	}} kk(+,,1663''QVVS{7J7J(* **AM 	}}.99G+fQVVH -. . / / 	}}00 99'I }}///99G#fQVVH -& & ' ' 	}}199#6#6#?#?#G+DO+<KFF8#GI J 	J Hr   c                 B    WP                   9   d   R # \        WV4       R# )TF)r   r   )r>   r%   r   s   &&&r   r   r   f  s     ||Cur   c                     R V n         R # r#   )r  r>   r{   r   s   &&&r   _hash_set_noner  t  s    
 CLr   c                     V Uu. uF;  q3P                   f   VP                  '       g   K$  MVP                   '       g   K9  VNK=  	  pp\        RV4      pVP                  RRRV R2.RR7       R # u upi )Nr   r  z  return hash(rT   T)r   r   )rG   rH   r   r   )r>   r{   r   ru   flds
self_tuples   &&&   r   	_hash_addr  {  sj    Kv!vv~!))A)166AAvDKFD)J
!)*Q78*.  0 Ls   !A0A0 A0c                 2    \        R V P                   24      h)z-Cannot overwrite attribute __hash__ in class )r   r
   r  s   &&&r   _hash_exceptionr    s"    
   #~/ 0 0r   Fc                    / pV P                   \        P                  9   d-   \        P                  V P                   ,          P                  pM/ p\	        V \
        \        WW4WVWxW4
      4       R pRpR pV P                  R+^ R+1,           Fz  p\        V\        R4      pVf   K  RpVP                  4        F  pVVVP                  &   K  	  Vf   Rp\        V\
        4      P                  pT;'       d    TpT;'       g    TpK|  	  \        P                  ! V \        P                  P                   R7      p. pR p\        P                  \"        ,          pVP%                  4        F  w  pp\'        VV4      '       g:   \)        V\*        4      '       dA   \-        VV VVP.                  \&        4      '       d   V'       d   \1        V: R24      hRpRpKn  VP3                  \5        V VVV4      4       K  	  V F  pVVVP                  &   \)        \        V VP                  R4      \6        4      '       g   K?  VP8                  \:        J d   \=        V VP                  4       Kk  \	        V VP                  VP8                  4       K  	  V P                  P%                  4        F4  w  pp\)        V\6        4      '       g   K  VV9   d   K'  \1        V: R24      h	  V'       d5   V'       d   V'       g   \1        R4      hVR J d   V'       d   \1        R4      h\	        V \        V4       V P                  P?                  R\:        4      pV\:        J ;'       g    VRJ ;'       d    R	V P                  9   '       * pV'       d   V'       g   \A        R
4      hVP                  4        Uu. uF"  pVPB                  \D        \F        39   g   K   VNK$  	  pp\I        V4      w  pp\K        V4      p V'       d,   \M        V \N        4      p!\Q        TTTTT!RV9   d   RMRV V	4       \S        V R\T        4       VP                  4        Uu. uF  pVPB                  \D        J g   K  VNK  	  p"pV'       d   V" Uu. uF  pVPV                  '       g   K  VNK  	  p#pT PY                  RR,RRP[                  V# Uu. uF  pVP                   RVP                   R2NK!  	  up4      ,           R,           .R\\        /RR7       V'       dk   R V" 4       p$V$ U%u. uF  p%RV%P                   RV%P                   2NK!  	  p&p%RP[                  V&4      ;'       g    Rp'V PY                  R	R-RRRR V' 2R!.4       V'       di   V" Uu. uF  pVP^                  '       g   K  VNK  	  p#p\a        RV#4      p(\a        RV#4      p)R. F%  w  pp*V PY                  VR-RR V( V* V) 2R!.R"R#7       K'  	  V'       d   \c        V V"V 4       \d        \g        V4      \g        V4      \g        V4      V3,          p+V+'       d   V+! V V"V 4      V n4        V Pk                  V 4       \        V R$4      '       gc    \+        \l        Pn                  ! V \        P                  P                   R%7      4      Pq                  R&R'4      p,V P"                  V,,           V n9        V'       d8   \S        T R(\t        ;QJ d    . R) V 4       F  NK  	  5M! R) V 4       4      4       V
'       d   V	'       g   \1        R*4      hV	'       d   \w        WW4      p \x        Pz                  ! V 4       V # u upi u upi u upi u upi u up%i u upi   \0        \@        3 d    R'p, Li ; i)/FNT)formatz3 is KW_ONLY, but KW_ONLY has already been specifiedz& is a field but has no type annotationz5cannot inherit non-frozen dataclass from a frozen onez5cannot inherit frozen dataclass from a non-frozen oner  __eq__z eq must be true if order is truer   __dataclass_self____replace__r   z)  return f"{self.__class__.__qualname__}(r   z={self.z!r}z)"__dataclasses_recursive_reprz@__dataclasses_recursive_repr())r   r   c              3   L   "   T F  qP                   '       g   K  Vx  K  	  R # 5ir#   )rH   )rt   ro   s   & r   rv   !_process_class.<locals>.<genexpr>]  s     E}}ees   $
$zself.z==other.z and Trueotherz  if self is other:z   return Truez'  if other.__class__ is self.__class__:z
   return z  return NotImplementedz'Consider using functools.total_ordering)r   __doc__)annotation_formatz -> Noner   __match_args__c              3   8   "   T F  qP                   x  K  	  R # 5ir#   r$   rs   s   & r   rv   r    s      AA   z'weakref_slot is True but slots is Falser   )r   r  ))__lt__<)__le__z<=)__gt__>)__ge__z>=)>r   r   r   r   r   _PARAMSr_   __mro__rX   _FIELDSvaluesr%   re   annotationlibget_annotationsFormat
FORWARDREFr
   itemsr   r9   r   r   r   r   r   r  r   rD   rm   delattrr   rn   rO   r,   r.   r|   r   hasattrr   r   r   _replacer:   r   r   r   rH   r   r   _hash_actionboolr  r   inspect	signaturereplacer  rz   
_add_slotsabcupdate_abstractmethods)-r>   rF   r:   rb   rc   rd   re   rf   rM   rg   rh   r{   r   any_frozen_baseall_frozen_baseshas_dataclass_basesbbase_fieldsru   current_frozencls_annotations
cls_fieldsKW_ONLY_seenr   r%   r5   r   
class_hashhas_explicit_hashall_init_fieldsstd_init_fieldskw_only_init_fieldsr   r   
field_listr
  
cmp_fieldsro   termsfield_comparisonsr  other_tupleophash_actiontext_sigs-   &&&&&&&&&&&                                  r   _process_classrO    s    F
~~$++cnn-66 C*4r+6+5+0@ A O [[Ab!! a$/""& '')!"qvv *'#' $Q077N/BBN-??O ". $33M((335O JL++h'K%++-
dk**4%%T3[5H5H(* * 4( += != > >LG jdD'BC ." qvv gc16640%88yyG# QVV$QVVQYY/# ( ||))+eeU##DO,Cth&LMNN ,
 6 ) * * u$ - . .
 C&! !!*g6J'72 O O(D0MMX5MP
 R;<<
 #)--/ E/Q--FN+CC q/O E 2/B_(L_5 $ *06)9%	 sM84 $]]_H_0G!!_JH%0:a:0J%H!YY15(715A ,-66((166($(G15(7 88:>? @ %CN#S&G 	 	I 
 FE
GQRze5HUZZL9zR#LL/996H-3.G)*;)<=7	9	: %3:a:3-
 $/HD" -G)*bT+G79 -V   W  S*l; tK0#Bx#F|0 1 2K "3
LA
 !!#&3	""	 7,,"/"6"6"A"A  wz2&  ||h.3 0 5 A A55 A AA	C EABBl;s#JmE: I 1(7 S 4X :& 	H	sO   $\6\6=\;\;,] ] *%]%]
/]]A	] ]*)]*c                 h    \        V 4       Uu. uF  p\        WP                  4      NK  	  up# u upi r#   )r{   rX   r%   )r   ru   s   & r   _dataclass_getstaterQ    s'    +1$<8<aGD&&!<888s   /c                     \        \        V 4      V4       F%  w  r#\        P                  WP                  V4       K'  	  R # r#   )r   r{   r   r   r%   )r   statero   r   s   &&  r   _dataclass_setstaterT    s-    F4L%04U3 1r   c              #     "   V P                   P                  R 4      ;fV    . p\        V RR
4      ^ 8w  d   VP                  R4       \        V RR
4      ^ 8w  d   VP                  R4       T Rj  xL
  R# ;\        Rc;e   w  p Vx  R#  p\        VR4      '       g   T Rj  xL
  R#  \        RV P                   R	24      h LV L"5i)rA   N__weakrefoffset____weakref____dictoffset__r   r   __next__z
Slots of 'z' cannot be determinedr  )r   r   rX   r   r   r/  r   r
   )r>   rg   slotiterables   &   r   
_get_slotsr\    s     
,,

;
'
 Es/49]+s,b1Q6Z(SYYJ  WXz::j6LMNN   s$   A-C
/C05C
%C&!C
C
c                     V f   R#  V P                   P                  P                  R4      pT P                  T,          pTP
                  TJ d	   Y$n        R# R#   \         d     R# i ; i)NFr   T)__code__co_freevarsindexrn   __closure__cell_contents)ru   oldclsnewclsidxclosures   &&&  r   _update_func_cell_for__class__rg    si    y jj$$**;7 mmC G& &  s   %A A)(A)c                    R p/ p\         P                  ! VP                  \         P                  ! Y#'       d   RMR4      4       F)  p\	        V P                  V4      RR4      pVe   RpWuV&   K+  	  V'       d   V# \        V4      # )FrN   NT)rW  r   )	itertoolsfilterfalse__contains__chainrX   r   rz   )defined_fieldsinherited_slotsfield_namesrh   	seen_docsrg   rZ  rN   s   &&&&    r   _create_slotsrq    s     IE%%$$ \)r	
 n((.t<?Id <r   c           
         R V P                   9   d   \        V P                   R24      h\        P                  ! V 4       \        V P                   4      p\        ;QJ d    . R \        V 4       4       F  NK  	  5M! R \        V 4       4       4      p\        \        P                  P                  \        \        V P                  ^R 4      4      4      p\        W6WR4      VR &   V F  pVP!                  VR4       K  	  \#        V RR4      p\%        V 4      ! V P                  V P&                  V4      p	Ve   Wn        V'       d%   RV9  d   \*        V	n        RV9  d   \.        V	n        V	P                   P3                  4        F  p
\4        P6                  ! V
4      p
\9        V
\:        P<                  4      '       d   \?        WV	4      '       d    V	# KP  \9        V
\@        4      '       g   Kh  \?        V
PB                  W	4      '       g;   \?        V
PD                  W	4      '       g   \?        V
PF                  W	4      '       g   K   V	# 	  V	# )rA   z already specifies __slots__c              3   8   "   T F  qP                   x  K  	  R # 5ir#   r$   rs   s   & r   rv   _add_slots.<locals>.<genexpr>  s     41r  Nr   __getstate____setstate__r  )$r   r   r
   r   _clear_type_descriptorsdictrz   r{   setri  rl  from_iterablemapr\  r&  rq  poprX   r5   	__bases__r   rQ  ru  rT  rv  r(  r3  unwrapr9   rJ   FunctionTyperg  propertyfgetfsetfdel)r>   	is_frozenrh   rm  cls_dictro  rn  
field_namequalnamerd  members   &&&&       r   r6  r6    s    cll"3<<.(DEFF $ CLL!H%4s4%%4s44K%%c*ckk!B6G&HIO *H[ "
 	Z& " sND1H#Ys||S]]H=F&)"5F)"5F //((*'fe0011-f6BB M C)).v{{CHH1&++sKK1&++sKKM + Mr   rb   rc   rd   re   rf   rg   rh   c      
   
     P   aaaaaaaaa	a
 VVVVVVVV	VV
3
R lpV f   V# V! V 4      # )a^  Add dunder methods based on the fields defined in the class.

Examines PEP 526 __annotations__ to determine fields.

If init is true, an __init__() method is added to the class. If repr
is true, a __repr__() method is added. If order is true, rich
comparison dunder methods are added. If unsafe_hash is true, a
__hash__() method is added. If frozen is true, fields may not be
assigned to after instance creation. If match_args is true, the
__match_args__ tuple is added. If kw_only is true, then by default
all fields are keyword-only. If slots is true, a new class with a
__slots__ attribute is returned.
c                 .   <
 \        V SSSSS	SSSSS
4      # r#   )rO  )r>   rb   re   rF   rM   rf   rc   r:   rg   rd   rh   s   &r   wrapdataclass.<locals>.wrapO  s(    c4r5+$j'5*, 	,r   r   )r>   rF   r:   rb   rc   rd   re   rf   rM   rg   rh   r  s   "dddddddddd r   	dataclassr  >  s&    ", , { 9r   c                     \        V \        4      p\        ;QJ d"    . R TP                  4        4       F  NK  	  5# ! R TP                  4        4       4      #   \         d    \        R4      Rhi ; i)zReturn a tuple describing the fields of this dataclass.

Accepts a dataclass or an instance of one. Tuple elements are of
type Field.
z0must be called with a dataclass type or instanceNc              3   P   "   T F  qP                   \        J g   K  Vx  K  	  R # 5ir#   )rO   r,   rs   s   & r   rv   fields.<locals>.<genexpr>l  s     GOq}}/FOs   &
&)rX   r'  AttributeErrorr   rz   r(  )class_or_instancer{   s   & r   r{   r{   ]  sg    V*G4 5GFMMOG5G5GFMMOGGG  VJKQUUVs   A A2c                4    \        \        V 4      \        4      # )z2Returns True if obj is an instance of a dataclass.)r/  r5   r'  )objs   &r   _is_dataclass_instancer  o  s    49g&&r   c                h    \        V \        4      '       d   T M
\        V 4      p\        V\        4      # )zAReturns True if obj is a dataclass or an instance of a
dataclass.)r9   r5   r/  r'  )r  r>   s   & r   is_dataclassr  t  s(     C&&#DIC3  r   dict_factoryc               P    \        V 4      '       g   \        R4      h\        W4      # )a  Return the fields of a dataclass instance as a new dictionary mapping
field names to field values.

Example usage::

  @dataclass
  class C:
      x: int
      y: int

  c = C(1, 2)
  assert asdict(c) == {'x': 1, 'y': 2}

If given, 'dict_factory' will be used instead of built-in dict.
The function applies recursively to field values that are
dataclass instances. This will also look into built-in containers:
tuples, lists, and dicts. Other objects are copied with 'copy.deepcopy()'.
z0asdict() should be called on dataclass instances)r  r   _asdict_inner)r  r  s   &$r   asdictr  {  s&    & "#&&JKK++r   c                 P  a \        V 4      pV\        9   d   V # \        V\        4      '       d   S\        J dH   \        V 4       Uu/ uF1  pVP                  \        \        WP                  4      \        4      bK3  	  up# S! \        V 4       Uu. uF.  pVP                  \        \        WP                  4      S4      3NK0  	  up4      # V\        J d   V  Uu. uF  p\        VS4      NK  	  up# V\        J d:   V P                  4        UUu/ uF  w  rT\        VS4      \        VS4      bK  	  upp# V\        J d&   \        V  Uu. uF  p\        VS4      NK  	  up4      # \        V\        4      '       dE   \        V R 4      '       d!   T! V  Uu. uF  p\        VS4      NK  	  up!  # V! V3R lV  4       4      # \        V\        4      '       dy   \        VR4      '       dG   V! V P                  4      pV P                  4        F  w  rT\        VS4      V\        VS4      &   K   	  V# V! V3R lV P                  4        4       4      # \        V\        4      '       d   V! V3R lV  4       4      # \        P                  ! V 4      # u upi u upi u upi u uppi u upi u upi )_fieldsc              3   <   <"   T F  p\        VS4      x  K  	  R # 5ir#   r  rt   vr  s   & r   rv    _asdict_inner.<locals>.<genexpr>  s     HCqM!\::C   rE   c              3   X   <"   T F  w  r\        VS4      \        VS4      3x  K!  	  R # 5ir#   r  )rt   kr  r  s   &  r   rv   r    s0      1$/DA 'q,7&q,79$/   '*c              3   <   <"   T F  p\        VS4      x  K  	  R # 5ir#   r  r  s   & r   rv   r    s     D1a66r  )r5   _ATOMIC_TYPESr/  r'  rx  r{   r%   r  rX   listr-  rz   
issubclassrE   copydeepcopy)r  r  obj_typeru   r  r  results   &f     r   r  r    sf   CyH= 
	7	#	#4  $A gc66&:DAA$ 
  !$A wsFF';\JK$!  
 
T	8;<1a.<<	T	 		
# !\*M!\,JJ#
 	
 
U	cBcmA|4cBCC	He	$	$3	""& cJcmA|<cJKKHCHHH	Hd	#	#8.// c112F		9Fq,9W}Q56 $M 1$'IIK1 1 	1 
Hd	#	# DDDD}}S!!u
! =

 C* Ks$   7J	4JJ"JJJ#tuple_factoryc               P    \        V 4      '       g   \        R4      h\        W4      # )a  Return the fields of a dataclass instance as a new tuple of field values.

Example usage::

  @dataclass
  class C:
      x: int
      y: int

  c = C(1, 2)
  assert astuple(c) == (1, 2)

If given, 'tuple_factory' will be used instead of built-in tuple.
The function applies recursively to field values that are
dataclass instances. This will also look into built-in containers:
tuples, lists, and dicts. Other objects are copied with 'copy.deepcopy()'.
z1astuple() should be called on dataclass instances)r  r   _astuple_inner)r  r  s   &$r   astupler    s&    & "#&&KLL#--r   c                 P  a \        V 4      \        9   d   V # \        V 4      '       d?   S! \        V 4       Uu. uF"  p\	        \        WP                  4      S4      NK$  	  up4      # \        V \        4      '       d<   \        V R 4      '       d*   \        V 4      ! V  Uu. uF  p\	        VS4      NK  	  up!  # \        V \        \        34      '       d   \        V 4      ! V3R lV  4       4      # \        V \        4      '       d   \        V 4      p\        VR4      '       dG   V! \        V R4      4      pV P                  4        F  w  rc\	        VS4      V\	        VS4      &   K   	  V# V! V3R lV P                  4        4       4      # \        P                  ! V 4      # u upi u upi )r  c              3   <   <"   T F  p\        VS4      x  K  	  R # 5ir#   r  )rt   r  r  s   & r   rv   !_astuple_inner.<locals>.<genexpr>  s     G3a=993r  rE   c              3   X   <"   T F  w  r\        VS4      \        VS4      3x  K!  	  R # 5ir#   r  )rt   r  r  r  s   &  r   rv   r    s-      3&1da (=9>!];[\&1r  )r5   r  r  r{   r  rX   r%   r9   rz   r/  r  rx  r-  r  r  )r  r  ru   r  r  r  r  s   &f     r   r  r    sh   CyM!
		$	$C[
  73/? 
  	 
C		GC$;$; CySIS>!];SIJJ	C$	'	' CyG3GGG	C		98.// gc+<=>F		;I!];[~a78 $M 3&)iik3 3 	3 }}S!!;
 Js   (FF#bases	namespacer   r   c                 aaaa Sf   / o\        4       p/ o/ oV F  p\        V\        4      '       d
   Tp\        pMA\	        V4      ^8X  d   Vw  ppM+\	        V4      ^8X  d   Vw  pppVSV&   M\        RV: 24      h\        V\        4      '       d   VP                  4       '       g   \        RV: 24      h\        P                  ! V4      '       d   \        RV: 24      hVV9   d   \        RV: 24      hVP                  V4       VSV&   K  	  RoVV3R lpVV3R lp\        P                  ! W/ V4      pVVn        Vf"    \        P                  ! ^4      ;'       g    RpVe   VVn        V! VWEWgWWVVR
7      pRoV#   \         dM     \        P                   ! ^4      P"                  P%                  R	R4      p L\  \        \&        3 d      Lpi ; ii ; i)a?  Return a new dynamically created dataclass.

The dataclass name will be 'cls_name'.  'fields' is an iterable
of either (name), (name, type) or (name, type, Field) objects. If type is
omitted, use the string 'typing.Any'.  Field objects are created by
the equivalent of calling 'field(name, type [, Field-info])'.::

  C = make_dataclass('C', ['x', ('y', int), ('z', int, field(init=False))], bases=(Base,))

is equivalent to::

  @dataclass
  class C(Base):
      x: 'typing.Any'
      y: int
      z: int = field(init=False)

For the bases and namespace parameters, see the builtin type() function.

The parameters init, repr, eq, order, unsafe_hash, frozen, match_args, kw_only,
slots, and weakref_slot are passed to dataclass().

If module parameter is defined, the '__module__' attribute of the dataclass is
set to that value.
zInvalid field: z'Field names must be valid identifiers: z"Field names must not be keywords: zField name duplicated: Tc                    <a  V V3R  lpSP                  4        UUu/ uF  w  r#Y#\        J d   V! 4       MTbK  	  pppS \        P                  P                  8X  d   \        P
                  ! V4      # V# u uppi )c                    < S;\         P                  P                  8X  d    R # ;\         P                  P                  8X  dI    \        P
                  P                  R4      p V f   \         P                  ! RRR7      # V P                  # \         P                  P                  8X  d   S'       d   \        h^ RIHp V#  \        h)z
typing.Anyr   Any)r   )r  )r)  r+  STRINGr,  r   r   r   
ForwardRefr  VALUENotImplementedErrorr   )r   r  r  value_blockeds     r   get_any8make_dataclass.<locals>.annotate_method.<locals>.get_anyV  s    0]))00'4]))44 [[__X6F~,77hOO%zz)"))//$11*J--r   )r-  _ANY_MARKERr)  r+  r  annotations_to_string)r  r  anntannosannotationsr  s   f    r   annotate_method'make_dataclass.<locals>.annotate_methodU  st    	.& &++-
- ;.A5- 	 
 ]))000 66u==L
s   A5c                 L   < V P                  S4       V P                  S4       R # r#   )r   )r   defaultsr  s   &r   exec_body_callback*make_dataclass.<locals>.exec_body_callbackq  s    
		)
		(r   __main__r
   ra   F)ry  r9   r   r  r   r   isidentifierkeyword	iskeywordaddrJ   	new_class__annotate__r   _getframemodulenamer  	_getframe	f_globalsr   rn   r   )cls_namer{   r  r  rF   r:   rb   rc   rd   re   rf   rM   rg   rh   r   r   seenitemr%   tpspecr  r  r>   r  r  r  s   &&$d$$$$$$$$$$$$        @@@r   make_dataclassr    s   < 	 5DKHdC  DBY!^ID"Y!^!ND"d!HTNodX677$$$D,=,=,?,?EdXNOOT""@IJJ4<5dX>??D) 4 M8 //(2/A
BC&C ~	,,Q/==:F  Cd" +)%!-/C
 MJ  	q)3377
JO"J/ 	s0   F %F G0GGGGGc               R    \        V 4      '       g   \        R4      h\        V 3/ VB # )a  Return a new object replacing specified fields with new values.

This is especially useful for frozen classes.  Example usage::

  @dataclass(frozen=True)
  class C:
      x: int
      y: int

  c = C(1, 2)
  c1 = replace(c, x=3)
  assert c1.x == 3 and c1.y == 2
z1replace() should be called on dataclass instances)r  r   r0  )r  changess   ",r   r5  r5    s+     "#&&KLLC#7##r   c                   \        V \        4      P                  4        F  pVP                  \        J d   K  VP
                  '       g-   VP                  V9   d   \        R VP                   R24      hKW  VP                  V9  g   Kj  VP                  \        J d/   VP                  \        J d   \        RVP                  : R24      h\        WP                  4      WP                  &   K  	  V P                  ! R/ VB # )r   zC is declared with init=False, it cannot be specified with replace()zInitVar z! must be specified with replace()r   )rX   r'  r(  rO   r-   rF   r%   r   r.   rD   rm   r   )r   r  ru   s   ", r   r0  r0    s     T7#**,==O+vvvvv & 1, !- . . 66 }}.1993G(166* 5C !D E E%dFF3GFFO# -0 >>$G$$r   )r  ro   r   r   r   r   rm   r{   r  r  r  r5  r  )FFFF)FFFT)FFTF)FFTT)FTFF)FTFT)FTTF)FTTT)TFFF)TFFT)TFTF)TFTT)TTFF)TTFT)TTTF)TTTTr#   r   )\rer   r  rJ   r3  r  ri  r)  r7  reprlibr   __all__r  r   r   r   r   rm   r   r   rK   rI   r!   r,   r-   r.   r'  r%  r   compiler   	frozensetNoneTyper2  intfloatr   complexbytesEllipsisTypeNotImplementedTypeCodeTypeBuiltinFunctionTyper  r5   ranger  r  r   r  r   r   r_   ro   r|   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r1  rO  rQ  rT  r\  rg  rq  r6  r  r{   r  r  rx  r  r  rz   r  r  r  r5  r0  r   r   r   <module>r     s   	 
       
 "| 0. /
  23 	 	
/	 	
/ ((, 
 
X	/0-. ! ! "
 

#AB  	NN					NN			% . h 6@8 @8F' 'Z)W )g )D )t ))!),0):A)GK)0	FX/ X/v	+9;x<&7*t..?
4)8v_B00,d ,d,d -d -n	
 -d -i -d -i -o -i -o -i -o -i -o*AP94O.*2>B4 d t 5 (-:>#(7<>H$'
!, ,0A"H.% .0!"H|b |D |t ||!%|-2|@E||,0|:?|GL| !&| /3| ?H|~$&%r   