+
    öÙ†jÔ¨  ã                   óž  € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt. R!Ot ! R R]P                  4      t	]
! 4       tRtR"t ! R R4      t]! R#R$ 4      t ! R R4      tR	 tR
 tR t ! R R]4      tRR/R ltRRRR/R ltR tR tR tRRRRRRR]	P8                  /R ltR tR tR t R t!]PD                  R,          PF                  t$R  t%R# )%z3Helpers for introspecting and wrapping annotations.NÚFormatÚ
ForwardRefc                   ó&   € ] tR t^t^t^t^t^tRtR# )r   © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚVALUEÚVALUE_WITH_FAKE_GLOBALSÚ
FORWARDREFÚSTRINGÚ__static_attributes__r   ó    Ú$/usr/lib/python3.14/annotationlib.pyr   r      s   † Ø€EØÐØ€JØ„Fr   z!name '{name:.200}' is not definedc            
       óÄ   a € ] tR t^5t o Rt]tRRRRRRRR/R	 ltR
 tRRRRRRRRR]	P                  /R lt]3R lt]R 4       t]R 4       tR tR tR tR tR tRtV tR# )r   a—  Wrapper that holds a forward reference.

Constructor arguments:
* arg: a string representing the code to be evaluated.
* module: the module where the forward reference was created.
  Must be a string, not a module object.
* owner: The owning object (module, class, or function).
* is_argument: Does nothing, retained for compatibility.
* is_class: True if the forward reference was created in class scope.

ÚmoduleNÚownerÚis_argumentTÚis_classFc               óÒ   € \        V\        4      '       g   \        R V: 24      hWn        W@n        WPn        W n        W0n        RV n        RV n	        RV n
        RV n        RV n        R# )z*Forward reference must be a string -- got N)Ú
isinstanceÚstrÚ	TypeErrorÚ__arg__Ú__forward_is_argument__Ú__forward_is_class__Ú__forward_module__Ú	__owner__Ú__globals__Ú__cell__Ú__extra_names__Ú__code__Ú__ast_node__)ÚselfÚargr   r   r   r   s   &&$$$$r   Ú__init__ÚForwardRef.__init__D   sl   € ô ˜#œs×#Ò#ÜÐHÈÉÐPÓQÐQàŒØ'2Ô$Ø$,Ô!Ø"(ÔØŒð  ˆÔð ˆŒØ#ˆÔð ˆŒØ ˆÖr   c               ó   € \        R 4      h)zCannot subclass ForwardRef©r   )ÚclsÚargsÚkwdss   "*,r   Ú__init_subclass__ÚForwardRef.__init_subclass__b   s   € ÜÐ4Ó5Ð5r   ÚglobalsÚlocalsÚtype_paramsÚformatc               óæ  € T;\         P                  8X  d    V P                  # ;\         P                  8X  d    RpM#\         P                  8X  d   RpM \        V4      h\        V P                  \        P                  4      '       d    V P                  P                  # Vf   V P                  pVfD   V P                  e6   \        \        P                   P#                  V P                  R4      RR4      pVf   V P$                  pVf®   \        V\&        4      '       dL   \        VRR4      pV'       d6   \        P                   P#                  VR4      pV'       d   \        VRR4      pML\        V\        P(                  4      '       d   \        VRR4      pM\+        V4      '       d   \        VRR4      pVf   / pVf   Ve   \        VRR4      pVf4   / p\        V\&        4      '       d   VP-                  \/        V4      4       MAVf3   \        V P                  \0        4      '       g   V P2                  '       d   \1        V4      pVe&   V F  p	VP5                  V	P6                  V	4       K!  	  \        V P                  \0        4      '       dB   V P                  P9                  4        F#  w  r« VP                  pVP5                  W¬4       K%  	  V P2                  '       d   VP-                  V P2                  4       V P                  pVP;                  4       '       dŠ   \<        P>                  ! V4      '       gn   WÒ9   d	   W-,          # WÑ9   d	   W,          # \A        \B        V4      '       d   \        \B        V4      # V'       d   V # \E        \F        PI                  VR7      VR7      hV PJ                  p \M        WáVR	7      #   \         d     EL5i ; i  \         d     EK:  i ; i  \N         d    T'       g   h  Mi ; i\Q        / \B        PR                  CTCTCTTT PT                  TR
7      p \M        YáTR	7      pTPW                  T P                  4       T#   \N         d    T u # i ; i)zxEvaluate the forward reference and return the value.

If the forward reference cannot be evaluated, raise an exception.
FTNÚ__dict__r   r   Ú__type_params__)Úname)r/   r0   ©r/   r   r   r2   ),r   r   Ú__forward_arg__r
   r   ÚNotImplementedErrorr   r    ÚtypesÚCellTypeÚcell_contentsÚ
ValueErrorr   r   ÚgetattrÚsysÚmodulesÚgetr   ÚtypeÚ
ModuleTypeÚcallableÚupdateÚvarsÚdictr!   Ú
setdefaultr   ÚitemsÚisidentifierÚkeywordÚ	iskeywordÚhasattrÚbuiltinsÚ	NameErrorÚ_NAME_ERROR_MSGr2   Ú__forward_code__ÚevalÚ	ExceptionÚ_StringifierDictr4   r   Útransmogrify)r$   r/   r0   r1   r   r2   Úis_forwardref_formatÚmodule_namer   ÚparamÚ	cell_nameÚcellÚ
cell_valuer%   ÚcodeÚ
new_localsÚresults   &$$$$$           r   ÚevaluateÚForwardRef.evaluatee   s±  € ð Ø”—–Ù×+Ñ+Ð+Ø”—–Ù',Ñ$Ü×"Ö"Ø'+Ñ$ØÜ)¨&Ó1Ð1Ü�d—m‘m¤U§^¡^×4Ò4ðØ—}‘}×2Ñ2Ð2ð Š=Ø—N‘NˆEàŠ?˜t×6Ñ6ÒBÜÜ—‘—‘ × 7Ñ 7¸Ó>À
ÈDóˆGð Š?Ø×&Ñ&ˆGØŠ?Ü˜%¤×&Ò&Ü% e¨\¸4Ó@�ßÜ Ÿ[™[Ÿ_™_¨[¸$Ó?�FßÜ")¨&°*¸dÓ"C˜øÜ˜E¤5×#3Ñ#3×4Ò4Ü! %¨°TÓ:‘Ü˜%—’Ü! %¨¸Ó=�ð Š?ØˆGàÒ 5Ò#4Ü! %Ð):¸DÓAˆKàŠ>ØˆFÜ˜%¤×&Ò&Ø—‘œd 5›kÔ*øàÒ#Ü˜$Ÿ-™-¬×.Ò.Ø×#×#Ð#ô ˜&“\ˆFð
 Ò"Û$�Ø×!Ñ! %§.¡.°%Ö8ñ %ô
 �d—m‘m¤T×*Ò*Ø#'§=¡=×#6Ñ#6Ö#8‘�	ð=Ø!%×!3Ñ!3�Jð ×%Ñ% iÖ<ñ $9ð ××ÐØ�M‰M˜$×.Ñ.Ô/à×"Ñ"ˆØ×Ñ×Ò¤g×&7Ò&7¸×&<Ò&<ØŒ}Ø•{Ð"Ø”Ø•|Ð#Üœ 3×'Ò'Üœx¨Ó-Ð-ß%Ø�ä¤× 6Ñ 6¸CÐ 6Ó @ÀsÔKÐKà×(Ñ(ˆDðÜ˜D¸&ÔAÐAøô_ ô Úðûôp "ô Ûðûô0 ô ß+Øñ ,ðúô *Ø:”8×$Ñ$Ð:¨Ð:°6Ð:ØØØ×2Ñ2ØôˆJðÜ˜d¸JÔG�ð ×'Ñ'¨¯©Ô6Ø�øô	 ô Ø’ðúsN   ÂO Ê5OÎ;O- ÏOÏOÏO*Ï)O*Ï-PÐ PÐPÐ6Q  Ñ Q0Ñ/Q0c               ó    € ^ RI p^ RIpV\        J d   VP                  R4       RpVP	                  RRRR7       VP                  V VVVVR7      # )	é    Nztyping.ForwardRef._evaluatezForwardRef._evaluatez¢{name} is a private API and is retained for compatibility, but will be removed in Python 3.16. Use ForwardRef.evaluate() or typing.evaluate_forward_ref() instead.)Úremove)r/   r0   r1   Ú_recursive_guardr   )é   é   )ÚtypingÚwarningsÚ	_sentinelÚ._deprecation_warning_for_no_type_params_passedÚ_deprecatedÚevaluate_forward_ref)r$   ÚglobalnsÚlocalnsr1   Úrecursive_guardrg   rh   s   &&&&$  r   Ú	_evaluateÚForwardRef._evaluateã   sp   € ÛÛàœ)Ó#Ø×AÑAØ-ôð ˆKØ×ÑØ"ðcàð	 	ô 	
ð ×*Ñ*ØØØØ#Ø,ð +ó 
ð 	
r   c                óÊ   € V P                   e   V P                   # V P                  e2   \        P                  ! V P                  4      V n         V P                   # \	        R4      h)NzDAttempted to access '__forward_arg__' on an uninitialized ForwardRef)r   r#   ÚastÚunparseÚAssertionError©r$   s   &r   r8   ÚForwardRef.__forward_arg__ú   sR   € à�<‰<Ò#Ø—<‘<ÐØ×ÑÒ(ÜŸ;š; t×'8Ñ'8Ó9ˆDŒLØ—<‘<ÐÜØRó
ð 	
r   c                óÚ   € V P                   e   V P                   # V P                  p \        \        V4      RR4      V n         V P                   #   \         d    \	        RT: 24      hi ; i)Nz<string>rR   z/Forward reference must be an expression -- got )r"   r8   ÚcompileÚ_rewrite_star_unpackÚSyntaxError)r$   r%   s   & r   rQ   ÚForwardRef.__forward_code__  sp   € à�=‰=Ò$Ø—=‘=Ð Ø×"Ñ"ˆð	YÜ#Ô$8¸Ó$=¸zÈ6ÓRˆDŒMð �}‰}Ðøô ô 	YÜÐ OÐPSÉwÐWÓXÐXð	Yús   ¨A ÁA*c           	     óF  € \        V\        4      '       g   \        # V P                  VP                  8H  ;'       EdÙ    V P                  VP                  8H  ;'       Ed·    V P
                  VP
                  J ;'       Ed–    V P                  VP                  8H  ;'       Edt    \        V P                  \        4      '       d’   \        VP                  \        4      '       dr   V P                  P                  4        UUu/ uF  w  r#V\        V4      bK  	  uppVP                  P                  4        UUu/ uF  w  r#V\        V4      bK  	  upp8H  MV P                  VP                  J ;'       d£    V P                  VP                  8H  ;'       d‚    V P                  '       d-   \        \        V P                  P                  4       4      4      MR VP                  '       d-   \        \        VP                  P                  4       4      4      MR 8H  # u uppi u uppi ©N)r   r   ÚNotImplementedr8   r   r   r   r    rG   rI   Úidr   r!   ÚtupleÚsorted)r$   Úotherr6   rZ   s   &&  r   Ú__eq__ÚForwardRef.__eq__  s·  € Ü˜%¤×,Ò,Ü!Ð!à× Ñ  E×$9Ñ$9Ñ9÷ ñ Ø×'Ñ'¨5×+CÑ+CÑC÷ñ ð × Ñ  E×$5Ñ$5Ð5÷	ñ ð
 ×)Ñ)¨U×-GÑ-GÑG÷ñ ô ˜dŸm™m¬T×2Ò2´zÀ%Ç.Á.ÔRV×7WÒ7Wð 37·-±-×2EÑ2EÔ2GÔHÑ2G¡J D�”r˜$“x’Ñ2GÒHØ5:·^±^×5IÑ5IÔ5KÔLÑ5K¡z t�Dœ"˜T›(’NÑ5KÒLòMð —]‘] e§n¡nÐ4÷ð ð —‘ %§/¡/Ñ1÷ð ð AE×@T×@TÐ@T””v˜d×2Ñ2×8Ñ8Ó:Ó;Ô<ÐZ^ØAF×AV×AVÐAV””v˜e×3Ñ3×9Ñ9Ó;Ó<Ô=Ð\`ñbð!	
ùó IùÛLs   ÄHÄ8Hc                ó,  € \        V P                  V P                  \        V P                  4      V P
                  \        V P                  \        4      '       dL   \        \        V P                  P                  4        UUu. uF  w  rV\        V4      3NK  	  upp4      4      M\        V P                  4      3V P                  V P                  '       d2   \        \        V P                  P                  4       4      4      34      # R 34      # u uppi r~   )Úhashr8   r   r€   r   r   r   r    rG   r�   r‚   rI   r   r!   )r$   r6   rZ   s   &  r   Ú__hash__ÚForwardRef.__hash__(  så   € ÜØ× Ñ Ø×#Ñ#Üˆt×ÑÓ Ø×%Ñ%ô ˜dŸm™m¬T×2Ò2ô ”fÀÇÁ×ATÑATÔAVÔWÑAV±:°4˜t¤R¨£XÓ.ÑAVÒWÓXÔYÜ8:¸4¿=¹=Ó8Iðð �N‰NØ;?×;O×;OÐ;OŒE”&˜×-Ñ-×3Ñ3Ó5Ó6Ó7ð
ó ð 	ð VZð
ó ð 	ùó Xs   ÂDc                ó2   € \         P                  W3,          # r~   ©r:   Ú	UnionType©r$   rƒ   s   &&r   Ú__or__ÚForwardRef.__or__6  s   € Ü�‰˜t˜{Õ+Ð+r   c                ó2   € \         P                  W3,          # r~   r‹   r�   s   &&r   Ú__ror__ÚForwardRef.__ror__9  s   € Ü�‰˜u˜{Õ+Ð+r   c                óD  € . pV P                   e    VP                  RV P                   : 24       V P                  '       d   VP                  R4       V P                  e    VP                  RV P                  : 24       RV P                  : RP                  V4       R2# )Nz	, module=z, is_class=Truez, owner=zForwardRef(Ú Ú))r   Úappendr   r   r8   Újoin)r$   Úextras   & r   Ú__repr__ÚForwardRef.__repr__<  s‹   € ØˆØ×"Ñ"Ò.Ø�L‰L˜9 T×%<Ñ%<Ñ$?Ð@ÔAØ×$×$Ð$Ø�L‰LÐ*Ô+Ø�>‰>Ò%Ø�L‰L˜8 D§N¡NÑ#5Ð6Ô7Ø˜T×1Ñ1Ñ4°R·W±W¸U³^Ð4DÀAÐFÐFr   )
r   r#   r    r"   r!   r   r   r   r   r   )r   r   r   r	   Ú__doc__Ú_SLOTSÚ	__slots__r&   r-   r   r
   r_   ri   rp   Úpropertyr8   rQ   r„   rˆ   rŽ   r‘   r™   r   Ú__classdictcell__©Ú__classdict__s   @r   r   r   5   sØ   ø‡ € ñ
ð €Ið!ð ð	!ð
 ð!ð ð!ð ô!ò<6ð|ð ð|ð ð	|ð
 ð|ð ð|ð �|‰|ô|ð| 8Aô 
ð. ñ
ó ð
ð ñó ðò
ò0ò,ò,÷Gð Gr   c                   óþ  a € ] tR tRt o ]tRRR/R lltR tR tR t	RR lt
R	 tR
 tR tR tR tR tR tV 3R lR lt]! ]P(                  ! 4       4      t]! ]P,                  ! 4       4      t]! ]P0                  ! 4       4      t]! ]P4                  ! 4       4      t]! ]P8                  ! 4       4      t]! ]P<                  ! 4       4      t]! ]P@                  ! 4       4      t!]! ]PD                  ! 4       4      t#]! ]PH                  ! 4       4      t%]! ]PL                  ! 4       4      t']! ]PP                  ! 4       4      t)]! ]PT                  ! 4       4      t+]! ]PX                  ! 4       4      t-AV 3R lR lt.].! ]P(                  ! 4       4      t/].! ]P,                  ! 4       4      t0].! ]P0                  ! 4       4      t1].! ]P4                  ! 4       4      t2].! ]P8                  ! 4       4      t3].! ]P<                  ! 4       4      t4].! ]P@                  ! 4       4      t5].! ]PD                  ! 4       4      t6].! ]PH                  ! 4       4      t7].! ]PL                  ! 4       4      t8].! ]PP                  ! 4       4      t9].! ]PT                  ! 4       4      t:].! ]PX                  ! 4       4      t;A.R t<]<! ]Pz                  ! 4       4      t>]<! ]P~                  ! 4       4      t@]<! ]P‚                  ! 4       4      tB]<! ]P†                  ! 4       4      tD]<! ]PŠ                  ! 4       4      tF]<! ]PŽ                  ! 4       4      tHA<R tI]I! ]P”                  ! 4       4      tK]I! ]P˜                  ! 4       4      tM]I! ]Pœ                  ! 4       4      tOAIRtPV tQR# )Ú_StringifieriJ  NÚextra_namesc               óâ   € \        V\        P                  \        34      '       g   Q hR V n        RV n        W@n        R V n        R V n        Wn	        W n
        Wpn        WPn        W0n        W`n        R # )NF)r   rs   ÚASTr   r   r   r   r   r"   r#   r   r!   r    r   Ú__stringifier_dict__)r$   Únoder/   r   r   rZ   Ústringifier_dictr¤   s   &&&&&&$$r   r&   Ú_Stringifier.__init__O  se   € ô ˜$¤§¡¬# ×/Ò/Ð/Ð/ØˆŒØ',ˆÔ$Ø$,Ô!Ø"&ˆÔØˆŒØ ÔØ"ÔØ*ÔØŒØŒØ$4Ö!r   c                óp  € \        V\        4      '       df   \        VP                  \        4      '       d.   \        P
                  ! VP                  R 7      VP                  3# VP                  VP                  3# \        V4      \        J d   \        V4      R3# V P                  P                  \        P                  8X  g.   Ve*   \        V4      \        \        \        \         \"        39   d   \        P$                  ! VR7      R3# \        V4      \&        J dª   / p. p. pVP)                  4        Fw  w  rVV P+                  V4      w  rxVe   VP-                  V4       VP/                  V4       V P+                  V4      w  r˜Ve   VP-                  V4       VP/                  V	4       Ky  	  \        P0                  ! W44      V3# \        V4      \2        \4        \6        39   dŸ   / p. p
V F<  pV P+                  V4      w  rÈVe   VP-                  V4       V
P/                  V4       K>  	  \2        \        P8                  \4        \        P:                  \6        \        P<                  /\        V4      ,          pV! V
4      V3# V P                  P?                  4       p\        P
                  ! VR 7      Wá/3# )©r€   N©Úvalue) r   r£   r#   r   rs   ÚNamer!   rB   Ú	_TemplateÚ_template_to_astr§   r2   r   r   ÚintÚfloatÚboolÚcomplexÚConstantrG   rI   Ú_Stringifier__convert_to_astrE   r–   ÚDictÚlistr�   ÚsetÚListÚTupleÚSetÚcreate_unique_name)r$   rƒ   r¤   ÚkeysÚvaluesÚkeyr®   Únew_keyÚnew_extra_namesÚ	new_valueÚeltsÚeltÚnew_eltÚ	ast_classr6   s   &&             r   Ú__convert_to_astÚ_Stringifier.__convert_to_asti  s$  € Ü�eœ\×*Ò*Ü˜%×,Ñ,¬c×2Ò2Ü—x’x 5×#5Ñ#5Ô6¸×8MÑ8MÐMÐMØ×%Ñ% u×'<Ñ'<Ð<Ð<Ü�%‹[œIÓ%Ü# EÓ*¨DÐ0Ð0ð ×%Ñ%×,Ñ,´·±Ô=ØŠ}Ü�E‹{œs¤C¬´´gÐ>Ô>ä—<’< eÔ,¨dÐ2Ð2Ü�%‹[œDÓ ØˆKØˆDØˆFØ#Ÿk™kžm‘
�Ø+/×+@Ñ+@ÀÓ+EÑ(�Ø"Ò.Ø×&Ñ& Ô7Ø—‘˜GÔ$Ø-1×-BÑ-BÀ5Ó-IÑ*�	Ø"Ò.Ø×&Ñ& Ô7Ø—‘˜iÖ(ñ ,ô —8’8˜DÓ)¨;Ð6Ð6Ü�%‹[œT¤5¬#Ð.Ô.ØˆKØˆDÛ�Ø+/×+@Ñ+@ÀÓ+EÑ(�Ø"Ò.Ø×&Ñ& Ô7Ø—‘˜GÖ$ñ	 ô
 œsŸx™x¬´·	±	¼3ÄÇÁÐHÌÈeËÕUˆIÙ˜T“? KÐ/Ð/à×,Ñ,×?Ñ?ÓAˆDÜ—8’8˜tÔ$ t mÐ3Ð3r   c                óü   a a€ \        V\        4      '       dU   / oVV 3R  lp\        P                  ! V! VP                  4      V! VP
                  4      V! VP                  4      R7      S3# S P                  V4      # )c                 ód   <€ V f   R # SP                  V 4      w  rVe   SP                  V4       V# r~   )r·   rE   )ÚobjÚnew_objrÃ   r¤   r$   s   &  €€r   ÚconvÚ3_Stringifier.__convert_to_ast_getitem.<locals>.conv˜  s7   ø€ Ø’;ÙØ+/×+@Ñ+@ÀÓ+EÑ(�Ø"Ò.Ø×&Ñ& Ô7Ø�r   )ÚlowerÚupperÚstep)r   Úslicers   ÚSliceÚstartÚstoprÓ   r·   )r$   rƒ   rÏ   r¤   s   f& @r   Ú__convert_to_ast_getitemÚ%_Stringifier.__convert_to_ast_getitem”  sn   ù€ Ü�eœU×#Ò#ØˆKöô —9’9Ù˜5Ÿ;™;Ó'Ù˜5Ÿ:™:Ó&Ù˜%Ÿ*™*Ó%ôð ð	ð ð ×(Ñ(¨Ó/Ð/r   c                óx   € V P                   p\        V\        4      '       d   \        P                  ! VR 7      # V# )r¬   )r#   r   r   rs   r¯   )r$   r¨   s   & r   Ú	__get_astÚ_Stringifier.__get_ast¨  s.   € Ø× Ñ ˆÜ�dœC× Ò Ü—8’8˜tÔ$Ð$Øˆr   c           	     óV  € / pV P                   e   VP                  V P                   4       Ve   VP                  V4       \        TV P                  V P                  V P
                  V P                  T;'       g    R R7      pV P                  P                  P                  V4       V# )N)r©   r¤   )	r!   rE   r£   r   r   r   r§   Ústringifiersr–   )r$   r¨   r¤   rÃ   Ústringifiers   &&&  r   Ú
__make_newÚ_Stringifier.__make_new®  s—   € ØˆØ×ÑÒ+Ø×"Ñ" 4×#7Ñ#7Ô8ØÒ"Ø×"Ñ" ;Ô/Ü"ØØ×ÑØ�N‰NØ×%Ñ%Ø!×6Ñ6Ø'×/Ð/¨4ô
ˆð 	×!Ñ!×.Ñ.×5Ñ5°kÔBØÐr   c                ó   € \        V 4      # r~   r¬   rv   s   &r   rˆ   Ú_Stringifier.__hash__Á  s   € Ü�$‹xˆr   c                ó  € V P                   R 8X  d   \        h\        V\        4      '       d^   / p. pV F<  pV P	                  V4      w  rVVe   VP                  V4       VP                  V4       K>  	  \        P                  ! V4      pMV P	                  V4      w  r\        V\        P                  4      '       g   Q \        V4      4       hV P                  \        P                  ! V P                  4       V4      V4      # r    )r#   ÚKeyErrorr   r�   Ú$_Stringifier__convert_to_ast_getitemrE   r–   rs   r¼   r¦   ÚreprÚ_Stringifier__make_newÚ	SubscriptÚ_Stringifier__get_ast)r$   rƒ   r¤   rÅ   rÆ   rÇ   rÃ   s   &&     r   Ú__getitem__Ú_Stringifier.__getitem__Ä  sÐ   € ð ×Ñ Ô/ÜˆNÜ�eœU×#Ò#ØˆKØˆDÛ�Ø+/×+HÑ+HÈÓ+MÑ(�Ø"Ò.Ø×&Ñ& Ô7Ø—‘˜GÖ$ñ	 ô
 —I’I˜d“O‰Eà!%×!>Ñ!>¸uÓ!EÑˆEÜ˜%¤§¡×)Ò)Ð6¬4°«;Ó6Ð)Ø�‰œsŸ}š}¨T¯^©^Ó-=¸uÓEÀ{ÓSÐSr   c                ój   € V P                  \        P                  ! V P                  4       V4      4      # r~   )rè   rs   Ú	Attributerê   )r$   Úattrs   &&r   Ú__getattr__Ú_Stringifier.__getattr__×  s#   € Ø�‰œsŸ}š}¨T¯^©^Ó-=¸tÓDÓEÐEr   c                óÈ  € / p. pV F<  pV P                  V4      w  rgVe   VP                  V4       VP                  V4       K>  	  . pVP                  4        FR  w  ršV P                  V
4      w  r·Ve   VP                  V4       VP                  \        P
                  ! W›4      4       KT  	  V P                  \        P                  ! V P                  4       WH4      V4      # r~   )	r·   rE   r–   rI   rs   rK   rè   ÚCallrê   )r$   r+   Úkwargsr¤   Úast_argsr%   Únew_argrÃ   Ú
ast_kwargsrÁ   r®   rÄ   s   &*,         r   Ú__call__Ú_Stringifier.__call__Ú  sÆ   € ØˆØˆÛˆCØ'+×'<Ñ'<¸SÓ'AÑ$ˆGØÒ*Ø×"Ñ" ?Ô3Ø�O‰O˜GÖ$ñ	 ð
 ˆ
Ø Ÿ,™,ž.‰JˆCØ)-×)>Ñ)>¸uÓ)EÑ&ˆIØÒ*Ø×"Ñ" ?Ô3Ø×ÑœcŸkšk¨#Ó9Ö:ñ	 )ð
 �‰œsŸxšx¨¯©Ó(8¸(ÓOÐQ\Ó]Ð]r   c              #  óx   "  € V P                  \        P                  ! V P                  4       4      4      x € R # 5ir~   )rè   rs   ÚStarredrê   rv   s   &r   Ú__iter__Ú_Stringifier.__iter__ê  s$   é € Ø�o‰oœcŸkšk¨$¯.©.Ó*:Ó;Ó<Ô<ùs   ‚8:c                óš   € \        V P                  \        4      '       d   V P                  # \        P                  ! V P                  4      # r~   )r   r#   r   rs   rt   rv   s   &r   r™   Ú_Stringifier.__repr__í  s6   € Ü�d×'Ñ'¬×-Ò-Ø×$Ñ$Ð$Ü�{Š{˜4×,Ñ,Ó-Ð-r   c                ó   € \        R 4      h)z8Cannot stringify annotation containing string formattingr)   )r$   Úformat_specs   &&r   Ú
__format__Ú_Stringifier.__format__ò  s   € ÜÐRÓSÐSr   c                ó4   <€ V ^8„  d   QhRS[ P                  /# ©é   Úop©rs   r¦   )r2   r¡   s   "€r   Ú__annotate__Ú_Stringifier.__annotate__õ  s   ø€ ÷ ñ ™Ÿ™ñ r   c                ó   a € V 3R  lpV# )c                 ó–   <€ V P                  V4      w  r#V P                  \        P                  ! V P	                  4       SV4      V4      # r~   ©r·   rè   rs   ÚBinOprê   ©r$   rƒ   Úrhsr¤   r  s   &&  €r   ÚbinopÚ'_Stringifier._make_binop.<locals>.binopö  s@   ø€ Ø#×4Ñ4°UÓ;ÑˆCØ—?‘?Ü—	’	˜$Ÿ.™.Ó*¨B°Ó4°kóð r   r   )r  r  s   f r   Ú_make_binopÚ_Stringifier._make_binopõ  s   ø€ õ	ð ˆr   c                ó4   <€ V ^8„  d   QhRS[ P                  /# r  r  )r2   r¡   s   "€r   r	  r
    s   ø€ ÷ ñ ™Ÿ™ñ r   c                ó   a € V 3R  lpV# )c                 ó–   <€ V P                  V4      w  r#V P                  \        P                  ! VSV P	                  4       4      V4      # r~   r  )r$   rƒ   Ú	new_otherr¤   r  s   &&  €r   ÚrbinopÚ)_Stringifier._make_rbinop.<locals>.rbinop  s@   ø€ Ø%)×%:Ñ%:¸5Ó%AÑ"ˆIØ—?‘?Ü—	’	˜) R¨¯©Ó)9Ó:¸Kóð r   r   )r  r  s   f r   Ú_make_rbinopÚ_Stringifier._make_rbinop  s   ø€ õ	ð ˆr   c                ó   a € V 3R  lpV# )c                 óœ   <€ V P                  V4      w  r#V P                  \        P                  ! V P	                  4       S.V.R 7      V4      # ))ÚleftÚopsÚcomparators)r·   rè   rs   ÚComparerê   r  s   &&  €r   ÚcompareÚ+_Stringifier._make_compare.<locals>.compare(  sL   ø€ Ø#×4Ñ4°UÓ;ÑˆCØ—?‘?Ü—’ØŸ™Ó)Ø˜Ø!$ ôð
 óð r   r   )r  r#  s   f r   Ú_make_compareÚ_Stringifier._make_compare'  s   ø€ õ		ð ˆr   c                ó   a € V 3R  lpV# )c                 ól   <€ V P                  \        P                  ! SV P                  4       4      4      # r~   )rè   rs   ÚUnaryOprê   )r$   r  s   &€r   Úunary_opÚ-_Stringifier._make_unary_op.<locals>.unary_op?  s$   ø€ Ø—?‘?¤3§;¢;¨r°4·>±>Ó3CÓ#DÓEÐEr   r   )r  r*  s   f r   Ú_make_unary_opÚ_Stringifier._make_unary_op>  s   ø€ õ	Fð ˆr   )r   r#   r    r"   r!   r   r   r   r   r   r§   )NNFNr~   )Rr   r   r   r	   rœ   r�   r&   r·   ræ   rê   rè   rˆ   rë   rð   rø   rü   r™   r  r  rs   ÚAddÚ__add__ÚSubÚ__sub__ÚMultÚ__mul__ÚMatMultÚ
__matmul__ÚDivÚ__truediv__ÚModÚ__mod__ÚLShiftÚ
__lshift__ÚRShiftÚ
__rshift__ÚBitOrrŽ   ÚBitXorÚ__xor__ÚBitAndÚ__and__ÚFloorDivÚ__floordiv__ÚPowÚ__pow__r  Ú__radd__Ú__rsub__Ú__rmul__Ú__rmatmul__Ú__rtruediv__Ú__rmod__Ú__rlshift__Ú__rrshift__r‘   Ú__rxor__Ú__rand__Ú__rfloordiv__Ú__rpow__r%  ÚLtÚ__lt__ÚLtEÚ__le__ÚEqr„   ÚNotEqÚ__ne__ÚGtÚ__gt__ÚGtEÚ__ge__r,  ÚInvertÚ
__invert__ÚUAddÚ__pos__ÚUSubÚ__neg__r   rŸ   r    s   @r   r£   r£   J  s¹  ø‡ € ð €Iñ5ð õ5ò4)4òV0ò(ôò&òTò&Fò^ò =ò.ò
T÷ð ñ ˜#Ÿ'š'›)Ó$€GÙ˜#Ÿ'š'›)Ó$€GÙ˜#Ÿ(š(›*Ó%€GÙ˜SŸ[š[›]Ó+€JÙ˜cŸgšg›iÓ(€KÙ˜#Ÿ'š'›)Ó$€GÙ˜SŸZšZ›\Ó*€JÙ˜SŸZšZ›\Ó*€JÙ˜Ÿš›Ó%€FÙ˜#Ÿ*š*›,Ó'€GÙ˜#Ÿ*š*›,Ó'€GÙ˜sŸ|š|›~Ó.€LÙ˜#Ÿ'š'›)Ó$€Gà÷ð ñ ˜CŸGšG›IÓ&€HÙ˜CŸGšG›IÓ&€HÙ˜CŸHšH›JÓ'€HÙ˜sŸ{š{›}Ó-€KÙ §¢£	Ó*€LÙ˜CŸGšG›IÓ&€HÙ˜sŸzšz›|Ó,€KÙ˜sŸzšz›|Ó,€KÙ˜3Ÿ9š9›;Ó'€GÙ˜CŸJšJ›LÓ)€HÙ˜CŸJšJ›LÓ)€HÙ  §¢£Ó0€MÙ˜CŸGšG›IÓ&€Hàòñ ˜3Ÿ6š6›8Ó$€FÙ˜3Ÿ7š7›9Ó%€FÙ˜3Ÿ6š6›8Ó$€FÙ˜3Ÿ9š9›;Ó'€FÙ˜3Ÿ6š6›8Ó$€FÙ˜3Ÿ7š7›9Ó%€Fàòñ   §
¢
£Ó-€JÙ˜SŸXšX›ZÓ(€GÙ˜SŸXšX›ZÓ(€Gær   r£   c                ó`  € . pV  Fù  pV\         Rc ;e+   w   VP                  \        P                  ! VR7      4       K9    \        P                  ! \        P
                  ! RR7      \        P                  ! VP                  R7      \        P                  ! VP                  R7      \        P                  ! VP                  R7      \        P                  ! VP                  R7      .R7      pVP                  V4       Kû  	  \        P                  ! \        P
                  ! RR7      V. R7      # )z3Convert a `template` instance to a non-literal AST.r   r­   ÚInterpolationr¬   )Úfuncr+   ÚTemplate)rf  r+   Úkeywords)
r   r–   rs   r¶   ró   r¯   r®   Ú
expressionÚ
conversionr  )Útemplater+   ÚpartÚinterps   &   r   Ú_template_to_ast_constructorrn  K  sÃ   € à€DÛˆØÜ—Ø—‘œCŸLšL¨tÔ4Ö5ð àÜŸšÜŸš _Ô5äŸš¨4¯:©:Ô6ÜŸš¨4¯?©?Ô;ÜŸš¨4¯?©?Ô;ÜŸš¨4×+;Ñ+;Ô<ð	ô�ð —‘˜FÖ#ñ ô �8Š8œŸš ZÔ0°tÀbÔIÐIr   c           
     óö  € . p^ pV  FÙ  pV\         Rc ;e+   w   VP                  \        P                  ! VR7      4       K9    \        P                  ! VP
                  W,          VP                  '       d   \        VP                  4      MRVP                  '       d"   \        P                  ! VP                  R7      MRR7      pVP                  V4       V^,          pKÛ  	  \        P                  ! VR7      # )z8Convert a `template` instance to a t-string literal AST.r   Nr­   )r   r®   rj  r  )rÀ   éÿÿÿÿ)
r   r–   rs   r¶   re  ri  rj  Úordr  ÚTemplateStr)rk  ÚparsedrÀ   Úinterp_countrl  rm  s   &&    r   Ú_template_to_ast_literalru  `  sº   € à€FØ€LÛˆØÜ—Ø—‘œcŸlšl°Ô6Ö7ð àÜ×*Ò*ØŸ™Ø Õ.Ø7;··°œs 4§?¡?Ô3ÈBà×'×'Ð'ô !$§¢°4×3CÑ3CÕ Dàô�ð —‘˜fÔ%Ø Õ!’ñ ô �?Š? &Ô)Ð)r   c                ó„  € \         ;QJ d&    R V P                   4       F  '       g   K   RM	  RM! R V P                   4       4      '       d   \        V 4      #  \        ;QJ d    . R V P                   4       F  NK  	  5M! R V P                   4       4      p\        Y4      #   \         d    \        T 4      u # i ; i)zAMake a best-effort conversion of a `template` instance to an AST.c              3   óZ   "  € T F!  qP                   P                  4       R 8H  x € K#  	  R# 5i)r”   N)ri  Ústrip©Ú.0rl  s   & r   Ú	<genexpr>Ú#_template_to_ast.<locals>.<genexpr>|  s"   é € Ð
MÑ5L¨T�?‰?× Ñ Ó" bÖ(Ó5Lùs   ‚)+TFc              3   ó‚   "  € T F5  p\         P                  ! R VP                   R2RR7      P                  x € K7  	  R# 5i)Ú(r•   rR   )ÚmodeN)rs   Úparseri  Úbodyry  s   & r   r{  r|  �  s6   é € ð 
á/�ô �IŠI˜˜$Ÿ/™/Ð*¨!Ð,°6Ô:×?Ö?Û/ùs   ‚=?)ÚanyÚinterpolationsrn  r�   r{   ru  )rk  rs  s   & r   r±   r±   v  s    € ÷ ƒsÑ
M°X×5LÒ5LÓ
M‡s‡s‚sÑ
M°X×5LÒ5LÓ
M×MÒMÜ+¨HÓ5Ð5ð6ç”ñ 
à ×/Ò/ó
—‘ñ 
à ×/Ò/ó
ó 
ˆô $ HÓ5Ð5øô ô 6Ü+¨HÓ5Ò5ð6ús   Á
B& Á&5B& Â&B?Â>B?c                   óT   a a€ ] tR tRt oRRRRRR/V 3R lltR tR	 tR
 tRtVt	V ;t
# )rT   i‹  r/   Nr   r   Fc               ó~   <€ \         SV `  V4       Wn        W n        W0n        W@n        . V n        ^V n        WPn        R# )é   N)	Úsuperr&   Ú	namespacer/   r   r   rÞ   Únext_idr2   )r$   rˆ  r/   r   r   r2   Ú	__class__s   &&$$$$€r   r&   Ú_StringifierDict.__init__Œ  s8   ø€ Ü‰Ñ˜Ô#Ø"ŒØŒØŒ
Ø ŒØˆÔØˆŒØŽr   c                ó˜   € \        VV P                  V P                  V P                  V R 7      pV P                  P                  V4       V# ))r/   r   r   r©   )r£   r/   r   r   rÞ   r–   )r$   rÁ   Úfwdrefs   && r   Ú__missing__Ú_StringifierDict.__missing__–  sB   € ÜØØ—L‘LØ—*‘*Ø—]‘]Ø!ô
ˆð 	×Ñ× Ñ  Ô(Øˆr   c                óø   € V P                    Fi  p\        Vn        R Vn        \	        VP
                  \        4      '       d   VP
                  Vn        R Vn        Vf   KS  VP                  e   Kc  Wn        Kk  	  R # r~   )	rÞ   r   rŠ  r§   r   r#   r   r   r    )r$   Ú	cell_dictrÍ   s   && r   rU   Ú_StringifierDict.transmogrify¡  s]   € Ø×$Ô$ˆCÜ&ˆCŒMØ'+ˆCÔ$Ü˜#×*Ñ*¬C×0Ò0Ø!×.Ñ.�”Ø#'�Ô ØÔ$¨¯©Ô)=Ø(–ó %r   c                óX   € R V P                    R2pV ;P                   ^,          un         V# )Ú__annotationlib_name_Ú__)r‰  )r$   r6   s   & r   r¾   Ú#_StringifierDict.create_unique_name«  s'   € Ø& t§|¡| n°BÐ7ˆØ�Š˜Õ�Øˆr   )r2   r/   r   rˆ  r‰  r   rÞ   )r   r   r   r	   r&   rŽ  rU   r¾   r   rŸ   Ú__classcell__)rŠ  r¡   s   @@r   rT   rT   ‹  s3   ù‡ € ð¨Tð ¸ð È÷ ò	ò)÷ò r   rT   r   c               ó   € \        WVRR7      # )z¨Call an evaluate function. Evaluate functions are normally generated for
the value of type aliases and the bounds, constraints, and defaults of
type parameter objects.
T)r   Ú_is_evaluate)Úcall_annotate_function)r_   r2   r   s   &&$r   Úcall_evaluate_functionr›  ±  s   € ô
 " (¸%ÈdÔSÐSr   r™  Fc          	     ó„  € V\         P                  8X  d   \        R4      h V ! V4      #   \         d     Mi ; iT\         P                  8X  Ed    T ! \         P                  4       M<  \         d#    \        T ! \         P                  4      4      u # \         d     Mi ; i\        / TR7      p\        T\        4      p\        YYTRR7      w  rg\        P                  ! T P                  TTT P                  T P                   R7      pT! \         P                  4      p	T'       d   \#        T	4      # T	P%                  4        U
Uu/ uF  w  r«T
\#        T4      bK  	  upp
# u upp
i T\         P&                  8X  Ed   / T P(                  CT P*                  Cp\        T\        4      p\        TT P*                  TTTR7      p\        YYTRR7      w  rm\        P                  ! T P                  TTT P                  T P                   R7      p T! \         P                  4      pTP-                  T4       T#   \         d    T ! \         P                  4      u # \         d     Mi ; i\        / T P*                  TTTR7      p\        YYTRR7      w  rm\        P                  ! T P                  TTT P                  T P                   R7      pT! \         P                  4      pTP-                  T4       T'       d9   \        T\.        4      '       d!   TP1                  \         P&                  R7      # T# TP%                  4        U
Uu/ uF>  w  r«T
\        T\.        4      '       d!   TP1                  \         P&                  R7      MTbK@  	  upp
# u upp
i T\         P                  8X  d   \3        R4      h\        R	T: 24      h)
aZ  Call an __annotate__ function. __annotate__ functions are normally
generated by the compiler to defer the evaluation of annotations. They
can be called with any of the format arguments in the Format enum, but
compiler-generated __annotate__ functions only support the VALUE format.
This function provides additional functionality to call __annotate__
functions with the FORWARDREF and STRING formats.

*annotate* must be an __annotate__ function, which takes a single argument
and returns a dict of annotations.

*format* must be a member of the Format enum or one of the corresponding
integer values.

*owner* can be the object that owns the annotations (i.e., the module,
class, or function that the __annotate__ function derives from). With the
FORWARDREF format, it is used to provide better evaluation capabilities
on the generated ForwardRef objects.

ú;The VALUE_WITH_FAKE_GLOBALS format is for internal use only)r2   F)Úallow_evaluation)ÚclosureÚargdefsÚ
kwdefaultsr7   Tz/annotate function does not support VALUE formatzInvalid format: )r   r   r=   r9   r   Úannotations_to_stringr
   rS   rT   r   rB   Ú_build_closurer:   ÚFunctionTyper"   Ú__defaults__Ú__kwdefaults__Ú_stringify_singlerI   r   Ú__builtins__r   rU   r   r_   ÚRuntimeError)Úannotater2   r   r™  r/   r   rŸ  Ú_rf  ÚannosrÁ   Úvalrˆ  r‘  r^   s   &&$$           r   rš  rš  ¹  s‚  € ð( ”×/Ñ/Ô/ÜÐVÓWÐWðÙ˜ÓÐøÜô Ùðúà”—‘Õð	Ù”V×3Ñ3Õ4øÜ"ô 	Aä(©´&·,±,Ó)?Ó@Ò@Üô 	Ùð	úô # 2¨fÔ5ˆÜ˜e¤TÓ*ˆÜ#Ø˜XÀô
‰
ˆô ×!Ò!Ø×ÑØØØ×)Ñ)Ø×.Ñ.ô
ˆñ ”V×3Ñ3Ó4ˆßÜ$ UÓ+Ð+ð "ŸK™KœMô
á)‘�ð Ô" 3Ó'Ò'Ù)ò
ð 	
ùó 
ð 
”6×$Ñ$Õ	$ð$ F�x×,Ñ,ÐE°×0DÑ0DÐEˆ	Ü˜e¤TÓ*ˆÜ"ØØ×(Ñ(ØØØô
ˆô ,Ø˜XÀô
Ñˆô ×!Ò!Ø×ÑØØØ×)Ñ)Ø×.Ñ.ô
ˆð		Ùœ&×8Ñ8Ó9ˆFð × Ñ  Ô+ØˆMøô #ô 	*áœFŸL™LÓ)Ò)Üô 	Ùð	úô #ØØ×(Ñ(ØØØô
ˆô ,Ø˜XÀô
Ñˆô ×!Ò!Ø×ÑØØØ×)Ñ)Ø×.Ñ.ô
ˆñ ”f×4Ñ4Ó5ˆØ×Ñ˜YÔ'ßÜ˜&¤*×-Ò-Ø—‘¬f×.?Ñ.?�Ó@Ð@à�ð !'§¡¤ôñ !/‘H�Cð ä! #¤z×2Ò2ð —L‘L¬×(9Ñ(9�LÔ:àòñ
 !/òð ùó ð 
”6—<‘<Ô	ô ÐLÓMÐMäÐ+¨F©:Ð6Ó7Ð7sU   ¢* ª8·8ÁA) Á)*B"ÂB"ÂB"Â!B"ÅE"ÈH5 È5!I%ÉI%É!I%É$I%ÍANc          
      óÔ  € V P                   '       g   R# . p/ p\        V P                  P                  V P                   RR7       Fƒ  w  rxW†V&   R p	V'       d    VP                   Tp	V	fM   \        VVVV P                  VVR7      p
VP                  P                  V
4       \        P                  ! V
4      p	VP                  V	4       K…  	  \        V4      V3#   \
         d     Li ; i)NT)Ústrict)rZ   r   r/   r   r©   )NN)Ú__closure__Úzipr"   Úco_freevarsr<   r=   r£   r   rÞ   r–   r:   r;   r�   )rª  r   r   r©   rž  Únew_closurer‘  r6   rZ   Únew_cellr�  s   &&&&$      r   r£  r£  U  së   € Ø××ÐØÐØ€KØ€IÜ˜(×+Ñ+×7Ñ7¸×9MÑ9MÐVZ×[‰
ˆØ�$‰Øˆßð Ø×"Ò"ð  �ØÒÜ!ØØØØ ×,Ñ,Ø!Ø!1ôˆFð ×)Ñ)×0Ñ0°Ô8Ü—~’~ fÓ-ˆHØ×Ñ˜8Ö$ñ+ \ô, �Ó˜yÐ(Ð(øô! ô Ùðús   ÁCÃC'Ã&C'c                 óÂ   € V R J d   R# \        V \        4      '       d   V # \        V \        4      '       d    \        P                  ! \        V 4      4      # \        V 4      # ).ú...)r   r   r°   rs   rt   r±   rç   )Úannos   &r   r§  r§  s  sJ   € Øˆsƒ{Ùä	�Dœ#×	Ò	ØˆÜ	�Dœ)×	$Ò	$Ü�{Š{Ô+¨DÓ1Ó2Ð2ä�D‹zÐr   c                ó\   €  V R,          #   \          d    T P                  RR4      u # i ; i)zÚRetrieve the annotate function from a class namespace dictionary.

Return None if the namespace does not contain an annotate function.
This is useful in metaclass ``__new__`` methods to retrieve the annotate function.
r	  Ú__annotate_func__N)rå   rA   )rÍ   s   &r   Ú!get_annotate_from_class_namespacerº    s3   € ð2Ø�>Õ"Ð"øÜô 2Ø�w‰wÐ*¨DÓ1Ò1ð2ús   ‚ ‹+ª+r/   r0   Úeval_strr2   c          
     ó  € V'       d!   V\         P                  8w  d   \        R4      hT;\         P                  8X  d    \        V 4      pVfÓ   \	        W4      pMÆ;\         P
                  8X  d9     \        V 4      pVe   \        V4      #  \	        W4      pVf†   \        V 4      pMy;\         P                  8X  d6    \	        W4      pVe   \        V4      # \        V 4      pVe;   \        V4      # \         P                  8X  d   \        R4      h \        RV: 24      hVf9   \        V \        4      '       g   \        V 4      '       d   / # \        V : R24      hV'       g   / # V'       g   \        V4      # Ve   VEfÙ   \        V \        4      '       dd   Rp\        V RR4      pV'       d6   \         P"                  P%                  VR4      pV'       d   \        VRR4      p\        \'        V 4      4      p	T p
MY\        V \(        P*                  4      '       d   \        V R4      pRp	Rp
M(\        V 4      '       d   \        V RR4      pRp	T p
MR;p;ršV
e÷   \-        V
4      0p \/        V
R	4      '       d<   V
P0                  p\-        V4      V9   d   MœVP3                  \-        V4      4       Tp
KN  \         P"                  P%                  R
4      ;p'       dW   \        W­P4                  4      '       d<   V
P6                  p\-        V4      V9   d   MVP3                  \-        V4      4       Tp
KË   \/        V
R4      '       d   V
P8                  pVf   TpVf   T	p\        V RR4      ;p'       d*   Vf   / pV Uu/ uF  qÿP:                  VbK  	  upV,          pVP=                  4        UUu/ uF4  w  ppT\        V\>        4      '       g   TM\A        \C        V4      W4      bK6  	  pppV#   \         d     ELli ; iu upi u uppi )aö  Compute the annotations dict for an object.

obj may be a callable, class, module, or other object with
__annotate__ or __annotations__ attributes.
Passing any other object raises TypeError.

The *format* parameter controls the format in which annotations are returned,
and must be a member of the Format enum or its integer equivalent.
For the VALUE format, the __annotations__ is tried first; if it
does not exist, the __annotate__ function is called. The
FORWARDREF format uses __annotations__ if it exists and can be
evaluated, and otherwise falls back to calling the __annotate__ function.
The STRING format tries __annotate__ first, and falls back to
using __annotations__, stringified using annotations_to_string().

This function handles several details for you:

  * If eval_str is true, values of type str will
    be un-stringized using eval().  This is intended
    for use with stringized annotations
    ("from __future__ import annotations").
  * If obj doesn't have an annotations dict, returns an
    empty dict.  (Functions and methods always have an
    annotations dict; classes, modules, and other types of
    callables may not.)
  * Ignores inherited annotations on classes.  If a class
    doesn't have its own annotations dict, returns an empty dict.
  * All accesses to object members and dict values are done
    using getattr() and dict.get() for safety.
  * Always, always, always returns a freshly-created dict.

eval_str controls whether or not values of type str are replaced
with the result of calling eval() on those values:

  * If eval_str is true, eval() is called on values of type str.
  * If eval_str is false (the default), values of type str are unchanged.

globals and locals are passed in to eval(); see the documentation
for eval() for more information.  If either globals or locals is
None, this function may replace that value with a context-specific
default, contingent on type(obj):

  * If obj is a module, globals defaults to obj.__dict__.
  * If obj is a class, globals defaults to
    sys.modules[obj.__module__].__dict__ and locals
    defaults to the obj class namespace.
  * If obj is a callable, globals defaults to obj.__globals__,
    although if obj is a wrapped function (using
    functools.update_wrapper()) it is first unwrapped.
z8eval_str=True is only supported with format=Format.VALUENr�  zUnsupported format z does not have annotationsr   r4   r   Ú__wrapped__Ú	functoolsr5   r   )"r   r
   r=   Ú_get_dunder_annotationsÚ_get_and_call_annotater   rG   rS   r   r¢  r   r   rB   rD   r   r>   r?   r@   rA   rF   r:   rC   r€   rM   r½  ÚaddÚpartialrf  r   r   rI   r   rR   rz   )rÍ   r/   r0   r»  r2   ÚannÚobj_globalsrW   r   Ú
obj_localsÚunwrapÚ	_seen_idsÚ	candidater¾  r1   rX   rÁ   r®   Úreturn_values   &$$$$              r   Úget_annotationsrÊ  ‹  s•  € ÷j �FœfŸl™lÔ*ÜÐSÓTÐTà
ØŒV�\Ž\å)¨#Ó.ˆCð Š{Ü,¨SÓ9‘ØŒV×Öñ%Ü-¨cÓ2�ð ’?Ü ›9Ð$ð #ô )¨Ó5ˆCØŠ{ô .¨cÓ2‘ØŒV�]Ž]å(¨Ó5ˆCØŠÜ˜C“yÐ ä)¨#Ó.ˆCØŠÜ,¨SÓ1Ð1Ü×+Ö+ÜÐZÓ[Ð[ØÜÐ2°6±*Ð=Ó>Ð>à
‚{Ü�cœ4× Ò ¤H¨S§M¢MØˆIÜ˜3™'Ð!;Ð<Ó=Ð=çØˆ	çÜ�C‹yÐà‚˜&›.Ü�cœ4× Ò àˆKÜ! # |°TÓ:ˆKßÜŸ™Ÿ™¨°dÓ;�ßÜ")¨&°*¸dÓ"C�KÜœd 3›i›ˆJØ‰FÜ˜œU×-Ñ-×.Ò.ä! # zÓ2ˆKØˆJØ‰FÜ�c�]Š]ô " # }°dÓ;ˆKØˆJØ‰Fà04Ð4ˆKÐ4˜*àÒô
 ˜F›˜ˆIØÜ˜6 =×1Ò1Ø &× 2Ñ 2�IÜ˜)“}¨	Ô1ØØ—M‘M¤" Y£-Ô0Ø&�FÙÜ #§¡§¡°Ó <Ð<�9Ö<Ü! &×*;Ñ*;×<Ò<Ø$*§K¡K˜	Ü˜i›=¨IÔ5Ø!Ø!Ÿ™¤b¨£mÔ4Ø!*˜Ù ØÜ�v˜}×-Ò-Ø$×0Ñ0�àŠ?Ø!ˆGØŠ>ØˆFô
 ˜cÐ#4°bÓ9Ð9€{Ö9ØŠ>ØˆFÙ5@ÓA±[¨E—.‘. %Ò'±[ÑAÀFÕJˆð
 Ÿ)™)œ+ôñ &‰JˆC�ð 	œ* U¬C×0Ò0‰UÜÔ& uÓ-¨wÓ?ò	@á%ð ñ ð
 ÐøôY ô ÚðüòJ Bùós   Á2O+ Í:O=Î,:PÏ+O:Ï9O:c                óp  € \        V \        \        P                  \        P                  34      '       d9   V P
                  R8X  d   V P                  # V P
                   RV P                   2# \        V \        4      '       d"   \        V 4      p\        P                  ! V4      # V RJ d   R# \        V 4      # )a  Convert a Python value to a format suitable for use with the STRING format.

This is intended as a helper for tools that support the STRING format but do
not have access to the code that originally produced the annotations. It uses
repr() for most objects.

rN   Ú..r¶  )r   rB   r:   r¤  ÚBuiltinFunctionTyper   r   r°   r±   rs   rt   rç   )r®   Útrees   & r   Ú	type_reprrÏ  >  s—   € ô �%œ$¤× 2Ñ 2´E×4MÑ4MÐN×OÒOØ×Ñ˜zÔ)Ø×%Ñ%Ð%Ø×"Ñ"Ð# 1 U×%7Ñ%7Ð$8Ð9Ð9Ü	�Eœ9×	%Ò	%Ü Ó&ˆÜ�{Š{˜4Ó Ð Ø�ƒ|ÙÜ�‹;Ðr   c           	     óš   € V P                  4        UUu/ uF)  w  rT\        V\        4      '       d   TM
\        V4      bK+  	  upp# u uppi )zwConvert an annotation dict containing values to approximately the STRING format.

Always returns a fresh a dictionary.
)rI   r   r   rÏ  )ÚannotationsÚnÚts   &  r   r¢  r¢  R  sK   € ð  ×%Ñ%Ô'ôá'‰DˆAð 	
”
˜1œc×"Ò"‰1¬	°!«Ò4Ù'òð ùó s   ”/Ac                ó\   € V P                  4       P                  R4      '       d   RV  R2# V # )zlIf the given argument annotation expression is a star unpack e.g. `'*Ts'`
rewrite it to a valid expression.
Ú*r~  z,)[0])ÚlstripÚ
startswith)r%   s   &r   rz   rz   ]  s.   € ð ‡z�zƒ|×Ñ˜s×#Ò#Ø�3�%�uˆ~Ðàˆ
r   c                ó�   € \        V RR4      pVe5   \        W!V R7      p\        V\        4      '       g   \	        V : R24      hV# R# )zOGet the __annotate__ function and call it.

May not return a fresh dictionary.
r	  N)r   z!.__annotate__ returned a non-dict)r>   rš  r   rG   r=   )rÍ   r2   rª  rÃ  s   &&  r   rÀ  rÀ  g  sL   € ô
 �s˜N¨DÓ1€HØÒÜ$ X¸SÔAˆÜ˜#œt×$Ò$Ü ™wÐ&GÐHÓIÐIØˆ
Ùr   Ú__annotations__c                óà   € \        V \        4      '       d    \        V 4      pM\	        V RR4      pVf   R# \        V\
        4      '       g   \        V : R24      hV#   \         d     R# i ; i)zmReturn the annotations for an object, checking that it is a dictionary.

Does not return a fresh dictionary.
NrÙ  z+.__annotations__ is neither a dict nor None)r   rB   Ú_BASE_GET_ANNOTATIONSÚAttributeErrorr>   rG   r=   )rÍ   rÃ  s   & r   r¿  r¿  x  sr   € ô �#”t×Òð	Ü'¨Ó,‰Cô
 �cÐ,¨dÓ3ˆØŠ;Ùä�cœ4× Ò Ü˜C™7Ð"MÐNÓOÐOØ€Jøô ô 	âð	ús   ˜A ÁA-Á,A-)r   r   rš  r›  rº  rÊ  r¢  rÏ  )r   r   r   Ú__weakref__r   r   r!   r"   r#   r    r   r§   )r”   r   )&r›   rs   rN   ÚenumrK   r?   r:   Ú__all__ÚIntEnumr   Úobjectri   rP   rœ   r   rB   r°   r£   rn  ru  r±   rG   rT   r›  rš  r£  r§  rº  r
   rÊ  rÏ  r¢  rz   rÀ  r4   Ú__get__rÛ  r¿  r   r   r   Ú<module>rã     s  ðÙ 9ã 
Û Û Û Û 
Û ò	€ôˆT�\‰\ô ñ ‹H€	à5€ð
€÷ OGñ OGñd ’‹I€	÷~ñ ~òBJò**ò,6ô*#�tô #ðLT°dô TðY8°dð Y8Èô Y8òx)ò<	ò	2ðpØðpØ!%ðpØ05ðpØ>D¿l¹lôpòfò(òòð Ÿ™Ð&7Õ8×@Ñ@Ð ôr   