ó
    Ð]j!  ã                  ó  • S SK Jr  S SKrS SKJr  S SKJr  S SKJrJ	r	  S SK
Jr  S SKJrJrJrJr  S SKJr  S S	KJr  S S
KJrJrJrJrJrJrJr  SS jrSS jrSS jrSS jr \SS j5       r!SS jr"SS jr#SS jr$SS jr% " S S\5      r&g)é    )ÚannotationsN)Úsuppress)Úcache)ÚAnyÚcast)ÚParameterKind)ÚExprÚExprAttributeÚExprCallÚExprDict)Ú	Extension)Úlogger)Ú	AttributeÚClassÚ	DecoratorÚFunctionÚModuleÚ	ParameterÚ
Parametersc                ó¨   • U  HL  n[        UR                  [        5      (       d  M$  UR                  R                  S:X  d  M@  UR                  s  $    g )Nzdataclasses.dataclass)Ú
isinstanceÚvaluer	   Úcanonical_path)Ú
decoratorsÚ	decorators     Úd/home/mande/repo/quber/.venv/lib/python3.13/site-packages/griffe/_internal/extensions/dataclasses.pyÚ_dataclass_decoratorr      s>   € Ûˆ	Ü�i—o‘o¤t×,Ó,°·±×1OÑ1OÐSjÕ1jØ—?‘?Ò"ñ  ð ó    c                ó¼  • 0 n[        U [        5      (       a.  U R                   H  n UR                  XR                  '   M     U$ [        U [        5      (       aa  UR                  [        U R                   U R"                  SS9 VVs0 s H%  u  pV[$        R&                  " [)        U5      5      U_M'     snn5        U$ ! [
         a�    [        [        5         U R                  R                  R                  nX2R                  R                     nUR                  [        UR                  5      5        S S S 5         GM  ! , (       d  f        GM-  = ff = fs  snnf )NF)Ústrict)r   r   Ú	argumentsr   ÚnameÚAttributeErrorr   Ú	ExceptionÚfunctionÚparentÚmodules_collectionr   ÚupdateÚ
_expr_argsr   ÚzipÚkeysÚvaluesÚastÚliteral_evalÚstr)ÚexprÚargsÚargumentÚ
collectionÚvarÚkeyr   s          r   r)   r)       s  € Ø€DÜ�$œ×!Ñ!ØŸœˆHð7Ø&.§n¡n�—]‘]Ó#ñ 'ð €Kô 
�Dœ(×	#Ñ	#Ø�‰ÌÈTÏYÉYÐX\×XcÑXcÐlqÒIrÔsÒIr¹:¸3”S×%Ò%¤c¨#£hÓ/°Ò6ÑIrÒsÔtØ€Køô "ó 7äœiÕ(Ø!%§¡×!5Ñ!5×!HÑ!H�JØ$§^¡^×%BÑ%BÑC�CØ—K‘K¤
¨3¯9©9Ó 5Ô6÷ )×(×(Ô(úð7üó ts0   ¨B>Â,E
Â>EÃAE Ä4EÅ 
EÅ
EÅEc                ój   • [        U 5      =n(       a   [        U[        5      (       a  [        U5      $ 0 $ ©N)r   r   r   r)   )r   r0   s     r   Ú_dataclass_argumentsr8   1   s.   € Ü$ ZÓ0Ð0ˆÕ0´jÀÄx×6PÑ6PÜ˜$ÓÐØ€Ir   c                óâ   • U R                   (       a]  U R                   n[        U[        5      (       a  UR                  n[        U[        5      (       a  UR
                  S:X  a  [        U5      $ 0 $ )Nzdataclasses.field)r   r   r
   Úlastr   r   r)   )Ú	attributer   s     r   Ú_field_argumentsr<   7   sS   € Ø‡‡Ø—‘ˆÜ�eœ]×+Ñ+Ø—J‘JˆEÜ�eœX×&Ñ&¨5×+?Ñ+?ÐCVÓ+VÜ˜eÓ$Ð$Ø€Ir   c                ó¬  • [        U R                  5      nUR                  S5      S:X  a  / $ UR                  S5      S:H  n/ nU R                  R	                  5        GHr  nUR
                  (       d  M  [        SU5      nUR                  c  M2  SUR                  ;   d   SUR                  ;   a  SUR                  ;  a  Md  [        UR                  [        5      (       a  UR                  R                  S	:X  a  S
nM¡  [        U5      nUR                  S5      S:X  a  MÃ  U(       d  UR                  S5      S:X  a  [        R                  O[        R                  nSU;   a  [!        US   / S9nO%UR                  SU(       a  S OUR"                  5      nUR%                  ['        UR(                  UR                  UUUR*                  S95        GMu     U$ )NÚinitÚFalseÚkw_onlyÚTruer   Úpropertyzclass-attributezinstance-attributezdataclasses.KW_ONLYTÚdefault_factory)r%   r!   Údefault)Ú
annotationÚkindrD   Ú	docstring)r8   r   ÚgetÚmembersr,   Úis_attributer   rE   Úlabelsr   r	   r   r<   r   Úkeyword_onlyÚpositional_or_keywordr   r   Úappendr   r"   rG   )Úclass_Údec_argsr@   Ú
parametersÚmemberÚ
field_argsrF   rD   s           r   Ú_dataclass_parametersrT   A   s­  € ô $ F×$5Ñ$5Ó6€Hð ‡|�|�FÓ˜wÓ&Øˆ	ð �l‰l˜9Ó%¨Ñ/€Gð €JØ—.‘.×'Ñ'×)ˆØ××ÑÜ˜+ vÓ.ˆFð × Ñ Ñ(Ùð ˜VŸ]™]Ó*ð " V§]¡]Ó2Ð7KÐSY×S`ÑS`Ó7`áô ˜&×+Ñ+¬T×2Ñ2°v×7HÑ7H×7WÑ7WÐ[pÓ7pØ�Ùô *¨&Ó1ˆJð �~‰~˜fÓ%¨Ó0Ùö
 ˜jŸn™n¨YÓ7¸6ÓAô ×*Ò*ä"×8Ñ8ð ð ! JÓ.Ü-5¸zÐJ[Ñ?\ÐhjÑ-k‘à$Ÿ.™.¨¾J±DÈFÏLÉLÓY�ð ×ÑÜØ—K‘KØ%×0Ñ0ØØ#Ø$×.Ñ.ñ÷ñ_ *ðr Ðr   c                ón  • U  Vs0 s H  oR                   U_M     nn/ n/ n/ nUR                  5        Ht  nUR                  [        R                  L a  UR                  U5        M3  UR                  [        R                  L a  UR                  U5        Mc  UR                  U5        Mv     X4-   U-   $ s  snf r7   )r"   r,   rF   r   Úpositional_onlyrN   rL   )rQ   ÚparamÚparams_dictÚpos_onlyÚpos_kwr@   s         r   Ú_reorder_parametersr[   ‹   sž   € á2<Ó=²*¨—:‘:˜uÒ$±*€KÐ=ð €HØ€FØ€GØ×#Ñ#Ö%ˆØ�:‰:œ×6Ñ6Ò6Ø�O‰O˜EÖ"Ø�Z‰Zœ=×5Ñ5Ò5Ø�N‰N˜5Ö!à�M‰M˜%Ö ñ &ð Ñ˜wÑ&Ð&ùò >s   …B2c                óX  • / n U R                  5       n[        U5       HT  n[        UR                  5      (       d  M  UR                  [        U5      5        U R                  R                  S5        MV     [        U R                  5      (       d  g [        R                  " SU R                  5        UR                  [        U 5      5        [        SSSU [        [        SS [        R                   S S9/[#        U5      Q76 SS	9nU R%                  SU5        g ! [         a    Sn GNf = f)
N© Ú	dataclasszHandling dataclass: %sÚ__init__r   Úself)r"   rE   rF   rD   ÚNone)ÚlinenoÚ	endlinenor&   rQ   Úreturns)ÚmroÚ
ValueErrorÚreversedr   r   ÚextendrT   rK   Úaddr   ÚdebugÚpathr   r   r   r   rM   r[   Ú
set_member)rO   rQ   re   r&   r>   s        r   Ú_set_dataclass_initrm   �   s  € à€JðØ�j‰j‹lˆô ˜3–-ˆÜ × 1Ñ 1×2Ó2Ø×ÑÔ3°FÓ;Ô<ð �M‰M×Ñ˜kÖ*ñ  ô   × 1Ñ 1×2Ñ2Øä
‡L‚LÐ)¨6¯;©;Ô7ð ×ÑÔ+¨FÓ3Ô4ô ØØØØÜÜ˜6¨d¼×9\Ñ9\ÐfjÑkð
ä  Ó,ò
ð ñ
€Dð ×Ñ�j $Õ'øô= ó Ø‹ðús   „D ÄD)Ä(D)c                óR  • U R                   R                  5        Vs/ s H  n[        U[        5      (       d  M  UPM     nnU H[  n[        UR                  [
        5      (       d  M$  UR                  R                  S:X  d  M@  U R                  UR                  5        M]     g s  snf )Nzdataclasses.InitVar)	rI   r,   r   r   rE   r	   r   Ú
del_memberr"   )rO   rR   Ú
attributesr;   s       r   Ú!_del_members_annotated_as_initvarrq   Ã   sx   € à'-§~¡~×'<Ñ'<Ô'>Ó`Ò'>˜VÄ*ÈVÔU^×B_—&Ñ'>€JÐ`Ûˆ	Ü�i×*Ñ*¬D×1Ó1°i×6JÑ6J×6YÑ6YÐ]rÕ6rØ×Ñ˜iŸn™nÖ-ò  ùò as
   �B$ºB$c                ój  • U R                   U;   a  g UR                  U R                   5        [        U [        5      (       ay  SU R                  ;  a  [        U 5        [        U 5        U R                  R                  5        H4  nUR                  (       a  M  UR                  (       d  M)  [        X!5        M6     g [        U [        5      (       ad  U R                  R                  5        HE  nUR                  (       a  M  UR                  (       d  UR                  (       d  M:  [        X!5        MG     g g )Nr_   )r   ri   r   r   rI   rm   rq   r,   Úis_aliasÚis_classÚ_apply_recursivelyr   Ú	is_module)Úmod_clsÚ	processedrR   s      r   ru   ru   Ë   sÊ   € Ø×Ñ Ó*ØØ‡M�M�'×(Ñ(Ô)Ü�'œ5×!Ñ!Ø˜WŸ_™_Ó,Ü Ô(Ü-¨gÔ6Ø—o‘o×,Ñ,Ö.ˆFØ—?—?‘? v§§¡Ü" 6Ö5ò /ô 
�GœV×	$Ñ	$Ø—o‘o×,Ñ,Ö.ˆFØ—?—?‘?¨×(8×(8¸F¿O¿O¹OÜ" 6Ö5ò /ð 
%r   c                  ó"   • \ rS rSrSrSS jrSrg)ÚDataclassesExtensionéÜ   zŠBuilt-in extension adding support for dataclasses.

This extension creates `__init__` methods of dataclasses
if they don't already exist.
c               ó,   • [        U[        5       5        g)zDHook for loaded packages.

Parameters:
    pkg: The loaded package.
N)ru   Úset)r`   ÚpkgÚkwargss      r   Ú
on_packageÚDataclassesExtension.on_packageã   s   € ô 	˜3¤£Õ&r   r]   N)r~   r   r   r   Úreturnra   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r€   Ú__static_attributes__r]   r   r   rz   rz   Ü   s   † ñ÷'r   rz   )r   úlist[Decorator]r‚   zExpr | None)r0   r	   r‚   zdict[str, str | Expr])r   r‰   r‚   údict[str, Any])r;   r   r‚   rŠ   )rO   r   r‚   úlist[Parameter])rQ   r‹   r‚   r‹   )rO   r   r‚   ra   )rw   zModule | Classrx   zset[str]r‚   ra   )'Ú
__future__r   r-   Ú
contextlibr   Ú	functoolsr   Útypingr   r   Úgriffe._internal.enumerationsr   Úgriffe._internal.expressionsr	   r
   r   r   Ú griffe._internal.extensions.baser   Úgriffe._internal.loggerr   Úgriffe._internal.modelsr   r   r   r   r   r   r   r   r)   r8   r<   rT   r[   rm   rq   ru   rz   r]   r   r   Ú<module>r•      s€   ðõ #ã 
Ý Ý ß å 7÷ó õ 7Ý *ß h× hÑ hôôô"ôð óFó ðFôR'ô$#(ôL.ô6ô"'˜9õ 'r   