+
    –°³j¾­  ã                  ó\  € R t ^ RIHt ^ RIt^ RIt^ RIHt ^ RIHtH	t	H
t
Ht ^ RIt^ RIHt ^RIHtHt ^RIHtHtHt ^RIHtHtHtHtHt ^R	IHtHt ]'       d   ^ R
IH t  ^RI!H"t"  ! R R]4      t#]#! R4      t$]#! R4      t%]#! R4      t& ! R R]PN                  4      t( ! R R]4      t)R# )zû
Constant variable tracking in Dynamo.

This module is fundamental to Dynamo's ability to track and propagate constant
values during compilation, ensuring proper handling of Python literals and
maintaining type safety through the compilation process.
)ÚannotationsN)ÚIterable)ÚAnyÚLiteralÚoverloadÚTYPE_CHECKING)ÚGetItemSource)Úgraph_break_hintsÚ	variables)Úraise_observed_exceptionÚraise_type_errorÚunimplemented)Úcommon_constant_typesÚistypeÚnpÚraise_args_mismatchÚunpack_iterable)ÚValueMutationNewÚVariableTracker)ÚInstructionTranslatorBase)ÚUserFunctionVariablec            
      ó²  a € ] tR t^%tRt]]]]]	]
! R4      ]]
! R4      3t]]R R l4       4       t]]R R l4       4       t]]R R	 l4       4       t]R
 R l4       tR V 3R lltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R lt]R R l4       tR  R! ltR" R# lt]R$ R% l4       t]RuR& R' ll4       tR( R) ltR* R+ lt R, R- lt!R. R/ lt"R0 R1 lt#R2 R3 lt$R4 R5 lt%R6 R7 lt&R8 V 3R9 llt'R: V 3R; llt(R< V 3R= llt)R> V 3R? llt*R@ RA lt+RB V 3RC llt,RD RE lt-RF V 3RG llt.RH RI lt/RJ RK lt0RL RM lt1RvRN RO llt2RvRP RQ llt3RvRR RS llt4RvRT RU llt5RvRV RW llt6RvRX RY llt7RvRZ R[ llt8RvR\ R] llt9RvR^ R_ llt:R` Ra lt;RvRb Rc llt<RvRd Re llt=Rf Rg lt>Rh Ri lt?RvRj Rk llt@RvRl Rm lltARn Ro ltBRp Rq ltCRr Rs ltDRttEV ;tF# )wÚConstantVariablezó
Variable tracker for Python literals and basic immutable types, with automatic
routing support for collection types (lists, tuples, sets, etc.).

The create() method intelligently constructs appropriate variable types for
nested collections.
N.c               ó    € V ^8„  d   QhRRRR/# )é   ÚvalueÚNoneÚreturnr   © )Úformats   "Úa/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_dynamo/variables/constant.pyÚ__annotate__ÚConstantVariable.__annotate__9   ó   € ×4Ñ4�dÐ4Ð/Ñ4ó    c                	ó   € R # ©Nr   ©r   s   &r    ÚcreateÚConstantVariable.create7   ó   € á14r$   c               ó    € V ^8„  d   QhRRRR/# )r   r   Úboolr   r   r   )r   s   "r    r!   r"   =   r#   r$   c                	ó   € R # r&   r   r'   s   &r    r(   r)   ;   r*   r$   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   r   r   Úkwargsr   r   r   )r   s   "r    r!   r"   A   s   € ×AÑA�cÐA SÐA¨_ÑAr$   c                	ó   € R # r&   r   )r   r0   s   &,r    r(   r)   ?   s   € á>Ar$   c               ó$   € V ^8„  d   QhRRRRRR/# r/   r   )r   s   "r    r!   r"   D   s!   € ÷ /1ñ /1�cð /1 Sð /1¨_ñ /1r$   c                ó  € V'       g%   T ;f    \         # ;RJ d    \        # RJ d   \        # VP                  R4      p\	        V \
        4      '       d<   V  Uu. uF  p\        P                  V4      NK  	  pp\        P                  ! V3/ VB # \	        V \        4      '       d<   V  Uu. uF  p\        P                  V4      NK  	  pp\        P                  ! V3/ VB # \	        V \        4      '       d_   V P                  V P                  V P                  3pV Uu. uF  p\        P                  V4      NK  	  pp\        P                   ! V3/ VB # \	        V \"        \$        34      '       d�   . p\'        V 4       F@  w  rƒV'       d   \)        W(4      MRp	VP+                  \        P                  VV	R7      4       KB  	  \        P,                  P/                  \1        V 4      4      ! V3/ VB # \        V 3/ VB # u upi u upi u upi )a&  
Create a `ConstantVariable` based on the given value, and supports
automatic routing for collection types like `tuple` (in which case we'd
create `ConstantVariable` for the leaf items).

NOTE: the caller must install the proper guards if needed; most often
the guard will be `CONSTANT_MATCH`.
NTFÚsource)r4   )ÚCONSTANT_VARIABLE_NONEÚCONSTANT_VARIABLE_TRUEÚCONSTANT_VARIABLE_FALSEÚgetÚ
isinstanceÚsetr   r(   r
   ÚSetVariableÚ	frozensetÚFrozensetVariableÚsliceÚstartÚstopÚstepÚSliceVariableÚlistÚtupleÚ	enumerater   ÚappendÚBaseListVariableÚcls_forÚtype)
r   r0   r4   ÚxÚitemsÚ
slice_argsÚargÚslice_args_varsÚiÚitem_sources
   &,        r    r(   r)   C   sÂ  € ÷ ØÛÝ1Ð1ÝÝ1Ð1ÜÜ2Ð2à—‘˜HÓ%ˆô �eœS×!Ò!Ù9>Ó?¹°AÔ%×,Ñ,¨QÖ/¹ˆEÐ?Ü×(Ò(¨Ñ9°&Ñ9Ð9Ü˜œy×)Ò)Ù9>Ó?¹°AÔ%×,Ñ,¨QÖ/¹ˆEÐ?Ü×.Ò.¨uÑ?¸Ñ?Ð?Ü˜œu×%Ò%ØŸ+™+ u§z¡z°5·:±:Ð>ˆJá8Bó6Ù8B°Ô ×'Ñ'¨Ö,¹
ð ð 6ô ×*Ò*¨?ÑE¸fÑEÐEÜ˜¤¤e˜}×-Ò-ØˆEÜ! %Ö(‘�ß:@œm¨FÔ6Àd�Ø—‘Ü$×+Ñ+ØØ*ð ,ó öñ )ô ×-Ñ-×5Ñ5´d¸5³kÔBÀ5ÑSÈFÑSÐSä Ñ0¨Ñ0Ð0ùò/ @ùò @ùò6s   ÁG<Â)HÄHc               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   r0   r   r   r   )r   s   "r    r!   r"   u   s!   € ÷ ñ ˜cð ¨Sð °Tñ r$   c                	ó  <€ \         SV `  ! R/ VB  \        P                  V4      '       g   \	        R \        V4       R24      h\        e8   \        V\        P                  4      '       d   VP                  4       V n
        R# Wn
        R# )z6Cannot construct `ConstantVariable` for value of type a_  .

This failure likely due to PyTorch-internal use of `ConstantVariable` on
non-literal python values, please try using `VariableTracker.build` instead. If
you believe it's a necessary and legitimate use case (the value is immutable and
can't easily be represented with another `VariableTracker` class), please add
its type to `common_constant_types`.Nr   )ÚsuperÚ__init__r   Úis_base_literalÚAssertionErrorrI   r   r9   ÚnumberÚitemr   )Úselfr   r0   Ú	__class__s   &&,€r    rT   ÚConstantVariable.__init__u   sp   ø€ Ü‰ÒÑ"˜6Ò"Ü×/Ñ/°×6Ò6Ü ØHÌÈeËÈð V7ð 7óð ô Š>œj¨´·	±	×:Ò:ØŸ™›ˆDŽJàŽJr$   c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r    r!   r"   †   s   € ÷ ñ ˜#ñ r$   c                	ó   € V P                   # r&   r'   ©rY   s   &r    Úas_proxyÚConstantVariable.as_proxy†   ó   € Ø�z‰zÐr$   c               ó   € V ^8„  d   QhRR/# ©r   r   Ústrr   )r   s   "r    r!   r"   ‰   s   € ÷ Tñ T˜#ñ Tr$   c                	ót   € R \        V P                  4      P                   R\        V P                  4       R2# )zConstantVariable(z: Ú))rI   r   Ú__name__Úreprr_   s   &r    Ú__repr__ÚConstantVariable.__repr__‰   s2   € Ø"¤4¨¯
©
Ó#3×#<Ñ#<Ð"=¸RÄÀTÇZÁZÓ@PÐ?QÐQRÐSÐSr$   c               ó   € V ^8„  d   QhRR/# r]   r   )r   s   "r    r!   r"   Œ   ó   € ÷ ñ  Cñ r$   c                	ó   € V P                   # r&   r'   r_   s   &r    Úas_python_constantÚ#ConstantVariable.as_python_constantŒ   rb   r$   c               ó   € V ^8„  d   QhRR/# )r   r   zLiteral[True]r   )r   s   "r    r!   r"   �   s   € ÷ ñ  Mñ r$   c                	ó   € R # ©Tr   r_   s   &r    Úis_python_constantÚ#ConstantVariable.is_python_constant�   s   € Ùr$   c               ó    € V ^8„  d   QhRRRR/# ©r   Útxr   r   r   r   )r   s   "r    r!   r"   ’   s   € ÷ 9ñ 9Ð8ð 9¸_ñ 9r$   c                	óR   € \         P                  \        V P                  4      4      # r&   ©r   r(   ri   r   ©rY   rx   s   &&r    Útp_repr_implÚConstantVariable.tp_repr_impl’   s   € Ü×&Ñ&¤t¨D¯J©JÓ'7Ó8Ð8r$   c               ó   € V ^8„  d   QhRR/# ©r   r   r,   r   )r   s   "r    r!   r"   •   s   € ÷ 3ñ 3 ñ 3r$   c                	óB   € \        V P                  \        \        34      # r&   )r9   r   Úintr,   r_   s   &r    Úis_symnode_likeÚ ConstantVariable.is_symnode_like•   s   € Ü˜$Ÿ*™*¤s¬D kÓ2Ð2r$   c               ó    € V ^8„  d   QhRRRR/# )r   Úvaluesr   r   r,   r   )r   s   "r    r!   r"   ˜   s   € ÷ $ñ $¨ð $°ñ $r$   c                	ó    € V P                   V9   # r&   r'   )rY   r…   s   &*r    Úis_constant_matchÚ"ConstantVariable.is_constant_match˜   s   € Ø�z‰z˜VÑ#Ð#r$   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r    r!   r"   ›   s   € ÷ "ñ " $ñ "r$   c                	ó   € V P                   R J # r&   r'   r_   s   &r    Úis_constant_noneÚ!ConstantVariable.is_constant_none›   s   € Ø�z‰z˜TÐ!Ð!r$   c               ó   € V ^8„  d   QhRR/# )r   r   úlist[VariableTracker]r   )r   s   "r    r!   r"   Ÿ   s   € ÷ -ñ -Ð,ñ -r$   c                ó    €  V P                    Uu. uF  p\        P                  V4      NK  	  up# u upi   \         d   p\        ThRp?ii ; i)zb
Need this when adding a BaseListVariable and a ConstantVariable together.
Happens in detectron2.
N)r   r   r(   Ú	TypeErrorÚNotImplementedError)rY   rJ   Úes   &  r    rK   ÚConstantVariable.itemsž   sG   € ð	-Ø8<¿
º
ÓC¹
°1Ô$×+Ñ+¨AÖ.¹
ÑCÐCùÒCøÜô 	-Ü%¨1Ð,ûð	-ús!   ‚6 �1®6 ±6 ¶AÁAÁAc               ó$   € V ^8„  d   QhRRRRRR/# )r   rx   r   rM   r   r   r   )r   s   "r    r!   r"   ©   s$   € ÷ 
ñ 
Ø+ð
Ø2Að
à	ñ
r$   c                	ó  € \        V P                  \        \        34      '       d¨   ^RIHp ^RIHpHp V! V! V4      4      '       d   VP                  V4      pMs\        W#4      '       d6   \        P                  V P                  VP                  V4      ,          4      # \        VV P                  4        RVP                  4        24       \        P                  V P                  VP                  4       ,          4      # )é   )rB   )Úmaybe_get_python_typeÚpyindex_checkz indices must be integers, not )r9   r   re   ÚbytesÚlistsrB   Úobject_protocolr—   r˜   Únb_index_implr   r(   Úas_index_slicer   Úpython_type_namero   )rY   rx   rM   rB   r—   r˜   s   &&&   r    Úgetitem_constÚConstantVariable.getitem_const©   sÏ   € ô
 �d—j‘j¤3¬ ,×/Ò/Ý,ßMñ Ñ2°3Ó7×8Ò8Ø×'Ñ'¨Ó+‘Ü˜C×/Ò/Ü'×.Ñ.¨t¯z©z¸#×:LÑ:LÈRÓ:PÕ/QÓRÐRä ØØ×,Ñ,Ó.Ð/ð 0Ø×/Ñ/Ó1Ð2ð4ôô
  ×&Ñ&Ø�J‰J�s×-Ñ-Ó/Õ0ó
ð 	
r$   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rx   r   Úkeyr   r   r   )r   s   "r    r!   r"   Â   s)   € ÷ Hñ HØ+ðHØ2AðHà	ñHr$   c                	óì   € VP                  4       p \        P                  V P                  V,          4      #   \         d1   p\        \        T\        TP                  4      R 7        Rp?R# Rp?ii ; i©©ÚargsN)ro   r   r(   r   Ú
IndexErrorr   rC   r¦   )rY   rx   r¢   Úindexr’   s   &&&  r    Úsq_item_implÚConstantVariable.sq_item_implÂ   s[   € ð ×&Ñ&Ó(ˆð	HÜ#×*Ñ*¨4¯:©:°eÕ+<Ó=Ð=øÜô 	HÜ$¤Z°¼$¸q¿v¹v»,×GÓGûð	Hús   ’%8 ¸A3Á%A.Á.A3c               ó    € V ^8„  d   QhRRRR/# )r   ÚobjÚobjectr   r,   r   )r   s   "r    r!   r"   Ð   s   € ÷ 2ñ 2˜Vð 2¨ñ 2r$   c                	ó&   € \        V 4      \        9   # r&   )rI   r   )r¬   s   &r    rU   Ú ConstantVariable.is_base_literalÏ   s   € ä�C‹yÔ1Ñ1Ð1r$   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r¬   r­   Úcachezdict[int, object] | Noner   r,   r   )r   s   "r    r!   r"   Ô   s"   € ÷ 	5ñ 	5˜ð 	5Ð'?ð 	5È4ñ 	5r$   c                	óT  a€ Sf   / o\        V 4      S9   d   R# \        V 4      \        \        \        \
        \        P                  39   dI   V S\        V 4      &   \        ;QJ d    V3R lV  4       F  '       d   K   R# 	  R# ! V3R lV  4       4      # \        P                  V 4      # )NTc              3  óP   <"  € T F  p\         P                  VS4      x € K  	  R # 5ir&   )r   Ú
is_literal)Ú.0rJ   r±   s   & €r    Ú	<genexpr>Ú.ConstantVariable.is_literal.<locals>.<genexpr>Ü   s"   øé € ÐJÁcÀÔ'×2Ñ2°1°e×<Ð<Ãcùs   ƒ#&F)ÚidrI   rC   rD   r:   r<   ÚtorchÚSizeÚallr   rU   )r¬   r±   s   &fr    r´   ÚConstantVariable.is_literalÓ   s~   ø€ àŠ=ØˆEÜˆc‹7�eÔáÜ�‹9œœu¤c¬9´e·j±jÐAÔAØ ˆE”"�S“'‰Nß“3ÔJÁcÓJ—3”3ÐJ’3ÐJ�3ÔJÁcÓJÓJÐJÜ×/Ñ/°Ó4Ð4r$   c               ó    € V ^8„  d   QhRRRR/# )r   rx   z InstructionTranslatorBase | Noner   rŽ   r   )r   s   "r    r!   r"   ß   s   € ÷ -ñ -Ø2ð-à	ñ-r$   c                	ó¨   €  V P                  4        Uu. uF  p\        P                  V4      NK  	  up# u upi   \         d   p\        ThR p?ii ; ir&   )ro   r   r(   r�   r‘   )rY   rx   rJ   r’   s   &&  r    Úunpack_var_sequenceÚ$ConstantVariable.unpack_var_sequenceß   sN   € ð	-Ø8<×8OÑ8OÔ8QÓRÑ8Q°1Ô$×+Ñ+¨AÖ.Ñ8QÑRÐRùÒRøÜô 	-Ü%¨1Ð,ûð	-ús!   ‚: ”5²: µ: ºAÁAÁAc               ó    € V ^8„  d   QhRRRR/# ©r   rx   r   r   ztuple[int, bool]r   )r   s   "r    r!   r"   ç   s   € ÷ 'ñ 'Ð5ð 'Ð:Jñ 'r$   c                ó0   € \        V P                  4      R3# )zADynamo tracing rule for long_hash, float_hash, unicode_hash, etc.F©Úhashr   r{   s   &&r    Ú	hash_implÚConstantVariable.hash_implç   s   € ä�D—J‘JÓ Ð&Ð&r$   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©r   rx   r   Úotherr   Úopre   r   r   )r   s   "r    r!   r"   ë   s2   € ÷ Eñ EØ+ðEØ4CðEØILðEà	ñEr$   c                	ó    € ^RI Hp V! WW#4      # )r–   )Ú python_constant_richcompare_impl)r›   rÍ   )rY   rx   rÊ   rË   rÍ   s   &&&& r    Útp_richcompare_implÚ$ConstantVariable.tp_richcompare_implë   s   € õ 	Fá/°¸%ÓDÐDr$   c               ó    € V ^8„  d   QhRRRR/# rw   r   )r   s   "r    r!   r"   ò   s   € ÷ 8ñ 8Ð7ð 8¸Oñ 8r$   c                	óR   € \         P                  \        V P                  4      4      # r&   )r   r(   re   r   r{   s   &&r    Útp_str_implÚConstantVariable.tp_str_implò   s   € Ü×&Ñ&¤s¨4¯:©:£Ó7Ð7r$   c               ó    € V ^8„  d   QhRRRR/# rw   r   )r   s   "r    r!   r"   õ   s   € ÷ Eñ EÐ4ð E¸ñ Er$   c                óÚ   €  \         P                  \        V P                  4      4      #   \         d6   p\        \        T4      T\        TP                  4      R7        Rp?R# Rp?ii ; i)z9Generic len for any constant value (sequence or mapping).r¥   N)	r   r(   Úlenr   r�   r   rI   rC   r¦   ©rY   rx   r’   s   && r    Úlen_implÚConstantVariable.len_implõ   sN   € ð	EÜ#×*Ñ*¬3¨t¯z©z«?Ó;Ð;øÜô 	EÜ$¤T¨!£W¨b´t¸A¿F¹F³|×DÓDûð	Eús   ‚'* ªA*µ*A%Á%A*c               ó    € V ^8„  d   QhRRRR/# rw   r   )r   s   "r    r!   r"   ü   ó   € ÷ !ñ !Ð!:ð !¸ñ !r$   c                ó$   € V P                  V4      # )z6Sequence length - delegates to len_impl for constants.©rØ   r{   s   &&r    Úsq_length_implÚConstantVariable.sq_length_implü   ó   € à�}‰}˜RÓ Ð r$   c               ó    € V ^8„  d   QhRRRR/# rw   r   )r   s   "r    r!   r"      rÛ   r$   c                ó$   € V P                  V4      # )z5Mapping length - delegates to len_impl for constants.rÝ   r{   s   &&r    Úmp_length_implÚConstantVariable.mp_length_impl   rà   r$   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rx   r   Únamere   r   r   r   )r   s   "r    r!   r"     s$   € ÷ ñ Ø+ðØ36ðà	ñr$   c                	ó¼   € \        V P                  V4      '       g   \        \        W.R 7       \	        V P                  V4      p\        V4      '       d   \        hV# )r¥   )Úhasattrr   r   ÚAttributeErrorÚgetattrÚcallabler‘   )rY   rx   ræ   Úmembers   &&& r    Úconst_getattrÚConstantVariable.const_getattr  sG   € ô �t—z‘z 4×(Ò(Ü$¤^°R¸fÕEÜ˜Ÿ™ TÓ*ˆÜ�F×ÒÜ%Ð%Øˆr$   c               ó    € V ^8„  d   QhRRRR/# )r   rx   r   rX   r   r   )r   s   "r    r!   r"     s   € ÷ 2ñ 2Ð#<ð 2ÀOñ 2r$   c                ó:  <€ VP                  4       '       d5   VP                  4       p W0P                  9   p\        P	                  V4      # \        SV `-  W4      #   \
         d5   p\        \        T4      T\        TP                  4      R7        Rp?LIRp?ii ; i)z Sequence contains for constants.r¥   N)rt   ro   r   r   r(   r�   r   rI   rC   r¦   rS   Úsq_contains_impl)rY   rx   rX   ÚsearchÚresultr’   rZ   s   &&&   €r    rñ   Ú!ConstantVariable.sq_contains_impl  sˆ   ø€ à×"Ñ"×$Ò$Ø×,Ñ,Ó.ˆFðØ§:¡:Ñ-�Ü'×.Ñ.¨vÓ6Ð6ô ‰wÑ'¨Ó1Ð1øô ô Ü(Ü˜“GØÜ˜aŸf™f›÷ò ûðús   ©"A ÁBÁ&*BÂBc               ó    € V ^8„  d   QhRRRR/# rw   r   )r   s   "r    r!   r"     s   € ÷ (ñ (Ð8ð (¸_ñ (r$   c                	ó  <€ ^RI Hp \        V P                  \        4      '       dA    T! V P                   Uu. uF  p\
        P                  V4      NK  	  up\        4       R7      # \        SV `)  V4      # u upi   \         d     L!i ; i)r–   )ÚListIteratorVariable©Úmutation_type)rš   r÷   r9   r   r   r   r(   r   r‘   rS   Útp_iter_impl)rY   rx   r÷   ÚcrZ   s   &&  €r    rú   ÚConstantVariable.tp_iter_impl  s}   ø€ Ý/ä�d—j‘j¤(×+Ò+ðÙ+Ø9=¿ºÓD¹°AÔ%×,Ñ,¨QÖ/¹ÑDÜ"2Ó"4ôð ô ‰wÑ# BÓ'Ð'ùò Eøô 'ô Ùðús"   ©A< ¹A7ÁA< Á7A< Á<B
Â	B
c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r   rx   r   ræ   re   r¦   rŽ   r0   údict[str, VariableTracker]r   r   r   )r   s   "r    r!   r"   *  sC   € ÷ g;ñ g;à%ðg;ð ðg;ð $ð	g;ð
 +ðg;ð 
ñg;r$   c           
     	óÔ  <a€ ^RI Ho VR8X  dY   \        V P                  \        4      '       d9   \
        P                  ! \        P                  4      P                  VV .VOV4      # VR8X  d¾   \        V P                  \        4      '       dž   V'       g   \        V4      ^8w  d'   \        VVR\        V4       R\        V4       R24       \        W^ ,          4      p V Uu. uF  qfP                  4       NK  	  pp\        P                  V P                  P                  V4      4      # \&        ;QJ d    V3R lV 4       F  '       g   K   RM	  R	M! V3R lV 4       4      '       dI   \
        P                  P                  WP)                  4       V P                  4      P%                  WW44      #  V Uu. uF  qˆP                  4       NK  	  p	pVP+                  4        U
Uu/ uF  w  r«W«P                  4       bK  	  pp
pTR
8X  d   T P-                  T4      # \/        T P                  \        4      '       dp   T\        P0                  9   d[   \3        T P                  T4      p T! T	/ TB pTR9   d    \        P                  X\;        4       R7      # \        P                  X4      # \/        T P                  \<        \>        34      '       Ed]   \A        T P                  T4      '       Ed@   T'       g8   T'       g0    \        P                  \3        T P                  T4      ! 4       4      # \A        \J        T4      '       dê   \        T4      ^8X  dÚ   T^ ,          PM                  4       '       d½   T	^ ,          p\3        \J        T4      p\/        T\N        PP                  \N        PR                  \N        PT                  34      '       d>   TPV                  PY                  RTT P                  T3/ 4      pSP                  TTT4      #  \        P                  T! T P                  T4      4      # M¼\/        T P                  \Z        4      '       d9   TR8X  d2   \3        T P                  T4      p\        P                  T! T	/ TB 4      # \9        T P                  4      \\        J dH   T\\        P0                  9   d3   \3        T P                  T4      p \        P                  T! T	/ TB 4      # TR8X  dm   \        T4      ^8X  d]   T^ ,          PM                  4       '       d@    \        P                  \_        T P                  T^ ,          P                  4       4      4      # \"        ST `I  YY44      # u upi   \          d    \"        ST `I  YY44      u # i ; iu upi u upp
i   \          d    \"        ST `I  YY44      u # i ; i  \4         d!   p\7        \9        T4      T4        Rp?ELuRp?ii ; i  \B        \D        3 d6   p\7        \9        T4      T\G        TPH                  4      R7        Rp?EL Rp?ii ; i  \4         d6   p\7        \9        T4      T\G        TPH                  4      R7        Rp?EL‡Rp?ii ; i  \4         d!   p\7        \9        T4      T4        Rp?ELµRp?ii ; i  \4         d6   p\7        \9        T4      T\G        TPH                  4      R7        Rp?EL…Rp?ii ; i)r–   )ÚSymNodeVariabler   Újoinz1 args and 0 kwargsz
 args and z kwargsc              3  ó<   <"  € T F  p\        VS4      x € K  	  R # 5ir&   )r9   )rµ   rJ   r   s   & €r    r¶   Ú/ConstantVariable.call_method.<locals>.<genexpr>H  s   øé € Ð<±t°!Œz˜!˜_×-Ð-³tùs   ƒTFÚ__iter__Nrø   r¥   Úcall_functionÚdecodeÚ	__round__)ÚsplitÚrsplitÚ
splitlines)0Útensorr   r   r   re   r
   ÚBuiltinVariabler   r  rÖ   r   r   ro   r   r(   r  r‘   rS   Úcall_methodÚanyr`   rK   rú   r9   Ú__dict__rê   Ú	Exceptionr   rI   r   Úfloatr�   rè   ÚOverflowErrorÚ
ValueErrorrC   r¦   Úoperatorrt   r¹   ÚSymBoolÚSymFloatÚSymIntÚoutputÚcreate_proxyr™   ÚcomplexÚround)rY   rx   ræ   r¦   r0   Úarg_unpackedrJ   Ú	arg_constÚaÚ
const_argsÚkÚvÚconst_kwargsÚmethodró   r’   ÚexcÚ
add_targetrË   Úproxyr   rZ   s   &&&&&               @€r    r  ÚConstantVariable.call_method*  sb  ù€ õ 	,à�8Ô¤ t§z¡z´3× 7Ò 7Ü×,Ò,¬S¯Z©ZÓ8×FÑFØØ�˜�Øóð ð
 �VŒ^¤ t§z¡z´3× 7Ò 7ßœ˜T› aœÜ#ØØØ)Ü˜4“y�k ¬C°«K¨=¸Ð@ô	ô +¨2°A­wÓ7ˆLðCÙ=IÓJ¹\¸×1Ñ1Ö3¹\�	ÐJÜ'×.Ñ.¨t¯z©z¯©¸yÓ/IÓJÐJ÷ ‹3Ô<±tÓ<�3�3Š3Ô<±tÓ<×<Ò<ä×,Ñ,×3Ñ3Ø—M‘M“O T§Z¡Zóç‰k˜" DÓ1ð2ð	?Ù:>Ó?¹$°Q×.Ñ.Ö0¹$ˆJÐ?ØBHÇ,Á,Ä.ÔQÁ.¹$¸!˜A×3Ñ3Ó5Ò5Á.ˆLÑQð �:ÔØ×$Ñ$ RÓ(Ð(ä�d—j‘j¤#×&Ò&¨4´3·<±<Ô+?Ü˜TŸZ™Z¨Ó.ˆFð6Ù Ð<¨|Ñ<�ð
 Ð8Ô8Ü'×.Ñ.¨vÔEUÓEWÐ.ÓXÐXÜ#×*Ñ*¨6Ó2Ð2Ü˜Ÿ
™
¤U¬C L×1Ó1´g¸d¿j¹jÈ$×6OÓ6OßŸFðÜ+×2Ñ2´7¸4¿:¹:ÀtÔ3LÓ3NÓOÐOô œ $×'Ò'Ü˜“I ”NØ˜•G×.Ñ.×0Ò0à'¨�]�
ÜœX tÓ,�ÜØ¤§¡´·±ÄÇÁÐ M÷ò ð ŸI™I×2Ñ2Ø'¨¨d¯j©j¸*Ð-EÀró�Eð +×1Ñ1°"°e¸ZÓHÐHðQÜ/×6Ñ6±r¸$¿*¹*ÀjÓ7QÓRÐRøô ˜Ÿ
™
¤E×*Ò*¨t°xÔ/?Ü˜TŸZ™Z¨Ó.ˆFÜ#×*Ñ*©6°:Ð+NÀÑ+NÓOÐOÜ�$—*‘*Ó¤Ó(¨T´W×5EÑ5EÔ-EÜ˜TŸZ™Z¨Ó.ˆFð6Ü'×.Ñ.©v°zÐ/RÀ\Ñ/RÓSÐSð �;Ô¤3 t£9°¤>°d¸1µg×6PÑ6P×6RÒ6RðIÜ'×.Ñ.Ü˜$Ÿ*™* d¨1¥g×&@Ñ&@Ó&BÓCóð ô
 ‰wÑ" 2¨TÓ:Ð:ùò] Køä&ô CÜ‘wÑ*¨2°TÓBÒBðCüò @ùÛQøÜ"ô 	?Ü‘7Ñ& r°Ó>Ò>ð	?ûô ô 6Ü(¬¨a«°"×5Ò5ûð6ûô &¤zÐ2ô Ü,Ü˜S›	ØÜ! #§(¡(›^÷ó ûðûô0 %ô QÜ0´°a³¸"Ä4ÈÏÉÃ<×PÓPûðQûô ô 6Ü(¬¨a«°"×5Ò5ûð6ûô ô IÜ(¬¨a«°"¼4ÀÇÁ»<×HÓHûðIúsÌ   Ã U2 Ã$U-Ã</U2 Æ5V Æ9VÇV Ç&VÈV É(V? Ì -W- Ð%X6 ÓY9 Ô=Z' Õ-U2 Õ2VÖVÖV ÖV<Ö;V<Ö?W*×
W%×%W*×-X3×>*X.Ø.X3Ø6Y6Ù*Y1Ù1Y6Ù9Z$ÚZÚZ$Ú'['Ú2*["Û"['c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )r   rx   r   Útree_map_fnr   Úmap_fnr   ÚrestrŽ   Útree_map_kwargsrþ   r   r   )r   s   "r    r!   r"   “  sF   € ÷ 2
ñ 2
à%ð2
ð *ð2
ð  ð	2
ð
 $ð2
ð 4ð2
ð 
ñ2
r$   c           
     	óÐ  <€ V P                   fÂ   VP                  R4      pVe    \        VP                  4       4      pM.\        \        VRR 4      RR4      pVP                  R4      '       * pV'       d   VP                  W.VO/ 4      # V F0  p	V	P                  4       '       d   K  V P                  VVVVV4      u # 	  V P                  4       # \        V P                   \        \        \        \        \        \         \"        P$                  34      '       d   VP                  W.VO/ 4      # \&        S
V `Q  VVVVV4      #   \         d    T P                  TTTTT4      u # i ; i)NÚnone_is_leafÚfnÚ
__module__Ú Úoptree)r   r8   r,   ro   r‘   Ú_tree_map_fallbackrê   Ú
startswithr  r‹   Úcloner9   r�   r  r  re   r™   r¹   ÚdtyperS   Úcall_tree_map)rY   rx   r)  r*  r+  r,  Únone_is_leaf_varr.  Útree_map_modulerÊ   rZ   s   &&&&&&    €r    r7  ÚConstantVariable.call_tree_map“  sf  ø€ ð �:‰:ÒØ.×2Ñ2°>ÓBÐØÒ+ð	Ü#'Ð(8×(KÑ(KÓ(MÓ#N‘Lô #*Ü˜K¨¨tÓ4°lÀBó#�ð $3×#=Ñ#=¸hÓ#GÔG�ßØ×+Ñ+¨B°¸°¸rÓBÐBã!�EØ ×1Ñ1×3Ô3Ø#×6Ñ6ØØ'Ø"Ø Ø+ó ò ñ "ð —z‘z“|Ð#Ü�d—j‘j¤3¬¬t´W¼cÄ5Ì%Ï+É+Ð"V×WÒWØ×'Ñ'¨¨M°D¨M¸2Ó>Ð>Ü‰wÑ$ØØØØØó
ð 	
øô? +ô Ø×2Ñ2ØØ#ØØØ'óò ðús   ¦E Å E%Å$E%c               ó   € V ^8„  d   QhRR/# rd   r   )r   s   "r    r!   r"   Ç  s   € ÷  ñ  ¨Sñ  r$   c                	ó,   € \        V P                  4      # r&   )ri   r   ©rY   Úcodegens   &&r    Úreconstruct_pycodeÚ#ConstantVariable.reconstruct_pycodeÇ  s   € Ü�D—J‘JÓÐr$   c               ó    € V ^8„  d   QhRRRR/# )r   rx   r   r   ú
int | Noner   )r   s   "r    r!   r"   Ê  s   € ÷ "ñ "Ð2ð "°zñ "r$   c                	ó¨   <€ V P                   e!   V P                   RJ g   V P                   RJ d   \        V P                   4      # \        SV `  V4      # )NTF)r   r¸   rS   Úget_id)rY   rx   rZ   s   &&€r    rD  ÚConstantVariable.get_idÊ  sB   ø€ à�:‰:Ò §¡¨tÓ!3°t·z±zÀUÓ7JÜ�d—j‘j“>Ð!ô
 ‰w‰~˜bÓ!Ð!r$   c               ó   € V ^8„  d   QhRR/# )r   r   r­   r   )r   s   "r    r!   r"   Ô  s   € ÷ ñ ¨fñ r$   c                	ó   € V P                   # r&   r'   r_   s   &r    Úget_real_python_backed_valueÚ-ConstantVariable.get_real_python_backed_valueÔ  rb   r$   c               ó    € V ^8„  d   QhRRRR/# rw   r   )r   s   "r    r!   r"   ×  s   € ÷ 
)ñ 
)à%ð
)ð 
ñ
)r$   c                	óÖ   <€ ^RI Hp V! \        V P                  4      4      '       d4   \        P                  \        P                  ! V P                  4      4      # \        SV `%  V4      # )r–   )Útype_implements_nb_index)
r›   rL  rI   r   r   r(   r  r¨   rS   rœ   )rY   rx   rL  rZ   s   && €r    rœ   ÚConstantVariable.nb_index_impl×  sJ   ø€ õ 	>á#¤D¨¯©Ó$4×5Ò5Ü#×*Ñ*¬8¯>ª>¸$¿*¹*Ó+EÓFÐFÜ‰wÑ$ RÓ(Ð(r$   c               ó    € V ^8„  d   QhRRRR/# rw   r   )r   s   "r    r!   r"   ã  s   € ÷ 8ñ 8à%ð8ð 
ñ8r$   c                	óR   € \         P                  \        V P                  4      4      # r&   )r   r(   r�   r   r{   s   &&r    Únb_int_implÚConstantVariable.nb_int_implã  s   € ô  ×&Ñ&¤s¨4¯:©:£Ó7Ð7r$   c               ó    € V ^8„  d   QhRRRR/# rw   r   )r   s   "r    r!   r"   ì  s   € ÷ :ñ :à%ð:ð 
ñ:r$   c                	óR   € \         P                  \        V P                  4      4      # r&   )r   r(   r  r   r{   s   &&r    Únb_float_implÚConstantVariable.nb_float_implì  s   € ô  ×&Ñ&¤u¨T¯Z©ZÓ'8Ó9Ð9r$   c               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R/# )r   rx   r   rÊ   r   rË   r   Ú
type_checkÚreverser,   r   r   )r   s   "r    r!   r"   õ  sF   € ÷ 1ñ 1à%ð1ð ð1ð ð	1ð
 ð1ð ð1ð 
ñ1r$   c                	óP  € V! \        V P                  4      4      '       g   \        P                  \        4      # VP                  4       '       g   \        P                  \        4      # V'       d   W 3MW3w  rgVP                  4       VP                  4       r˜ V! W‰4      p
X
\        J d   \        P                  \        4      # \        P                  ! W4      #   \        \        \        3 d5   p\        \        T4      T\        TP                  4      R 7        Rp?L~Rp?ii ; ir¤   )rI   r   r   r(   ÚNotImplementedrt   ro   r�   r  r  r   rC   r¦   r   Úbuild)rY   rx   rÊ   rË   rW  rX  Úself_Úother_r!  Úwró   r’   s   &&&&&&      r    Ú_nb_binary_implÚ ConstantVariable._nb_binary_implõ  sâ   € ñ œ$˜tŸz™zÓ*×+Ò+Ü#×*Ñ*¬>Ó:Ð:Ø×'Ñ'×)Ò)Ü#×*Ñ*¬>Ó:Ð:ß)0˜™°t°m‰ˆØ×'Ñ'Ó)¨6×+DÑ+DÓ+Fˆ1ð	EÙ˜“XˆFð ”^Ó#Ü#×*Ñ*¬>Ó:Ð:Ü×$Ò$ RÓ0Ð0øô	 œ:¤}Ð5ô 	EÜ$¤T¨!£W¨b´t¸A¿F¹F³|×DÒDûð	Eús   ÂC ÃD%Ã1*D Ä D%c               ó(   € V ^8„  d   QhRRRRRRRR/# ©r   rx   r   rÊ   r   rX  r,   r   r   )r   s   "r    r!   r"     ó2   € ÷ 
ñ 
à%ð
ð ð
ð ð	
ð
 
ñ
r$   c                	óP   € ^RI Hp V P                  W\        P                  WC4      # )r–   )Útype_implements_nb_lshift)r›   re  r_  r  Úlshift)rY   rx   rÊ   rX  re  s   &&&& r    Únb_lshift_implÚConstantVariable.nb_lshift_impl  ó&   € õ 	?à×#Ñ#Ø”x—‘Ð(Aó
ð 	
r$   c               ó(   € V ^8„  d   QhRRRRRRRR/# rb  r   )r   s   "r    r!   r"     rc  r$   c                	óP   € ^RI Hp V P                  W\        P                  WC4      # )r–   )Útype_implements_nb_rshift)r›   rl  r_  r  Úrshift)rY   rx   rÊ   rX  rl  s   &&&& r    Únb_rshift_implÚConstantVariable.nb_rshift_impl  ri  r$   c               ó(   € V ^8„  d   QhRRRRRRRR/# rb  r   )r   s   "r    r!   r"   +  ó8   € ÷ Eñ Eà%ðEð ðEð ð	Eð
 
ñEr$   c                	ó  € \        V P                  \        \        34      '       g   \        P                  \        4      # VP                  4       '       g   \        P                  \        4      # V'       d   W 3MW3w  rEVP                  4       VP                  4       rv \        P                  ! WV,          4      #   \        \        \        \        3 d6   p\        \!        T4      T\#        TP$                  4      R 7        Rp?R# Rp?ii ; ir¤   )r9   r   r�   r  r   r(   rZ  rt   ro   r   r[  r�   r  ÚZeroDivisionErrorr  r   rI   rC   r¦   ©	rY   rx   rÊ   rX  r\  r]  r!  r^  r’   s	   &&&&     r    Únb_floor_divide_implÚ%ConstantVariable.nb_floor_divide_impl+  sÄ   € ô ˜$Ÿ*™*¤s¬E l×3Ò3Ü#×*Ñ*¬>Ó:Ð:Ø×'Ñ'×)Ò)Ü#×*Ñ*¬>Ó:Ð:ß)0˜™°t°m‰ˆØ×'Ñ'Ó)¨6×+DÑ+DÓ+Fˆ1ð	EÜ"×(Ò(¨°!­VÓ4Ð4øÜœ:Ô'8¼-ÐHô 	EÜ$¤T¨!£W¨b´t¸A¿F¹F³|×DÓDûð	Eús   ÂB< Â<DÃ*DÄDc               ó(   € V ^8„  d   QhRRRRRRRR/# rb  r   )r   s   "r    r!   r"   @  rq  r$   c                	ó(  € \        V P                  \        \        \        34      '       g   \
        P                  \        4      # VP                  4       '       g   \
        P                  \        4      # V'       d   W 3MW3w  rEVP                  4       VP                  4       rv \        P                  ! WV,          4      #   \        \        \        \        3 d6   p\!        \#        T4      T\%        TP&                  4      R 7        Rp?R# Rp?ii ; ir¤   )r9   r   r�   r  r  r   r(   rZ  rt   ro   r   r[  r�   r  rs  r  r   rI   rC   r¦   rt  s	   &&&&     r    Únb_true_divide_implÚ$ConstantVariable.nb_true_divide_impl@  sÇ   € ô ˜$Ÿ*™*¤s¬E´7Ð&;×<Ò<Ü#×*Ñ*¬>Ó:Ð:Ø×'Ñ'×)Ò)Ü#×*Ñ*¬>Ó:Ð:ß)0˜™°t°m‰ˆØ×'Ñ'Ó)¨6×+DÑ+DÓ+Fˆ1ð	EÜ"×(Ò(¨°­UÓ3Ð3øÜœ:Ô'8¼-ÐHô 	EÜ$¤T¨!£W¨b´t¸A¿F¹F³|×DÓDûð	Eús   Â$C ÃDÃ*DÄDc               ó(   € V ^8„  d   QhRRRRRRRR/# rb  r   )r   s   "r    r!   r"   U  s8   € ÷ Eñ Eà%ðEð ðEð ð	Eð
 
ñEr$   c                	ó<  € \        V P                  \        \        \        \
        \        34      '       g   \        P                  \        4      # VP                  4       '       g   \        P                  \        4      # V'       d   W 3MW3w  rEVP                  4       VP                  4       rv \        P                  ! WV,          4      #   \        \        \         \"        3 d6   p\%        \'        T4      T\)        TP*                  4      R 7        Rp?R# Rp?ii ; ir¤   )r9   r   r�   r  re   r™   Ú	bytearrayr   r(   rZ  rt   ro   r   r[  r�   r  rs  r  r   rI   rC   r¦   rt  s	   &&&&     r    Únb_remainder_implÚ"ConstantVariable.nb_remainder_implU  sË   € ô ˜$Ÿ*™*¤s¬E´3¼¼yÐ&I×JÒJÜ#×*Ñ*¬>Ó:Ð:Ø×'Ñ'×)Ò)Ü#×*Ñ*¬>Ó:Ð:ß)0˜™°t°m‰ˆØ×'Ñ'Ó)¨6×+DÑ+DÓ+Fˆ1ð	EÜ"×(Ò(¨°­UÓ3Ð3øÜœ:Ô'8¼-ÐHô 	EÜ$¤T¨!£W¨b´t¸A¿F¹F³|×DÓDûð	Eús   Â.C ÃDÃ&*DÄDc               ó(   € V ^8„  d   QhRRRRRRRR/# rb  r   )r   s   "r    r!   r"   k  rq  r$   c                	ó$  € \        V P                  \        \        34      '       g   \        P                  \        4      # VP                  4       '       g   \        P                  \        4      # V'       d   W 3MW3w  rEVP                  4       VP                  4       rv \        P                  ! V\        Wg4      4      #   \        \        \        \        3 d6   p\!        \#        T4      T\%        TP&                  4      R 7        Rp?R# Rp?ii ; ir¤   )r9   r   r�   r  r   r(   rZ  rt   ro   r   r[  Údivmodr�   r  rs  r  r   rI   rC   r¦   rt  s	   &&&&     r    Únb_divmod_implÚConstantVariable.nb_divmod_implk  sÆ   € ô ˜$Ÿ*™*¤s¬E l×3Ò3Ü#×*Ñ*¬>Ó:Ð:Ø×'Ñ'×)Ò)Ü#×*Ñ*¬>Ó:Ð:ß)0˜™°t°m‰ˆØ×'Ñ'Ó)¨6×+DÑ+DÓ+Fˆ1ð	EÜ"×(Ò(¨¬V°A«\Ó:Ð:øÜœ:Ô'8¼-ÐHô 	EÜ$¤T¨!£W¨b´t¸A¿F¹F³|×DÓDûð	Eús   ÂB? Â?DÃ*D
Ä
Dc               ó(   € V ^8„  d   QhRRRRRRRR/# rb  r   )r   s   "r    r!   r"   €  s2   € ÷ 
ñ 
à%ð
ð ð
ð ð	
ð
 
ñ
r$   c                	óP   € ^RI Hp V P                  W\        P                  WC4      # )r–   )Útype_implements_nb_or)r›   r‡  r_  r  Úor_)rY   rx   rÊ   rX  r‡  s   &&&& r    Ú
nb_or_implÚConstantVariable.nb_or_impl€  s&   € õ 	;à×#Ñ#Ø”x—|‘|Ð%:ó
ð 	
r$   c               ó(   € V ^8„  d   QhRRRRRRRR/# rb  r   )r   s   "r    r!   r"   ‘  ó2   € ÷ 
ñ 
à%ð
ð ð
ð ð	
ð
 
ñ
r$   c                	óP   € ^RI Hp V P                  W\        P                  WC4      # )r–   )Útype_implements_nb_subtract)r›   rŽ  r_  r  Úsub)rY   rx   rÊ   rX  rŽ  s   &&&& r    Únb_subtract_implÚ!ConstantVariable.nb_subtract_impl‘  s'   € õ 	Aà×#Ñ#Ø”x—|‘|Ð%@ó
ð 	
r$   c               ó(   € V ^8„  d   QhRRRRRRRR/# rb  r   )r   s   "r    r!   r"   ¡  s2   € ÷ 
ñ 
à%ð
ð ð
ð ð	
ð
 
ñ
r$   c                	óB  € ^RI Hp VP                  4       '       g   \        P	                  \
        4      # VP                  4       p\        V\        \        \        34      '       g   \        P	                  \
        4      # V P                  W\        P                  WC4      # )r–   )Útype_implements_nb_multiply)r›   r”  rt   r   r(   rZ  ro   r9   r�   r  r  r_  r  Úmul)rY   rx   rÊ   rX  r”  Ú	other_vals   &&&&  r    Únb_multiply_implÚ!ConstantVariable.nb_multiply_impl¡  s|   € õ 	Aà×'Ñ'×)Ò)Ü#×*Ñ*¬>Ó:Ð:Ø×,Ñ,Ó.ˆ	ô ˜)¤c¬5´'Ð%:×;Ò;Ü#×*Ñ*¬>Ó:Ð:Ø×#Ñ#Ø”x—|‘|Ð%@ó
ð 	
r$   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rx   r   Úcountr   r   r   )r   s   "r    r!   r"   ½  s-   € ÷ Eñ Eà%ðEð ðEð 
ñ	Er$   c                	ód  € \        V P                  \        \        34      '       g   \	        R 4      hVP                  4       p \        P                  V P                  V,          4      #   \        \        3 d6   p\        \        T4      T\        TP                  4      R7        Rp?R# Rp?ii ; i)z'Expected str or bytes in sq_repeat_implr¥   N)r9   r   re   r™   rV   ro   r   r(   ÚMemoryErrorr  r   rI   rC   r¦   )rY   rx   rš  Únr’   s   &&&  r    Úsq_repeat_implÚConstantVariable.sq_repeat_impl½  s„   € ô ˜$Ÿ*™*¤s¬E l×3Ò3Ü Ð!JÓKÐKØ×$Ñ$Ó&ˆð	EÜ#×*Ñ*¨4¯:©:¸­>Ó:Ð:øÜœ]Ð+ô 	EÜ$¤T¨!£W¨b´t¸A¿F¹F³|×DÓDûð	Eús   Á%A) Á)B/Á:*B*Â*B/c               ó(   € V ^8„  d   QhRRRRRRRR/# rb  r   )r   s   "r    r!   r"   Ï  rŒ  r$   c                	óP   € ^RI Hp V P                  W\        P                  WC4      # )r–   )Útype_implements_nb_and)r›   r¢  r_  r  Úand_)rY   rx   rÊ   rX  r¢  s   &&&& r    Únb_and_implÚConstantVariable.nb_and_implÏ  s&   € õ 	<à×#Ñ#Ø”x—}‘}Ð&<ó
ð 	
r$   c               ó(   € V ^8„  d   QhRRRRRRRR/# rb  r   )r   s   "r    r!   r"   ß  rŒ  r$   c                	óP   € ^RI Hp V P                  W\        P                  WC4      # )r–   )Útype_implements_nb_xor)r›   r¨  r_  r  Úxor)rY   rx   rÊ   rX  r¨  s   &&&& r    Únb_xor_implÚConstantVariable.nb_xor_implß  ó&   € õ 	<à×#Ñ#Ø”x—|‘|Ð%;ó
ð 	
r$   c               ó    € V ^8„  d   QhRRRR/# rw   r   )r   s   "r    r!   r"   ï  ó   € ÷ 4ñ 4à%ð4ð 
ñ4r$   c                	óB   € \         P                  V P                  ) 4      # r&   ©r   r(   r   r{   s   &&r    Únb_negative_implÚ!ConstantVariable.nb_negative_implï  ó   € ô  ×&Ñ&¨¯
©
 {Ó3Ð3r$   c               ó    € V ^8„  d   QhRRRR/# rw   r   )r   s   "r    r!   r"   ù  r®  r$   c                	óB   € \         P                  V P                  54      # r&   r°  r{   s   &&r    Únb_positive_implÚ!ConstantVariable.nb_positive_implù  r³  r$   c               ó(   € V ^8„  d   QhRRRRRRRR/# rb  r   )r   s   "r    r!   r"     rŒ  r$   c                	óP   € ^RI Hp V P                  W\        P                  WC4      # )r–   )Útype_implements_nb_add)r›   rº  r_  r  Úadd)rY   rx   rÊ   rX  rº  s   &&&& r    Únb_add_implÚConstantVariable.nb_add_impl  r¬  r$   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R/# )
r   rx   r   rÊ   r   ÚzzVariableTracker | NonerX  r,   r   r   )r   s   "r    r!   r"     sC   € ÷ Eñ Eà%ðEð ðEð "ð	Eð
 ðEð 
ñEr$   c                	ó  € Ve   VP                  4       pVP                  4       '       g   \        P                  \        4      # V'       d   W 3MW3w  rVVP                  4       VP                  4       r‡ \
        P                  ! V\        WxV4      4      #   \         d    \        P                  \        4      u # \        \        \        3 d6   p	\        \        T	4      T\        T	P                  4      R7        R p	?	R # R p	?	ii ; i©Nr¥   )ro   rt   r   r(   rZ  r   r[  Úpowr�   r  rs  r  r   rI   rC   r¦   )
rY   rx   rÊ   r¿  rX  r\  r]  r!  r^  r’   s
   &&&&&     r    Únb_power_implÚConstantVariable.nb_power_impl  sÐ   € ð Š=Ø×$Ñ$Ó&ˆAà×'Ñ'×)Ò)Ü#×*Ñ*¬>Ó:Ð:ç)0˜™°t°m‰ˆà×$Ñ$Ó&Ø×%Ñ%Ó'ð ð
	EÜ"×(Ò(¨¬S°°q«\Ó:Ð:øÜô 	;Ü#×*Ñ*¬>Ó:Ò:ÜÔ-¬}Ð=ô 	EÜ$¤T¨!£W¨b´t¸A¿F¹F³|×DÓDûð	Eús$   Á4 B Â$DÂ;DÃDÃ*D Ä Dc               ó(   € V ^8„  d   QhRRRRRRRR/# )r   rx   r   r!  r   r^  r   r   )r   s   "r    r!   r"   2  s8   € ÷ Eñ Eà%ðEð ðEð ð	Eð
 
ñEr$   c                	óÄ  € \        V P                  \        4      '       g   \        P	                  \
        4      # VP                  4       '       d   VP                  4       '       g   \        P	                  \
        4      # VP                  4       VP                  4       rT\        V\        4      '       d   \        V\        4      '       g   \        P	                  \
        4      #  \        P                  ! V\        WEV P                  4      4      #   \        \        \        \        3 d6   p\        \!        T4      T\#        TP$                  4      R 7        Rp?R# Rp?ii ; ir¤   )r9   r   r�   r   r(   rZ  rt   ro   r   r[  rÂ  r�   r  rs  r  r   rI   rC   r¦   )rY   rx   r!  r^  Úv_valÚw_valr’   s   &&&&   r    Únb_power_z_implÚ ConstantVariable.nb_power_z_impl2  sò   € ô ˜$Ÿ*™*¤c×*Ò*Ü#×*Ñ*¬>Ó:Ð:Ø×#Ñ#×%Ò%¨Q×-AÑ-A×-CÒ-CÜ#×*Ñ*¬>Ó:Ð:Ø×+Ñ+Ó-¨q×/CÑ/CÓ/EˆuÜ˜%¤×%Ò%¬Z¸¼s×-CÒ-CÜ#×*Ñ*¬>Ó:Ð:ð	EÜ"×(Ò(¨¬S°¸t¿z¹zÓ-JÓKÐKøÜœ:Ô'8¼-ÐHô 	EÜ$¤T¨!£W¨b´t¸A¿F¹F³|×DÓDûð	Eús   Ã$*D ÄEÄ**EÅEc               ó    € V ^8„  d   QhRRRR/# rw   r   )r   s   "r    r!   r"   D  s"   € ÷ Kñ Kà%ðKð 
ñKr$   c                	óÐ   €  \         P                  \        V P                  4      4      #   \         d1   p\        \        T\        TP                  4      R 7        Rp?R# Rp?ii ; ir¤   )r   r(   Úabsr   r  r   rC   r¦   r×   s   && r    Únb_absolute_implÚ!ConstantVariable.nb_absolute_implD  sJ   € ð	KÜ#×*Ñ*¬3¨t¯z©z«?Ó;Ð;øÜô 	KÜ$¤]°B¼TÀ!Ç&Á&»\×JÓJûð	Kús   ‚'* ªA%µ%A Á A%c               ó    € V ^8„  d   QhRRRR/# rw   r   )r   s   "r    r!   r"   S  s   € ÷ 4ñ 4à%ð4ð 
ñ4r$   c                	óB   € \         P                  V P                  ( 4      # r&   r°  r{   s   &&r    Únb_invert_implÚConstantVariable.nb_invert_implS  s   € ô  ×&Ñ&¨¯
©
 {Ó3Ð3r$   r'   r&   ©F)Grh   r0  Ú__qualname__Ú__firstlineno__Ú__doc__r�   r  re   r™   r,   rI   r  Ú_cpython_typer   Ústaticmethodr(   rT   r`   rj   ro   rt   r|   r‚   r‡   r‹   ÚpropertyrK   rŸ   r©   rU   r´   r¿   rÆ   rÎ   rÒ   rØ   rÞ   rã   rí   rñ   rú   r  r7  r?  rD  rH  rœ   rP  rT  r_  rg  rn  ru  ry  r~  rƒ  r‰  r�  r—  rž  r¤  rª  r±  r¶  r¼  rÃ  rÉ  rÎ  rÒ  Ú__static_attributes__Ú__classcell__©rZ   s   @r    r   r   %   sæ  ø† ñð ˜%  e¨T±4¸³:¸wÉÈSË	ÐR€MàØÜ4ó ó à4àØÜ4ó ó à4àØÜAó ó àAàô/1ó ð/1÷bð õ"õTõõõ9õ3õ$õ"ð ô-ó ð-õ
õ2Hð ô2ó ð2ð ö	5ó ð	5õ-õ'õEõ8õEõ!õ!õ÷2ð 2÷(ð (÷g;ð g;÷R2
ð 2
õh ÷"ð "õ÷
)ð 
)õ8õ:õ1÷4
÷
÷E÷*E÷*E÷,E÷*
÷"
÷ 
õ8E÷$
÷ 
õ 4õ4÷
÷ Eõ>Eõ$K÷4ó 4r$   r   TFc                  ó   € ] tR tRtRtRtRtR# )ÚFakeValueKindib  r¸   rÅ   r   N)rh   r0  rÕ  rÖ  ÚIDÚHASHrÛ  r   r$   r    rß  rß  b  s   † Ø	€BØ„Dr$   rß  c                  ód  a € ] tR tRtRt]tR0]P                  mtR]	P                  /R V 3R llltR R ltR R	 ltR
 R ltR R ltR R ltR R ltR R ltR R ltR)R ltR)R ltR)R ltR)R ltR)R ltR)R ltR)R ltR)R ltR)R ltR)R ltR  tR! tR" t R# t!R$ t"R% t#R& R' lt$R(t%V ;t&# )*ÚFakeIdVariableig  a»  A compile-time-only id or hash value that can be used as a dict key but
cannot be reconstructed across graph breaks.

When dynamo evaluates ``id(x)`` or ``hash(x)`` on a variable tracker that
has no corresponding runtime object, we mint a fake integer.  The ``kind``
field tracks which builtin produced the value so that same-kind comparisons
(e.g. ``id(a) != id(b)``) can be resolved at compile time while cross-kind
comparisons graph-break.
Úkindc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   r   r�   rä  rß  r0   r   r   r   r   )r   s   "r    r!   ÚFakeIdVariable.__annotate__z  s,   € ÷ ñ ØðØ#0ðØORðà	ñr$   c               	ó@   <€ \         SV `  ! R/ VB  Wn        W n        R # )Nr   )rS   rT   r   rä  )rY   r   rä  r0   rZ   s   &&$,€r    rT   ÚFakeIdVariable.__init__z  s   ø€ ô 	‰ÒÑ"˜6Ò"ØŒ
ØŽ	r$   c               ó   € V ^8„  d   QhRR/# )r   r   r�   r   )r   s   "r    r!   ræ  �  rm   r$   c                	ó   € V P                   # r&   r'   r_   s   &r    ro   Ú!FakeIdVariable.as_python_constant�  rb   r$   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r    r!   ræ  „  s   € ÷ ñ  Dñ r$   c                	ó   € R # rÔ  r   r_   s   &r    rt   Ú!FakeIdVariable.is_python_constant„  s   € Ùr$   c               ó   € V ^8„  d   QhRR/# )r   r   rI   r   )r   s   "r    r!   ræ  ‡  s   € ÷ ñ ˜Tñ r$   c                	ó   € \         # r&   )r�   r_   s   &r    Úpython_typeÚFakeIdVariable.python_type‡  s   € Üˆ
r$   c               ó    € V ^8„  d   QhRRRR/# rÂ   r   )r   s   "r    r!   ræ  Š  s   € ÷ &ñ &Ð5ð &Ð:Jñ &r$   c                	ó0   € \        V P                  4      R 3# rs   rÄ   r{   s   &&r    rÆ   ÚFakeIdVariable.hash_implŠ  s   € Ü�D—J‘JÓ Ð%Ð%r$   c               ó    € V ^8„  d   QhRRRR/# rw   r   )r   s   "r    r!   ræ  �  s   € ÷ 9ñ 9Ð8ð 9¸_ñ 9r$   c                	óR   € \         P                  \        V P                  4      4      # r&   rz   r{   s   &&r    r|   ÚFakeIdVariable.tp_repr_impl�  s   € ô
  ×&Ñ&¤t¨D¯J©JÓ'7Ó8Ð8r$   c               ó(   € V ^8„  d   QhRRRRRRRR/# rÉ   r   )r   s   "r    r!   ræ  ”  s,   € ÷ 
ñ 
Ø+ð
Ø4Cð
ØILð
à	ñ
r$   c                	óž  € \        V\        4      '       dq   V P                  VP                  8X  dV   VR	9   dO   VR 8X  d   V P                  VP                  8H  MV P                  VP                  8g  p\        P                  V4      # \        RRV P                   RV R\        V4      P                   2RR.\        P                  OR7       R# )
Ú__eq__z0Comparison on compile-time-only id or hash valuezFakeIdVariable(z) Ú zYCannot compare a compile-time-only id() or hash() value. The comparison will run eagerly.zbAvoid comparing id() or hash() of objects created inside the compiled region against other values.©Úgb_typeÚcontextÚexplanationÚhintsN)rû  Ú__ne__)r9   rã  rä  r   r   r(   r   rI   rh   r	   ÚSUPPORTABLE)rY   rx   rÊ   rË   ró   s   &&&& r    rÎ   Ú"FakeIdVariable.tp_richcompare_impl”  s¼   € ô �uœn×-Ò-Ø—	‘	˜UŸZ™ZÔ'ØÐ*Ô*ð ˜”>ð —‘˜uŸ{™{Ò*à—j‘j E§K¡KÑ/ð ô
 $×*Ñ*¨6Ó2Ð2ÜØFØ% d§j¡j \°°B°4°q¼¸e»×9MÑ9MÐ8NÐOð6ð<ðô #×.Ñ.ð÷
	
r$   c               ó    € V ^8„  d   QhRRRR/# )r   rÊ   r   r   rB  r   )r   s   "r    r!   ræ  ²  s   € ÷ ñ  /ð °jñ r$   c                	óÆ   € \        V\        4      '       d   VP                  # VP                  4       '       d)   VP	                  4       p\        V\
        4      '       d   V# R # r&   )r9   rã  r   rt   ro   r�   )rY   rÊ   Úvals   && r    Ú_operand_intÚFakeIdVariable._operand_int²  sK   € Ü�eœ^×,Ò,Ø—;‘;ÐØ×#Ñ#×%Ò%Ø×*Ñ*Ó,ˆCÜ˜#œs×#Ò#Ø�
Ùr$   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R/# )
r   rx   r   rÊ   r   rË   r   rX  r,   r   r   )r   s   "r    r!   ræ  »  s<   € ÷ &ñ &à%ð&ð ð&ð ð	&ð
 ð&ð 
ñ&r$   c                	ót  € V P                  V4      pVf   \        P                  \        4      # V'       d   WPP                  3MV P                  V3w  rg V! Wg4      p\        X4      #   \
        \        \        \        3 d5   p	\        \        T	4      T\        T	P                  4      R7        R p	?	LUR p	?	ii ; irÁ  )r  r   r(   rZ  r   r�   r  r  rs  r   rI   rC   r¦   rã  )
rY   rx   rÊ   rË   rX  r–  ÚlhsÚrhsró   r’   s
   &&&&&     r    r_  ÚFakeIdVariable._nb_binary_impl»  s›   € ð ×%Ñ% eÓ,ˆ	ØÒÜ#×*Ñ*¬>Ó:Ð:ß.5�IŸz™zÑ*¸D¿J¹JÈ	Ð;R‰ˆð	EÙ˜“\ˆFô ˜fÓ%Ð%øô œ:¤}Ô6GÐHô 	EÜ$¤T¨!£W¨b´t¸A¿F¹F³|×DÒDûð	Eús   ÁA( Á(B7Â*B2Â2B7c                	óD   € V P                  W\        P                  V4      # r&   )r_  r  r»  ©rY   rx   rÊ   rX  s   &&&&r    r¼  ÚFakeIdVariable.nb_add_implÌ  ó   € Ø×#Ñ# B¬x¯|©|¸WÓEÐEr$   c                	óD   € V P                  W\        P                  V4      # r&   )r_  r  r�  r  s   &&&&r    r�  ÚFakeIdVariable.nb_subtract_implÏ  r  r$   c                	óD   € V P                  W\        P                  V4      # r&   )r_  r  r•  r  s   &&&&r    r—  ÚFakeIdVariable.nb_multiply_implÒ  r  r$   c                	óD   € V P                  W\        P                  V4      # r&   )r_  r  Úfloordivr  s   &&&&r    ru  Ú#FakeIdVariable.nb_floor_divide_implÕ  s   € Ø×#Ñ# B¬x×/@Ñ/@À'ÓJÐJr$   c                	óD   € V P                  W\        P                  V4      # r&   )r_  r  Úmodr  s   &&&&r    r~  Ú FakeIdVariable.nb_remainder_implØ  r  r$   c                	óD   € V P                  W\        P                  V4      # r&   )r_  r  r£  r  s   &&&&r    r¤  ÚFakeIdVariable.nb_and_implÛ  s   € Ø×#Ñ# B¬x¯}©}¸gÓFÐFr$   c                	óD   € V P                  W\        P                  V4      # r&   )r_  r  rˆ  r  s   &&&&r    r‰  ÚFakeIdVariable.nb_or_implÞ  r  r$   c                	óD   € V P                  W\        P                  V4      # r&   )r_  r  r©  r  s   &&&&r    rª  ÚFakeIdVariable.nb_xor_implá  r  r$   c                	óD   € V P                  W\        P                  V4      # r&   )r_  r  rf  r  s   &&&&r    rg  ÚFakeIdVariable.nb_lshift_implä  ó   € Ø×#Ñ# B¬x¯©ÀÓHÐHr$   c                	óD   € V P                  W\        P                  V4      # r&   )r_  r  rm  r  s   &&&&r    rn  ÚFakeIdVariable.nb_rshift_implç  r%  r$   c                	ó.   € \        V P                  ) 4      # r&   ©rã  r   r{   s   &&r    r±  ÚFakeIdVariable.nb_negative_implê  ó   € Ü˜tŸz™z˜kÓ*Ð*r$   c                	ó.   € \        V P                  54      # r&   r)  r{   s   &&r    r¶  ÚFakeIdVariable.nb_positive_implí  r+  r$   c                	ó>   € \        \        V P                  4      4      # r&   )rã  rÍ  r   r{   s   &&r    rÎ  ÚFakeIdVariable.nb_absolute_implð  s   € Üœc $§*¡*›oÓ.Ð.r$   c                	ó.   € \        V P                  ( 4      # r&   r)  r{   s   &&r    rÒ  ÚFakeIdVariable.nb_invert_impló  r+  r$   c                	óV   € \        \        V P                  4      V P                  R 7      # ©)rä  )rã  r�   r   rä  r{   s   &&r    rP  ÚFakeIdVariable.nb_int_implö  s   € Üœc $§*¡*›o°D·I±IÔ>Ð>r$   c                	óD   € \        V P                  V P                  R 7      # r3  )rã  r   rä  r{   s   &&r    rœ   ÚFakeIdVariable.nb_index_implù  s   € Ü˜dŸj™j¨t¯y©yÔ9Ð9r$   c               ó    € V ^8„  d   QhRRRR/# )r   r>  r   r   r   r   )r   s   "r    r!   ræ  ü  s   € ÷ 
ñ 
 3ð 
¨4ñ 
r$   c                	óL   € \        R \        V P                  4      RR.R7       R# )z Reconstruction of FakeIdVariablezdA fake id produced by id() on a compile-time container cannot be reconstructed across a graph break.z<Avoid using id() on containers in code that may graph-break.rý  N)r   re   r   r=  s   &&r    ÚreconstructÚFakeIdVariable.reconstructü  s)   € ÜØ6Ü˜Ÿ
™
“Oð@ð Oð÷
	
r$   )rä  r   rÔ  )'rh   r0  rÕ  rÖ  r×  r�   rØ  r   Ú_nonvar_fieldsrß  rà  rT   ro   rt   rñ  rÆ   r|   rÎ   r  r_  r¼  r�  r—  ru  r~  r¤  r‰  rª  rg  rn  r±  r¶  rÎ  rÒ  rP  rœ   r9  rÛ  rÜ  rÝ  s   @r    rã  rã  g  sÍ   ø† ñð €Mð 	ðà	×	'Ñ	'ð€Nð
Ø3@×3CÑ3C÷ò õõõõ&õ9õ
õ<õ&ô"FôFôFôKôFôGôFôFôIôIò+ò+ò/ò+ò?ò:÷
ó 
r$   rã  )*r×  Ú
__future__r   Úenumr  Úcollections.abcr   Útypingr   r   r   r   r¹   Útorch._dynamo.sourcer   r1  r	   r
   r$  r   r   r   Úutilsr   r   r   r   r   Úbaser   r   Útorch._dynamo.symbolic_convertr   Ú	functionsr   r   r5   r6   r7   ÚEnumrß  rã  r   r$   r    Ú<module>rF     s—   ðñõ #ã Û Ý $ß 8Ó 8ã Ý .ç +ß KÑ K÷õ ÷ 4÷ ÝHå/ôu4�ô u4ñp *¨$Ó/Ð Ù)¨$Ó/Ð Ù*¨5Ó1Ð ô�D—I‘Iô ô
`
�_ö `
r$   