§
    ŠŠtj  ã                   ó–	  — U d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddlZddlmZmZ ddlmZmZmZ ddlmZmZmZ ddlZddlmZ ddlmZ ddlmZ d	d
lm Z m!Z!m"Z"m#Z# d	dl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z, d	dl-m.Z.m/Z/ d	dl0m1Z1 d	dl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8 d	dl9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZK ddlLmMZMmNZNmOZOmPZPmQZQ ddlRmSZSmTZT ddlUmVZVmWZWmXZXmYZY ddlZm[Z[ ddl\m]Z]m^Z^m_Z_m`Z`maZa ddlbmcZcmdZd ddlemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZy ddlzm{Z{m|Z| ddl}m~Z~mZm€Z€m�Z�m‚Z‚ ddlƒm„Z„m…Z…m†Z† erddl‡mˆZˆ ddl‰mŠZŠ  ej‹        eŒ¦  «        Z�e	jŽ        e	j�        e	j�        e	j‘        e	j’        e	j“        e	j”        e	j•        e	j–        e	j—        e	j˜        e	j™        e	jš        e	jš        e	j›        e	jœ        e	j�        e	jž        e	jŸ        e	j         e	j¡        e	j¢        e	j£        e	j¤        e	j¥        e	j¦        iZ§e¨ e©ddh¦  «        eª e©ddh¦  «        e« e©dd h¦  «        iZ¬e­e®e©e¯         f         e°d!<   e
j±        d"k    r e©d#h¦  «        e¬e²<   ed$ej        ej        geQdz  f         Z³e®eQ         e´e®eQ         d%f         z  Zµe	j¶        d&e	j·        d'e	j¸        d(e	j¹        d)e	jº        d*e	j»        d+iZ¼e­ed%ef         e¯f         e°d,<   e	j         e	j“        e	j½        e	j•        e	j—        e	j™        e	j�        e	j¸        e	jº        e	j»        e	j¹        e	j·        e	j¶        e	j‘        e	jŸ        e	j’        e	jš        e	j”        e	j–        e	j˜        e	jŽ        e	j�        fZ¾e	j¢        e	j¤        e	j¦        e	j¡        e	j¥        e	j£        fZ¿e	jÀ        fZÁe	jœ        e	jž        e	j›        e	j�        e	jÂ        fZÃe	jÄ        e	jÅ        e	jÆ        e	jÇ        e	jÈ        fZÉeWeXe|e…fZÊe´e®eQ         d%f         e°d-<   i aËe­ed%ef         ed%ef         f         e°d.<   i aÌe­ed%ef         ed%ef         f         e°d/<    eÍ¦   «         ZÎdDd1„ZÏ G d2„ d3eQ¦  «        ZÐ G d4„ d5eÐ¦  «        ZÑ G d6„ d7eÐ¦  «        ZÒ G d8„ d9eÐ¦  «        ZÓ G d:„ d;eÐ¦  «        ZÔ G d<„ d=eÐ¦  «        ZÕ G d>„ d?eÐ¦  «        ZÖ G d@„ dAeÐ¦  «        Z×ejØ        dBd$d0ejÙ        d         fdC„¦   «         ZÚdS )Ea\  
Built-in function and type variable tracking for TorchDynamo's symbolic execution.

This module contains variable tracker classes for Python built-in functions, types,
and operations during graph compilation. It handles symbolic execution of:

- Built-in functions (len, getattr, isinstance, etc.)
- Type constructors (int, float, str, list, dict, etc.)
- Built-in operators and methods
- Special Python constructs (super, hasattr, etc.)

Key classes:
- BuiltinVariable: Tracks built-in functions and handles their execution
- TypeVariable: Manages type constructor calls and type checking
- SuperVariable: Handles super() calls in class hierarchies

These variable trackers ensure that built-in Python operations are correctly
handled during symbolic execution, either by executing them directly when safe
or by creating appropriate graph nodes when needed.
é    N)ÚdefaultdictÚOrderedDict)ÚCallableÚIterableÚSequence)ÚAnyÚNoReturnÚTYPE_CHECKING)Úis_sparse_any)ÚBaseTorchFunctionMode)Úis_traceable_wrapper_subclassé   )ÚconfigÚgraph_break_hintsÚ	polyfillsÚ	variables)ÚObservedAttributeErrorÚObservedUserStopIterationÚraise_observed_exceptionÚraise_type_errorÚunimplementedÚUnsupportedÚ	UserErrorÚUserErrorType)ÚGuardBuilderÚinstall_guard)ÚDummyModule)Ú
AttrSourceÚGetItemSourceÚGlobalSourceÚis_constant_sourceÚSourceÚ
TypeSource)Úcheck_constant_argsÚcheck_numpy_ndarray_argsÚcheck_unspec_or_constant_argsÚcheck_unspec_python_argsÚdict_methodsÚextract_fake_example_valueÚget_fake_valueÚguard_if_dynÚis_tensor_getset_descriptorÚis_wrapper_or_member_descriptorÚistypeÚnumpy_operator_wrapperÚproxy_args_kwargsÚraise_args_mismatchÚspecialize_symnodeÚstr_methodsÚtensortype_to_dtypeÚunpack_iterableé   )Ú#AsPythonConstantNotImplementedErrorÚAttrMutationKindÚNO_SUCH_SUBOBJÚValueMutationNewÚVariableTracker)ÚConstantVariableÚFakeIdVariable)ÚConstDictVariableÚDictItemsVariableÚDictKeysVariableÚDictViewVariable©Úis_hashable)ÚBaseListVariableÚListIteratorVariableÚListVariableÚTupleIteratorVariableÚTupleVariable)ÚNullVariableÚStringFormatVariable)Ú
binary_iopÚ	binary_opÚgeneric_absÚgeneric_boolÚgeneric_floatÚgeneric_getiterÚgeneric_inplace_multiplyÚgeneric_intÚgeneric_lenÚgeneric_multiplyÚgeneric_negÚgeneric_posÚgeneric_reprÚgeneric_strÚmaybe_get_python_typeÚpysequence_checkÚvt_addÚ
vt_getitemÚvt_identity_compareÚvt_inplace_add)ÚFrozensetVariableÚSetVariable)ÚFakeItemVariableÚsupported_comparison_opsÚSymNodeVariableÚTensorVariableÚUnspecializedPythonVariable)Úis_data_descriptorÚUserDefinedObjectVariableÚUserDefinedVariable)Ú	PyCodegen)ÚInstructionTranslatorBaseÚ__new__Ú
from_bytesÚfromhexÚhexÚ"_BUILTIN_CONSTANT_FOLDABLE_METHODS©é   é   Úfrom_numberrj   .Ú__eq__Ú__ne__Ú__lt__Ú__le__Ú__gt__Ú__ge__Ú_OPERATOR_TO_DUNDERÚ_SET_LIKE_OP_SUPPORTÚBUILTIN_TO_TENSOR_FN_MAPÚBUILTIN_TO_TENSOR_RFN_MAPÚreturnc                  ó�  ‡‡‡	‡
‡— t          t          ¦  «        dk    rd S d Š G ˆfd„dt          ¦  «        } t          j        d¦  «        Št          j        d¦  «        Š	t          j        dt          j        ¬¦  «        Št          j        dt          j        ¬¦  «        Š
 | ¦   «         5  ˆfd„t          fˆfd„t          fˆˆ	fd„t          fˆˆ
fd	„t          fˆfd
„t          fg}|D ]3\  }}|D ]+} ||¦  «         ‰€t          d|› �¦  «        ‚‰t          |<   Œ,Œ4ˆ	fd„t          fˆ
fd„t          fˆfd„t          fg}t          j        t          j        t          j        h}|D ]I\  }}|D ]A}||v rŒ ||¦  «         ‰€t          d|› �¦  «        ‚‰t          |         k    r
‰t           |<   ŒBŒJ	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   c                   ól   •— e Zd ZdZ	 	 ddedef         dedee         deeef         dz  d	ef
ˆ fd
„Z	dS )ú8populate_builtin_to_tensor_fn_map.<locals>.GetMethodModezš
        Mode to extract the correct methods from torch function invocations
        (Used to get the correct torch.Tensor methods from builtins)
        © NÚfunc.ÚtypesÚargsÚkwargsr~   c                 ó    •— |pi }|Š ||i |¤ŽS ©Nr‚   )Úselfrƒ   r„   r…   r†   Úmost_recent_funcs        €ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/_dynamo/variables/builtin.pyÚ__torch_function__zKpopulate_builtin_to_tensor_fn_map.<locals>.GetMethodMode.__torch_function__  s)   ø€ ð �\˜rˆFà#ÐØ�4˜Ð( Ð(Ð(Ð(ó    )r‚   N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   ÚdictÚstrrŒ   )rŠ   s   €r‹   ÚGetMethodModer�     s”   ø€ € € € € ð	ð 	ð #%Ø,0ð
	)ð 
	)à˜3 ˜8Ô$ð
	)ð ð
	)ð ˜3”-ð	
	)ð
 ˜˜c˜”N TÑ)ð
	)ð ð
	)ð 
	)ð 
	)ð 
	)ð 
	)ð 
	)ð 
	)ð 
	)r�   r”   r6   )Údtypec                 ó   •—  | ‰¦  «        S rˆ   r‚   )ÚoÚinp0s    €r‹   ú<lambda>z3populate_builtin_to_tensor_fn_map.<locals>.<lambda>*  s   ø€ �q�q˜‘w”w€ r�   c                 ó   •—  | ‰¦  «        S rˆ   r‚   ©r—   Úinp0_ints    €r‹   r™   z3populate_builtin_to_tensor_fn_map.<locals>.<lambda>+  s   ø€ �q�q˜‘{”{€ r�   c                 ó   •—  | ‰‰¦  «        S rˆ   r‚   )r—   r˜   Úinp1s    €€r‹   r™   z3populate_builtin_to_tensor_fn_map.<locals>.<lambda>,  s   ø€ �q�q˜˜t‘}”}€ r�   c                 ó   •—  | ‰‰¦  «        S rˆ   r‚   )r—   rœ   Úinp1_ints    €€r‹   r™   z3populate_builtin_to_tensor_fn_map.<locals>.<lambda>-  s   ø€ �q�q˜ 8Ñ,Ô,€ r�   c                 ó   •—  | ‰d¦  «        S ©Nr   r‚   r›   s    €r‹   r™   z3populate_builtin_to_tensor_fn_map.<locals>.<lambda>.  s   ø€ �q�q˜ 1‘~”~€ r�   z,most_recent_func is None after setup for op c                 ó   •—  | d‰¦  «        S ©Nr6   r‚   )r—   rž   s    €r‹   r™   z3populate_builtin_to_tensor_fn_map.<locals>.<lambda><  s   ø€ ˜!˜!˜A˜t™*œ*€ r�   c                 ó   •—  | d‰¦  «        S r¤   r‚   )r—   r    s    €r‹   r™   z3populate_builtin_to_tensor_fn_map.<locals>.<lambda>?  ó   ø€ �q�q˜˜H‘~”~€ r�   c                 ó   •—  | d‰¦  «        S r¢   r‚   r›   s    €r‹   r™   z3populate_builtin_to_tensor_fn_map.<locals>.<lambda>@  r¦   r�   z4most_recent_func is None after setup for reverse op )Úlenr|   r   ÚtorchÚonesÚint32Úun_opsÚ
un_int_opsÚbin_opsÚbin_int_opsÚtensor_and_int_opsÚAssertionErrorÚoperatorÚmatmulÚimatmulÚgetitemr}   )r”   Úsetups_and_oplistsÚsetup_fnÚop_listÚopÚrsetups_and_oplistsÚrskipsr˜   rœ   rž   r    rŠ   s          @@@@@r‹   Ú!populate_builtin_to_tensor_fn_mapr¼   
  sæ  øøøøø€ å
Õ#Ñ$Ô$ qÒ(Ð(ð 	ˆØ26Ðð)ð )ð )ð )ð )ð )ð )Õ-ñ )ô )ð )õ$ Œ:�a‰=Œ=€DÝŒ:�a‰=Œ=€DÝŒz˜!¥5¤;Ð/Ñ/Ô/€HÝŒz˜!¥5¤;Ð/Ñ/Ô/€HØ	ˆ‰Œð &Eð &EàÐÐÐ¥Ð'Ø"Ð"Ð"Ð"¥JÐ/Ø$Ð$Ð$Ð$Ð$¥gÐ.Ø,Ð,Ð,Ð,Ð,­kÐ:Ø%Ð%Ð%Ð%Õ'9Ð:ðN
Ðð "4ð 	@ð 	@ÑˆH�gØð @ð @�Ø�˜‘”�Ø#Ð+Ý(ØKÀrÐKÐKñô ð ð 0@Õ(¨Ñ,Ð,ð@ð %Ð$Ð$Ð$Ýðð &Ð%Ð%Ð%¥{Ð3Ø%Ð%Ð%Ð%Õ'9Ð:ðO
Ðõ ”/¥8Ô#3µXÔ5EÐFˆØ!4ð 
	Eð 
	EÑˆH�gØð 	Eð 	E�Ø˜�<�<ØØ�˜‘”�Ø#Ð+Ý(ØSÈrÐSÐSñô ð ð $Õ'?ÀÔ'CÒCÐCØ4DÕ-¨bÑ1øð	Eð
	Eð9&Eð &Eð &Eñ &Eô &Eð &Eð &Eð &Eð &Eð &Eð &Eð &Eøøøð &Eð &Eð &Eð &Eð &Eð &Es   Â)DF;Æ;F?ÇF?c            
       ó  ‡ — e Zd ZU dZdZeed<   edededd fd„¦   «         Z	defd„Z
dd„Zdddedefd„Zdddedefd„Zdddeeef         fd„Zdddededefd„Zdedefd„Zdddedee         deeef         def
ˆ fd„Zˆ xZS )ÚBaseBuiltinVariablea  
    Common base class for all builtin variable trackers (BuiltinVariable,
    DictBuiltinVariable, IterBuiltinVariable, and future specialized builtins).

    Provides shared implementations for guard installation, hasattr tracing,
    and Python-level hashability/equality.

    Specialized subclasses (e.g. DictBuiltinVariable) set `_fn` as a class
    attribute. BuiltinVariable stores the callable on the instance as `self.fn`
    and overrides as_python_constant / reconstruct / var_getattr accordingly.
    NÚ_fnÚvalueÚsourcer~   c                 ór   — t          |                     t          j        ¦  «        ¦  «          | |¬¦  «        S ©N©rÁ   ©r   Ú
make_guardr   ÚBUILTIN_MATCH©ÚclsrÀ   rÁ   s      r‹   Úcreate_with_sourcez&BaseBuiltinVariable.create_with_source`  s4   € å�f×'Ò'­Ô(BÑCÔCÑDÔDÐDØˆs˜&Ð!Ñ!Ô!Ð!r�   c                 ó   — | j         S rˆ   )r¿   ©r‰   s    r‹   Úas_python_constantz&BaseBuiltinVariable.as_python_constante  s	   € ØŒxˆr�   Úcodegenri   c                 óÆ   — |                       ¦   «         j        }||j        j        v rt	          d¦  «        ‚|                     |                     |d¬¦  «        ¦  «         d S )Núshadowed globalT©Úadd)rÍ   rŽ   ÚtxÚ	f_globalsr±   Úappend_outputÚcreate_load_global©r‰   rÎ   Únames      r‹   ÚreconstructzBaseBuiltinVariable.reconstructh  sb   € Ø×&Ò&Ñ(Ô(Ô1ˆØ�7”:Ô'Ð'Ð'Ý Ð!2Ñ3Ô3Ð3Ø×Ò˜g×8Ò8¸À4Ð8ÑHÔHÑIÔIÐIÐIÐIr�   rÓ   rj   rØ   c                 ó¸   — | j         ot          | j         |¦  «        }t          | j        |d ¦  «        }t	          j        | ||�t          |¦  «        nd |¬¦  «        S )N©Úpy_typerÁ   )rÁ   r   Úgetattrr¿   r   ÚGetAttrVariableÚtype)r‰   rÓ   rØ   rÁ   Úattrs        r‹   Úvar_getattrzBaseBuiltinVariable.var_getattrn  sb   € ð ”Ð>¥¨D¬K¸Ñ!>Ô!>ˆÝ�t”x  tÑ,Ô,ˆÝÔ(Ø�$¨dÐ.>¥ T¡
¤
 
ÀDÐQWð
ñ 
ô 
ð 	
r�   c                 ól   — t          j        |t          |                      ¦   «         |¦  «        ¦  «        S rˆ   )r;   ÚbuildÚhasattrrÍ   )r‰   rÓ   rØ   s      r‹   Úcall_obj_hasattrz$BaseBuiltinVariable.call_obj_hasattrw  s-   € õ Ô$ R­°×1HÒ1HÑ1JÔ1JÈDÑ)QÔ)QÑRÔRÐRr�   c                 óH   — t          |                      ¦   «         ¦  «        dfS ©NF)ÚhashrÍ   )r‰   rÓ   s     r‹   Ú	hash_implzBaseBuiltinVariable.hash_impl|  s!   € å�D×+Ò+Ñ-Ô-Ñ.Ô.°Ð5Ð5r�   Úotherr¹   c                 ó*   — ddl m}  || |||¦  «        S )Nr6   )Ú python_constant_richcompare_impl)Úobject_protocolrì   )r‰   rÓ   rê   r¹   rì   s        r‹   Úrichcompare_implz$BaseBuiltinVariable.richcompare_impl€  s.   € ð 	FÐEÐEÐEÐEÐEà/Ð/°°b¸%ÀÑDÔDÐDr�   c                 ó|   — t          |t          ¦  «        o'|                      ¦   «         |                     ¦   «         u S rˆ   )Ú
isinstancer¾   rÍ   ©r‰   rê   s     r‹   Úis_python_equalz#BaseBuiltinVariable.is_python_equalŠ  s:   € Ý˜%Õ!4Ñ5Ô5ð 
Ø×#Ò#Ñ%Ô%¨×)AÒ)AÑ)CÔ)CÐCð	
r�   r…   r†   c                 óH  •— |dk    �rwt          |¦  «        dk    �rc|�s`|d         }|                      ¦   «         t          u rLt          |t          j        ¦  «        r2t          j        |t                               |j	        ¦  «        ¦  «        S |                      ¦   «         t          u rÆt          |t          j        ¦  «        r2t          j        |t                               |j	        ¦  «        ¦  «        S |                     ¦   «         rft          |                     ¦   «         t          ¦  «        r?t          j        |t                               |                     ¦   «         ¦  «        ¦  «        S t          ||¦  «        S t          ¦   «                              ||||¦  «        S )NÚ__repr__r6   r   )r¨   rÍ   Úobjectrð   r   rg   r;   rã   rô   rÀ   rß   ÚUserDefinedClassVariableÚis_python_constantrW   ÚsuperÚcall_method)r‰   rÓ   rØ   r…   r†   ÚargÚ	__class__s         €r‹   rù   zBaseBuiltinVariable.call_method�  sd  ø€ ð �:ÒÑ¥# d¡)¤)¨q¢.¡.¸¡.Ø�q”'ˆCØ×&Ò&Ñ(Ô(­FÐ2Ð2µzØ•YÔ8ñ8ô 8Ð2õ 'Ô,¨Rµ·²ÀÄÑ1KÔ1KÑLÔLÐLØ×&Ò&Ñ(Ô(­DÐ0Ð0Ý˜c¥9Ô#EÑFÔFð OÝ*Ô0°µT·]²]À3Ä9Ñ5MÔ5MÑNÔNÐNØ×)Ò)Ñ+Ô+ð µ
Ø×*Ò*Ñ,Ô,­dñ1ô 1ð õ +Ô0Ø�DŸMšM¨#×*@Ò*@Ñ*BÔ*BÑCÔCñô ð õ    CÑ(Ô(Ð(Ý‰wŒw×"Ò" 2 t¨T°6Ñ:Ô:Ð:r�   ©rÎ   ri   r~   N)rŽ   r�   r�   r‘   r¿   r   Ú__annotations__Úclassmethodr"   rÊ   rÍ   rÙ   r“   r;   rá   r<   rå   ÚtupleÚintÚboolré   rî   rõ   rò   Úlistr’   rù   Ú__classcell__©rû   s   @r‹   r¾   r¾   Q  sí  ø€ € € € € € ð
ð 
ð €Cˆ€O€O�Oàð" sð "°Fð "Ð?Tð "ð "ð "ñ „[ð"ð Cð ð ð ð ðJð Jð Jð Jð
Ø-ð
Ø58ð
à	ð
ð 
ð 
ð 
ðSØ-ðSØ58ðSà	ðSð Sð Sð Sð
6Ð7ð 6¸EÀ#ÀtÀ)Ô<Lð 6ð 6ð 6ð 6ðEà'ðEð ðEð ð	Eð
 
ðEð Eð Eð Eð
 Vð 
°ð 
ð 
ð 
ð 
ð
;à'ð;ð ð;ð �?Ô#ð	;ð
 �S˜/Ð)Ô*ð;ð 
ð;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;r�   r¾   c                   ó’  ‡ — e Zd ZU dZ e¦   «         Zdhej        £Zede	de
dd fd„¦   «         Zeej        deede	f                  fd„¦   «         ¦   «         Zdefd	„Zeej        deede	f                  fd
„¦   «         ¦   «         Zeej        deedef         eee         edef         f         f         fd„¦   «         ¦   «         Zeej        deedef         eeeee         ef         ef                  f         fd„¦   «         ¦   «         Zedede	f         dee         dedee         dz  fd„¦   «         Zdefd„Z e ee!e"e#ee$h¦  «        Z%e e	         e&d<   de	de	ddfˆ fd„Z'defd„Z(de	fd„Z)de	fd„Z*	 d‘dddededefd„Z+de	fˆ fd„Z,d’d"„Z-d#ededefd$„Z.d#edefd%„Z/d&ee         defd'„Z0d#ededefd(„Z1ed#ee         deeef         deee	         eee	f         f         fd)„¦   «         Z2d#ee         deeef         defd*„Z3edede	f         d&ee         d+ededee         eeef         gedz  f         fd,„¦   «         Z4ed-e5j6        defd.„¦   «         Z7eddd/e5j8        d0ededz  fd1„¦   «         Z9ddded#edededz  f
d2„Z:ddd#e	defd3„Z;ddd#edefd4„Z<edddefd5„¦   «         Z=ddd#ee         deeef         dedz  fd6„Z>i Z?eeedf         edee         eeef         gef         f         e&d7<   ddd#ee         deeef         defd8„Z@ddd9ed#ee         deeef         def
ˆ fd:„ZAddd;ededz  fd<„ZBddd;ededz  fd=„ZCddd;ededz  fd>„ZDddd;edefd?„ZEddd;ededz  fd@„ZFddd;ededz  fdA„ZGdB„ ZHddd#ededz  fdC„ZIdddDee         defdE„ZJdddFedz  dGedz  dedz  fdH„ZKeIZLeIZMddd;edefdI„ZNddd;edefdJ„ZOddd;edefdK„ZPddd;ed#ededef
dL„ZQddd#ededz  fdM„ZRd#ededefdN„ZSddd#edefdO„ZTddd#e	de	defdP„ZUddd#edededz  fdQ„ZVddd;ededz  fdR„ZWdSe	d#edededz  fdT„ZXddd;ededz  fdU„ZYddd#ededefdV„ZZddd#ededefdW„Z[ddd#ededefdX„Z\ddd#ededefdY„Z]ddd#ededefdZ„Z^ddd;ed[edefd\„Z_ddd]ed^edefd_„Z`dddFedGedefd`„Zaddd#edefda„Zbdddedbededef
dc„Zcdddeddedefde„Zdddd9edefdf„Zedddgedhedefdi„Zfdddgedefdj„Zgdddgedefdk„Zhdddgedededz  fdl„ZidddFedefdm„Zjdddned#ededef
do„Zkddd#edefdp„Zldddqedefdr„Zmdddsedtedefdu„Zndddsedtedefdv„ZodddFedGededz  fdw„ZpdddFedGededz  fdx„ZqdddFedGededz  fdy„ZrdddFedGededz  fdz„ZsdddFedGededz  fd{„ZtdddFedGededz  fd|„ZudddFedGededz  fd}„ZvdddFedGededz  fd~„ZwdddFedGededz  fd„ZxdddFedGededz  fd€„ZydddFedGededz  fd�„ZzdddFedGededz  fd‚„Z{dddFedGededz  fdƒ„Z|dddFedGededz  fd„„Z}dddFedGededz  fd…„Z~dddFedGededz  fd†„ZdddFedGededz  fd‡„Z€dddFedGededz  fdˆ„Z�dddFedGededz  fd‰„Z‚dddFedGededz  fdŠ„ZƒdddFedGededz  fd‹„Z„dddFedGededz  fdŒ„Z…dddFedGededz  fd�„Z†dddFededz  fdŽ„Z‡dddFedGedefd�„Zˆdedefd�„Z‰ˆ xZŠS )“ÚBuiltinVariableað  
    A VariableTracker that represents a built-in value (functions and operators).
    A lot of the code here assumes it will be a function object.

    The BuiltinVariable class wraps Python built-in functions (like len, isinstance, etc.)
    and operators (like +, -, *, etc.) to enable symbolic execution during tracing. This allows
    Dynamo to properly handle these operations when converting Python code to FX graphs while
    maintaining correct semantics and enabling optimizations.
    ÚfnrÀ   rÁ   r~   c                 ót   — t          |                     t          j        ¦  «        ¦  «          | ||¬¦  «        S rÃ   rÅ   rÈ   s      r‹   rÊ   z"BuiltinVariable.create_with_sourceº  s6   € å�f×'Ò'­Ô(BÑCÔCÑDÔDÐDØˆs�5 Ð(Ñ(Ô(Ð(r�   .c                  óœ  — h t           ’t          ’t          ’t          ’t          ’t
          ’t          ’t          ’t          ’t          ’t          ’t          ’t          ’t          ’t          ’t          ’t           ’t"          ’t$          ’t&          ’t(          ’t*          ’t,          ’t.          ’t.          j        ’t0          ’t2          ’t4          j         ’t4          j        ’t4          j        ’t4          j        ’t4          j        ’t4          j        ’t4          j        ’t4          j         ’t4          j!        ’t4          j"        ’t4          j#        ’t4          j$        ’t4          j%        ’t4          j&        ’t4          j'        ’t4          j(        ’t4          j)        ’t4          j*        ’t4          j+        ’t4          j,        ’t4          j-        ’t4          j.        ’t4          j/        ’t4          j0        ’t4          j1        ’t4          j2        ’t4          j3        ’t4          j4        ’t4          j5        ’t4          j6        ’t4          j7        ’t4          j8        ’t4          j9        ’t4          j:        ’t4          j;        ’} ddl<m=} |  >                     |j?        ¦   «         ¦  «         |  >                    d„ t€          jA         ?                    ¦   «         D ¦   «         ¦  «         | S )Nr6   )rb   c              3   óh   K  — | ]-}t          |t          t          j        ¦  «        ¦  «        ¯)|V — Œ.d S rˆ   )rð   rß   ÚmathÚsqrt©Ú.0Úxs     r‹   ú	<genexpr>z;BuiltinVariable._constant_fold_functions.<locals>.<genexpr>  s9   è è € ÐWÐW˜½
À1ÅdÍ4Ì9ÁoÄoÑ8VÔ8VÐW�1ÐWÐWÐWÐWÐWÐWr�   )BÚabsÚallÚanyÚasciiÚbinr  ÚcallableÚchrÚcomplexÚdivmodÚfloatÚformatrÝ   rn   r   r¨   ÚmaxÚminÚoctÚordÚpowÚreprÚroundr“   Úsumrß   r²   ÚposÚnegÚnot_ÚtruthÚinvertÚmulr³   ÚfloordivÚtruedivÚmodrÒ   Úsubrµ   Úlength_hintÚlshiftÚrshiftÚand_Úor_ÚxorÚipowÚimulr´   Ú	ifloordivÚitruedivÚimodÚiaddÚisubÚilshiftÚirshiftÚiandÚixorÚiorÚindexÚtensorrb   ÚupdateÚvaluesr  Ú__dict__)Úfnsrb   s     r‹   Ú_constant_fold_functionsz(BuiltinVariable._constant_fold_functions¿  sh  € ð?(
Ýð?(
åð?(
õ ð?(
õ ð	?(
õ
 ð?(
õ ð?(
õ ð?(
õ ð?(
õ ð?(
õ ð?(
õ ð?(
õ ð?(
õ ð?(
õ ð?(
õ ð?(
õ  ð!?(
õ" ð#?(
õ$ ð%?(
õ& ð'?(
õ( ð)?(
õ* ð+?(
õ, ð-?(
õ. ð/?(
õ0 ð1?(
õ2 ŒJð3?(
õ4 ð5?(
õ6 ð7?(
õ8 ŒLð9?(
õ: ŒLð;?(
õ< ŒLð=?(
õ> ŒMð??(
õ@ ŒNðA?(
õB ŒOðC?(
õD ŒLðE?(
õF ŒLðG?(
õH ŒOðI?(
õJ ÔðK?(
õL ÔðM?(
õN ŒLðO?(
õP ŒLðQ?(
õR ŒLðS?(
õT ÔðU?(
õV Ô ðW?(
õX ŒOðY?(
õZ ŒOð[?(
õ\ ŒMð]?(
õ^ ŒLð_?(
õ` ŒLða?(
õb ŒMðc?(
õd ŒMðe?(
õf Ôðg?(
õh Ôði?(
õj Ôðk?(
õl ŒMðm?(
õn ŒMðo?(
õp ŒMðq?(
õr Ôðs?(
õt Ôðu?(
õv ŒMðw?(
õx ŒMðy?(
õz ŒLð{?(
õ| ŒNð}?(
ˆð@ 	5Ð4Ð4Ð4Ð4Ð4à�
Š
Ð2Ð+Ô2Ñ4Ô4Ñ5Ô5Ð5Ø�
Š
ÐWÐW�dœm×2Ò2Ñ4Ô4ÐWÑWÔWÑWÔWÐWØˆ
r�   c                 ó8   — | j         |                      ¦   «         v S rˆ   )r  rF  rÌ   s    r‹   Úcan_constant_fold_throughz)BuiltinVariable.can_constant_fold_through  s   € ØŒw˜$×7Ò7Ñ9Ô9Ð9Ð9r�   c                  ó²  — h t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j	        ’t           j
        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j         ’t           j!        ’t           j"        ’t           j#        ’t           j$        ’t           j%        ’t           j&        ’t           j'        ’} | S rˆ   )(r²   r  r$  r%  r&  r(  r   r)  r³   r*  r+  r,  rÒ   ÚltÚgtÚgeÚleÚneÚeqr-  r.  r/  r0  r1  r2  r3  r4  r5  r´   r6  r7  rµ   r8  r9  r:  r;  r<  r=  r>  r?  ©rE  s    r‹   Ú_fx_graph_functionsz#BuiltinVariable._fx_graph_functions  sú  € ð(
ÝŒLð(
åŒLð(
õ ŒLð(
õ ŒMð	(
õ
 ŒOð(
õ ŒLð(
õ ŒLð(
õ ŒOð(
õ Ôð(
õ Ôð(
õ ŒLð(
õ ŒLð(
õ ŒKð(
õ ŒKð(
õ ŒKð(
õ  ŒKð!(
õ" ŒKð#(
õ$ ŒKð%(
õ& ŒLð'(
õ( Ô ð)(
õ* ŒOð+(
õ, ŒOð-(
õ. ŒMð/(
õ0 ŒLð1(
õ2 ŒLð3(
õ4 ŒMð5(
õ6 ŒMð7(
õ8 Ôð9(
õ: Ôð;(
õ< Ôð=(
õ> Ôð?(
õ@ ŒMðA(
õB ŒMðC(
õD ŒMðE(
õF ÔðG(
õH ÔðI(
õJ ŒMðK(
õL ŒMðM(
õN ŒLðO(
ˆðR ˆ
r�   c                  óh   — t           g d¢t          j        ft          j         g d¢t          j        fi} | S )N)Ú__pow__Ú__rpow__Ú__ipow__)r   r²   r4  rP  s    r‹   Ú_binopszBuiltinVariable._binops9  s;   € õ Ð5Ð5Ð5µx´}ÐEÝŒLÐ>Ð>Ð>ÅÄÐNð	U
ˆð ˆ
r�   c                  ó°  ‡‡‡‡‡— ddl mŠ ddlmŠ ddlmŠ ddlmŠ ddlm	Š i } t                               ¦   «                              ¦   «         D �]Ó\  }\  }}g | |<   g | |<   |\  }}}||dœdd	d
t          dt          dt          dt          dt          fˆfd„}| |                              ‰t          f|f¦  «         | |                              t          ‰f|f¦  «         |dœdd	d
t          dt          dt          dt          f
d„}| |                              ‰t          f|f¦  «         | |                              t          ‰f|f¦  «         |dœdd	d
t          dt          dt           dt"          f         dt          f
d„}	| |                              t$          t          f|	f¦  «         | |                              t          t$          f|	f¦  «         | |                              t$          t          f|	f¦  «         | |                              t          t$          f|	f¦  «         �ŒÕdt           dt"          f         dt&          t(          t(          t*          t*          f         t,          f                  fˆˆˆˆˆfd„}
t/          j        ¦   «         D ]H}t3          |¦  «        st5          d|› d�¦  «        ‚|| v rt5          d|› �¦  «        ‚ |
|¦  «        | |<   ŒI| S )Nr6   )ÚBaseUserFunctionVariable©ÚNNModuleVariable)Úsupported_const_comparison_ops)ÚBaseTorchVariable)rh   )Úforward_nameÚreverse_namerÓ   rj   ÚaÚbr]  r^  r~   c                óˆ   •— t          |‰¦  «        r|                     | ||gi ¦  «        S |                     | ||gi ¦  «        S rˆ   )rð   rù   )rÓ   r_  r`  r]  r^  rh   s        €r‹   Úuser_defined_handlerz=BuiltinVariable._binop_handlers.<locals>.user_defined_handlero  sM   ø€ õ, ˜aÐ!4Ñ5Ô5ð DØŸ=š=¨¨\¸A¸3ÀÑCÔCÐCàŸ=š=¨¨\¸A¸3ÀÑCÔCÐCr�   )r]  c                ó4   — |                      | ||gi ¦  «        S rˆ   ©rù   )rÓ   r_  r`  r]  s       r‹   Úuser_defined_inplace_handlerzEBuiltinVariable._binop_handlers.<locals>.user_defined_inplace_handler‘  s   € ð —}’} R¨¸°s¸BÑ?Ô?Ð?r�   ©r  r  .c          
      ój   — ddl m}  ||  | j        j        d|gt	          ||gi ¦  «        ¢R Ž ¦  «        S ©Nr6   ©Úwrap_fx_proxyÚcall_function)Úbuilderrj  ÚoutputÚcreate_proxyr0   )rÓ   r_  r`  r  rj  s        r‹   Údynamic_handlerz8BuiltinVariable._binop_handlers.<locals>.dynamic_handler¢  sa   € ð 3Ð2Ð2Ð2Ð2Ð2à$�}ØØ*�B”IÔ*Ø'¨ðÝ.?ÀÀAÀÈÑ.KÔ.Kðð ð ñô ð r�   r¹   c           	      óÈ  •‡ ‡
‡— dddt           dt           dt           fˆ fd„}t          t          f|fg}‰ t          v r¬t          t          f|fg}t          ‰ ¦  «        }|                     t
          t           f|j        ft           t
          f|j        fg¦  «         t          ‰          Š
dddt           dt           dt           fˆ
fd„}|                     t           t           f|f¦  «         |S t          t          f|fg}‰ ‰                     ¦   «         v �rR‰ j	         
                    d¦  «        �r7 ‰ t          ¦   «         d ¦  «        Šdddt           dt           dt           fˆfd	„}|}|}t          t
          ‰t          ‰‰t          ‰f}|                     |t          f|ft          |f|fg¦  «         t          ‰ ¦  «        }|                     t          t           f|j        ft           t          f|j        ft
          t           f|j        ft           t
          f|j        fg¦  «         ddd
t           dt           dt           d z  fˆ fd„}	|                     t           t           f|	f¦  «         |S )NrÓ   rj   r_  r`  r~   c                 óê   •— 	 t          j        |  ‰|j        |j        ¦  «        ¦  «        S # t          $ r<}t	          t          |¦  «        | t          |j        ¦  «        ¬¦  «         Y d }~d S d }~ww xY w)N©r…   )r;   rã   rÀ   Ú	TypeErrorr   rß   r  r…   )rÓ   r_  r`  Úexcr¹   s       €r‹   Úcompare_by_valuezYBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.compare_by_valueÆ  s–   ø€ ðÝ*Ô0°°R°R¸¼ÀÄÑ5IÔ5IÑJÔJÐJøÝ ð ð ð Ý,Ý˜S™	œ	ØÝ! #¤(™^œ^ðñ ô ð ð ð ð ð ð ð øøøøðøøøs   ƒ(, ¬
A2¶1A-Á-A2c                 ó,   •— ddl m}  || ||‰¦  «        S )Nr6   ©Úgeneric_richcompare)rí   rx  )rÓ   r_  r`  rx  Údunders       €r‹   ÚhandlerzPBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.handlerø  s/   ø€ ð
 EÐDÐDÐDÐDÐDà.Ð.¨r°1°a¸Ñ@Ô@Ð@r�   Úis_c                 ó.   •— t          j        | ‰¦  «        S rˆ   ©r;   rã   )rÓ   r_  r`  Únone_results      €r‹   ÚneverzNBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.never  s   ø€ õ
 +Ô0°°[ÑAÔAÐAr�   ÚleftÚrightc                 óš   •— t          ||¦  «        }|€d S |                     ¦   «         }t          j        | ‰j        dk    r|n| ¦  «        S )Nr{  )r]   rÍ   r;   rã   rŽ   )rÓ   r€  r�  ÚresultÚis_samer¹   s        €r‹   Ú	handle_iszRBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.handle_isC  s[   ø€ õ
 1°°uÑ=Ô=�FØ�~Ø#˜tØ$×7Ò7Ñ9Ô9�GÝ*Ô0Ø r¤{°eÒ';Ð';˜G˜GÀWÀñô ð r�   )r;   r<   rz   r  Úextendrc   Ú_comparison_with_symnodeÚappendrC  rŽ   Ú
startswithrõ   rd   rD   r>   Ú_comparison_with_tensor)r¹   ru  rƒ  Úop_varrz  r  Úobj_op_noneÚnone_op_objÚtypes_that_are_never_noner…  ry  r~  r\  rX  rZ  rh   r[  s   `         @@€€€€€r‹   Úcreate_cmp_op_handlersz?BuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlersÃ  sV  øøøø€ ð
Ø/ð
Ý4Cð
ÝHWð
å ð
ð 
ð 
ð 
ð 
ð 
õ( $Õ%5Ð6Ð8HÐIÐJð ð Õ(Ð(Ð(õ
 'Õ(8Ð9Ð;KÐLð�õ )¨Ñ,Ô,�à—’õ -­oÐ>Ø"Ô;ðõ
 -­oÐ>Ø"Ô;ðð	ñô ð õ  -¨RÔ0�ðAØ3ðAå&ðAõ 'ðAõ %ð	Að Að Að Að Að Að —’¥µÐAÀ7ÐKÑLÔLÐLØ�å(Õ*:Ð;Ð=MÐNÐOˆFàÐ3×:Ò:Ñ<Ô<Ð<Ñ<ÀÄ×AWÒAWØñBô BÑ<ð !˜b¥¡¤¨4Ñ0Ô0�ðBØ3ðBå&ðBõ 'ðBõ %ð	Bð Bð Bð Bð Bð Bð $�Ø#�õ #Ý#Ø$Ý$Ø'Ø,Ý%Ø%ð	-Ð)ð —’ð 7Õ8HÐIØ'ðõ
 .Ð/HÐIØ'ðð	ñô ð õ )¨Ñ,Ô,�Ø—’õ ,­_Ð=Ø"Ô:ðõ
 -­nÐ=Ø"Ô:ðõ
 -­oÐ>Ø"Ô;ðõ
 -­oÐ>Ø"Ô;ððñô ð ð*Ø3ðå)ðõ +ðõ % tÑ+ð	ð ð ð ð ð ð —’¥µÐAÀ9ÐMÑNÔNÐNàˆMr�   zcomparison op z is not callablezduplicate handler for op )Ú	functionsrX  Ú	nn_modulerZ  rA  r[  r©   r\  Úuser_definedrh   r  rV  Úitemsr;   r“   rˆ  r   r   rc   r  rÿ   Ú_TrackersTypeÚ_HandlerCallbackrb   rC  r  r±   )Úop_handlersr¹   Úmagic_method_namesÚin_place_opr]  r^  Úinplace_namerb  re  ro  r�  r\  rX  rZ  rh   r[  s              @@@@@r‹   Ú_binop_handlerszBuiltinVariable._binop_handlersK  sH  øøøøø€ ð$ 	8Ð7Ð7Ð7Ð7Ð7Ø/Ð/Ð/Ð/Ð/Ð/Ø:Ð:Ð:Ð:Ð:Ð:Ø,Ð,Ð,Ð,Ð,Ð,Ø5Ð5Ð5Ð5Ð5Ð5ð -/ˆõ ×$Ò$Ñ&Ô&×,Ò,Ñ.Ô.ðZ	ñ Z	ñ 
ØÙ-Ð à ˆK˜‰OØ')ˆK˜Ñ$à7IÑ4ˆL˜,¨ð %1Ø$0ðDð Dð DØ/ðDå"ðDõ #ðDõ
 "ðDõ "ðDõ !ðDð Dð Dð Dð Dð Dð6 ˜ŒO×"Ò"Ø%¥Ð7Ð9MÐNñô ð ð ˜ŒO×"Ò"Ý!Ð#6Ð7Ð9MÐNñô ð ð %1ð@ð @ð @Ø/ð@å"ð@õ #ð@õ
 "ð@õ !ð@ð @ð @ð @ð ˜Ô$×+Ò+Ø%¥Ð7Ð9UÐVñô ð ð ˜Ô$×+Ò+Ý!Ð#6Ð7Ð9UÐVñô ð ð *,ðð ð Ø/ðå"ðõ #ðõ
 ˜S¥#˜XÔ&ðõ !ðð ð ð ð  ˜ŒO×"Ò"Ý!¥?Ð3°_ÐEñô ð ð ˜ŒO×"Ò"Ý!¥?Ð3°_ÐEñô ð ð
 ˜Ô$×+Ò+Ý!¥?Ð3°_ÐEñô ð ð ˜Ô$×+Ò+Ý!¥?Ð3°_ÐEñô ð ñ ðO	Ý˜�c˜Ô"ðO	å•%��m­]Ð:Ô;Õ=MÐMÔNÔOðO	ð O	ð O	ð O	ð O	ð O	ð O	ð O	ð O	ð O	õb +Ô1Ñ3Ô3ð 	9ð 	9ˆBÝ˜B‘<”<ð LÝ$Ð%J°bÐ%JÐ%JÐ%JÑKÔKÐKØ�[Ð Ð Ý$Ð%EÀÐ%EÐ%EÑFÔFÐFØ4Ð4°RÑ8Ô8ˆK˜‰OˆOàÐr�   r¹   Úa_typeÚb_typeNc                 óê   — t                                ¦   «                              | ¦  «        }|€d S g }|D ]=\  \  }}}t          ||¦  «        r%t          ||¦  «        r|                     |¦  «         Œ>|S rˆ   )r  rš  ÚgetÚ
issubclassrˆ  )r¹   r›  rœ  ÚhandlersÚmatchesÚtype1Útype2rz  s           r‹   Ú_find_binop_handlerz#BuiltinVariable._find_binop_handler]  s†   € õ #×2Ò2Ñ4Ô4×8Ò8¸Ñ<Ô<ˆØÐØ�4àˆØ'/ð 	(ð 	(Ñ#‰NˆU�E˜GÝ˜& %Ñ(Ô(ð (­Z¸ÀÑ-FÔ-Fð (Ø—’˜wÑ'Ô'Ð'øØˆr�   c                 ó8   — | j         |                      ¦   «         v S rˆ   )r  rQ  rÌ   s    r‹   Úcan_insert_in_graphz#BuiltinVariable.can_insert_in_graphk  s   € ØŒw˜$×2Ò2Ñ4Ô4Ð4Ð4r�   ÚMUST_USE_SPECIALIZEDr†   c                 ó€   •— || j         v rt          d|›d�¦  «        ‚ t          ¦   «         j        di |¤Ž || _        d S )Nz!Use the specialized VT class for z9, not BuiltinVariable. E.g. DictBuiltinVariable for dict.r‚   )r§  r±   rø   Ú__init__r  )r‰   r  r†   rû   s      €r‹   r©  zBuiltinVariable.__init__t  sc   ø€ Ø�Ô*Ð*Ð*Ý ð6°Bð 6ð 6ð 6ñô ð ð 	�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"ØˆŒˆˆr�   c                 óR   — | j         €d}n| j         j        }| j        j        › d|› d�S )NÚNoneú(ú))r  rŽ   rû   )r‰   rØ   s     r‹   rô   zBuiltinVariable.__repr__}  s6   € ØŒ7ˆ?ØˆDˆDà”7Ô#ˆDà”.Ô)Ð3Ð3¨DÐ3Ð3Ð3Ð3r�   c                 ó   — | j         S rˆ   rf  rÌ   s    r‹   rÍ   z"BuiltinVariable.as_python_constant…  ó	   € ØŒwˆr�   c                 ó   — | j         S rˆ   rf  rÌ   s    r‹   Úget_real_python_backed_valuez,BuiltinVariable.get_real_python_backed_valueˆ  r¯  r�   FrÓ   rj   rê   Úreversec                 ó´  — t          | j        t          ¦  «        st          j        |t
          ¦  «        S 	 |                     ¦   «         }n*# t          $ r t          j        |t
          ¦  «        cY S w xY wt          | j        ¦  «                             | j        |¦  «        }|t
          u rt          j        |t
          ¦  «        S t          j        ||¦  «        S rˆ   )	rð   r  rß   r;   rã   ÚNotImplementedrÍ   ÚNotImplementedErrorÚ__or__)r‰   rÓ   rê   r²  Ú	other_valrƒ  s         r‹   Ú
nb_or_implzBuiltinVariable.nb_or_impl‹  sÉ   € õ ˜$œ'¥4Ñ(Ô(ð 	=Ý"Ô(¨­^Ñ<Ô<Ð<ð	=Ø×0Ò0Ñ2Ô2ˆIˆIøÝ"ð 	=ð 	=ð 	=Ý"Ô(¨­^Ñ<Ô<Ð<Ð<Ð<ð	=øøøõ �d”g‘”×%Ò% d¤g¨yÑ9Ô9ˆØ•^Ð#Ð#Ý"Ô(¨­^Ñ<Ô<Ð<ÝÔ$ R¨Ñ0Ô0Ð0s   ¶A Á$A2Á1A2c                 óÚ   •— t           t          j         t          t          j        t          t          j        i}| j        |v r|| j                 S t          ¦   «                              ¦   «         S rˆ   )	r  r©   r   Úint64r  Úfloat64r  rø   Úas_proxy)r‰   ÚDTYPErû   s     €r‹   r¼  zBuiltinVariable.as_proxy¢  sP   ø€ å•%”*Ý•”Ý•5”=ð
ˆð
 Œ7�eÐÐØ˜œ”>Ð!Ý‰wŒw×ÒÑ!Ô!Ð!r�   rÎ   ri   c                 ó  — | j         j        }| j         j        dk    rt          d| j         j        › �¦  «        ‚||j        j        v rt          d¦  «        ‚|                     |                     |d¬¦  «        ¦  «         d S )NÚbuiltinszExpected builtins module, got rÐ   TrÑ   )r  rŽ   r�   r±   rÓ   rÔ   rÕ   rÖ   r×   s      r‹   rÙ   zBuiltinVariable.reconstruct¬  s„   € ØŒwÔˆØŒ7Ô Ò+Ð+Ý Ð!VÀ$Ä'ÔBTÐ!VÐ!VÑWÔWÐWØ�7”:Ô'Ð'Ð'Ý Ð!2Ñ3Ô3Ð3Ø×Ò˜g×8Ò8¸À4Ð8ÑHÔHÑIÔIÐIÐIÐIr�   r…   c                 ó"   — t          ||¦  «        S rˆ   )r$   ©r‰   r…   r†   s      r‹   Úconstant_argszBuiltinVariable.constant_args´  s   € Ý" 4¨Ñ0Ô0Ð0r�   c                 óz   — d}|D ]5}t          |t          j        ¦  «        r dS |p|                     ¦   «         }Œ6|S rç   )rð   r   rÞ   Ú	is_tensor)r‰   r…   Ú
any_tensorrú   s       r‹   Útensor_argszBuiltinVariable.tensor_args·  sL   € Øˆ
Øð 	7ð 	7ˆCÝ˜#�yÔ8Ñ9Ô9ð Ø�u�uØ#Ð6 s§}¢}¡¤ˆJˆJØÐr�   Ú	arg_typesc                 ó†   — d}|D ];}t          |t          j        ¦  «        r dS |pt          |t          j        ¦  «        }Œ<|S rç   )rŸ  r   rÞ   rd   )r‰   rÇ  rÅ  Úarg_types       r‹   Útensor_args_typez BuiltinVariable.tensor_args_type¿  sS   € Øˆ
Ø!ð 	Vð 	VˆHÝ˜(¥IÔ$=Ñ>Ô>ð Ø�u�uØ#ÐU¥z°(½IÔ<TÑ'UÔ'UˆJˆJØÐr�   c                 ó"  — g }g }t          j        ||                     ¦   «         ¦  «        D ]A}|                     ¦   «         r|                     |¦  «         Œ,|                     |¦  «         ŒBt          d„ |D ¦   «         ¦  «        o	 | j        |Ž S )Nc              3   óP   K  — | ]!}|j         �t          |j         ¦  «        ndV — Œ"d S rç   )rÁ   r!   )r  Úts     r‹   r  zBBuiltinVariable.python_and_tensor_constant_only.<locals>.<genexpr>Ñ  sM   è è € ð 
ð 
àð -.¬HÐ,@Õ˜qœxÑ(Ô(Ð(Àeð
ð 
ð 
ð 
ð 
ð 
r�   )Ú	itertoolsÚchainrC  rÄ  rˆ  r  rÂ  )r‰   r…   r†   rÆ  Únon_tensor_argsÚis         r‹   Úpython_and_tensor_constant_onlyz/BuiltinVariable.python_and_tensor_constant_onlyÇ  s±   € ð ˆØˆÝ”  v§}¢}¡¤Ñ7Ô7ð 	*ð 	*ˆAØ�{Š{‰}Œ}ð *Ø×"Ò" 1Ñ%Ô%Ð%Ð%à×&Ò& qÑ)Ô)Ð)Ð)Ýð 
ð 
à ð
ñ 
ô 
ñ 
ô 
ð 3ð !ˆdÔ  /Ð2ð	3r�   c                 óV   — d„ | D ¦   «         d„ |                      ¦   «         D ¦   «         fS )Nc                 ó6   — g | ]}|                      ¦   «         ‘ŒS r‚   ©rÍ   r  s     r‹   ú
<listcomp>z=BuiltinVariable.unwrap_unspec_args_kwargs.<locals>.<listcomp>Ú  s$   € Ð5Ð5Ð5¨1�×$Ò$Ñ&Ô&Ð5Ð5Ð5r�   c                 ó>   — i | ]\  }}||                      ¦   «         “ŒS r‚   rÕ  ©r  ÚkÚvs      r‹   ú
<dictcomp>z=BuiltinVariable.unwrap_unspec_args_kwargs.<locals>.<dictcomp>Ú  s7   € ð 8
ð 8
ð 8
Ù*.¨!¨QˆAˆq×#Ò#Ñ%Ô%ð8
ð 8
ð 8
r�   )r“  ©r…   r†   s     r‹   Úunwrap_unspec_args_kwargsz)BuiltinVariable.unwrap_unspec_args_kwargsÖ  sC   € ð 6Ð5°Ð5Ñ5Ô5ð 8
ð 8
Ø28·,²,±.´.ð8
ñ 8
ô 8
ð 
ð 	
r�   c                 óJ   — |                       ¦   «         ot          ||¦  «        S rˆ   )rH  r&   rÁ  s      r‹   Úhas_constant_handlerz$BuiltinVariable.has_constant_handlerÞ  s/   € ð ×-Ò-Ñ/Ô/ð 
Õ4QØ�&ñ5
ô 5
ð 	
r�   Ú
has_kwargsc           	      ó\  ‡ ‡‡‡
‡‡‡‡‡‡‡‡‡— ddl mŠ
mŠ t          ‰ ¦  «        Šg Šˆfd„‰D ¦   «         }|r‹t	          ˆ
fd„|D ¦   «         ¦  «        sˆ
ˆˆfd„S t                               ‰ ˆ
fd„‰D ¦   «         ‰¦  «        Šddd	t          t                   d
t          t          t          f         dt          d z  fˆ
ˆˆfd„}|S t          j        ‰ ¦  «        rZt          ‰ t          ¦  «        s	‰ t          u r<ddd	t          t                   d
t          t          t          f         dt          fˆ fd„}|S ‰                     ¦   «         rf‰ t           j        u r t          ‰d         t$          j        ¦  «        r8‰                     ‰¦  «        r‰j        S ‰r‰                     ‰j        ¦  «         t/          ‰¦  «        dk    ry‰swt          j        ‰ g‰¢R Ž Š‰snbt/          ‰¦  «        dk    r‰\  Š‰                     ˆfd„¦  «         n2ddd	t2          dt2          dt2          fˆfd„}‰                     |¦  «         t5          ‰d‰ j        › �d ¦  «        Š‰rTddd	t          t                   d
t          t          t          f         dt          d z  fˆ ˆˆfd„}‰                     |¦  «         ‰                     ¦   «         r«t	          d„ ‰D ¦   «         ¦  «        r@‰s>ddd	t          t                   d
t          t          t          f         dt          d z  fˆ fd„}n=ddd	t          t                   d
t          t          t          f         dt          d z  fˆ fd„}‰                     |¦  «         d	t          t                   dd fˆˆ ˆfd„Št/          ‰¦  «        dk    rˆfd„S t/          ‰¦  «        dk    rC‰\  Šddd	t          t                   d
t          t          t          f         dt          d z  fˆˆfd„}	n>ddd	t          t                   d
t          t          t          f         dt          d z  fˆˆfd„}	|	S )Nr6   )ÚLazyConstantVariableÚLazyVariableTrackerc                 ó4   •— g | ]}t          |‰¦  «        ¯|‘ŒS r‚   ©rŸ  )r  rÍ  rã  s     €r‹   rÖ  z1BuiltinVariable._make_handler.<locals>.<listcomp>õ  s)   ø€ ÐQÐQÐQ˜A­j¸Ð<OÑ.PÔ.PÐQ�aÐQÐQÐQr�   c              3   ó8   •K  — | ]}t          |‰¦  «        V — Œd S rˆ   rå  ©r  rÍ  râ  s     €r‹   r  z0BuiltinVariable._make_handler.<locals>.<genexpr>÷  s.   øè è € ÐOÐO¸q•z !Ð%9Ñ:Ô:ÐOÐOÐOÐOÐOÐOr�   c                 óL   •— ‰                      | ˆˆfd„|D ¦   «         |¦  «        S )Nc                 ó|   •— g | ]8}t          |‰¦  «        r$t          |‰¦  «        s|                     ¦   «         n|‘Œ9S r‚   ©rð   Úrealize)r  r_  râ  rã  s     €€r‹   rÖ  zCBuiltinVariable._make_handler.<locals>.<lambda>.<locals>.<listcomp>ý  s_   ø€ ð ð ð ð
 õ & aÐ)<Ñ=Ô=ðå *¨1Ð.BÑ CÔ Cð˜Ÿ	š	™œ˜ð ð	ð ð r�   )rk  )rÓ   r…   r†   râ  rã  Úobjs      €€€r‹   r™   z/BuiltinVariable._make_handler.<locals>.<lambda>û  sL   ø€ °×0AÒ0AØðð ð ð ð ð
 "&ðñ ô ð ñ
1ô 
1€ r�   c                 óB   •— g | ]}t          |‰¦  «        rt          n|‘ŒS r‚   ©rŸ  r<   rç  s     €r‹   rÖ  z1BuiltinVariable._make_handler.<locals>.<listcomp>  s@   ø€ ð ð ð àõ )3°1Ð6JÑ(KÔ(KÐRÕ$Ð$ÐQRðð ð r�   rÓ   rj   r…   r†   r~   c                 óÈ   •— |D ]R}t          |‰¦  «        r@|                     ¦   «         t          ur%‰                     | ˆfd„|D ¦   «         |¦  «        c S ŒS ‰| ||¦  «        S )Nc                 ó\   •— g | ](}t          |‰¦  «        r|                     ¦   «         n|‘Œ)S r‚   rê  )r  rÚ  râ  s     €r‹   rÖ  zPBuiltinVariable._make_handler.<locals>.lazy_constant_handler.<locals>.<listcomp>   sJ   ø€ ð !"ð !"ð !"ð )*õ (2°!Ð5IÑ'JÔ'Jð%+ A§I¢I¡K¤K Kà)*ð!"ð !"ð !"r�   )rð   Úget_handler_type_for_dispatchr<   rk  )rÓ   r…   r†   r_  râ  Úinner_handlerrì  s       €€€r‹   Úlazy_constant_handlerz<BuiltinVariable._make_handler.<locals>.lazy_constant_handler  s¨   ø€ ð
 ð ð �AÝ! !Ð%9Ñ:Ô:ð Ø×:Ò:Ñ<Ô<ÕDTÐTÐTØ#&×#4Ò#4Ø "ð!"ð !"ð !"ð !"ð .2ð	!"ñ !"ô !"ð !'ñ	$ô 	$ð 	ð 	ð 	øð %�} R¨¨vÑ6Ô6Ð6r�   c                 óÌ   •— ‰t           u rEt          d„ |D ¦   «         ¦  «        s,t          dt          |¦  «        dg t          j        ¢¬¦  «         t          j        ‰||¦  «        S )Nc              3   óŒ   K  — | ]?}|                      ¦   «         o&t          |                     ¦   «         t          ¦  «        V — Œ@d S rˆ   )r÷   rð   rÍ   r“   r  s     r‹   r  zWBuiltinVariable._make_handler.<locals>.create_exception_class_object.<locals>.<genexpr>9  s^   è è € ð 4ð 4àð ×(Ò(Ñ*Ô*ÐV­z¸!×:NÒ:NÑ:PÔ:PÕRUÑ/VÔ/Vð4ð 4ð 4ð 4ð 4ð 4r�   zassert with non-string messagez1Dynamo only supports asserts with string messages©Úgb_typeÚcontextÚexplanationÚhints)r±   r  r   r“   r   ÚSUPPORTABLEr   ÚExceptionVariable)rÓ   r…   r†   r  s      €r‹   Úcreate_exception_class_objectzDBuiltinVariable._make_handler.<locals>.create_exception_class_object4  s†   ø€ ð
 �Ð'Ð'µð 4ð 4à!ð4ñ 4ô 4ñ 1ô 1Ð'õ "Ø @Ý # D¡	¤	Ø$WØ>Õ 1Ô =Ð>ð	ñ ô ð õ !Ô2°2°t¸VÑDÔDÐDr�   r   r   c                 ó   •—  ‰| g|¢R Ž S rˆ   r‚   )rÓ   r…   Ú_Úbinop_handlers      €r‹   r™   z/BuiltinVariable._make_handler.<locals>.<lambda>[  s   ø€ °M°MÀ"Ð4LÀtÐ4LÐ4LÐ4L€ r�   rÿ  c                 ó0   •— ‰D ]} || g|¢R Ž }|r|c S Œd S rˆ   r‚   )rÓ   r…   rÿ  r  ÚrvÚbinop_handlerss        €r‹   Úcall_binop_handlersz:BuiltinVariable._make_handler.<locals>.call_binop_handlers^  sB   ø€ ð -ð &ð &˜Ø˜R ˜] T˜]˜]˜]˜Øð &Ø#%˜I˜I˜Ið&à˜4r�   Úcall_c                 ó   •— 	  ‰| g|¢R i |¤ŽS # t           $ r£ 	  t          j        ‰¦  «        j        | g|¢R i |¤Ž ‚ # t           $ rn}‰                     ||¦  «        }|sLt
                               d‰|¦  «         t          dd‰› d|› d|› �d‰j        › �g t          j
        ¢¬¦  «         Y d }~nd }~ww xY wY nCt          $ r7}‰                     ||¦  «        }|s‚ |                     ¦   «          Y d }~nd }~ww xY wd S )Nz1incorrect arg count %s %s and no constant handlerz"invalid call to builtin op handlerzinvalid args to z: ú z/Encountered TypeError when trying to handle op rö  )rs  ÚinspectÚ	signatureÚbindrß  ÚlogÚwarningr   rŽ   r   Ú	DIFFICULTr   Úremove_from_stats)	rÓ   r…   r†   Úerß  rt  r  rì  Úself_handlers	         €€€r‹   Úcall_self_handlerz8BuiltinVariable._make_handler.<locals>.call_self_handlerm  s”  ø€ ð
,à'˜<¨Ð<¨TÐ<Ð<Ð<°VÐ<Ð<Ð<øÝ ð ð ð ðà<�Ô)¨,Ñ7Ô7Ô<¸RÐQÀ$ÐQÐQÐQÈ&ÐQÐQÐQð  øõ %ð ð ð Ø/2×/GÒ/GÈÈfÑ/UÔ/UÐ,Ø3ð ÝŸKšKØ SØ ,Ø !ñô ð õ
 *Ø(LØ(Z¸<Ð(ZÐ(ZÈ4Ð(ZÐ(ZÐRXÐ(ZÐ(ZØ,kÐ^`Ô^iÐ,kÐ,kØ&DÕ(9Ô(CÐ&Dð	ñ ô ð øøøøøøøøøðøøøøøõ  #ð ,ð ,ð ,Ø+.×+CÒ+CÀDÈ&Ñ+QÔ+QÐ(Ø/ð Øà×)Ò)Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+øøøøð,øøøð �tsB   ƒ �
C;š#>½C;¾
B6ÁA$B1Â,C;Â1B6Â6C;Â;	C;Ã-C6Ã6C;c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S rˆ   rî  r  s     r‹   r  z0BuiltinVariable._make_handler.<locals>.<genexpr>—  s-   è è € ÐGÐG¸•J˜qÕ"2Ñ3Ô3ÐGÐGÐGÐGÐGÐGr�   c                 óP  •— 	  ‰d„ |D ¦   «         Ž }n€# t           $ r;}t          t          |¦  «        | t          |j        ¦  «        ¬¦  «         Y d }~n@d }~wt
          $ r0}t          dd‰› d|› �dg t          j        ¢|¬¦  «         Y d }~nd }~ww xY wt          j
        | |¦  «        S )Nc                 ó6   — g | ]}|                      ¦   «         ‘ŒS r‚   rÕ  r  s     r‹   rÖ  zPBuiltinVariable._make_handler.<locals>.constant_fold_handler.<locals>.<listcomp>£  s$   € ÐCÐCÐC¸˜a×2Ò2Ñ4Ô4ÐCÐCÐCr�   rr  úconstant fold exceptionúattempted to run function ú with arguments ú7Encountered exception when attempting to constant fold.©r÷  rø  rù  rú  Úfrom_exc)Ú	Exceptionr   rß   r  r…   r7   r   r   Ú
DYNAMO_BUGr;   rã   ©rÓ   r…   r†   Úresrt  r  s        €r‹   Úconstant_fold_handlerz<BuiltinVariable._make_handler.<locals>.constant_fold_handler›  s  ø€ ðØ ˜bØCÐC¸dÐCÑCÔCð˜˜øõ %ð ð ð Ý0Ý  ™IœIØÝ!% c¤h¡¤ðñ ô ð ð ð ð ð ð øøøøõ
 ?ð ð ð Ý%Ø$=Ø$[ÀÐ$[Ð$[ÐUYÐ$[Ð$[Ø(aØ"AÕ$5Ô$@Ð"AØ%(ðñ ô ð ð ð ð ð ð øøøøðøøøõ +Ô0°°SÑ9Ô9Ð9s    ƒ “
B�1AÁBÁ &BÂBc                 ó²  •— t          ||¦  «        rÅ	  ‰d„ |D ¦   «         i d„ |                     ¦   «         D ¦   «         ¤Ž}n€# t          $ r0}t          dd‰› d|› �dg t          j        ¢|¬¦  «         Y d }~nKd }~wt          $ r;}t          t          |¦  «        | t          |j
        ¦  «        ¬¦  «         Y d }~nd }~ww xY wt          j        | |¦  «        S d S )	Nc                 ó6   — g | ]}|                      ¦   «         ‘ŒS r‚   rÕ  r  s     r‹   rÖ  zPBuiltinVariable._make_handler.<locals>.constant_fold_handler.<locals>.<listcomp>À  s$   € Ð!GÐ!GÐ!G¸Q !×"6Ò"6Ñ"8Ô"8Ð!GÐ!GÐ!Gr�   c                 ó>   — i | ]\  }}||                      ¦   «         “ŒS r‚   rÕ  rØ  s      r‹   rÛ  zPBuiltinVariable._make_handler.<locals>.constant_fold_handler.<locals>.<dictcomp>Á  s7   € ð #"ð #"ð #"ÙBFÀ!ÀQ A q×';Ò';Ñ'=Ô'=ð#"ð #"ð #"r�   r  r  r  r  r  rr  )r&   r“  r7   r   r   r  r  r   rß   r  r…   r;   rã   r  s        €r‹   r  z<BuiltinVariable._make_handler.<locals>.constant_fold_handler·  s]  ø€ õ 5°T¸6ÑBÔBð >ðØ"$ "Ø!GÐ!GÀ$Ð!GÑ!GÔ!Gð#ð#"ð #"ØJPÏ,Ê,É.Ì.ð#"ñ #"ô #"ð#ð #˜C˜Cøõ  Cð ð ð Ý)Ø(AØ(_ÀRÐ(_Ð(_ÐY]Ð(_Ð(_Ø,eØ&EÕ(9Ô(DÐ&EØ),ðñ ô ð ð ð ð ð ð øøøøõ  )ð ð ð Ý4Ý $ S¡	¤	Ø "Ý%)¨#¬(¡^¤^ðñ ô ð ð ð ð ð ð øøøøðøøøõ  /Ô4°R¸Ñ=Ô=Ð=Ø˜4s#   “.A Á
B?Á&A7Á7B?Â1B:Â:B?c                 ó®   •— d„ | D ¦   «         }t          dd‰j        › d‰› d‰› �d‰j        › d|› d‰› d�d	‰j        › d|› d
‰j        › d�ddg¬¦  «         d S )Nc                 ó6   — g | ]}|                      ¦   «         ‘ŒS r‚   )Úpython_type_name©r  rú   s     r‹   rÖ  zMBuiltinVariable._make_handler.<locals>.call_unimplemented.<locals>.<listcomp>Ù  s$   € ÐEÐEÐE¸˜c×2Ò2Ñ4Ô4ÐEÐEÐEr�   z Failed to trace builtin operatorzbuiltin r  z4Dynamo does not know how to trace builtin operator `z` with argument types z (has_kwargs r­  zAvoid calling builtin `z?. Consider using an equivalent alternative function/method to `z`.z�If you are attempting to call a logging function (e.g. `print`), you can try adding it to `torch._dynamo.config.reorderable_logging_functions`.z"Please report an issue to PyTorch.rö  )r   rŽ   )r…   Úreal_arg_typesrÇ  r  rà  s     €€€r‹   Úcall_unimplementedz9BuiltinVariable._make_handler.<locals>.call_unimplementedØ  sÞ   ø€ ØEÐEÀÐEÑEÔEˆNÝØ:ØI 2¤;ÐIÐI°ÐIÐI¸ZÐIÐIðRÐSUÔS^ð Rð RØ'5ðRð RØDNðRð Rð Rðd¨b¬kð dð dÐQ_ð dð dØTVÔT_ðdð dð dðeà8ððñ ô ð ð ð r�   c                 ó   •—  ‰|¦  «        S rˆ   r‚   )rÓ   r…   r†   r(  s      €r‹   r™   z/BuiltinVariable._make_handler.<locals>.<lambda>é  s   ø€ Ð,>Ð,>¸tÑ,DÔ,D€ r�   c                 ó@   •—  ‰| ||¦  «        }|r|S  ‰|¦  «         |S rˆ   r‚   )rÓ   r…   r†   r  r(  rz  s       €€r‹   Úbuiltin_dispatchz7BuiltinVariable._make_handler.<locals>.builtin_dispatchí  s;   ø€ ð
 �W˜R  vÑ.Ô.�Øð Ø�IØ"Ð" 4Ñ(Ô(Ð(Ø�	r�   c                 óR   •— d }‰D ]} || ||¦  «        }|r|c S Œ ‰|¦  «         |S rˆ   r‚   )rÓ   r…   r†   r  r  r(  r   s        €€r‹   r+  z7BuiltinVariable._make_handler.<locals>.builtin_dispatchú  sX   ø€ ð
 �Ø"ð "ð "�BØ˜˜B  fÑ-Ô-�BØð "Ø!˜	˜	˜	ð"à"Ð" 4Ñ(Ô(Ð(Ø�	r�   )Úlazyrâ  rã  r  r  Ú_make_handlerr  r;   r’   r“   r  ÚisclassrŸ  ÚBaseExceptionÚGeneratorExitr¦  r²   rµ   r   rd   rÊ  Ú_handle_insert_op_in_graphrˆ  r¨   r¤  r   rÝ   rŽ   rH  )r  rÇ  rà  Ú
lazy_typesró  rý  r  r  r  r+  râ  rã  r   r  r(  rz  r   rò  rì  r  s   ```       @@@@@@@@@@r‹   r.  zBuiltinVariable._make_handlerå  sþ  øøøøøøøøøøøøø€ ð 	DÐCÐCÐCÐCÐCÐCÐCå˜bÑ!Ô!ˆØ+-ˆàQÐQÐQÐQ ÐQÑQÔQˆ
Øð 4	)ÝÐOÐOÐOÐOÀJÐOÑOÔOÑOÔOð ð
ð 
ð 
ð 
ð 
ð 
ð 
õ$ ,×9Ò9Øðð ð ð à&ðñ ô ð ñô ˆMð7Ø/ð7å�?Ô+ð7õ �S¥/Ð1Ô2ð7õ ! 4Ñ'ð	7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð( )Ð(åŒ?˜2ÑÔð 	1Ý�r�=Ñ)Ô)ð	1ð
 •]Ð"Ð"ðEØ/ðEå�?Ô+ðEõ �S¥/Ð1Ô2ðEõ !ð	Eð Eð Eð Eð Eð Eð$ 1Ð0à×"Ò"Ñ$Ô$ð 	@Ø•(Ô"Ð"Ð"Ý˜y¨œ|­YÔ-EÑFÔFð #ð ×#Ò# IÑ.Ô.ð @ØÔ5Ð5Øð @à—’ Ô >Ñ?Ô?Ð?õ ˆy‰>Œ>˜QÒÐ zÐå,Ô@ÀÐPÀiÐPÐPÐPˆNØ!ð 5ØÝ�^Ñ$Ô$¨Ò)Ð)Ø#1Ñ �Ø—’Ð LÐ LÐ LÐ LÑMÔMÐMÐMð Ø3ð Ý;>ð ÝCFð åð ð  ð  ð  ð  ð  ð —’Ð 3Ñ4Ô4Ð4å˜sÐ$9¨B¬KÐ$9Ð$9¸4Ñ@Ô@ˆØð (	/ð$Ø/ð$å�?Ô+ð$õ �S¥/Ð1Ô2ð$õ ! 4Ñ'ð	$ð $ð $ð $ð $ð $ð $ð $ðL �OŠOÐ-Ñ.Ô.Ð.à×(Ò(Ñ*Ô*ð A	3åÐGÐG¸YÐGÑGÔGÑGÔGð> à"ð> ð
:Ø3ð:å�Ô/ð:õ !¥¥oÐ!5Ô6ð:õ % tÑ+ð	:ð :ð :ð :ð :ð :ð :ð8 Ø3ð å�Ô/ð õ !¥¥oÐ!5Ô6ð õ % tÑ+ð	 ð  ð  ð  ð  ð  ð> �OŠOÐ1Ñ2Ô2Ð2ð	¥T­/Ô%:ð 	¸tð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	õ  ˆx‰=Œ=˜AÒÐØDÐDÐDÐDÐDÝ�‰]Œ]˜aÒÐØ!‰JˆWð	Ø/ð	å�?Ô+ð	õ �S¥/Ð1Ô2ð	õ ! 4Ñ'ð		ð 	ð 	ð 	ð 	ð 	ð 	ð 	ðØ/ðå�?Ô+ðõ �S¥/Ð1Ô2ðõ ! 4Ñ'ð	ð ð ð ð ð ð ð  Ðr�   Únodec                 óÂ  ‡— t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j	        t           j
        t           j        t           j        t           j        t           j        t           j        t           j        fŠt#          ˆfd„t          j        | ¦  «        D ¦   «         ¦  «        S )Nc              3   óÈ   •K  — | ]\}t          |‰¦  «        oGt          |t          j        ¦  «         p,t          |j        t          t
          t          t          f¦  «        V — Œ]d S rˆ   )rð   ÚastÚConstantrÀ   r  r   r  r  )r  ÚchildÚallowed_nodess     €r‹   r  z>BuiltinVariable._constant_eval_numeric_expr.<locals>.<genexpr>  sx   øè è € ð 
ð 
ð õ �u˜mÑ,Ô,ð å˜u¥c¤lÑ3Ô3Ð3ð HÝ˜eœk­Dµ#µu½gÐ+FÑGÔGð	
ð 
ð 
ð 
ð 
ð 
r�   )r7  Ú
Expressionr8  ÚUnaryOpÚBinOpÚUAddÚUSubÚInvertÚAddÚSubÚMultÚDivÚFloorDivÚModÚBitOrÚBitXorÚBitAndr  Úwalk)r4  r:  s    @r‹   Ú_constant_eval_numeric_exprz+BuiltinVariable._constant_eval_numeric_expr	  s    ø€ õ ŒNÝŒLÝŒKÝŒIÝŒHÝŒHÝŒJÝŒGÝŒGÝŒHÝŒGÝŒLÝŒGÝŒIÝŒJÝŒJð!
ˆõ$ ð 
ð 
ð 
ð 
õ œ $™œð
ñ 
ô 
ñ 
ô 
ð 	
r�   ÚtreeÚfilenamec           	      ó  — t          d„ t          j        |¦  «        D ¦   «         ¦  «        rd S t          j        |¦  «         	 t          j        |¦  «        }n™# t
          $ rŒ t                               |¦  «        sY d S 	 t          t          ||d¦  «        di ii ¦  «        }nH# t          $ r;}t          t          |¦  «        | t          |j        ¦  «        ¬¦  «         Y d }~nd }~ww xY wY nw xY wt          j        | |¦  «        S )Nc              3   óJ   K  — | ]}t          |t          j        ¦  «        V — Œd S rˆ   )rð   r7  ÚCall)r  r9  s     r‹   r  z8BuiltinVariable._constant_eval_result.<locals>.<genexpr>*  s.   è è € ÐGÐG¨u�z˜%¥¤Ñ*Ô*ÐGÐGÐGÐGÐGÐGr�   ÚevalÚ__builtins__rr  )r  r7  rJ  Úfix_missing_locationsÚliteral_evalÚ
ValueErrorr  rK  rQ  Úcompiler  r   rß   r  r…   r;   rã   )rÓ   rL  rM  rƒ  rt  s        r‹   Ú_constant_eval_resultz%BuiltinVariable._constant_eval_result&  s4  € õ ÐGÐG½¼À¹¼ÐGÑGÔGÑGÔGð 	Ø�4ÝÔ! $Ñ'Ô'Ð'ð	MÝÔ% dÑ+Ô+ˆFˆFøÝð 
	Mð 
	Mð 
	MÝ"×>Ò>¸tÑDÔDð Ø�t�tðMÝÝ˜D (¨FÑ3Ô3Ø# RÐ(Øñô ��øõ
 ð Mð Mð MÝ(­¨c©¬°B½TÀ#Ä(¹^¼^ÐLÑLÔLÐLÐLÐLÐLÐLÐLøøøøðMøøøøøð
	Møøøõ Ô$ R¨Ñ0Ô0Ð0s<   ÁA Á$C.Â "B#Â"C.Â#
C(Â-1C#ÃC.Ã#C(Ã(C.Ã-C.c                 óz  — |s|rd S |                      ¦   «         sd S |                     ¦   «         }t          |t          ¦  «        sd S 	 t	          j        |                     ¦   «         d¬¦  «        }n4# t          $ r'}t          t          ||j	        g¬¦  «         Y d }~nd }~ww xY w|  
                    ||d¦  «        S )NrQ  )Úmoderr  z<torch._dynamo.eval>)r÷   rÍ   rð   r“   r7  ÚparseÚstripÚSyntaxErrorr   ÚmsgrW  )r‰   rÓ   rÁ   r…   r†   Ú
source_strrL  rt  s           r‹   Ú	call_evalzBuiltinVariable.call_eval<  sç   € ð ð 	�6ð 	Ø�4Ø×(Ò(Ñ*Ô*ð 	Ø�4Ø×.Ò.Ñ0Ô0ˆ
Ý˜*¥cÑ*Ô*ð 	Ø�4ð	FÝ”9˜Z×-Ò-Ñ/Ô/°fÐ=Ñ=Ô=ˆDˆDøÝð 	Fð 	Fð 	FÝ$¥[°"¸C¼G¸9ÐEÑEÔEÐEÐEÐEÐEÐEÐEøøøøð	Føøøð ×)Ò)¨"¨dÐ4JÑKÔKÐKs   Á	(A2 Á2
B#Á<BÂB#c                 ó<  — t          |¦  «        dk    r|                      |¦  «        S t          |¦  «        dk    rt          dt          |¦  «        › �¦  «        ‚	 |d                              |d¦  «        S # t          $ r t          t          |¦  «         Y d S w xY w)Nr   r6   z vars() expected 1 argument, got rD  )r¨   Ú_call_frame_locals_snapshotr±   rá   r   r   rs  ©r‰   rÓ   r…   s      r‹   Ú	call_varszBuiltinVariable.call_varsR  s¤   € Ýˆt‰9Œ9˜Š>ˆ>Ø×3Ò3°BÑ7Ô7Ð7Ýˆt‰9Œ9˜Š>ˆ>Ý Ð!OÅCÈÁIÄIÐ!OÐ!OÑPÔPÐPð	4Ø˜”7×&Ò& r¨:Ñ6Ô6Ð6øÝ%ð 	4ð 	4ð 	4Ý$¥Y°Ñ3Ô3Ð3Ð3Ð3Ð3ð	4øøøs   ÁA8 Á8BÂBc                 ó|   — t          |¦  «        dk    rt          t          |¦  «         |                      |¦  «        S r¢   )r¨   r   rs  ra  rb  s      r‹   Úcall_localszBuiltinVariable.call_locals]  s7   € õ ˆt‰9Œ9˜Š>ˆ>Ý$¥Y°Ñ3Ô3Ð3Ø×/Ò/°Ñ3Ô3Ð3r�   c                 ó6  — t          | j        j        ¦  «        t          |                      ¦   «         ¦  «        z  }t          |                      ¦   «         ¦  «        }i }| j                             ¦   «         D ]\  }}||vrŒ
||v r| j        j                             |¦  «        }t           
                    t          |¦  «        st          |t          j        ¦  «        rŒh||t          j        |¦  «        <   Œ€t#          |t$          t'          ¦   «         ¬¦  «        S ©N©Úmutation_type)ÚsetÚf_codeÚco_varnamesÚcell_and_freevarsÚsymbolic_localsr“  rm  Úside_effectsÚ	load_cellrß   Ú__instancecheck__rI   rð   r   ÚDeletedVariabler<   Úcreater>   r’   r:   )rÓ   Úframe_local_namesrm  Úframe_localsrØ   rÀ   s         r‹   ra  z+BuiltinVariable._call_frame_locals_snapshotd  s  € å ¤	Ô 5Ñ6Ô6½¸R×=QÒ=QÑ=SÔ=SÑ9TÔ9TÑTÐÝ × 4Ò 4Ñ 6Ô 6Ñ7Ô7ÐØˆØÔ-×3Ò3Ñ5Ô5ð 		@ð 		@‰KˆD�%ØÐ,Ð,Ð,ØØÐ(Ð(Ð(Øœ	Ô.×8Ò8¸Ñ?Ô?�Ý×%Ò%¥l°EÑ:Ô:ð ½jØ•yÔ0ñ?ô ?ð ð Ø:?ˆLÕ)Ô0°Ñ6Ô6Ñ7Ð7Ý ØÝÝ*Ñ,Ô,ð
ñ 
ô 
ð 	
r�   c           
      óÂ  — ddl m}m} |r# | j        g |¢|                     ¦   «         ¢R Ž sd S ddl m} ddlm}m}  ||||¦  «        r¹|j	        s‡t          ¦   «          |d                              ¦   «         sL| j        t          v rt          | j                 }	nt          | j                 }	|d         }
|d         |d<   |
|d<   nt          | j                 }	n| j        }	|                     ||	¦  «        } |||||¦  «        S | j        }	  | j        |i |¤Žr)ddlm} ddlm}  ||| ||j        ¦  «        ||¦  «        S |t,          v r=t/          |d         t0          j        ¦  «        rt,          |         }|d         |d         g}|t4          j        u rVt/          |d         t8          ¦  «        r;t:          j        }|d         t0          j                              |d¦  «        |d         g}tC          ||¦  «        r_tE          d	„ |D ¦   «         ¦  «        sF |j#        j$        d
tK          |¦  «        gtM          ||¦  «        ¢R Ž } |t0          j'        ||¦  «        S |tP          v rWtS          |¦  «        dk    rDtE          d„ |D ¦   «         ¦  «        r+ddl*m+}  |||d         |d         tP          |         ¦  «        S  |j#        j$        d
|gtM          ||¦  «        ¢R Ž }tE          d„ |D ¦   «         ¦  «        r |tX          ||¦  «        S t[          ||¦  «        rt|  .                    ||¦  «        \  }} ||i |¤Ž}tE          d„ t_          j0        ||                     ¦   «         ¦  «        D ¦   «         ¦  «        } |tb          ||||¬¦  «        S te          d„ |D ¦   «         ¦  «        rt9          j        ||d ¦  «        S |t4          j3        u rLt/          |d         t0          j1        ¦  «        r,ti          |¦  «        }|d          5                    ¦   «         |d<    |||¦  «        S # tl          $ r5 to          dd| › d|› d|› �d| j        › d�g tp          j9        ¢¬¦  «         Y d S w xY w)Nr6   )rj  Úwrap_fx_proxy_cls©ÚSourcelessBuilder)Úcan_dispatch_torch_functionÚdispatch_torch_functionr   r   )Ú	unique_id)Úinvoke_and_store_as_constantc              3   óB   K  — | ]}t          |¦  «        t          u V — Œd S rˆ   )rß   rd   r&  s     r‹   r  z=BuiltinVariable._handle_insert_op_in_graph.<locals>.<genexpr>É  sF   è è € ð Bð BØ03•�S‘	”	�^Ð+ðBð Bð Bð Bð Bð Br�   rk  c              3   óZ   K  — | ]&}t          |t          j        t          f¦  «         V — Œ'd S rˆ   )rð   r   rd   rc   ©r  r_  s     r‹   r  z=BuiltinVariable._handle_insert_op_in_graph.<locals>.<genexpr>×  sK   è è € ð ð àõ # 1¥yÔ'?ÅÐ&QÑRÔRÐRðð ð ð ð ð r�   rw  c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S rˆ   ©rð   ra   r&  s     r‹   r  z=BuiltinVariable._handle_insert_op_in_graph.<locals>.<genexpr>ç  s-   è è € ÐEÐE¸•:˜cÕ#3Ñ4Ô4ÐEÐEÐEÐEÐEÐEr�   c              3   óX   K  — | ]%}t          |t          j        ¦  «        ¯|j        V — Œ&d S rˆ   ©rð   r   re   Úneed_unwrapr  s     r‹   r  z=BuiltinVariable._handle_insert_op_in_graph.<locals>.<genexpr>ñ  óK   è è € ð "ð "àÝ! !¥YÔ%JÑKÔKð"Ø”Mð"ð "ð "ð "ð "ð "r�   )Ú	raw_valuer…  c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S rˆ   ©rð   rc   r  s     r‹   r  z=BuiltinVariable._handle_insert_op_in_graph.<locals>.<genexpr>þ  s,   è è € ÐBÐB¸•Z ¥?Ñ3Ô3ÐBÐBÐBÐBÐBÐBr�   z,unimplemented builtin op on tensor argumentszpartial tensor op: r  z3Dynamo does not know how to trace builtin operator z with tensor argumentsrö  ):rl  rj  rw  rÆ  rC  ry  Útorch_functionrz  r{  Úexportr¼   rÄ  r  r}   r|   rs  rÒ  Úbytecode_transformationr|  r�  r}  rŽ   ÚIN_PLACE_DESUGARING_MAPrð   r   r<   r²   rµ   rc   r©   Úselectr;   rã   r%   r  rm  rn  r/   r0   ÚNumpyNdarrayVariablerz   r¨   rí   rx  ra   r'   rÝ  rÎ  rÏ  re   r  r+  r  rÍ   rµ  r   r   rû  )r‰   rÓ   r…   r†   rj  rw  ry  rz  r{  rƒ   ÚtmpÚfn_varr  r|  r}  Úproxyrx  Ú_argsÚ_kwargsr‡  r…  s                        r‹   r2  z*BuiltinVariable._handle_insert_op_in_graphy  sÈ  € ð 	>Ð=Ð=Ð=Ð=Ð=Ð=Ð=àð 	Ð*˜$Ô*ÐC¨DÐC°6·=²=±?´?ÐCÐCÐCð 	Ø�4ð 	/Ð.Ð.Ð.Ð.Ð.ØXÐXÐXÐXÐXÐXÐXÐXð 'Ð& r¨4°Ñ8Ô8ð 	Eð ”9ð å1Ñ3Ô3Ð3à˜A”w×(Ò(Ñ*Ô*ð =Ø”wÕ";Ð;Ð;Ý8¸¼ÔA˜˜å7¸¼Ô@˜à˜qœ'�Cà" 1œg�D˜‘GØ!�D˜‘G�Gå3°D´GÔ<�D�Dà”w�à&×-Ò-¨b°$Ñ7Ô7ˆFà*Ð*¨2¨v°t¸VÑDÔDÐDàŒWˆðl	à3ˆtÔ3°TÐD¸VÐDÐDð Ø?Ð?Ð?Ð?Ð?Ð?ØCÐCÐCÐCÐCÐCà3Ð3Ø˜˜I˜I b¤kÑ2Ô2°D¸&ñô ð ð Õ,Ð,Ð,µØ�Q”�Ô3ñ2ô 2Ð,õ -¨RÔ0�Ø˜Qœ  a¤Ð)�à•XÔ%Ð%Ð%­*°T¸!´W½oÑ*NÔ*NÐ%õ ”\�à˜”GÝÔ-×3Ò3°B¸Ñ:Ô:Ø˜”Gð�õ (¨¨fÑ5Ô5ð 	T½cð Bð BØ7;ðBñ Bô Bñ ?ô ?ð 	Tð /˜œ	Ô.Ø#Ý*¨2Ñ.Ô.ðõ ' t¨VÑ4Ô4ðð ð �ð )Ð(­Ô)GÈÈUÑSÔSÐSð Õ)Ð)Ð)Ý˜‘I”I ’N�NÝð ð à!ðñ ô ñ ô ð #ð AÐ@Ð@Ð@Ð@Ð@à*Ð*Ø˜˜Qœ  a¤Õ*=¸bÔ*Añô ð ð +�B”IÔ*ØØðõ # 4¨Ñ0Ô0ðð ð ˆEõ
 ÐEÐEÀÐEÑEÔEÑEÔEð !0Ø(Ð(Ý$ØØñô ð õ
 *¨$°Ñ7Ô7ð 0Ø!%×!?Ò!?ÀÀfÑ!MÔ!M‘��wØ˜B Ð1¨Ð1Ð1�	å!ð "ð "å&œ_¨T°6·=²=±?´?ÑCÔCð"ñ "ô "ñ ô �ð )Ð(Ý/ØØØ'Ø +ðñ ô ð õ ÐBÐB¸TÐBÑBÔBÑBÔBð 
0Ý&Ô-¨b°%¸Ñ>Ô>Ð>ð �Ô)Ð)Ð)­jØ˜”G�YÔBñ/ô /Ð)õ   ™:œ:�DØ" 1œg×8Ò8Ñ:Ô:�D˜‘GØ$�} R¨Ñ/Ô/Ð/øå"ð 	ð 	ð 	ÝØFØD¨dÐDÐD°TÐDÐD¸FÐDÐDØqÐRVÔRYÐqÐqÐqØ6Õ)Ô5Ð6ð	ñ ô ð ð ð ð ð	øøøs;   Ä
5P Å DP ÉAP Ê9AP ÌBP Î
.P Î9A%P Ð;QÑQÚcall_function_handler_cachec                 ó´  — |r6d„ |                      ¦   «         D ¦   «         }| j        gd„ |D ¦   «         ¢d‘R }n| j        gd„ |D ¦   «         ¢R }| j                             |¦  «        }|s=|                      | j        d„ |D ¦   «         t          |¦  «        ¦  «        x| j        |<   }|€$t          d| j        › dd„ |D ¦   «         › �¦  «        ‚ ||||¦  «        S )	Nc                 ó>   — i | ]\  }}||                      ¦   «         “ŒS r‚   )rë  rØ  s      r‹   rÛ  z1BuiltinVariable.call_function.<locals>.<dictcomp>&  s&   € Ð@Ð@Ð@©¨¨A�a˜Ÿš™œÐ@Ð@Ð@r�   c              3   ó4   K  — | ]}t          |¦  «        V — Œd S rˆ   ©rß   r  s     r‹   r  z0BuiltinVariable.call_function.<locals>.<genexpr>'  ó(   è è € Ð4Ð4¨!�d 1™gœgÐ4Ð4Ð4Ð4Ð4Ð4r�   Tc              3   ó4   K  — | ]}t          |¦  «        V — Œd S rˆ   r™  r  s     r‹   r  z0BuiltinVariable.call_function.<locals>.<genexpr>)  rš  r�   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r‚   r™  r  s     r‹   rÖ  z1BuiltinVariable.call_function.<locals>.<listcomp>.  s   € Ð0Ð0Ð0 a�$˜q™'œ'Ð0Ð0Ð0r�   zNo handler found for z with args c                 ó,   — g | ]}t          |¦  «        ‘ŒS r‚   r™  r  s     r‹   rÖ  z1BuiltinVariable.call_function.<locals>.<listcomp>2  s   € Ð<SÐ<SÐ<SÈ½TÀ!¹W¼WÐ<SÐ<SÐ<Sr�   )r“  r  r•  rž  r.  r  r±   )r‰   rÓ   r…   r†   Úkeyrz  s         r‹   rk  zBuiltinVariable.call_function  s#  € ð ð 	6Ø@Ð@°·²±´Ð@Ñ@Ô@ˆFØ”7Ð;Ð4Ð4¨tÐ4Ñ4Ô4Ð;°dÐ;Ð;ˆCˆCà”7Ð5Ð4Ð4¨tÐ4Ñ4Ô4Ð5Ð5ˆCàÔ2×6Ò6°sÑ;Ô;ˆØð 	Ø>B×>PÒ>PØ”Ð0Ð0¨4Ð0Ñ0Ô0µ$°v±,´,ñ?ô ?ð ˆDÔ,¨SÑ1°Gð ˆ?Ý ØU¨¬ÐUÐUÐ<SÐ<SÈdÐ<SÑ<SÔ<SÐUÐUñô ð ð ˆw�r˜4 Ñ(Ô(Ð(r�   rØ   c                 ó`  •— | j         t          u rã|dk    rÝt          |¦  «        dk    rt          dt          |¦  «        › �¦  «        ‚t          |¦  «        dk    rt          dt          |¦  «        › �¦  «        ‚|\  }}}|                     ¦   «         }t          |t          ¦  «        rJ|j        j         	                    |¦  «        r+| 
                    ¦   «         r|                     |||¦  «        S |dk    �r?| j         t          u rvt          |¦  «        dk    rct          |¦  «        dk    rt          dt          |¦  «        › �¦  «        ‚|j        j                             | |d         |dd …         |¬	¦  «        S | j         t          u r­t          |¦  «        d
k    rš|s˜t          |d         t          ¦  «        rL|d         j         t          u r8t          ||d         ¦  «        }t!          j        |t%          ¦   «         ¬¦  «        S |j        j                             | |d         |dd …         |¬	¦  «        S |t&                               | j         d¦  «        v råt+          d„ |D ¦   «         ¦  «        rÌt+          d„ |                     ¦   «         D ¦   «         ¦  «        r¡	 t/          | j         |¦  «        }	 |	d„ |D ¦   «         i d„ |                     ¦   «         D ¦   «         ¤Ž}
t3          j        ||
¦  «        S # t6          $ r;}t9          t;          |¦  «        |t=          |j        ¦  «        ¬¦  «         Y d }~nd }~ww xY w| j         t          u r%|dk    rt           j          !                    d ¦  «        S | j         tD          tF          t<          t          fv r�t          |d         t           j        ¦  «        rG|d         j$        €t          d¦  «        ‚|d         j$         %                    |||dd …         |¦  «        S |d          %                    |||dd …         |¦  «        S | j         tL          u rst          |¦  «        dk    r`t/          | j         |d ¦  «        }|tN          v rAt          |d         t@          ¦  «        r&|d          %                    |||dd …         |¦  «        S | j         tP          u rwt          |¦  «        dk    rdt          |d         t@          ¦  «        rIt3          j        | t/          tP          |¦  «        |d          )                    ¦   «         ¦  «        ¦  «        S |dk    r+t          |¦  «        dk    r|stU          ||d         ¦  «        S |dk    r+t          |¦  «        dk    r|stW          ||d         ¦  «        S |dk    r9t          |¦  «        dk    r&|s$tY          ¦   «          %                    ||||¦  «        S |dk    r+t          |¦  «        dk    r|st[          ||d         ¦  «        S |dk    r+t          |¦  «        dk    r|st]          ||d         ¦  «        S |dk    r+t          |¦  «        dk    r|st_          ||d         ¦  «        S |dk    r+t          |¦  «        dk    r|sta          ||d         ¦  «        S tY          ¦   «          %                    ||||¦  «        S )NÚ__setattr__rq   z'object.__setattr__ expects 3 args, got r   z*object.__setattr__ expects no kwargs, got rk   r6   z&object.__new__ expects no kwargs, got ©rÓ   r   rh  r‚   c              3   ó>   K  — | ]}|                      ¦   «         V — Œd S rˆ   ©r÷   r€  s     r‹   r  z.BuiltinVariable.call_method.<locals>.<genexpr>l  s.   è è € Ð8Ð8¨a�1×'Ò'Ñ)Ô)Ð8Ð8Ð8Ð8Ð8Ð8r�   c              3   ó>   K  — | ]}|                      ¦   «         V — Œd S rˆ   r£  ©r  rÚ  s     r‹   r  z.BuiltinVariable.call_method.<locals>.<genexpr>l  sG   è è € ð Að AØ+,�×$Ò$Ñ&Ô&ðAð Að Að Að Að Ar�   c              3   ó>   K  — | ]}|                      ¦   «         V — Œd S rˆ   rÕ  r€  s     r‹   r  z.BuiltinVariable.call_method.<locals>.<genexpr>r  s.   è è € Ð?Ð?°Q˜!×.Ò.Ñ0Ô0Ð?Ð?Ð?Ð?Ð?Ð?r�   c                 ó>   — i | ]\  }}||                      ¦   «         “ŒS r‚   rÕ  rØ  s      r‹   rÛ  z/BuiltinVariable.call_method.<locals>.<dictcomp>s  s*   € ÐPÐPÐP¹¸¸A˜1˜a×2Ò2Ñ4Ô4ÐPÐPÐPr�   rr  r©  z3UserDefinedObjectVariable._base_vt must not be NoneÚ__len__Ú__str__rô   Ú__iter__Ú__neg__Ú__pos__Ú__abs__)1r  rõ   r¨   r±   rë  rð   rg   rm  ro  Úis_attribute_mutationr÷   Úmethod_setattr_standardÚtrack_new_user_defined_objectrÿ   r  r5   r   rH   r:   ro   rž  r  rC  rÝ   r“  r;   rã   r  r   rß   r  r…   r<   rs  rj  Ú	frozensetÚ_base_vtrù   r“   r3   r  rÍ   rS   rX   rø   rP   rU   rV   rM   )r‰   rÓ   rØ   r…   r†   rì  Úname_varÚvalÚ	init_argsr  r  r  Úresolved_fnrû   s                €r‹   rù   zBuiltinVariable.call_method6  sâ  ø€ ð Œ7•fÐÐ ¨Ò!6Ð!6Ý�4‰yŒy˜AŠ~ˆ~Ý$ØI½cÀ$¹i¼iÐIÐIñô ð õ �6‰{Œ{˜aÒÐÝ$ØNÅÀVÁÄÐNÐNñô ð ð "&ÑˆC�˜3Ø—+’+‘-”-ˆCå˜3Õ 9Ñ:Ô:ðFà”IÔ*×@Ò@ÀÑEÔEðFð ×/Ò/Ñ1Ô1ðFð
 ×2Ò2°2°xÀÑEÔEÐEà�9ÒÑàŒw�&Ð Ð ¥S¨¡Y¤Y°!¢^ ^Ý�v‘;”; !Ò#Ð#Ý(ØNÅÀVÁÄÐNÐNñô ð ð ”yÔ-×KÒKØØ˜”GØ˜˜˜”HØð	 Lñ ô ð ð Œw�%ÐÐ¥C¨¡I¤I°¢N N¸6 NÝ˜d 1œg¥Ñ7Ô7ð ¸DÀ¼G¼JÍ%Ð<OÐ<OÝ /°°D¸´GÑ <Ô <�IÝ$Ô2Ø!Õ1AÑ1CÔ1Cðñ ô ð ð ”yÔ-×KÒKØØ˜”GØ˜˜˜”HØð	 Lñ ô ð ð Õ5×9Ò9¸$¼'À2ÑFÔFÐFÐFÝÐ8Ð8°4Ð8Ñ8Ô8Ñ8Ô8ð ½Sð Að AØ06·²±´ðAñ Aô Añ >ô >ð ðÝ  ¤¨$Ñ/Ô/�BØ˜"Ø?Ð?¸$Ð?Ñ?Ô?ðàPÐPÀÇÂÁÄÐPÑPÔPðð �Cõ +Ô0°°SÑ9Ô9Ð9øÝ ð ð ð Ý,Ý˜Q™œØÝ! !¤&™\œ\ðñ ô ð ð ð ð ð ð øøøøðøøøð Œ7•fÐÐ ¨Ò!3Ð!3åÔ-×4Ò4°TÑ:Ô:Ð:àŒ7•s�I¥t­UÐ3Ð3Ð3Ý˜$˜qœ'¥9Ô#FÑGÔGð GØ˜”7Ô#Ð+Ý(ØMñô ð ð ˜A”wÔ'×3Ò3°B¸¸dÀ1À2À2¼hÈÑOÔOÐOà˜A”w×*Ò*¨2¨t°T¸!¸"¸"´X¸vÑFÔFÐFàŒ7•cˆ>ˆ>�c $™iœi¨1šn˜nÝ! $¤'¨4°Ñ6Ô6ˆKØ�kÐ)Ð)å˜d 1œgÕ'7Ñ8Ô8ð KØ œ7×.Ò.¨r°4¸¸a¸b¸b¼À6ÑJÔJÐJàŒ7•eÐÐ¥ D¡	¤	¨Q¢ å˜$˜qœ'Õ#3Ñ4Ô4ð Ý&Ô,ØÐ,�¥ tÑ,Ô,¨T°!¬W×-GÒ-GÑ-IÔ-IÑJÔJñô ð ð �9ÒÐ¥ T¡¤¨a¢ ¸ õ ˜r 4¨¤7Ñ+Ô+Ð+à�9ÒÐ¥ T¡¤¨a¢ ¸ å˜r 4¨¤7Ñ+Ô+Ð+à�:ÒÐ¥# d¡)¤)¨q¢. .¸ .Ý‘7”7×&Ò& r¨4°°vÑ>Ô>Ð>à�:ÒÐ¥# d¡)¤)¨q¢. .¸ .õ # 2 t¨A¤wÑ/Ô/Ð/à�9ÒÐ¥ T¡¤¨a¢ ¸ õ ˜r 4¨¤7Ñ+Ô+Ð+à�9ÒÐ¥ T¡¤¨a¢ ¸ õ ˜r 4¨¤7Ñ+Ô+Ð+à�9ÒÐ¥ T¡¤¨a¢ ¸ õ ˜r 4¨¤7Ñ+Ô+Ð+å‰wŒw×"Ò" 2 t¨T°6Ñ:Ô:Ð:s   Ê AK8 Ë8
L=Ì1L8Ì8L=rú   c                 ó"   — t          ||¦  «        S rˆ   )rR   ©r‰   rÓ   rú   s      r‹   Úcall_intzBuiltinVariable.call_int¼  ó   € õ ˜2˜sÑ#Ô#Ð#r�   c                 ó"   — t          ||¦  «        S rˆ   )rO   r¸  s      r‹   Ú
call_floatzBuiltinVariable.call_floatÁ  s   € õ ˜R Ñ%Ô%Ð%r�   c                 ó"   — t          ||¦  «        S rˆ   )rN   r¸  s      r‹   Ú	call_boolzBuiltinVariable.call_boolÆ  s   € õ ˜B Ñ$Ô$Ð$r�   c                 ó&   — ddl m}  |||¦  «        S )Nr6   )Úgeneric_hash)rí   rÀ  )r‰   rÓ   rú   rÀ  s       r‹   Ú	call_hashzBuiltinVariable.call_hashÌ  s(   € ð 	2Ð1Ð1Ð1Ð1Ð1àˆ|˜B Ñ$Ô$Ð$r�   c                 ó"   — t          ||¦  «        S rˆ   )rW   r¸  s      r‹   Ú	call_reprzBuiltinVariable.call_reprÓ  s   € õ ˜B Ñ$Ô$Ð$r�   c                 ó^  — t          |t          j        t          j        f¦  «        rÊt	          |j        ¦  «        dk    rt          j        |d¦  «        S t	          |j        ¦  «        dk    r5t          t          ¦  «         
                    ||j        d         gi ¦  «        S t          j        t          |j        ¦  «        ¦  «        }t          t          ¦  «         
                    ||gi ¦  «        S t          |t          j        ¦  «        r't          j        |t          |j        ¦  «        ¦  «        S t          |t          j        ¦  «        �r`t!          |j        d¦  «        r|j        j        }nNt!          |j        d¦  «        r|j        j        }n,t)          dt          |¦  «        dg t*          j        ¢¬¦  «         t/          |j        ¦  «        j        t0          j        u r/	 t          j        | |¦   «         ¦  «        S # t2          $ r Y d S w xY wt5          |¦  «        r*t)          d	dt/          |j        ¦  «        › d
�dg¬¦  «         nc|j        }	 t          j        ||¦  «        }n-# t8          $ r  t:                               dd¬¦  «         Y d S w xY w| 
                    ||gi ¦  «        S d S )Nr   Ú r6   r©  rô   z+failed to call str() on user defined objectz5User defined object has no __str__ or __repr__ methodrö  z0Attempted to a str() method implemented in C/C++z5 has a C/C++ based str method. This is not supported.zWrite the str method in Pythonz%Failed to create UserFunctionVariableT)Úexc_info)rð   r   rü  Ú"UserDefinedExceptionObjectVariabler¨   r…   r;   rã   r  r“   rk  rH   r  ÚUserFunctionVariabler  rg   rä   rÀ   r©  rô   r   r   Ú
USER_ERRORrß   rõ   ÚAttributeErrorr-   Ú__func__r±   r  r  )r‰   rÓ   rú   Ú	tuple_varÚ
str_methodÚbound_methodÚuser_func_variables          r‹   Úcall_strzBuiltinVariable.call_strØ  s©  € õ ØÝÔ(­)Ô*VÐWñ
ô 
ð 
	Oõ �3”8‰}Œ} Ò!Ð!Ý&Ô,¨R°Ñ4Ô4Ð4Ý�S”X‘” !Ò#Ð#Ý&¥sÑ+Ô+×9Ò9¸"¸s¼xÈ¼{¸mÈRÑPÔPÐPå%Ô3µD¸¼±N´NÑCÔC�	Ý&¥sÑ+Ô+×9Ò9¸"¸y¸kÈ2ÑNÔNÐNõ �c�IÔ:Ñ<Ô<ð .	GÝ"Ô(¨­S°´©[¬[Ñ9Ô9Ð9Ý˜�iÔAÑCÔCñ ,	Gå�s”y )Ñ,Ô,ð Ø œYÔ.�
�
Ý˜œ JÑ/Ô/ð 	à œYÔ/�
�
åØIÝ ™HœHØ WØ9Õ-Ô8Ð9ð	ñ ô ð õ �C”I‰ŒÔ&­&¬.Ð8Ð8ð å*Ô0°°Z°Z±\´\ÑBÔBÐBøÝ%ð  ð  ð  à˜4˜4ð øøøõ 1°Ñ<Ô<ð GÝØNØÝ#'¨¬	¡?¤?Ð iÐ iÐ iØ;Ð<ð	ñ ô ð ð ð  *Ô2�ð å)8Ô)>¸rÀ<Ñ)PÔ)PÐ&Ð&øÝ%ð  ð  ð  å—K’KÐ GÐRV�KÑWÔWÐWØ˜4˜4ð øøøð *×7Ò7¸¸S¸EÀ2ÑFÔFÐFØˆts$   Ç#H  È 
HÈHÉI( É(&JÊJc                 óŠ  — dt           fd„}t          j        j        j        s |||¦  «         	 |d                              ¦   «         }n# t          $ r  |||¦  «         Y nw xY wt          |dd …         |¦  «        r9t          j	        |gd„ |dd …         D ¦   «         ¢R Ž }t          j        ||¦  «        S  |||¦  «         d S )Nr~   c                 óP   — t          dd| › d|› �dg t          j        ¢¬¦  «         d S )NzInvalid call to __build_class__z&Non-constant args to __build_class__: r  zCannot trace class definition: the class body function is unsupported or the base class argument are not compile-time constantsrö  ©r   r   rû  rÜ  s     r‹   Úfailz2BuiltinVariable.call___build_class__.<locals>.fail  sK   € ÝØ9ØPÀÐPÐPÈÐPÐPð ^Ø6Õ)Ô5Ð6ð	ñ ô ð ð ð r�   r   r6   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r‚   rÕ  r€  s     r‹   rÖ  z8BuiltinVariable.call___build_class__.<locals>.<listcomp>-  s$   € Ð;Ð;Ð;¨Q�!×&Ò&Ñ(Ô(Ð;Ð;Ð;r�   )r	   r©   Ú_dynamor   Úenable_trace_load_build_classÚget_functionrµ  r$   r¿  Ú__build_class__r;   rã   )r‰   rÓ   r…   r†   rÔ  r  Úrs          r‹   Úcall___build_class__z$BuiltinVariable.call___build_class__  s  € ð	¥(ð 	ð 	ð 	ð 	õ Œ}Ô#ÔAð 	ØˆD��vÑÔÐð	Ø�a”×%Ò%Ñ'Ô'ˆBˆBøÝ"ð 	ð 	ð 	ØˆD��vÑÔÐÐÐð	øøøõ ˜t A B Bœx¨Ñ0Ô0ð 	ÝÔ(Øðà;Ð;°$°q°r°r´(Ð;Ñ;Ô;ðð ð ˆAõ #Ô(¨¨QÑ/Ô/Ð/àˆD��vÑÔÐÐÐs   ¯A
 Á
A#Á"A#c                 ó\  — t          |¦  «        dk    r,t          ||d         ¦  «        }|                      ||¦  «        S t          |¦  «        dk    r#|                      ||d         |d         ¦  «        S t          |¦  «        dk    r#|                      |t	          |¦  «        ¦  «        S d S )Nr6   r   r   )r¨   r5   Ú_call_min_max_seqÚ_call_min_max_binaryr  )r‰   rÓ   r…   r“  s       r‹   Ú_call_min_maxzBuiltinVariable._call_min_max3  s›   € õ ˆt‰9Œ9˜Š>ˆ>Ý# B¨¨Q¬Ñ0Ô0ˆEØ×)Ò)¨"¨eÑ4Ô4Ð4Ý�‰YŒY˜!Š^ˆ^Ø×,Ò,¨R°°a´¸$¸q¼'ÑBÔBÐBÝ�‰YŒY˜Š]ˆ]Ø×)Ò)¨"­d°4©j¬jÑ9Ô9Ð9Øˆtr�   r“  c                 óÖ   — t          |¦  «        dk    rt          d¦  «        ‚t          |¦  «        dk    r|d         S t          j        t          j        | j        |¦  «        |¦  «        S )Nr   z,_call_min_max_seq requires at least one itemr6   )r¨   r±   Ú	functoolsÚreduceÚpartialrÞ  )r‰   rÓ   r“  s      r‹   rÝ  z!BuiltinVariable._call_min_max_seq?  s^   € õ ˆu‰:Œ:˜Š?ˆ?Ý Ð!OÑPÔPÐPÝˆu‰:Œ:˜Š?ˆ?Ø˜”8ˆOåÔ¥	Ô 1°$Ô2KÈRÑ PÔ PÐRWÑXÔXÐXr�   r_  r`  c                 óÄ  — |�|€d S |                       ||¦  «        �r?|                     ¦   «         s||}}|                     ¦   «         st          d¦  «        ‚t          |t          ¦  «        r4t          j        t          j        ¦  «         	                    ||gi ¦  «        }t          |t          ¦  «        st          |t          ¦  «        rHddlm}  |t          |¦  «        | |j        j        d| j        gt#          ||gi ¦  «        ¢R Ž ¬¦  «        S |                     ¦   «         r…t          |t
          j        ¦  «        rdd l}t          j        |j        ¦  «        }nt          j        t          j        ¦  «        }| j        t0          u rd|ind|i}| 	                    ||g|¦  «        }n´t          |t
          j        ¦  «        r>dd l}t0          |j        t4          |j        i| j                 }	t          j        |	¦  «        }nCt0          t          j        t4          t          j        i| j                 }
t          j        |
¦  «        }| 	                    |||gi ¦  «        }t9          d	„ ||fD ¦   «         ¦  «        rßt;          d
„ ||fD ¦   «         ¦  «        rt
          j                             |¦  «        S |                     ¦   «         r|                     ¦   «         }n|j         }| j        t0          u rt1          |j         |¦  «        }nt5          |j         |¦  «        }t;          d„ ||fD ¦   «         ¦  «        }t
          j!                             |||¦  «        S |S t          |t          ¦  «        st          |t          ¦  «        r`| j        t0          u rt          j"        nt          j#        } |j        j        d|gt#          ||gi ¦  «        ¢R Ž }t          j$        ||d ¦  «        S t          |tJ          ¦  «        rdt          |tJ          ¦  «        rO|                      |                     ¦   «         |                     ¦   «         ¦  «        }tM          j'        ||¦  «        S d S )Nz1Expected at least one tensor argument for min/maxr6   ©rw  rk  )rÓ   r’  r   r  r  c              3   ób   K  — | ]*}t          |t          j        t          j        f¦  «        V — Œ+d S rˆ   )rð   r   re   r<   )r  rÑ  s     r‹   r  z7BuiltinVariable._call_min_max_binary.<locals>.<genexpr>†  sV   è è € ð 	ð 	ð õ Øå!Ô=Ý!Ô2ðñô ð	ð 	ð 	ð 	ð 	ð 	r�   c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S rˆ   r‚  )r  r´  s     r‹   r  z7BuiltinVariable._call_min_max_binary.<locals>.<genexpr>�  s-   è è € ÐKÐK¸S•z #Õ'7Ñ8Ô8ÐKÐKÐKÐKÐKÐKr�   c              3   óX   K  — | ]%}t          |t          j        ¦  «        ¯|j        V — Œ&d S rˆ   r„  r  s     r‹   r  z7BuiltinVariable._call_min_max_binary.<locals>.<genexpr>�  r†  r�   )(rÆ  rÄ  r±   rð   ra   r   ÚTorchInGraphFunctionVariabler©   rA  rk  rc   rl  rw  rß   rm  rn  r  r0   r÷   r�  ÚnumpyÚNumpyVariableÚclipÚclampr  Úmaximumr  Úminimumr  r  Úfrom_tensor_variablerÍ   r‡  re   Úsym_maxÚsym_minrs  r<   r;   rã   )r‰   rÓ   r_  r`  rw  Únpr  r†   rƒ  Únp_fnÚtorch_fnÚraw_bÚraw_resr…  Úpy_fnr’  rÀ   s                    r‹   rÞ  z$BuiltinVariable._call_min_max_binaryI  s‰  € ð ˆ9˜˜	ð �4Ø×Ò˜A˜qÑ!Ô!ñ b	4Ø—;’;‘=”=ð Ø˜!�1�Ø—;’;‘=”=ð Ý$ØGñô ð õ
 ˜!Õ-Ñ.Ô.ð ÝÔ:½5¼<ÑHÔH×VÒVØ˜˜˜Rñô �õ
 ˜!�_Ñ-Ô-ð µ¸A½Ñ1OÔ1Oð Ø6Ð6Ð6Ð6Ð6Ð6à(Ð(Ý˜‘G”GØØ0˜"œ)Ô0Ø'Øœðõ +¨A¨q¨6°2Ñ6Ô6ðð ð ðñ ô ð ð ×#Ò#Ñ%Ô%ð :å˜a¥Ô!?Ñ@Ô@ð MØ&Ð&Ð&Ð&å"Ô0°´Ñ9Ô9�B�Bå"Ô?ÅÄÑLÔL�BØ(,¬µ3¨¨˜% ˜˜¸eÀQ¸Z�Ø×)Ò)¨"¨q¨c°6Ñ:Ô:��å˜a¥Ô!?Ñ@Ô@ð JØ&Ð&Ð&Ð&å  "¤*­c°2´:Ð>¸t¼wÔG�EÝ"Ô0°Ñ7Ô7�B�Bå #¥U¤]µC½¼ÐGÈÌÔP�HÝ"Ô?ÀÑIÔI�BØ×)Ò)¨"¨q°!¨f°bÑ9Ô9�õ ð 	ð 	ð ˜Q˜ð	ñ 	ô 	ñ 	ô 	ð #õ ÐKÐKÀQÈÀFÐKÑKÔKÑKÔKð Så$Ô5×JÒJÈ6ÑRÔRÐRà×'Ò'Ñ)Ô)ð (Ø×0Ò0Ñ2Ô2�E�EàœK�EØ”7�c�>�>Ý! !¤+¨uÑ5Ô5�G�Gå! !¤+¨uÑ5Ô5�Gå!ð "ð "à ˜Vð"ñ "ô "ñ ô �õ
 !Ô<×QÒQØØØñô ð ð �Ý˜�?Ñ+Ô+ð 	4­z¸!½_Ñ/MÔ/Mð 	4Ø%)¤Wµ ^ ^•E”M�M½¼ˆEØ*�B”IÔ*Ø ðÝ):¸A¸q¸6À2Ñ)FÔ)Fðð ð ˆEõ #Ô)¨"¨e°TÑ:Ô:Ð:Ý˜Õ+Ñ,Ô,ð 	4µ¸AÕ?OÑ1PÔ1Pð 	4Ø—G’GØ×$Ò$Ñ&Ô&Ø×$Ò$Ñ&Ô&ñô ˆEõ #Ô(¨¨UÑ3Ô3Ð3Øˆtr�   c                 ó"   — t          ||¦  «        S rˆ   )rM   r¸  s      r‹   Úcall_abszBuiltinVariable.call_abs»  rº  r�   c                 ó"   — t          ||¦  «        S rˆ   )rV   r¸  s      r‹   Úcall_poszBuiltinVariable.call_posÀ  rº  r�   c                 óJ   — t          |¦  «        }|                     |¦  «        S rˆ   )r2   Únb_index_implr¸  s      r‹   Ú
call_indexzBuiltinVariable.call_indexÅ  s%   € õ
 ! Ñ%Ô%ˆØ× Ò  Ñ$Ô$Ð$r�   c                 óà   — ddl m} |                     |t          ¦  «                             ||t          j        |d¦  «        gi ¦  «        }|                     |t          |¦  «        |¦  «        S )Nr6   rx  Ú	__round__)rl  ry  rs  rÝ   rk  r;   rã   r  )r‰   rÓ   rú   r…   r†   ry  Úround_methods          r‹   Ú
call_roundzBuiltinVariable.call_roundÍ  sv   € ð 	/Ð.Ð.Ð.Ð.Ð.ð )×/Ò/°µGÑ<Ô<×JÒJØ�•oÔ+¨B°Ñ<Ô<Ð=¸rñ
ô 
ˆð ×)Ò)¨"­d°4©j¬j¸&ÑAÔAÐAr�   c                 óö   ‡— t          |i ¦  «        r!t          j        t          |¦  «        ¦  «        S  | j        |Ž r<t          ˆfd„|D ¦   «         ¦  «        }t          j        t          |¦  «        ¦  «        S d S )Nc              3   ó\   •K  — | ]&}t          j        ‰t          |¦  «        ¦  «        V — Œ'd S rˆ   )r;   rã   r+   )r  rú   rÓ   s     €r‹   r  z-BuiltinVariable.call_range.<locals>.<genexpr>â  s8   øè è € ÐVÐVÈ#�Ô.¨rµ<ÀÑ3DÔ3DÑEÔEÐVÐVÐVÐVÐVÐVr�   )r&   r   ÚRangeVariabler  Ú_dynamic_argsrÿ   rb  s    ` r‹   Ú
call_rangezBuiltinVariable.call_rangeÜ  s   ø€ õ )¨¨rÑ2Ô2ð 	7ÝÔ*­4°©:¬:Ñ6Ô6Ð6ØˆTÔ Ð&ð 	7ÝÐVÐVÐVÐVÐQUÐVÑVÔVÑVÔVˆDÝÔ*­4°©:¬:Ñ6Ô6Ð6àˆtr�   c                 óŠ   — t          d„ |D ¦   «         ¦  «        p*t          d„ |                     ¦   «         D ¦   «         ¦  «        S )Nc              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S rˆ   r‰  r  s     r‹   r  z0BuiltinVariable._dynamic_args.<locals>.<genexpr>è  s,   è è € Ð@Ð@°a•:˜a¥Ñ1Ô1Ð@Ð@Ð@Ð@Ð@Ð@r�   c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S rˆ   r‰  r  s     r‹   r  z0BuiltinVariable._dynamic_args.<locals>.<genexpr>è  sE   è è € ð H
ð H
Ø/0�J�q�/Ñ*Ô*ðH
ð H
ð H
ð H
ð H
ð H
r�   )r  rC  rÁ  s      r‹   r  zBuiltinVariable._dynamic_argsç  s]   € ÝÐ@Ð@¸4Ð@Ñ@Ô@Ñ@Ô@ð 
ÅCð H
ð H
Ø4:·M²M±O´OðH
ñ H
ô H
ñ E
ô E
ð 	
r�   c                 ó¾   — dt          |¦  «        cxk    rdk     s"n t          |dt          |¦  «        › �¦  «         t          j        t	          |¦  «        |¦  «        S )Nr6   é   z(slice expected at least 1 argument, got )r¨   r   r   ÚSliceVariabler  rb  s      r‹   Ú
call_slicezBuiltinVariable.call_sliceì  sb   € ð •C˜‘I”IÐ!Ð!Ò!Ð! Ò!Ð!Ð!Ð!Ý˜RÐ!WÍCÐPTÉIÌIÐ!WÐ!WÑXÔXÐXÝÔ&¥t¨D¡z¤z°2Ñ6Ô6Ð6r�   c           
      óp   — ddl m}  || |j        j        d| j        gt          ||¦  «        ¢R Ž ¦  «        S rh  )rl  rj  rm  rn  r  r0   )r‰   rÓ   r…   r†   rj  s        r‹   Ú
_dyn_proxyzBuiltinVariable._dyn_proxyó  s_   € ð 	+Ð*Ð*Ð*Ð*Ð*àˆ}ØØ"ˆBŒIÔ"Ø ¤ðÝ+<¸TÀ6Ñ+JÔ+Jðð ð ñ
ô 
ð 	
r�   c                 óø  — |rt          || j        j        › d�¦  «         t          |¦  «        dk    rt	          g t          ¦   «         ¬¦  «        S t          |¦  «        dk    r,t          || j        j        › dt          |¦  «        › �¦  «         |d         }t          |t          ¦  «        r|                     ¦   «         t          u r|S t          ||d         ¦  «        }t	          |t          ¦   «         ¬¦  «        S )Nz() takes no keyword argumentsr   rh  r6   z" expected at most 1 argument, got )
r   r  rŽ   r¨   rH   r:   rð   Úpython_typerÿ   r5   )r‰   rÓ   r…   r†   rì  r“  s         r‹   Ú
call_tuplezBuiltinVariable.call_tupleÿ  s   € ð ð 	ÝØØ”7Ô#ÐBÐBÐBñô ð õ ˆt‰9Œ9˜Š>ˆ>Ý  Õ3CÑ3EÔ3EÐFÑFÔFÐFÝ�‰YŒY˜Š]ˆ]ÝØØ”7Ô#ÐRÐRÅsÈ4ÁyÄyÐRÐRñô ð ð
 �1ŒgˆÝ�c�=Ñ)Ô)ð 	¨c¯oªoÑ.?Ô.?Å5Ð.HÐ.HØˆJå  D¨¤GÑ,Ô,ˆÝ˜UÕ2BÑ2DÔ2DÐEÑEÔEÐEr�   c           
      óÆ  — ddl m}m} ddlm} t          |t          j        |||f¦  «        rt          j         	                    d¦  «        S t          |t          ¦  «        r't          j        |t          |j        ¦  «        ¦  «        S t          |t          t          t           t"          t$          t&          t(          f¦  «        rt          j         	                    d¦  «        S d S )Nr6   )rX  ÚFunctoolsPartialVariablerY  TF)r�  rX  r  r‘  rZ  rð   r   rö   r<   rs  rh   r;   rã   r  rÀ   rc   rJ   rd   rF   rH   rE   )r‰   rÓ   rú   rX  r  rZ  s         r‹   Úcall_callablezBuiltinVariable.call_callable  sî   € ð 	RÐQÐQÐQÐQÐQÐQÐQØ/Ð/Ð/Ð/Ð/Ð/åØåÔ2Ø(Ø(Ø ð	ñ
ô 
ð 	õ Ô-×4Ò4°TÑ:Ô:Ð:Ý˜Õ0Ñ1Ô1ð 	Ý"Ô(¨­X°c´iÑ-@Ô-@ÑAÔAÐAÝØå ÝÝ$ÝÝÝÝ$ðñ
ô 
ð 	õ Ô-×4Ò4°UÑ;Ô;Ð;à�4r�   rÿ  c                 óp   — t          |¦  «        dk    r|d         S t          dd|› d|› �ddg¬¦  «         d S )	Nr   r6   zbad args to builtin cast()z	got args r  z0Dynamo expects exactly 2 args to builtin cast().z3Ensure your call to cast() has exactly 2 arguments.rö  )r¨   r   )r‰   rÿ  r…   r†   s       r‹   Ú	call_castzBuiltinVariable.call_cast<  s\   € õ ˆt‰9Œ9˜Š>ˆ>Ø˜”7ˆNåØ0Ø/ Ð/Ð/ vÐ/Ð/ØJØHÐIð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r�   c                 ó�  — t          |t          j        ¦  «        r't          j        |t          |j        ¦  «        ¦  «        S t          |t          ¦  «        r't          j        |t          |j        ¦  «        ¦  «        S | 	                    ¦   «         r4t          j        |t          | 
                    ¦   «         ¦  «        ¦  «        S d S rˆ   )rð   r   rö   r;   rã   ÚdirrÀ   r  r  r÷   rÍ   r¸  s      r‹   Úcall_dirzBuiltinVariable.call_dirI  s¢   € õ �c�9Ô=Ñ>Ô>ð 	=Ý"Ô(¨­S°´©^¬^Ñ<Ô<Ð<Ý�c�?Ñ+Ô+ð 	:Ý"Ô(¨­S°´©[¬[Ñ9Ô9Ð9à×!Ò!Ñ#Ô#ð 	LÝ"Ô(¨­S°×1GÒ1GÑ1IÔ1IÑ-JÔ-JÑKÔKÐKØˆtr�   c                 óŒ  — t          |¦  «        dk    r.t          j        t          ¦   «         t	          ¦   «         ¬¦  «        S t          |¦  «        dk    r!t          |dt          |¦  «        › �¦  «         n|rt          |d¦  «         t          g t	          ¦   «         ¬¦  «        }|                     |d|d         g|¦  «         |S )Nr   rh  r6   z%set expected at most 1 argument, got z set() takes no keyword argumentsrB  )r¨   r   r`   rj  r:   r   rù   )r‰   rÓ   r…   r†   Úss        r‹   Úcall_setzBuiltinVariable.call_setU  sÎ   € õ ˆt‰9Œ9˜Š>ˆ>ÝÔ(­©¬Õ>NÑ>PÔ>PÐQÑQÔQÐQÝ�‰YŒY˜Š]ˆ]ÝØØC½¸D¹	¼	ÐCÐCñô ð ð ð ð 	ÝØØ2ñô ð õ
 ˜Õ*:Ñ*<Ô*<Ð=Ñ=Ô=ˆØ	�Š�b˜( T¨!¤W I¨vÑ6Ô6Ð6Øˆr�   c                 óÊ  — t          |¦  «        dk    r.t          j        t          ¦   «         t	          ¦   «         ¬¦  «        S t          |¦  «        dk    r!t          |dt          |¦  «        › �¦  «         n|rt          |d¦  «         t          |d         t          j        ¦  «        r|d         S t          ||d         ¦  «        }t          |t	          ¦   «         ¬¦  «        }|S )Nr   rh  r6   z+frozenset expected at most 1 argument, got z&frozenset() takes no keyword arguments)r¨   r   r_   rj  r:   r   r.   r5   )r‰   rÓ   r…   r†   r“  Úfss         r‹   Úcall_frozensetzBuiltinVariable.call_frozensetm  så   € õ ˆt‰9Œ9˜Š>ˆ>ÝÔ.­s©u¬uÕDTÑDVÔDVÐWÑWÔWÐWÝ�‰YŒY˜Š]ˆ]ÝØØI½cÀ$¹i¼iÐIÐIñô ð ð ð ð 	ÝØØ8ñô ð õ
 �$�q”'�9Ô6Ñ7Ô7ð 	à˜”7ˆNå  D¨¤GÑ,Ô,ˆÝ˜uÕ4DÑ4FÔ4FÐGÑGÔGˆØˆ	r�   c                 óÀ  — |r9t          |¦  «        dk    rd|v s"t          |ddt          |¦  «        › d�¦  «         |                     dt          j        d¦  «        ¦  «        }g }|D ]%}|                     t          ||¦  «        ¦  «         Œ&t          |t          ¦   «         ¬¦  «        }t          j
        ||                     ¦   «         t          ¦   «         ¬¦  «        S )	Nr6   ÚstrictÚzipú1 kwargs (`strict`)ú kwargsFrh  ©r$  ri  )r¨   r1   Úpopr<   rs  rˆ  rP   rH   r:   r   ÚZipVariablerÍ   )r‰   rÓ   r…   r†   r$  r“  rú   Ú	iter_argss           r‹   Úcall_zipzBuiltinVariable.call_zipˆ  sö   € ð ð 	Ý˜‘K”K 1Ò$Ð$¨°VÐ);Ð);Ý#ØØØ)Ý˜6‘{”{Ð+Ð+Ð+ñ	ô ð ð —’˜HÕ&6Ô&=¸eÑ&DÔ&DÑEÔEˆØˆØð 	3ð 	3ˆCØ�LŠL�¨¨SÑ1Ô1Ñ2Ô2Ð2Ð2Ý! %Õ7GÑ7IÔ7IÐJÑJÔJˆ	ÝÔ$ØØ×,Ò,Ñ.Ô.Ý*Ñ,Ô,ð
ñ 
ô 
ð 	
r�   c                 ó.   — t          ||d         ¦  «        S r¢   )rS   ©r‰   rÓ   r…   r†   s       r‹   Úcall_lenzBuiltinVariable.call_len¢  s   € õ ˜2˜t AœwÑ'Ô'Ð'r�   c                 ó<   — t          ||d         |d         ¦  «        S ©Nr   r6   )r\   r.  s       r‹   Úcall_getitemzBuiltinVariable.call_getitemª  s   € õ ˜"˜d 1œg t¨A¤wÑ/Ô/Ð/r�   Úisinstance_type_varc           	      óB  ‡— 	 ‰                      ¦   «         }n9# t          $ r, t          dd‰› d|› d�d‰› �g t          j        ¢¬¦  «         Y nw xY w|                     ¦   «         }t          ‰t          j        ¦  «        rA‰j	        �:dt          dt          d	t          fˆfd
„}t          j        | |‰|¦  «        ¦  «        S t          ‰t          j        ¦  «        rEt          ‰j        t           j        ¦  «        r&t          dd‰› d|› d�dg t          j        ¢¬¦  «         t          ‰t          j        ¦  «        rAd|j        j        v r3t          j        ||j                             |‰j        ¦  «        ¦  «        S t          ‰t          j        ¦  «        r#t          j        |t          ||¦  «        ¦  «        S t          |t.          ¦  «        st1          t3          |dd ¦  «        ¦  «        r|f}nxt          |t           j        ¦  «        rt7          j        |¦  «        }nIt          |t:          ¦  «        rt=          d„ |D ¦   «         ¦  «        r|}nt?          t@          |dg¬¦  «         	 tC          ||¦  «        }n# t@          $ r ||v }Y nw xY wt          j        ||¦  «        S )Nz6builtin isinstance() cannot determine type of argumentzisinstance(ú, r­  z=Dynamo doesn't have a rule to determine the type of argument rö  Ú
tensor_varÚtensor_typer~   c                 ó¦   •‡— dt           dt          fˆfd„Št          |¦  «        t          u rt	          ˆfd„|D ¦   «         ¦  «        S  ‰|¦  «        S )NÚtyr~   c                 ó<  •— | t           vr}‰                     ¦   «         j        j        d         }t	          |¦  «        r(| t
          j        j        j        u rt          || ¦  «        S t          ‰                     ¦   «         | ¦  «        S t           |          }‰j        |v S )NÚexample_value)r4   r¼  r4  Úmetar   r©   ÚnnÚ	parameterÚ	Parameterrð   rŸ  r  r•   )r9  Úexample_valÚdtypesrú   s      €r‹   Ú
check_typezOBuiltinVariable.call_isinstance.<locals>._tensor_isinstance.<locals>.check_typeÇ  sŽ   ø€ ØÕ!4Ð4Ð4Ø&)§l¢l¡n¤nÔ&9Ô&>¸Ô&O˜å9¸+ÑFÔFð	Eà "¥e¤hÔ&8Ô&BÐ BÐ Bõ
 $.¨k¸2Ñ#>Ô#>Ð>å#-¨c¯oªoÑ.?Ô.?ÀÑ#DÔ#DÐDå0°Ô4�Fàœ9¨Ð.Ð.r�   c              3   ó.   •K  — | ]} ‰|¦  «        V — Œd S rˆ   r‚   )r  r9  rB  s     €r‹   r  zNBuiltinVariable.call_isinstance.<locals>._tensor_isinstance.<locals>.<genexpr>Ú  s+   øè è € ÐDÐD°"˜z˜z¨"™~œ~ÐDÐDÐDÐDÐDÐDr�   )r   r  rß   rÿ   r  )r6  r7  rB  rú   s     @€r‹   Ú_tensor_isinstancez;BuiltinVariable.call_isinstance.<locals>._tensor_isinstanceÄ  sx   øø€ ð/¥3ð /­4ð /ð /ð /ð /ð /ð /õ$ ˜Ñ$Ô$­Ð-Ð-ÝÐDÐDÐDÐD¸ÐDÑDÔDÑDÔDÐDà%˜: kÑ2Ô2Ð2r�   z<isinstance() called on user defined object with C extensionszeUser-defined object with C extensions can have torch.Tensor attributes; intentionally graph breaking.rq  c              3   ó|   K  — | ]7}t          |t          ¦  «        pt          t          |d d¦  «        ¦  «        V — Œ8dS )rq  N)rð   rß   r  rÝ   )r  Útps     r‹   r  z2BuiltinVariable.call_isinstance.<locals>.<genexpr>	  sZ   è è € ð 8
ð 8
àõ �r�4Ñ Ô ÐT¥H­W°RÐ9LÈdÑ-SÔ-SÑ$TÔ$Tð8
ð 8
ð 8
ð 8
ð 8
ð 8
r�   z?isinstance() arg 2 must be a type, a tuple of types, or a unionrr  )"r  rµ  r   r   r  rÍ   rð   r   rd   r•   r;   r   r  rã   rg   rÀ   r„   ÚMemberDescriptorTyperû  rû   rD  rq  Ú!UserDefinedExceptionClassVariablerß   r  rÝ   Ú	UnionTypeÚtypingÚget_argsrÿ   r  r   rs  rŸ  )	r‰   rÓ   rú   r3  rÉ  Úisinstance_typerD  Úisinstance_type_tupler´  s	     `      r‹   Úcall_isinstancezBuiltinVariable.call_isinstance²  sC  ø€ ð	Ø—’Ñ(Ô(ˆHˆHøÝ"ð 	ð 	ð 	ÝØPØC cÐCÐCÐ-@ÐCÐCÐCØaÐ\_ÐaÐaØ5Õ)Ô4Ð5ð	ñ ô ð ð ð ð	øøøð .×@Ò@ÑBÔBˆÝ�c�9Ô3Ñ4Ô4ð 	W¸¼Ð9Nð3Ý+ð3Ý:=ð3åð3ð 3ð 3ð 3ð 3ð 3õ4 #Ô(¨Ð-?Ð-?ÀÀ_Ñ-UÔ-UÑVÔVÐVõ �c�9Ô>Ñ?Ô?ð 		ÅJØŒI•uÔ1ñE
ô E
ð 		õ ØVØ? cÐ?Ð?¨_Ð?Ð?Ð?ð<à6Õ)Ô5Ð6ðñ ô ð õ �s�IÔ?Ñ@Ô@ð	à# Ô'@Ô'IÐIÐIå"Ô(ØØÔ)×;Ò;¸OÈSÌYÑWÔWñô ð õ
 �c�9ÔFÑGÔGð 	Tå"Ô(¨­Z¸À/Ñ-RÔ-RÑSÔSÐSõ �o¥tÑ,Ô,ð 	µå�OÐ%8¸$Ñ?Ô?ñ1
ô 1
ð 	ð &5Ð$6Ð!Ð!Ý˜­¬Ñ9Ô9ð 	Ý$*¤O°OÑ$DÔ$DÐ!Ð!Ý˜­Ñ/Ô/ð 	µCð 8
ð 8
à%ð8
ñ 8
ô 8
ñ 5
ô 5
ð 	ð %4Ð!Ð!å$ÝØàUððñ ô ð ð
	4õ ˜XÐ'<Ñ=Ô=ˆCˆCøÝð 	4ð 	4ð 	4ØÐ3Ð3ˆCˆCˆCð	4øøøåÔ$ R¨Ñ-Ô-Ð-s!   ƒ ˜3AÁAÉ'I8 É8J	ÊJ	Úleft_tyÚright_tyc                 ó(   — ddl m}  ||||¦  «        S )z,Checks if first arg is subclass of right argr6   )Úgeneric_issubclass)rí   rR  )r‰   rÓ   rO  rP  rR  s        r‹   Úcall_issubclasszBuiltinVariable.call_issubclass	  s+   € ð 	8Ð7Ð7Ð7Ð7Ð7à!Ð! " g¨xÑ8Ô8Ð8r�   c                 ó,   — t          j        ||¦  «        S rˆ   )r   ÚSuperVariable©r‰   rÓ   r_  r`  s       r‹   Ú
call_superzBuiltinVariable.call_super'	  s   € õ Ô& q¨!Ñ,Ô,Ð,r�   c                 ó2  — |d         }	 |                      |¦  «        S # t          $ r t          |¦  «        dk    r
|d         cY S ‚ t          $ rF}t	          |t
          j        ¦  «        r&|                     ¦   «          |j        d         cY d }~S ‚ d }~ww xY w)Nr   r   r6   )	Únext_variabler   r¨   r   rð   r   rD   r  r“  )r‰   rÓ   r…   rú   Úexs        r‹   Ú	call_nextzBuiltinVariable.call_next,	  s»   € ð �1Œgˆð
	Ø×$Ò$ RÑ(Ô(Ð(øÝ(ð 	ð 	ð 	Ý�4‰yŒy˜AŠ~ˆ~Ø˜A”w���ØÝð 	ð 	ð 	Ý˜#�yÔ9Ñ:Ô:ð $Ø×$Ò$Ñ&Ô&Ð&Ø”y ”|Ð#Ð#Ð#Ð#Ð#Ð#Øøøøøð		øøøs'   Š Ÿ%BÁ
BÁ:BÂ
BÂBÂBÚseqsc                 óp  ‡— t          |¦  «        dk    rt          t          ‰dg¬¦  «         t          j        d¦  «        }|r”t
          j        dk    rbt          |¦  «        dk    rd|v s"t          ‰dd	t          |¦  «        › d
�¦  «         |                     dt          j        d¦  «        ¦  «        }n"t          ‰ddt          |¦  «        › d
�¦  «         ˆfd„|D ¦   «         }t          |t          ¦   «         ¬¦  «        }t          j        |||                     ¦   «         t          ¦   «         ¬¦  «        S )Nr   z'map() must have at least two arguments.rr  Frp   r6   r$  Úmapr&  r'  z0 kwargsc                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS r‚   )rP   )r  ÚseqrÓ   s     €r‹   rÖ  z,BuiltinVariable.call_map.<locals>.<listcomp>]	  s#   ø€ Ð>Ð>Ð>°#•_ R¨Ñ-Ô-Ð>Ð>Ð>r�   rh  r(  )r¨   r   rs  r<   rs  ÚsysÚversion_infor1   r)  rH   r:   r   ÚMapVariablerÍ   )r‰   rÓ   r  r\  r†   r$  Ú	iterablesr+  s    `      r‹   Úcall_mapzBuiltinVariable.call_map<	  sc  ø€ õ ˆt‰9Œ9˜Š>ˆ>Ý$ÝØØ?Ð@ðñ ô ð õ "Ô(¨Ñ/Ô/ˆØð 	ÝÔ 7Ò*Ð*Ý˜F™œ qÒ(Ð(¨X¸Ð-?Ð-?Ý'ØØØ-Ý˜v™;œ;Ð/Ð/Ð/ñ	ô ð ð  Ÿš HÕ.>Ô.EÀeÑ.LÔ.LÑMÔM��å#ØØØÝ˜6‘{”{Ð+Ð+Ð+ñ	ô ð ð ?Ð>Ð>Ð>¸Ð>Ñ>Ô>ˆ	Ý! )Õ;KÑ;MÔ;MÐNÑNÔNˆ	ÝÔ$ØØØ×,Ò,Ñ.Ô.Ý*Ñ,Ô,ð	
ñ 
ô 
ð 	
r�   r`  c                 ód   — t          j        |t          ||¦  «        t          ¦   «         ¬¦  «        S rg  )r   ÚFilterVariablerP   r:   )r‰   rÓ   r  r`  s       r‹   Úcall_filterzBuiltinVariable.call_filterf	  s7   € õ Ô'ØÝ˜B Ñ$Ô$Ý*Ñ,Ô,ð
ñ 
ô 
ð 	
r�   c                 óâ  — | j         ot          | j         |¦  «        }|dk    r t          j        || j        j        |¦  «        S | j        t          u ra	 t          | j        |¦  «        }n%# t          $ r t          t          |¦  «         Y nw xY wt          |¦  «        st          j        |||¦  «        S t          | j        |d ¦  «        }t          j        | ||�t          |¦  «        nd |¬¦  «        S )NrŽ   rÛ   )rÁ   r   r;   rã   r  rŽ   rõ   rÝ   rÊ  r   r  r   rÞ   rß   )r‰   rÓ   rØ   rÁ   rÀ   rà   s         r‹   rá   zBuiltinVariable.var_getattro	  s  € ð ”Ð>¥¨D¬K¸Ñ!>Ô!>ˆØ�:ÒÐÝ"Ô(¨¨T¬WÔ-=¸vÑFÔFÐFØŒ7•fÐÐð=Ý ¤¨Ñ.Ô.��øÝ!ð =ð =ð =Ý(­¸Ñ<Ô<Ð<Ð<Ð<ð=øøøå˜E‘?”?ð @Ý&Ô,¨R°¸Ñ?Ô?Ð?Ý�t”w  dÑ+Ô+ˆÝÔ(Ø�$¨dÐ.>¥ T¡
¤
 
ÀDÐQWð
ñ 
ô 
ð 	
s   ÁA( Á(B
Â	B
rì  r³  c                 ó4   — |                      |d|gi ¦  «        S )NÚ__delattr__rd  )r‰   rÓ   rì  r³  s       r‹   Úcall_delattrzBuiltinVariable.call_delattr‚	  s   € ð �Š˜r =°8°*¸bÑAÔAÐAr�   c                 óò  — 	 |                      ¦   «         }n<# t          $ r/}t          t          j        t          |¦  «        d¬¦  «        d ‚d }~ww xY w|j        ot          |j        ¦  «        }|€(t          |t          j
        ¦  «        r|j        r|j        }|t          j        u r=|j                             dt          ¦  «        }t!          t#          |¦  «        d¦  «        }t%          j        |||¦  «        S )NÚunknown_python_type)Ú	case_namerÅ  ÚTensor)r  rµ  r   r   ÚINVALID_INPUTr“   rÁ   r#   rð   r   rg   Ú
cls_sourcer©   rp  rm  Úinstall_global_by_idr   r    r;   rã   )r‰   rÓ   rì  rÜ   ÚerrorrÁ   rØ   s          r‹   Ú	call_typezBuiltinVariable.call_typeŠ	  sú   € ð	Ø—o’oÑ'Ô'ˆGˆGøÝ"ð 	ð 	ð 	ÝÝÔ+Ý�E‘
”
Ø/ðñ ô ð ð	øøøøð	øøøð ”Ð6¥
¨3¬:Ñ 6Ô 6ˆàˆNÝ˜3¥	Ô CÑDÔDð à”ð ð ”^ˆFØ•e”lÐ"Ð"à”9×1Ò1°"µeÑ<Ô<ˆDÝ¥¨TÑ 2Ô 2°HÑ=Ô=ˆFåÔ$ R¨°&Ñ9Ô9Ð9s   ‚ —
A¡*AÁAc                 ó~  — t          |¦  «        }t          j        |dt          ¦  «        }|€t	          |d|j        › d�¦  «         |t          ur|                     |dg i ¦  «        S t          |¦  «        st	          |d¦  «         t          j	        t          j        j        ¦  «                             ||gi ¦  «        S )NÚ__reversed__ú'z' object is not reversiblez)argument to reversed() must be a sequence)rY   r  Úgetattr_staticÚ_MISSING_SENTINELr   rŽ   rù   rZ   r   rÈ  r   r¿  Úreversed_sequence_iteratorrk  )r‰   rÓ   rì  Úobj_typeÚreversed_attrs        r‹   Úcall_reversedzBuiltinVariable.call_reversed¤	  sË   € õ )¨Ñ-Ô-ˆõ  Ô.Ø�nÕ&7ñ
ô 
ˆð Ð Ý˜RÐ!R XÔ%6Ð!RÐ!RÐ!RÑSÔSÐSØÕ 1Ð1Ð1Ø—?’? 2 ~°r¸2Ñ>Ô>Ð>å Ñ)Ô)ð 	NÝ˜RÐ!LÑMÔMÐMåÔ-ÝÔÔ9ñ
ô 
ç
Š-˜˜S˜E 2Ñ
&Ô
&ð	'r�   c                 óÎ   — t          |t          j        ¦  «        sJt          j        t	          ||¦  «        t          ¦   «         ¬¦  «        }|                     |dg |¦  «         |S d S )Nrh  Úsort)rð   r   rd   rF   r5   r:   rù   )r‰   rÓ   rì  r†   Úlist_vars        r‹   Úcall_sortedzBuiltinVariable.call_sortedÂ	  sl   € õ ˜#�yÔ7Ñ8Ô8ð 	Ý Ô-Ý  CÑ(Ô(Ý.Ñ0Ô0ðñ ô ˆHð × Ò   V¨R°Ñ8Ô8Ð8ØˆOØˆtr�   c                 ó"   — t          ||¦  «        S rˆ   )rU   )r‰   rÓ   r_  s      r‹   Úcall_negzBuiltinVariable.call_negÑ	  s   € õ ˜2˜qÑ!Ô!Ð!r�   Ú_format_stringc                 óŽ   — |                      ¦   «         }t          |¦  «        }t          j        |t	          |¦  «        |¦  «        S rˆ   )rÍ   r“   rJ   rs  r  )r‰   rÓ   r…  r…   r†   Úformat_strings         r‹   Úcall_formatzBuiltinVariable.call_formatÖ	  s=   € ð '×9Ò9Ñ;Ô;ˆÝ˜MÑ*Ô*ˆÝ#Ô*¨=½$¸t¹*¼*ÀfÑMÔMÐMr�   c                 ó¢  — t          |¦  «        dk    r)t          t          |dt          |¦  «        › d�g¬¦  «         |d         }|                     |¦  «        }|�Y|j        r=|                     ¦   «         }|�'t          |j                             |¦  «        ¦  «         t          j	        ||¦  «        S t          t          |¦  «        ¦  «        S )Nr6   z!id() takes exactly one argument (z given)rr  r   )r¨   r   rs  Úget_idrÁ   Úget_id_guard_typer   rÆ   r;   rã   r=   Úid)r‰   rÓ   r…   rú   Úreal_idÚ
guard_types         r‹   Úcall_idzBuiltinVariable.call_idá	  sÎ   € õ ˆt‰9Œ9˜Š>ˆ>Ý$ÝØØL½#¸d¹)¼)ÐLÐLÐLÐMðñ ô ð ð
 �1Œgˆà—*’*˜R‘.”.ˆØÐØŒzð EØ ×2Ò2Ñ4Ô4�
ØÐ)Ý! #¤*×"7Ò"7¸
Ñ"CÔ"CÑDÔDÐDÝ"Ô(¨¨WÑ5Ô5Ð5å�b ™gœgÑ&Ô&Ð&r�   r  c                 óN   — t          dd|› d�ddgt          j        ¢¬¦  «         d S )Nzcopy.deepcopy()zcopy.deepcopy(r­  z'Dynamo does not support copy.deepcopy()zAvoid calling copy.deepcopy()rö  rÓ  )r‰   rÓ   r  s      r‹   Úcall_deepcopyzBuiltinVariable.call_deepcopyö	  sL   € õ 	Ø%Ø) QÐ)Ð)Ð)ØAà/ðå"Ô.ðð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r�   r€  r�  c                 óÀ  — ddl m} ddlm} | j        }|t
          j        t
          j        fv rÉ|                     ¦   «         o{|                     ¦   «         ogt          t          |                     ¦   «         j        ¦  «        ¦  «        t          t          |                     ¦   «         j        ¦  «        ¦  «        k    }|t
          j        u rt          j        ||¦  «        S t          j        || ¦  «        S ||vr;t          d|j        › d|› d|› d�d|j        › d	|› d|› �g t"          j        ¢¬
¦  «         t'          |t(          ¦  «        r t'          |t(          ¦  «        r‹|j        o|j        �}|j        |j        k    rm	 t-          j        |j        |j        ¦  «         nL# t0          $ r? t          d|j        › d|› d|› d�d|› d|› d|j        › d�g t"          j        ¢¬
¦  «         Y nw xY w|                     ¦   «         r|n|}|j                             d||                     ¦   «         |                     ¦   «         fi ¦  «        }	 |t9          |¦  «        ||	¦  «        S )Nr6   rå  ©Ú%supported_tensor_comparison_op_valuesz unsupported Tensor comparison opr¬  r5  r­  ú*Dynamo does not support the comparison op z with Tensor arguments rö  z8failed to broadcast when attempting Tensor comparison opz.Dynamo was unable to broad cast the arguments z, when attempting to trace the comparison op ú.rk  )rl  rw  rA  r”  r  r²   r{  Úis_notrÄ  rŒ  r)   r¼  r4  r;   rã   r   rŽ   r   rû  rð   rd   Úsizer©   Úbroadcast_shapesÚRuntimeErrorrÉ  rm  rn  rß   )
r‰   rÓ   r€  r�  rw  r”  r¹   Ú	is_resultÚ
tensor_clsr’  s
             r‹   rŠ  z'BuiltinVariable._comparison_with_tensor
  sê  € ð 	/Ð.Ð.Ð.Ð.Ð.ØAÐAÐAÐAÐAÐAàŒWˆà•(”,¥¤Ð0Ð0Ð0à—’Ñ Ô ð IØ—O’OÑ%Ô%ðIåÕ1°$·-²-±/´/Ô2FÑGÔGÑHÔHÝÕ0°·²Ñ1AÔ1AÔ1FÑGÔGÑHÔHòIð ð •X”\Ð!Ð!Ý&Ô,¨R°Ñ;Ô;Ð;å&Ô,¨R°Y°Ñ?Ô?Ð?àÐ:Ð:Ð:ÝØ:Øœ;Ð9Ð9¨Ð9Ð9°Ð9Ð9Ð9ð9ÈÌð 9ð 9Ø)-ð9ð 9Ø16ð9ð 9à6Õ)Ô5Ð6ðñ ô ð õ �t�^Ñ,Ô,ð	å˜5¥.Ñ1Ô1ð	ð ”Ð)˜uœzÐ6Ø”	˜UœZÒ'Ð'ð
ÝÔ& t¤y°%´*Ñ=Ô=Ð=Ð=øÝð ð ð åØVØ!œ{Ð=Ð=¨TÐ=Ð=°UÐ=Ð=Ð=ð!QÐQUð !Qð !QÐY^ð !Qð !QØBDÄ+ð!Qð !Qð !Qà9Õ-Ô8Ð9ðñ ô ð ð ð ðøøøð "Ÿ^š^Ñ-Ô-Ð8�T�T°5ˆ
Ø”	×&Ò&Ø˜R $§-¢-¡/¤/°5·>²>Ñ3CÔ3CÐ!DÀbñ
ô 
ˆð !Ð Ý�ÑÔØØñ
ô 
ð 	
s   Å?F ÆAG(Ç'G(c           
      ó  — ddl m} | j        }||vr;t          d|j        › d|› d|› d�d|j        › d|› d|› �g t
          j        ¢¬	¦  «         t          |t          ¦  «        r|n|}t          |t          t          t          f¦  «        s+t          j        | |t          ¦   «         d ¦  «        ¦  «        S |j                             d
||                     ¦   «         |                     ¦   «         fi ¦  «        }t          j        ||d ¬¦  «        S )Nr6   r“  z!unsupported SymNode comparison opr¬  r5  r­  r•  z with SymNode arguments rö  rk  ©Úsym_num)rA  r”  r  r   rŽ   r   rû  rð   rc   r<   rd   r;   rã   rõ   rm  rn  r¼  rs  )r‰   rÓ   r€  r�  r”  r¹   Únon_symnoder’  s           r‹   r‡  z(BuiltinVariable._comparison_with_symnode=
  sV  € ð 	BÐAÐAÐAÐAÐAàŒWˆàÐ:Ð:Ð:ÝØ;Øœ;Ð9Ð9¨Ð9Ð9°Ð9Ð9Ð9ð:ÈÌð :ð :Ø*.ð:ð :Ø27ð:ð :à6Õ)Ô5Ð6ðñ ô ð õ  *¨$µÑ@Ô@ÐJ�e�eÀdˆÝØ�/Õ+;½^ÐLñ
ô 
ð 	Aõ #Ô(¨¨R¨Rµ±´¸$Ñ-?Ô-?Ñ@Ô@Ð@à”	×&Ò&Ø˜R $§-¢-¡/¤/°5·>²>Ñ3CÔ3CÐ!DÀbñ
ô 
ˆõ Ô%ØØØð
ñ 
ô 
ð 	
r�   c                 ó(   — t          |||dd¦  «        S )NÚnb_xorú^©rL   rV  s       r‹   Úcall_xorzBuiltinVariable.call_xord
  ó   € õ ˜˜Q  8¨SÑ1Ô1Ð1r�   c                 ó*   — t          |||ddd¦  «        S )NÚnb_inplace_xorr¢  z^=©rK   rV  s       r‹   Ú	call_ixorzBuiltinVariable.call_ixori
  ó   € õ ˜"˜a Ð$4°hÀÑEÔEÐEr�   c                 ó$   — t          |||¦  «        S rˆ   )rT   rV  s       r‹   Úcall_mulzBuiltinVariable.call_muln
  s   € õ    A qÑ)Ô)Ð)r�   c                 ó$   — t          |||¦  «        S rˆ   )rQ   rV  s       r‹   Ú	call_imulzBuiltinVariable.call_imuls
  s   € õ (¨¨A¨qÑ1Ô1Ð1r�   c                 ó(   — t          |||dd¦  «        S )NÚnb_subtractú-r¤  rV  s       r‹   Úcall_subzBuiltinVariable.call_subx
  s   € õ ˜˜Q  =°#Ñ6Ô6Ð6r�   c                 ó*   — t          |||ddd¦  «        S )NÚnb_inplace_subtractr±  z-=r©  rV  s       r‹   Ú	call_isubzBuiltinVariable.call_isub}
  s   € õ ˜"˜a Ð$9¸=È$ÑOÔOÐOr�   c                 ó$   — t          |||¦  «        S rˆ   )r[   rV  s       r‹   Úcall_addzBuiltinVariable.call_add‚
  s   € õ �b˜!˜QÑÔÐr�   c                 ó$   — t          |||¦  «        S rˆ   )r^   rV  s       r‹   Ú	call_iaddzBuiltinVariable.call_iadd‡
  s   € õ ˜b ! QÑ'Ô'Ð'r�   c                 ó(   — t          |||dd¦  «        S )NÚnb_andú&r¤  rV  s       r‹   Ú	call_and_zBuiltinVariable.call_and_Œ
  r¦  r�   c                 ó*   — t          |||ddd¦  «        S )NÚnb_inplace_andr¼  z&=r©  rV  s       r‹   Ú	call_iandzBuiltinVariable.call_iand‘
  r«  r�   c                 ó(   — t          |||dd¦  «        S )NÚnb_orú|r¤  rV  s       r‹   Úcall_or_zBuiltinVariable.call_or_–
  s   € õ ˜˜Q  7¨CÑ0Ô0Ð0r�   c                 ó*   — t          |||ddd¦  «        S )NÚnb_inplace_orrÃ  z|=r©  rV  s       r‹   Úcall_iorzBuiltinVariable.call_ior›
  s   € õ ˜"˜a  O°W¸dÑCÔCÐCr�   c                 ó(   — t          |||dd¦  «        S )NÚ	nb_lshiftz<<r¤  rV  s       r‹   Úcall_lshiftzBuiltinVariable.call_lshift 
  ó   € õ ˜˜Q  ;°Ñ5Ô5Ð5r�   c                 ó*   — t          |||ddd¦  «        S )NÚnb_inplace_lshiftrÊ  z<<=r©  rV  s       r‹   Úcall_ilshiftzBuiltinVariable.call_ilshift¥
  ó   € õ ˜"˜a Ð$7¸ÀeÑLÔLÐLr�   c                 ó(   — t          |||dd¦  «        S )NÚ	nb_rshiftz>>r¤  rV  s       r‹   Úcall_rshiftzBuiltinVariable.call_rshiftª
  rÌ  r�   c                 ó*   — t          |||ddd¦  «        S )NÚnb_inplace_rshiftrÒ  z>>=r©  rV  s       r‹   Úcall_irshiftzBuiltinVariable.call_irshift¯
  rÐ  r�   c                 ó(   — t          |||dd¦  «        S )NÚnb_floor_dividez//r¤  rV  s       r‹   Úcall_floordivzBuiltinVariable.call_floordiv´
  s   € õ ˜˜Q Ð#4°dÑ;Ô;Ð;r�   c                 ó*   — t          |||ddd¦  «        S )NÚnb_inplace_floor_dividerØ  z//=r©  rV  s       r‹   Úcall_ifloordivzBuiltinVariable.call_ifloordiv¹
  s   € õ ˜"˜a Ð$=Ð?PÐRWÑXÔXÐXr�   c                 ó(   — t          |||dd¦  «        S )NÚnb_true_divideú/r¤  rV  s       r‹   Úcall_truedivzBuiltinVariable.call_truediv¾
  s   € õ ˜˜Q Ð#3°SÑ9Ô9Ð9r�   c                 ó*   — t          |||ddd¦  «        S )NÚnb_inplace_true_dividerÞ  z/=r©  rV  s       r‹   Úcall_itruedivzBuiltinVariable.call_itruedivÃ
  s   € õ ˜"˜a Ð$<Ð>NÐPTÑUÔUÐUr�   c                 ó(   — t          |||dd¦  «        S )NÚnb_remainderú%r¤  rV  s       r‹   Úcall_modzBuiltinVariable.call_modÈ
  s   € õ ˜˜Q  >°3Ñ7Ô7Ð7r�   c                 ó*   — t          |||ddd¦  «        S )NÚnb_inplace_remainderrå  z%=r©  rV  s       r‹   Ú	call_imodzBuiltinVariable.call_imodÍ
  s   € õ ˜"˜a Ð$:¸NÈDÑQÔQÐQr�   c                 ó(   — t          |||dd¦  «        S )NÚ	nb_divmodzdivmod()r¤  rV  s       r‹   Úcall_divmodzBuiltinVariable.call_divmodÒ
  s   € õ
 ˜˜Q  ;°
Ñ;Ô;Ð;r�   c           
      ó  — t          |t          ¦  «        rBt          j        | |j        j        dt
          j        gt          |gi ¦  «        ¢R Ž d ¬¦  «        S t          |t          ¦  «        r|j	        }t          |t          t          t          f¦  «        r+t          j        |t          |j        ¦  «        dk    ¦  «        S t          |t"          ¦  «        r1|                      ||¦  «        }t          j        ||j         ¦  «        S d S )Nrk  rž  r   )rð   rc   rs  rm  rn  r²   r&  r0   rA   Údv_dictrF   r>   r`   r;   rã   r¨   r“  rg   r¾  rÀ   )r‰   rÓ   r_  Úbool_results       r‹   Ú	call_not_zBuiltinVariable.call_not_Ù
  s  € õ �a�Ñ)Ô)ð 	Ý"Ô)ØØ&�”	Ô&Ø#¥X¤]ðÝ5FÈÀsÈBÑ5OÔ5Oðð ð ð ðñ ô ð õ �aÕ)Ñ*Ô*ð 	Ø”	ˆAÝ�a�,Õ(9½;ÐGÑHÔHð 	@Ý"Ô(¨­S°´©\¬\¸QÒ->Ñ?Ô?Ð?Ý�aÕ2Ñ3Ô3ð 	DØŸ.š.¨¨QÑ/Ô/ˆKÝ"Ô(¨°Ô1BÐ-BÑCÔCÐCàˆtr�   c                 ó(   — ddl m}  ||||¦  «        S )Nr6   )Úgeneric_contains)rí   ró  )r‰   rÓ   r_  r`  ró  s        r‹   Úcall_containszBuiltinVariable.call_containsð
  s+   € ð 	6Ð5Ð5Ð5Ð5Ð5àÐ  A qÑ)Ô)Ð)r�   c                 óR   — t          |t          j        ¦  «        o| j        |j        u S rˆ   )rð   r   r  r  rñ   s     r‹   rò   zBuiltinVariable.is_python_equal÷
  s#   € Ý˜%¥Ô!:Ñ;Ô;ÐSÀÄÈ5Ì8Ð@SÐSr�   )Frü   )‹rŽ   r�   r�   r‘   rõ   Ú	_SENTINELr;   Ú_nonvar_fieldsrþ   r   r"   rÊ   Ústaticmethodrá  Úcacherj  r   rF  r  rH  rQ  r’   rÿ   r  r“   rV  rß   r”  r•  rš  r¤  r¦  r±  rÝ   rä   ÚiterÚsetattrr§  rý   r©  rô   rÍ   r±  r¸  r¼  rÙ   rÂ  rÆ  rÊ  rÒ  rÝ  rß  r.  r7  ÚASTrK  r;  rW  r_  rc  re  ra  r2  r•  rk  rù   r¹  r¼  r¾  rÁ  rÃ  rÐ  rÛ  rß  rÝ  rÞ  Úcall_minÚcall_maxrú  rü  rÿ  r  r  r  r  r  r  r  r  r  r  r"  r,  r/  r2  rN  rS  rW  r[  re  rh  rá   rl  ru  r~  r‚  r„  rˆ  r�  r‘  rŠ  r‡  r¥  rª  r­  r¯  r³  r¶  r¸  rº  r¾  rÁ  rÅ  rÈ  rË  rÏ  rÓ  rÖ  rÙ  rÜ  rà  rã  rç  rê  rí  rñ  rô  rò   r  r  s   @r‹   r  r  ©  sQ  ø€ € € € € € ðð ð �‘”€Iàðà	Ô	'ð€Nð
 ð) sð )°Fð )Ð?Pð )ð )ð )ñ „[ð)ð Ø„_ðE c¨(°3¸°8Ô*<Ô&=ð Eð Eð Eñ „_ñ „\ðEðN:¨4ð :ð :ð :ð :ð Ø„_ð*  X¨c°3¨hÔ%7Ô!8ð *ð *ð *ñ „_ñ „\ð*ðX Ø„_ð�TØ��f�Ô˜u T¨#¤Y°¸¸f¸Ô0EÐ%EÔFÐFôð ð ð ñ „_ñ „\ðð  Ø„_ðN˜TØ��f�ÔØØØØ˜Ô)Ø!ð#ôð !ð	"ôô	
ð		ôð Nð Nð Nñ „_ñ „\ðNð` ðØ�S˜#�XÔðØ(,¨_Ô(=ðØGKðà	ÐÔ	 $Ñ	&ðð ð ñ „\ðð5 Tð 5ð 5ð 5ð 5ð
 ,5¨9Ø	ˆw˜  t¨WÐ5ñ,ô ,Ð˜) Cœ.ð ð ñ ð˜3ð ¨#ð °$ð ð ð ð ð ð ð4˜#ð 4ð 4ð 4ð 4ð Cð ð ð ð ð¨cð ð ð ð ð ð	1ð 1à'ð1ð ð1ð ð	1ð
 
ð1ð 1ð 1ð 1ð."˜#ð "ð "ð "ð "ð "ð "ðJð Jð Jð Jð1 ?ð 1¸oð 1ÐRVð 1ð 1ð 1ð 1ð ð °Tð ð ð ð ð¨$¨t¬*ð ¸ð ð ð ð ð3Ø$ð3Ø0?ð3à	ð3ð 3ð 3ð 3ð ð
Ø�?Ô#ð
Ø-1°#°Ð2FÔ-Gð
à	ˆt�CŒy˜$˜s C˜xœ.Ð(Ô	)ð
ð 
ð 
ñ „\ð
ð
Ø˜Ô)ð
Ø37¸¸_Ð8LÔ3Mð
à	ð
ð 
ð 
ð 
ð ða Ø�S˜#�XÔða Ø+/°¬:ða ØCGða à	à'Ø�Ô!Ø��oÐ%Ô&ð	
ð
 	˜$Ñð	 ô
ða ð a ð a ñ „\ða ðF	 ð
¨#¬'ð 
°dð 
ð 
ð 
ñ „\ð
ð8 ð1Ø'ð1Ø/2¬~ð1ØILð1à	˜4Ñ	ð1ð 1ð 1ñ „\ð1ð*Là'ðLð  ðLð ð	Lð
 "ðLð 
˜4Ñ	ðLð Lð Lð Lð,	4Ð7ð 	4Àð 	4Èð 	4ð 	4ð 	4ð 	4ð4Ø-ð4Ø6Eð4à	ð4ð 4ð 4ð 4ð ð
Ð(Cð 
Èð 
ð 
ð 
ñ „\ð
ð(Wà'ðWð �?Ô#ðWð �S˜/Ð)Ô*ð	Wð
 
˜4Ñ	ðWð Wð Wð WðF 	ð   Øˆf�cˆkÔØà+Ø�_Ô%Ø�S˜/Ð)Ô*ðð
 ðô	
ð	ô
"ð 
ð 
ñ 
ð)à'ð)ð �?Ô#ð)ð �S˜/Ð)Ô*ð	)ð
 
ð)ð )ð )ð )ð0D;à'ðD;ð ðD;ð �?Ô#ð	D;ð
 �S˜/Ð)Ô*ðD;ð 
ðD;ð D;ð D;ð D;ð D;ð D;ðL$Ø-ð$Ø4Cð$à	˜4Ñ	ð$ð $ð $ð $ð
&Ø-ð&Ø4Cð&à	˜4Ñ	ð&ð &ð &ð &ð
%Ø-ð%Ø4Cð%à	˜4Ñ	ð%ð %ð %ð %ð%Ø-ð%Ø4Cð%à	ð%ð %ð %ð %ð%Ø-ð%Ø4Cð%à	˜4Ñ	ð%ð %ð %ð %ð
?Ø-ð?Ø4Cð?à	˜4Ñ	ð?ð ?ð ?ð ?ðBð ð ð4
Ø-ð
Ø6Eð
à	˜4Ñ	ð
ð 
ð 
ð 
ðYØ-ðYØ6:¸?Ô6KðYà	ðYð Yð Yð Yðmà'ðmð ˜TÑ!ðmð ˜TÑ!ð	mð
 
˜4Ñ	ðmð mð mð mð^ €HØ€Hð$Ø-ð$Ø4Cð$à	ð$ð $ð $ð $ð
$Ø-ð$Ø4Cð$à	ð$ð $ð $ð $ð
%Ø-ð%Ø4Cð%à	ð%ð %ð %ð %ðBà'ðBð ðBð ð	Bð
 "ðBð 
ðBð Bð Bð Bð	Ø-ð	Ø6Eð	à	˜4Ñ	ð	ð 	ð 	ð 	ð
 ?ð 
¸oð 
ÐRVð 
ð 
ð 
ð 
ð
7Ø-ð7Ø6Eð7à	ð7ð 7ð 7ð 7ð

Ø-ð

Ø69ð

ØEHð

à	ð

ð 

ð 

ð 

ðFà'ðFð ðFð "ð	Fð
 
˜4Ñ	ðFð Fð Fð Fð6 Ø-ð Ø4Cð à	˜4Ñ	ð ð  ð  ð  ðD
Øð
Ø,ð
Ø8Gð
à	˜4Ñ	ð
ð 
ð 
ð 
ð
Ø-ð
Ø4Cð
à	˜4Ñ	ð
ð 
ð 
ð 
ðà'ðð ðð "ð	ð
 
ðð ð ð ð0à'ðð ðð "ð	ð
 
ðð ð ð ð6
à'ð
ð ð
ð "ð	
ð
 
ð
ð 
ð 
ð 
ð4(à'ð(ð ð(ð "ð	(ð
 
ð(ð (ð (ð (ð0à'ð0ð ð0ð "ð	0ð
 
ð0ð 0ð 0ð 0ðh.à'ðh.ð ðh.ð -ð	h.ð
 
ðh.ð h.ð h.ð h.ðT	9à'ð	9ð !ð	9ð "ð		9ð
 
ð	9ð 	9ð 	9ð 	9ð-Ø-ð-Ø2Að-ØFUð-à	ð-ð -ð -ð -ð
Ø-ðØ6Eðà	ðð ð ð ð (
à'ð(
ð ð(
ð ð	(
ð
 "ð(
ð 
ð(
ð (
ð (
ð (
ðT
Ø-ð
Ø3Bð
ØIXð
à	ð
ð 
ð 
ð 
ð
Ø-ð
Ø58ð
à	ð
ð 
ð 
ð 
ð&Bà'ðBð ðBð "ð	Bð
 
ðBð Bð Bð Bð:Ø-ð:Ø4Cð:à	ð:ð :ð :ð :ð4'Ø-ð'Ø4Cð'à	ð'ð 'ð 'ð 'ð<à'ðð ðð "ð	ð
 
˜4Ñ	ðð ð ð ð"Ø-ð"Ø2Að"à	ð"ð "ð "ð "ð
	Nà'ð	Nð (ð	Nð ð		Nð
 "ð	Nð 
ð	Nð 	Nð 	Nð 	Nð'Ø-ð'Ø6Eð'à	ð'ð 'ð 'ð 'ð*
Ø-ð
Ø2Að
à	ð
ð 
ð 
ð 
ð8
à'ð8
ð ð8
ð ð	8
ð
 
ð8
ð 8
ð 8
ð 8
ðt%
à'ð%
ð ð%
ð ð	%
ð
 
ð%
ð %
ð %
ð %
ðN2Ø-ð2Ø2Að2ØFUð2à	˜4Ñ	ð2ð 2ð 2ð 2ð
FØ-ðFØ2AðFØFUðFà	˜4Ñ	ðFð Fð Fð Fð
*Ø-ð*Ø2Að*ØFUð*à	˜4Ñ	ð*ð *ð *ð *ð
2Ø-ð2Ø2Að2ØFUð2à	˜4Ñ	ð2ð 2ð 2ð 2ð
7Ø-ð7Ø2Að7ØFUð7à	˜4Ñ	ð7ð 7ð 7ð 7ð
PØ-ðPØ2AðPØFUðPà	˜4Ñ	ðPð Pð Pð Pð
 Ø-ð Ø2Að ØFUð à	˜4Ñ	ð ð  ð  ð  ð
(Ø-ð(Ø2Að(ØFUð(à	˜4Ñ	ð(ð (ð (ð (ð
2Ø-ð2Ø2Að2ØFUð2à	˜4Ñ	ð2ð 2ð 2ð 2ð
FØ-ðFØ2AðFØFUðFà	˜4Ñ	ðFð Fð Fð Fð
1Ø-ð1Ø2Að1ØFUð1à	˜4Ñ	ð1ð 1ð 1ð 1ð
DØ-ðDØ2AðDØFUðDà	˜4Ñ	ðDð Dð Dð Dð
6Ø-ð6Ø2Að6ØFUð6à	˜4Ñ	ð6ð 6ð 6ð 6ð
MØ-ðMØ2AðMØFUðMà	˜4Ñ	ðMð Mð Mð Mð
6Ø-ð6Ø2Að6ØFUð6à	˜4Ñ	ð6ð 6ð 6ð 6ð
MØ-ðMØ2AðMØFUðMà	˜4Ñ	ðMð Mð Mð Mð
<Ø-ð<Ø2Að<ØFUð<à	˜4Ñ	ð<ð <ð <ð <ð
YØ-ðYØ2AðYØFUðYà	˜4Ñ	ðYð Yð Yð Yð
:Ø-ð:Ø2Að:ØFUð:à	˜4Ñ	ð:ð :ð :ð :ð
VØ-ðVØ2AðVØFUðVà	˜4Ñ	ðVð Vð Vð Vð
8Ø-ð8Ø2Að8ØFUð8à	˜4Ñ	ð8ð 8ð 8ð 8ð
RØ-ðRØ2AðRØFUðRà	˜4Ñ	ðRð Rð Rð Rð
<Ø-ð<Ø2Að<ØFUð<à	˜4Ñ	ð<ð <ð <ð <ðØ-ðØ2Aðà	˜4Ñ	ðð ð ð ð.*Ø-ð*Ø2Að*ØFUð*à	ð*ð *ð *ð *ðT Vð T°ð Tð Tð Tð Tð Tð Tð Tð Tr�   r  c                   ó  ‡ — e Zd ZdZeZefdededdfˆ fd„Zde	fd„Z
dd	d
ee         dee	ef         defd„Zdd	de	d
ee         dee	ef         def
ˆ fd„Zedd	ded
ededef
d„¦   «         Zedd	ded
ededef
d„¦   «         Zˆ xZS )ÚDictBuiltinVariablez4Variable tracker for the `dict` builtin constructor.rÀ   r†   r~   Nc                 óp   •— |t           urt          d|› �¦  «        ‚ t          ¦   «         j        di |¤Ž d S )Nz,DictBuiltinVariable value must be dict, got r‚   )r’   r±   rø   r©  ©r‰   rÀ   r†   rû   s      €r‹   r©  zDictBuiltinVariable.__init__   óI   ø€ Ø�ÐÐÝ Ð!WÐPUÐ!WÐ!WÑXÔXÐXØ�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ð"Ð"r�   c                 ó   — dS )NzDictBuiltinVariable()r‚   rÌ   s    r‹   rô   zDictBuiltinVariable.__repr__  ó   € Ø&Ð&r�   rÓ   rj   r…   c                 ó8   — t          j        |t          g|¢R i |¤ŽS rˆ   )r   Úcall_custom_dictr’   r.  s       r‹   rk  z!DictBuiltinVariable.call_function  s'   € õ #Ô3°B½ÐN¸tÐNÐNÐNÀvÐNÐNÐNr�   rØ   c                 ó  •— |dk    rk|rit          i t          t          ¦   «         ¬¦  «        }t          |d         t          ¦  «        r|S |j        j                             | |d         g |¬¦  «        S |dk    rt	          j        |t          g|¢R i |¤ŽS t          t          |d ¦  «        }|�±|t          v r¨t          |d         t          j        ¦  «        rG|d         j        €t          d¦  «        ‚|d         j                             |||dd …         |¦  «        S t          |d         t           ¦  «        r&|d                              |||dd …         |¦  «        S t!          ¦   «                              ||||¦  «        S )Nrk   rh  r   r¡  ÚfromkeyszJUserDefinedDictVariable._base_vt must not be None for dict method dispatchr6   )r>   r’   r:   rð   r   rm  ro  r°  Úcall_custom_dict_fromkeysrÝ   r(   r   ÚUserDefinedDictVariabler²  r±   rù   rø   )r‰   rÓ   rØ   r…   r†   Údict_vtr¶  rû   s          €r‹   rù   zDictBuiltinVariable.call_method  s«  ø€ ð �9ÒÐØð õ
 ,¨BµÕDTÑDVÔDVÐWÑWÔW�Ý˜d 1œgÕ':Ñ;Ô;ð #Ø"�NØ”yÔ-×KÒKØØ˜”GØØð	 Lñ ô ð ð �:ÒÐÝ&Ô@Ø•DðØðð ð Ø#)ðð ð õ �d D¨$Ñ/Ô/ˆØÐ" {µlÐ'BÐ'BÝ˜$˜qœ'¥9Ô#DÑEÔEð GØ˜”7Ô#Ð+Ý(Ødñô ð ð ˜A”wÔ'×3Ò3°B¸¸dÀ1À2À2¼hÈÑOÔOÐOÝ˜D œGÕ%6Ñ7Ô7ð GØ˜A”w×*Ò*¨2¨t°T¸!¸"¸"´X¸vÑFÔFÐFå‰wŒw×"Ò" 2 t¨T°6Ñ:Ô:Ð:r�   Úuser_clsc                ó´   — t          |¦  «        }|                      t          j        | t          j        ¦  «        t          j        | |¦  «        g|¢|¦  «        S rˆ   )r  Úinline_user_function_returnr;   rã   r   Úconstruct_dict)rÓ   r  r…   r†   Ú	args_lists        r‹   r  z$DictBuiltinVariable.call_custom_dict9  sU   € õ ˜‘J”Jˆ	Ø×-Ò-ÝÔ! "¥iÔ&>Ñ?Ô?ÝÔ" 2 xÑ0Ô0Ð=°9Ð=Øñ
ô 
ð 	
r�   c          
      ó  ‡ ‡— ‰t           t          t          hvr;t          d‰j        › d|› d|› �d‰j        › d‰j        › d�d‰j        › d�g¬	¦  «         |r‡‰t          us*t          |¦  «        d
k    st          |¦  «        d
k    sd|vr:t          ‰ ‰j        › d�dt          |¦  «        › dt          |¦  «        › d�¦  «         g |¢|                     d¦  «        ‘R }t          |¦  «        dk    r*t          ‰ ‰j        › d�dt          |¦  «        › d�¦  «         t          |¦  «        d
k    rg |¢t          j	        d ¦  «        ‘R }t          |¦  «        dk    r*t          ‰ ‰j        › d�dt          |¦  «        › d�¦  «         |\  }}dt           t          t          f         dt          fˆ ˆfd„}t          |t           ¦  «        r2ˆ fd„|D ¦   «         } |t                                ||¦  «        ¦  «        S t          ‰ |¦  «        x}rMt          ‰ |¦  «        }	t          d„ |	D ¦   «         ¦  «        r$ |t                                |	|¦  «        ¦  «        S t          d‰j        › d|› d|› �d‰j        › d�ddg¬	¦  «         d S )Nz$Unsupported dict type for fromkeys()z.fromkeys(): r  zFailed to call z.fromkeys() because z5 is not any type of dict, OrderedDict, or defaultdictzEnsure z0 is a type of dict, OrderedDict, or defaultdict.rö  r6   rÀ   z	.fromkeysz1 args and 1 kwargs (`value`)z
 args and r'  r   zat least 1 argsz argsr   z2 argsr“  r~   c                 ó>  •— ‰t           u rºddlm} ddlm} ‰j        j                             |                     ‰t          ¦  «        |                     ‰t           ¦  «        g ‰¬¦  «        }t          ||¦  «        st          dt          |¦  «        › �¦  «        ‚t          | t           t          ¦   «         ¬¦  «        |_        |S ‰t           u r´ddlm} ddlm} ‰j        j                             |                     ‰t          ¦  «        |                     ‰t           ¦  «        g ‰¬¦  «        }t          ||¦  «        st          dt          |¦  «        › �¦  «        ‚t          | t          ¦   «         ¬	¦  «        |_        |S t          | t          ¦   «         ¬	¦  «        S )
Nr6   rx  )ÚOrderedDictVariabler¡  z"Expected OrderedDictVariable, got )r  ri  )ÚDefaultDictVariablez"Expected DefaultDictVariable, got rh  )r   rl  ry  r’  r  rm  ro  r°  rs  r’   rð   r±   rß   r>   r:   r²  r   r  )r“  ry  r  rƒ  r  rÓ   r  s        €€r‹   Ú_make_resultzCDictBuiltinVariable.call_custom_dict_fromkeys.<locals>._make_result|  sÞ  ø€ ð �;Ð&Ð&Ø6Ð6Ð6Ð6Ð6Ð6Ø=Ð=Ð=Ð=Ð=Ð=àœÔ/×MÒMØ%×,Ò,¨RµÑ6Ô6Ø%×,Ò,¨RµÑ=Ô=ØØð	 Nñ ô �õ " &Ð*=Ñ>Ô>ð Ý(ØK½TÀ&¹\¼\ÐKÐKñô ð õ #4ØÝ(Ý"2Ñ"4Ô"4ð#ñ #ô #�”ð
 �Ø�[Ð(Ð(Ø6Ð6Ð6Ð6Ð6Ð6Ø=Ð=Ð=Ð=Ð=Ð=àœÔ/×MÒMØ%×,Ò,¨RµÑ6Ô6Ø%×,Ò,¨RµÑ=Ô=ØØð	 Nñ ô �õ " &Ð*=Ñ>Ô>ð Ý(ØK½TÀ&¹\¼\ÐKÐKñô ð õ #4ØÕ)9Ñ);Ô);ð#ñ #ô #�”ð �å(¨Õ>NÑ>PÔ>PÐQÑQÔQÐQr�   c                 ó:   •— g | ]}t          j        ‰|¦  «        ‘ŒS r‚   r}  )r  rÙ  rÓ   s     €r‹   rÖ  zADictBuiltinVariable.call_custom_dict_fromkeys.<locals>.<listcomp>©  s&   ø€ ÐBÐBÐB¸�Ô-¨b°!Ñ4Ô4ÐBÐBÐBr�   c              3   ó4   K  — | ]}t          |¦  «        V — Œd S rˆ   rB   r¥  s     r‹   r  z@DictBuiltinVariable.call_custom_dict_fromkeys.<locals>.<genexpr>­  s(   è è € Ð0Ð0 a•;˜q‘>”>Ð0Ð0Ð0Ð0Ð0Ð0r�   zfailed to call dict.fromkeys()zo.fromkeys() because arguments could not be automatically converted to a list, or some dict key is not hashable.z(Manually convert the argument to a list.zEnsure all keys are hashable.)r’   r   r   r   rŽ   r¨   r1   r)  r<   rs  r;   rð   r	  rP   r5   r  )
rÓ   r  r…   r†   rú   rÀ   r  Úarg_listÚiteratorÚkeyss
   ``        r‹   r
  z-DictBuiltinVariable.call_custom_dict_fromkeysH  sg  øø€ ð �D¥+­{Ð;Ð;Ð;ÝØ>Ø#Ô,ÐJÐJ¸4ÐJÐJÀ&ÐJÐJð\¨hÔ.?ð \ð \ØÔ$ð\ð \ð \ð b˜hÔ/ÐaÐaÐaððñ ô ð ð ð 	0ð ¥Ð+Ð+Ý�t‘9”9 ’>�>Ý�v‘;”; !Ò#Ð#Ø &Ð(Ð(å#ØØÔ(Ð3Ð3Ð3Ø3Ý˜4‘y”yÐ@Ð@­C°©K¬KÐ@Ð@Ð@ñ	ô ð ð 0�TÐ/˜6Ÿ:š: gÑ.Ô.Ð/Ð/ˆDÝˆt‰9Œ9˜Š>ˆ>ÝØØÔ$Ð/Ð/Ð/Ø!Ý�t‘9”9Ð#Ð#Ð#ñ	ô ð õ ˆt‰9Œ9˜Š>ˆ>Ø9�TÐ9Õ+Ô2°4Ñ8Ô8Ð9Ð9ˆDÝˆt‰9Œ9˜Š>ˆ>ÝØØÔ$Ð/Ð/Ð/ØÝ�t‘9”9Ð#Ð#Ð#ñ	ô ð ð ‰
ˆˆUð*	RÝ�­Ð8Ô9ð*	Råð*	Rð *	Rð *	Rð *	Rð *	Rð *	Rð *	RõX �c�4Ñ Ô ð 	@ØBÐBÐBÐB¸cÐBÑBÔBˆHØ�<¥§¢¨h¸Ñ >Ô >Ñ?Ô?Ð?Ý(¨¨SÑ1Ô1Ð1ˆXð 	@Ý" 2 xÑ0Ô0ˆDÝÐ0Ð0¨4Ð0Ñ0Ô0Ñ0Ô0ð @Ø#�|¥D§M¢M°$¸Ñ$>Ô$>Ñ?Ô?Ð?åØ4ØÔ(ÐFÐF°tÐFÐF¸fÐFÐFð0¨(Ô*;ð 0ð 0ð 0ð ;Ø/ðð
	
ñ 
	
ô 
	
ð 
	
ð 
	
ð 
	
r�   )rŽ   r�   r�   r‘   r’   r¿   rß   r   r©  r“   rô   r  r;   rk  rù   rø  r  r
  r  r  s   @r‹   r   r   û
  sØ  ø€ € € € € Ø>Ð>à
€Cà%)ð #ð #˜dð #°Sð #¸Tð #ð #ð #ð #ð #ð #ð
'˜#ð 'ð 'ð 'ð 'ðOà'ðOð �?Ô#ðOð �S˜/Ð)Ô*ð	Oð
 
ðOð Oð Oð Oð';à'ð';ð ð';ð �?Ô#ð	';ð
 �S˜/Ð)Ô*ð';ð 
ð';ð ';ð ';ð ';ð ';ð ';ðR ð
Ø'ð
àð
ð ð	
ð
 "ð
ð 
ð
ð 
ð 
ñ „\ð
ð ðq
Ø'ðq
àðq
ð ð	q
ð
 "ðq
ð 
ðq
ð q
ð q
ñ „\ðq
ð q
ð q
ð q
ð q
r�   r   c                   óx   ‡ — e Zd ZdZeZefdededdfˆ fd„Zdefd„Z	dd	d
e
e         deeef         defd„Zˆ xZS )ÚIterBuiltinVariablez(Variable tracker for the `iter` builtin.rÀ   r†   r~   Nc                 óp   •— |t           urt          d|› �¦  «        ‚ t          ¦   «         j        di |¤Ž d S )Nz,IterBuiltinVariable value must be iter, got r‚   )rú  r±   rø   r©  r  s      €r‹   r©  zIterBuiltinVariable.__init__Â  r  r�   c                 ó   — dS )NzIterBuiltinVariable()r‚   rÌ   s    r‹   rô   zIterBuiltinVariable.__repr__Ç  r  r�   rÓ   rj   r…   c                 óø   — |st          t          |dg¬¦  «         t          |¦  «        dk    rt          ||d         ¦  «        S t	          j        t          j        j        ¦  «         	                    |||¦  «        S )Nz(iter expected at least 1 argument, got 0rr  r6   r   )
r   rs  r¨   rP   r   rÈ  r   r¿  Úcallable_iteratorrk  r.  s       r‹   rk  z!IterBuiltinVariable.call_functionÊ  sƒ   € ð ð 	Ý$ÝØØ@ÐAðñ ô ð õ ˆt‰9Œ9˜Š>ˆ>Ý" 2 t¨A¤wÑ/Ô/Ð/åÔ1ÝÔ"Ô4ñô çŠm˜B  fÑ-Ô-ð.r�   )rŽ   r�   r�   r‘   rú  r¿   r   r©  r“   rô   r  r;   r’   rk  r  r  s   @r‹   r  r  ½  sÉ   ø€ € € € € Ø2Ð2à
€Cà$(ð #ð #˜cð #°Cð #¸Dð #ð #ð #ð #ð #ð #ð
'˜#ð 'ð 'ð 'ð 'ð.à'ð.ð �?Ô#ð.ð �S˜/Ð)Ô*ð	.ð
 
ð.ð .ð .ð .ð .ð .ð .ð .r�   r  c                   ó¬   ‡ — e Zd ZdZeZefdededdfˆ fd„Zdefd„Z	dd	d
e
e         deeef         defd„Zdd	d
e
e         deeef         defd„Zˆ xZS )ÚGetAttrBuiltinVariablez+Variable tracker for the `getattr` builtin.rÀ   r†   r~   Nc                 óp   •— |t           urt          d|› �¦  «        ‚ t          ¦   «         j        di |¤Ž d S )Nz2GetAttrBuiltinVariable value must be getattr, got r‚   )rÝ   r±   rø   r©  r  s      €r‹   r©  zGetAttrBuiltinVariable.__init__æ  óP   ø€ Ø�ÐÐÝ ØLÀUÐLÐLñô ð ð 	�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ð"Ð"r�   c                 ó   — dS )NzGetAttrBuiltinVariable()r‚   rÌ   s    r‹   rô   zGetAttrBuiltinVariable.__repr__í  ó   € Ø)Ð)r�   rÓ   rj   r…   c           	      ó  ‡— ddl mŠ t          ˆfd„|D ¦   «         ¦  «        rˆfd„|D ¦   «         }	 |                      |||¦  «        S # t          $ r« t          ||¦  «        s‚ 	 t          d„ |D ¦   «         Ž }nm# t          $ r t          t          |¦  «         ‚ t          $ r ‚ t          $ r7}t          t          |¦  «        |t          |j        ¦  «        ¬¦  «         ‚ d }~ww xY wt          j        ||¦  «        cY S w xY w)Nr6   ©rã  c              3   ó8   •K  — | ]}t          |‰¦  «        V — Œd S rˆ   ©rð   ©r  r_  rã  s     €r‹   r  z7GetAttrBuiltinVariable.call_function.<locals>.<genexpr>ø  ó.   øè è € Ð@Ð@°a�z˜!Ð0Ñ1Ô1Ð@Ð@Ð@Ð@Ð@Ð@r�   c                 ó\   •— g | ](}t          |‰¦  «        r|                     ¦   «         n|‘Œ)S r‚   rê  r,  s     €r‹   rÖ  z8GetAttrBuiltinVariable.call_function.<locals>.<listcomp>ù  óB   ø€ ð ð ð ØMN�z¨!Ð-@ÑAÔAÐH�—	’	‘”�Àqðð ð r�   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r‚   rÕ  r€  s     r‹   rÖ  z8GetAttrBuiltinVariable.call_function.<locals>.<listcomp>  s$   € Ð"HÐ"HÐ"H¸a 1×#7Ò#7Ñ#9Ô#9Ð"HÐ"HÐ"Hr�   rr  )r-  rã  r  Ú_call_getattrr   r&   rÝ   rÊ  r   r7   r  rß   r  r…   r;   rã   )r‰   rÓ   r…   r†   rƒ  rt  rã  s         @r‹   rk  z$GetAttrBuiltinVariable.call_functionð  sm  ø€ ð 	.Ð-Ð-Ð-Ð-Ð-åÐ@Ð@Ð@Ð@¸4Ð@Ñ@Ô@Ñ@Ô@ð 	ðð ð ð ØRVðñ ô ˆDð	5Ø×%Ò% b¨$°Ñ7Ô7Ð7øÝð 	5ð 	5ð 	5õ 1°°vÑ>Ô>ð Øð	Ý Ð"HÐ"HÀ4Ð"HÑ"HÔ"HÐI��øÝ!ð ð ð Ý(­¸Ñ<Ô<Ð<ØÝ6ð ð ð ØÝð ð ð Ý(­¨c©¬°B½TÀ#Ä(¹^¼^ÐLÑLÔLÐLØøøøøðøøøõ #Ô(¨¨VÑ4Ô4Ð4Ð4Ð4ð!	5øøøs5   ²A	 Á	C>Á%A9Á8C>Á93C#Â,2CÃC#Ã#C>Ã=C>c           
      ój  ‡‡— |d         }|d         }t          |¦  «        dk    r|d         nd }|                     ¦   «         st          dd|› d|› d|› d�dd	g¬
¦  «         |                     ¦   «         }|                     ¦   «         r|dk    rd}‰j        j                             |¦  «        rat          |t          j
        ¦  «        rG|dv rC|j        r<‰j        j                             |¦  «        rt          dd|› d|› d|› d�dg ¬
¦  «         ‰j        j                             ||¦  «        rÐt          |t          j        ¦  «        s ‰j        j                             ||¦  «        S ‰j        j                             ||t           j        ¦  «        rk‰j        j                             ||d¬¦  «        }|                     |¦  «        }	t          |t          j        ¦  «        s|	t(          u st+          |	¦  «        s|S |�Y|                     ‰|¦  «        }
|
�?|
                     dd¦  «        st1          d|
› �¦  «        ‚|
                     ¦   «         s|S n|S |j        ot5          |j        |¦  «        Š|dv r¹	 |                     ¦   «         }t          |t6          ¦  «        r~|dk    r7ˆˆfd„t9          |j        ¦  «        D ¦   «         }t          j        |‰¬¦  «        S |dk    rt?          j         ‰|j!        ‰¦  «        S |dk    rt?          j         ‰|j"        ¦  «        S n# tF          $ r Y nw xY wt          |t          j$        ¦  «        r| %                    ‰|¦  «        S t          |t          j&        t          j'        t          j(        t          j)        t          j*        t          j+        t          j        f¦  «        �rHt          |t          j        ¦  «        rStY          |j-        j.        t^          j0        ¦  «        r/tb          j2        r#|dv rt          dd|› �d|› d�d|› d �g¬
¦  «         |                     ¦   «         r| 3                    ¦   «         j4        j5        d!         }t          |tl          j7        ¦  «        rAtq          |¦  «        r2‰j9        rtb          j:        st          d"d#d$g tv          j<        ¢¬
¦  «         	 | %                    ‰|¦  «        S # tz          $ r ‚ tF          $ r t          j>        ||‰¬¦  «        cY S w xY wt          |t          j?        ¦  «        r¼	 t�          |j-        |¦  «        }n$# t‚          $ r t…          t‚          ‰¦  «         ‚ w xY wt          |tl          jC        jD        tl          jC        jE        f¦  «        r:tl          jF        jG         H                    |¦  «        rt          j?        |‰¬¦  «        S t          j>        ||‰¬¦  «        S t          |t’          ¦  «        r€|jJ        s||j-        jK        vrt�          |j-        |¦  «        }n|j-        jK        |         }tb          jL        r!‰jM         N                    |j-        ||¦  «         t?          j         ‰|‰¦  «        S 	 | %                    ‰|¦  «        S # tF          $ r t          j>        ||‰¬¦  «        cY S w xY w)%Nr   r6   r   z)getattr() with non-constant name argumentzgetattr(r5  r­  z:getattr() with non-constant name argument is not supportedz1Ensure the name argument of getattr() is a stringrö  Ú_gradÚgrad)Únamed_parametersÚ
parametersÚnamed_buffersÚbuffersÚnamed_modulesÚmodulesz,getattr() on nn.Module with pending mutationzPIntentionally graph breaking on getattr() on a nn.Module with a pending mutationT)Ú
deleted_okFz2hasattr_var must be a constant True or False, got >   Ú__base__Ú	__bases__Ú	__flags__r=  c           
      ób   •— g | ]+\  }}t          j        ‰|‰ot          ‰|¦  «        ¦  «        ‘Œ,S r‚   )r;   rã   r   )r  rÑ  r`  rÁ   rÓ   s      €€r‹   rÖ  z8GetAttrBuiltinVariable._call_getattr.<locals>.<listcomp>^  sR   ø€ ð &ð &ð &ñ !%  1õ ,Ô1Ø " A vÐ'Jµ-ÀÈÑ2JÔ2Jñô ð&ð &ð &r�   rÄ   r<  r>  )ÚassertNotWarnsÚassertWarnsRegexÚassertWarnszFailed to trace unittest methodzfunction: unittest.TestCase.z3Dynamo does not know how to trace unittest method `z` zAvoid calling `TestCase.z%`. Please report an issue to PyTorch.r;  zAttempted to wrap sparse TensorrÅ  z-torch.compile does not support sparse Tensors)Or¨   r÷   r   rÍ   rÄ  rm  ro  r®  rð   r   ÚUnspecializedNNModuleVariableÚis_state_mutatedÚhas_pending_mutationÚhas_pending_mutation_of_attrrg   Ú	load_attrr8   ÚINSTANCE_DICTÚlookup_class_mro_attrrr  r9   rf   rå   Úis_constant_matchr±   rÁ   r   rß   Ú	enumerater=  rH   r;   rã   r<  r>  rµ  rZ  rá   rd   ÚNamedTupleVariabler<   r  ÚDistributedVariablerö   rŸ  rÀ   rû   ÚunittestÚTestCaser   Úenable_trace_unittestr¼  r4  r<  r©   rp  r   r‹  Úcapture_sparse_computer   ÚSPARSE_TENSORr7   rÞ   ré  rÝ   rÊ  r   Ú_opsÚOpOverloadPacketÚ
OpOverloadrÖ  Útrace_rulesÚis_aten_op_or_tensor_methodr   Úis_torchrD  Úreplay_record_enabledÚexec_recorderÚrecord_module_access)r‰   rÓ   r…   r†   rì  r³  ÚdefaultrØ   rÀ   Ú	type_attrÚhasattr_varÚ
tuple_argsÚfake_valÚmemberrÁ   s    `            @r‹   r1  z$GetAttrBuiltinVariable._call_getattr  s�  øø€ ð �1ŒgˆØ˜”7ˆÝ  ™YœY¨š]˜]�$�q”'�'°ˆà×*Ò*Ñ,Ô,ð 	ÝØCØ@ 3Ð@Ð@¨(Ð@Ð@°gÐ@Ð@Ð@ØXØJÐKð	ñ ô ð ð ×*Ò*Ñ,Ô,ˆð �=Š=‰?Œ?ð 	˜t wš˜ØˆDàŒ9Ô!×7Ò7¸Ñ<Ô<ð 	Ý˜#�yÔFÑGÔGð àððð ð Ô,ðð œ	Ô.×CÒCÀCÑHÔHðõ "Ø NØ D¨3Ð DÐ D°$Ð DÐ D¸'Ð DÐ DÐ Dð%2à ðñ ô ð ð Œ9Ô!×>Ò>¸sÀDÑIÔIð 	!Ý˜c¥9Ô#FÑGÔGð CØ”yÔ-×7Ò7¸¸TÑBÔBÐBØŒyÔ%×BÒBØ�TÕ+Ô9ñô ð !ð œ	Ô.×8Ò8¸¸dÈtÐ8ÑTÔT�Ø×5Ò5°dÑ;Ô;�	Ý! %­Ô)BÑCÔCð !Ø¥Ð/Ð/Õ7IÈ)Ñ7TÔ7TÐ/à �LàÐØ×.Ò.¨r°4Ñ8Ô8ˆKØÐ&Ø"×4Ò4°T¸5ÑAÔAð Ý(ØZÈ[ÐZÐZñô ð ð #×5Ò5Ñ7Ô7ð #Ø"�Nð#ð �à”Ð<¥
¨3¬:°tÑ <Ô <ˆØÐ9Ð9Ð9ðØ×.Ò.Ñ0Ô0�Ý˜e¥TÑ*Ô*ð JØ˜{Ò*Ð*ð&ð &ð &ð &ð &õ )2°%´/Ñ(BÔ(Bð	&ñ &ô &˜
õ  )Ô6°zÈ&ÐQÑQÔQÐQØ˜zÒ)Ð)Ý.Ô4°R¸¼ÈÑPÔPÐPØ˜{Ò*Ð*Ý.Ô4°R¸¼ÑIÔIÐIøøÝ&ð ð ð Ø�ðøøøõ �c�9Ô5Ñ6Ô6ð U	KØ—?’? 2 tÑ,Ô,Ð,ÝØåÔ(ÝÔ,ÝÔ*ÝÔ-ÝÔ-ÝÔ2ÝÔ3ðñ
ô 
ñ S	Kõ ˜3¥	Ô CÑDÔDðå˜sœyÔ2µHÔ4EÑFÔFðõ Ô0ðð ððð õ Ø=ØA¸4ÐAÐAØ ^ÐVZÐ ^Ð ^Ð ^ð=°4ð =ð =ð =ðð	ñ ô ð ð �}Š}‰Œð àŸ<š<™>œ>Ô.Ô3°OÔD�å˜x­¬Ñ6Ô6ð
å% hÑ/Ô/ð
ð  œYð
õ /5Ô.Kð
õ
 "Ø AØ "Ø$SØ@Õ 1Ô ?Ð@ð	ñ ô ð ðKØ—’ r¨4Ñ0Ô0Ð0øÝ6ð ð ð ð Ý&ð Kð Kð KÝ Ô0°°dÀ6ÐJÑJÔJÐJÐJÐJðKøøøå˜�YÔCÑDÔDð 	KðÝ  ¤¨DÑ1Ô1��øÝ!ð ð ð Ý(­¸Ñ<Ô<Ð<Øðøøøõ Ø�œÔ4µe´jÔ6KÐLñô ð Kå”-Ô+×GÒGÈÑOÔOðKõ !Ô=¸fÈVÐTÑTÔTÐTå Ô0°°dÀ6ÐJÑJÔJÐJÝ˜�[Ñ)Ô)ð 	KàŒ|ð 2˜t¨3¬9Ô+=Ð=Ð=Ý  ¤¨DÑ1Ô1��àœÔ+¨DÔ1�åÔ+ð OØÔ ×5Ò5°c´iÀÀvÑNÔNÐNÝ"Ô(¨¨V°VÑ<Ô<Ð<ðKØ—’ r¨4Ñ0Ô0Ð0øÝ&ð Kð Kð KÝ Ô0°°dÀ6ÐJÑJÔJÐJÐJÐJðKøøøsO   É>A%L& Ë$ L& ÌL& Ì&
L3Ì2L3ÓS Ó+T	ÔT	Ô'T= Ô=!UÙ8Z Ú!Z2Ú1Z2)rŽ   r�   r�   r‘   rÝ   r¿   r   r©  r“   rô   r  r;   r’   rk  r1  r  r  s   @r‹   r#  r#  á  s+  ø€ € € € € Ø5Ð5à
€Cà$+ð #ð #˜cð #°sð #¸tð #ð #ð #ð #ð #ð #ð*˜#ð *ð *ð *ð *ð5à'ð5ð �?Ô#ð5ð �S˜/Ð)Ô*ð	5ð
 
ð5ð 5ð 5ð 5ð@qKà'ðqKð �?Ô#ðqKð �S˜/Ð)Ô*ð	qKð
 
ðqKð qKð qKð qKð qKð qKð qKð qKr�   r#  c                   óx   ‡ — e Zd ZdZeZefdededdfˆ fd„Zdefd„Z	dd	d
e
e         deeef         defd„Zˆ xZS )ÚHasAttrBuiltinVariablez+Variable tracker for the `hasattr` builtin.rÀ   r†   r~   Nc                 óp   •— |t           urt          d|› �¦  «        ‚ t          ¦   «         j        di |¤Ž d S )Nz2HasAttrBuiltinVariable value must be hasattr, got r‚   )rä   r±   rø   r©  r  s      €r‹   r©  zHasAttrBuiltinVariable.__init__É  r%  r�   c                 ó   — dS )NzHasAttrBuiltinVariable()r‚   rÌ   s    r‹   rô   zHasAttrBuiltinVariable.__repr__Ð  r'  r�   rÓ   rj   r…   c                 óà  ‡— ddl mŠ t          ˆfd„|D ¦   «         ¦  «        rˆfd„|D ¦   «         }t          |¦  «        dk    s|rt	          t
          |¦  «         |\  }}|                     ¦   «         st	          t
          |¦  «         |                     ||                     ¦   «         ¦  «        }|€;t          dd|› d|› d	�d
| 
                    ¦   «         › �g t          j        ¢¬¦  «         |S )Nr6   r)  c              3   ó8   •K  — | ]}t          |‰¦  «        V — Œd S rˆ   r+  r,  s     €r‹   r  z7HasAttrBuiltinVariable.call_function.<locals>.<genexpr>Û  r-  r�   c                 ó\   •— g | ](}t          |‰¦  «        r|                     ¦   «         n|‘Œ)S r‚   rê  r,  s     €r‹   rÖ  z8HasAttrBuiltinVariable.call_function.<locals>.<listcomp>Ü  r/  r�   r   zhasattr() on unsupported typezhasattr(r5  r­  z#hasattr() is not supported on type rö  )r-  rã  r  r¨   r   rs  r÷   rå   rÍ   r   r%  r   rû  )r‰   rÓ   r…   r†   rì  rà   rƒ  rã  s          @r‹   rk  z$HasAttrBuiltinVariable.call_functionÓ  s6  ø€ ð 	.Ð-Ð-Ð-Ð-Ð-åÐ@Ð@Ð@Ð@¸4Ð@Ñ@Ô@Ñ@Ô@ð 	ðð ð ð ØRVðñ ô ˆDõ ˆt‰9Œ9˜Š>ˆ>˜Vˆ>Ý$¥Y°Ñ3Ô3Ð3Ø‰	ˆˆTØ×&Ò&Ñ(Ô(ð 	4Ý$¥Y°Ñ3Ô3Ð3Ø×%Ò% b¨$×*AÒ*AÑ*CÔ*CÑDÔDˆØˆ>ÝØ7Ø1 3Ð1Ð1¨$Ð1Ð1Ð1ØZÀ#×BVÒBVÑBXÔBXÐZÐZØ6Õ)Ô5Ð6ð	ñ ô ð ð ˆr�   )rŽ   r�   r�   r‘   rä   r¿   r   r©  r“   rô   r   r;   r’   rk  r  r  s   @r‹   rc  rc  Ä  sÉ   ø€ € € € € Ø5Ð5à
€Cà$+ð #ð #˜cð #°sð #¸tð #ð #ð #ð #ð #ð #ð*˜#ð *ð *ð *ð *ðà'ðð �Ô'ðð �S˜/Ð)Ô*ð	ð
 
ðð ð ð ð ð ð ð r�   rc  c                   óš   ‡ — e Zd ZdZeZefdededdfˆ fd„Zdefd„Z	dd	d
e
e         deeef         defd„Zdd	dededededz  f
d„Zˆ xZS )ÚSetAttrBuiltinVariablez+Variable tracker for the `setattr` builtin.rÀ   r†   r~   Nc                 óp   •— |t           urt          d|› �¦  «        ‚ t          ¦   «         j        di |¤Ž d S )Nz2SetAttrBuiltinVariable value must be setattr, got r‚   )rû  r±   rø   r©  r  s      €r‹   r©  zSetAttrBuiltinVariable.__init__ô  r%  r�   c                 ó   — dS )NzSetAttrBuiltinVariable()r‚   rÌ   s    r‹   rô   zSetAttrBuiltinVariable.__repr__û  r'  r�   rÓ   rj   r…   c           
      óz  ‡— ddl mŠ t          ˆfd„|D ¦   «         ¦  «        rˆfd„|D ¦   «         }t          |¦  «        dk    s|rt	          t
          |¦  «         |\  }}}|                      ||||¦  «        }|�|S t          dd|› d|› d|› d	�d
|                     ¦   «         › �g t          j
        ¢¬¦  «         d S )Nr6   r)  c              3   ó8   •K  — | ]}t          |‰¦  «        V — Œd S rˆ   r+  r,  s     €r‹   r  z7SetAttrBuiltinVariable.call_function.<locals>.<genexpr>  r-  r�   c                 ó\   •— g | ](}t          |‰¦  «        r|                     ¦   «         n|‘Œ)S r‚   rê  r,  s     €r‹   rÖ  z8SetAttrBuiltinVariable.call_function.<locals>.<listcomp>  r/  r�   rq   zsetattr() on unsupported typeúsetattr(r5  r­  z#setattr() is not supported on type rö  )r-  rã  r  r¨   r   rs  Ú_call_setattrr   r%  r   rû  )	r‰   rÓ   r…   r†   rì  r³  r´  rƒ  rã  s	           @r‹   rk  z$SetAttrBuiltinVariable.call_functionþ  s  ø€ ð 	.Ð-Ð-Ð-Ð-Ð-åÐ@Ð@Ð@Ð@¸4Ð@Ñ@Ô@Ñ@Ô@ð 	ðð ð ð ØRVðñ ô ˆDõ ˆt‰9Œ9˜Š>ˆ>˜Vˆ>Ý$¥Y°Ñ3Ô3Ð3Ø!ÑˆˆX�sØ×#Ò# B¨¨X°sÑ;Ô;ˆØÐØˆMÝØ3Ø8˜sÐ8Ð8 hÐ8Ð8°#Ð8Ð8Ð8ØV¸c×>RÒ>RÑ>TÔ>TÐVÐVØ2Õ%Ô1Ð2ð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r�   rì  r³  r´  c                 óÞ  ‡— t          ‰t          j        t          j        t          j        t          j        t          j        f¦  «        r‰                     |d||gi ¦  «        S |j        j	         
                    ‰¦  «        �rq|                     ¦   «         �r\|                     ¦   «         }‰                     ¦   «         �rddlm} |dk    r+t!          dd‰› d|› d|› d�d	g t"          j        ¢¬
¦  «         �nÙ|dk    �rš‰j        €t!          dd‰› d|› d|› d�ddg¬
¦  «         n.‰j        |j        k    rt!          dd‰› d|› d|› d�ddg¬
¦  «         ˆfd„|j        j        D ¦   «         }|D ]!}|j        j                             |¦  «         Œ"t/          |¦  «        5  t1          j        ¦   «         5   || |j        j        dt0          j        j        gt;          ‰|gi ¦  «        ¢R Ž ¦  «        }	d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   dt0          j        dt0          j        fd„}
|j                             d|
|	                     ¦   «         fi ¦  «          |
‰                     ¦   «         j        j         d         ¦  «         |	S |dv rd}n1tC          |¦  «        r"t!          dd‰› d|› d|› d�dd|› d�g¬
¦  «         |j        j	         "                    ‰||¦  «         |S t          ‰t          j#        ¦  «        �r^|j         $                    ¦   «         s#t!          dd‰› �dd gt"          j%        ¢¬
¦  «         |                     ¦   «         rùt          |t          j&        ¦  «        rßtO          |                     ¦   «         j        |¦  «        }	 ‰ (                    ||                     ¦   «         ¦  «        }n# tR          tT          f$ r d }Y nw xY w|�s|                     ¦   «         r_tO          |                     ¦   «         j        |¦  «        }tW          j,        ‰j-        d¦  «        }||u r|t0          j.        j/        j0        u r|S ‰ 1                    |¦  «         d S )!Nr   r6   ri  Úrequires_gradz!setattr() on Tensor.requires_gradrp  r5  r­  zÑsetattr() on Tensor.requires_grad not supported. Mutating requires_grad can introduce a new leaf from non-leaf or vice versa in the middle of the graph, which AOTAutograd does not currently know how to handle.rö  Údataz&Failed to mutate tensor data attributezVDynamo only supports mutating `.data` of tensor created outside `torch.compile` regionzWDon't mutate `.data` on this tensor, or move the mutation out of `torch.compile` regionz9Failed to mutate tensor data attribute to different dtypezPDynamo only supports mutating `.data` of tensor to a new one with the same dtypec                 ó4   •— g | ]}|j         ‰j         k    ¯|‘ŒS r‚   rÄ   )r  Útfrì  s     €r‹   rÖ  z8SetAttrBuiltinVariable._call_setattr.<locals>.<listcomp>[  s.   ø€ ð !ð !ð !Ø!ÀÄ	ÈSÌZÒ@WÐ@W˜Ð@WÐ@WÐ@Wr�   rk  r  r~   c                 óx   — | j         }|dk    r|dz
  }t          j        j                             | f|f¦  «         | S r1  )Ú_versionr©   Ú_CÚ	_autogradÚ_unsafe_set_version_counter)r  Úversions     r‹   Ú_lower_version_count_by_1zGSetAttrBuiltinVariable._call_setattr.<locals>._lower_version_count_by_1q  s?   € Ø"#¤*˜Ø" Qš;˜;Ø&-°¡k˜GÝœÔ*×FÒFÈÀtÈgÈZÑXÔXÐXØ ˜r�   r;  )r3  r4  r4  zFailed to set tensor attributez6Dynamo doesn't support setting these tensor attributeszDon't mutate attribute 'z@' on tensors, or move the mutation out of `torch.compile` regionz#nn.Module mutation in HigherOrderOpznn.Module: zPInplace modifying nn.Module params/buffers inside HigherOrderOps is not allowed.z<Remove the mutation or move it outside of the HigherOrderOp.)2rð   r   r  rg   ÚNestedUserFunctionVariablerü  ÚTracebackVariablerù   rm  ro  r®  r÷   rÍ   rÄ  rl  rj  r   r   rû  rÁ   r•   Útracked_fakesÚremoveÚdynamo_disable_gradr©   Úno_gradrn  rp  Úset_r0   r¼  r4  r<  r,   Ú
store_attrrZ  Úis_root_tracerÚFUNDAMENTALrd   r*   rá   rÊ  r   r  ry  Úmodule_typer=  ÚModuler   Úconvert_to_unspecialized)r‰   rÓ   rì  r³  r´  rØ   rj  Ú	to_removerv  Úoutr}  Úassigning_fake_valÚgetattr_varÚexisting_fake_attrÚmod_setattrs     `            r‹   rq  z$SetAttrBuiltinVariable._call_setattr  s  ø€ õ ØåÔ-ÝÔ3ÝÔ4ÝÔ+ÝÔ+ðñ	
ô 	
ð \	-ð —?’? 2 }°xÀ°oÀrÑJÔJÐJàŒIÔ"×8Ò8¸Ñ=Ô=ñQ	-à×+Ò+Ñ-Ô-ñQ	-ð ×.Ò.Ñ0Ô0ˆDØ�}Š}‰Œñ gØ2Ð2Ð2Ð2Ð2Ð2à˜?Ò*Ð*å!Ø CØ @¨3Ð @Ð @°$Ð @Ð @¸#Ð @Ð @Ð @ð%lð ?Õ 1Ô =Ð>ðñ ô ð ñ ð ˜V’^‘^ð ”zÐ)Ý%Ø$LØ$D¨sÐ$DÐ$D°dÐ$DÐ$D¸cÐ$DÐ$DÐ$Dð)Pð!Mð#ð	ñ 	ô 	ð 	ð 	ð œ c¤iÒ/Ð/Ý%Ø$_Ø$D¨sÐ$DÐ$D°dÐ$DÐ$D¸cÐ$DÐ$DÐ$Dð)Jð!Mð#ð	ñ 	ô 	ð 	ð !ð !ð !ð !Ø%'¤YÔ%<ð!ñ !ô !�Ið (ð ;ð ;˜Øœ	Ô/×6Ò6°rÑ:Ô:Ð:Ð:õ -¨RÑ0Ô0ð 	ð 	µ%´-±/´/ð 	ð 	à+˜mØØ2˜BœIÔ2Ø /Ý %¤Ô 1ðõ "3°C¸°:¸rÑ!BÔ!Bðð ð ñô ˜ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð!µU´\ð !ÅeÄlð !ð !ð !ð !ð ”I×*Ò*Ø'Ø1ØŸš™œÐ)Øñ	ô ð ð .Ð-¨c¯lªl©n¬nÔ.AÔ.FÀÔ.WÑXÔXÐXð �JØÐ.Ð.Ð.ð "�D�DÝ0°Ñ6Ô6ð õ "Ø @Ø @¨3Ð @Ð @°$Ð @Ð @¸#Ð @Ð @Ð @Ø$\ðN°tð Nð Nð Nðð	ñ ô ð ð ŒIÔ"×-Ò-¨c°4¸Ñ=Ô=Ð=ØˆJÝ˜�YÔ7Ñ8Ô8ñ !	-Ø”9×+Ò+Ñ-Ô-ð 	ÝØAØ/¨#Ð/Ð/Ø ràVðå*Ô6ðð	ñ ô ð ð ×*Ò*Ñ,Ô,ð +µØ•YÔ-ñ2ô 2ð +õ &4°C·L²L±N´NÔ4GÈÑ%LÔ%LÐ"ð'Ø"%§/¢/°"°h×6QÒ6QÑ6SÔ6SÑ"TÔ"T�K�KøÝ&Õ(>Ð?ð 'ð 'ð 'Ø"&�K�K�Kð'øøøð Ð*¨{×/DÒ/DÑ/FÔ/FÐ*å)7¸×8LÒ8LÑ8NÔ8NÔ8SÐUWÑ)XÔ)XÐ&õ #*Ô"8¸¼È-Ñ"XÔ"X�Kà*Ð.@Ð@Ð@Ø'­5¬8¬?Ô+FÐFÐFà*Ð*à×(Ò(¨Ñ,Ô,Ð,ØˆtsH   ÆHÆ2>G<Ç0HÇ<H 	È HÈH 	ÈHÈHÈHÎ!(O
 Ï
O ÏO )rŽ   r�   r�   r‘   rû  r¿   r   r©  r“   rô   r   r;   r’   rk  rq  r  r  s   @r‹   rj  rj  ï  s  ø€ € € € € Ø5Ð5à
€Cà$+ð #ð #˜cð #°sð #¸tð #ð #ð #ð #ð #ð #ð*˜#ð *ð *ð *ð *ð
à'ð
ð �Ô'ð
ð �S˜/Ð)Ô*ð	
ð
 
ð
ð 
ð 
ð 
ð2dà'ðdð ðdð "ð	dð
 ðdð 
˜4Ñ	ðdð dð dð dð dð dð dð dr�   rj  c            
       ó´   ‡ — e Zd ZdZeZefdededdfˆ fd„Zde	fd„Z
dd	d
ee         dee	ef         defd„Zdd	de	d
ee         dee	ef         def
ˆ fd„Zˆ xZS )ÚListBuiltinVariablez4Variable tracker for the `list` builtin constructor.rÀ   r†   r~   Nc                 óp   •— |t           urt          d|› �¦  «        ‚ t          ¦   «         j        di |¤Ž d S )Nz,ListBuiltinVariable value must be list, got r‚   )r  r±   rø   r©  r  s      €r‹   r©  zListBuiltinVariable.__init__Ã  r  r�   c                 ó   — dS )NzListBuiltinVariable()r‚   rÌ   s    r‹   rô   zListBuiltinVariable.__repr__È  r  r�   rÓ   rj   r…   c                 ó\  — |rt          |d¦  «         t          |¦  «        dk    rt          g t          ¦   «         ¬¦  «        S t          |¦  «        dk    r t          |dt          |¦  «        › �¦  «         |d         }|j        �rjt          |j        ¦  «        �sUt          |t          ¦  «        r3t          |j         	                    t          j        ¦  «        ¦  «         �nt          |t          j        t          j        f¦  «        sçt          |t          t          j        t          j        f¦  «        r$|j        j                             |j        ¦  «         t          |t          j        ¦  «        r2t          |j         	                    t          j        ¦  «        ¦  «         nKt          |t          j        ¦  «        s1t          |j         	                    t          j        ¦  «        ¦  «         t          g t          ¦   «         ¬¦  «        }|                     |d|d         gi ¦  «         |S )Nz!list() takes no keyword argumentsr   rh  r6   z&list expected at most 1 argument, got r†  )r   r¨   rF   r:   rÁ   r!   rð   rG   r   rÆ   r   ÚTUPLE_ITERATOR_LENr   ÚIteratorVariableÚLocalGeneratorObjectVariabler>   ÚOrderedSetVariableÚDictKeySetVariablerm  Úguard_on_key_orderrÒ   ÚMappingProxyVariableÚMAPPING_KEYS_CHECKrC  ÚSEQUENCE_LENGTHrù   )r‰   rÓ   r…   r†   rì  Úlsts         r‹   rk  z!ListBuiltinVariable.call_functionË  s
  € ð ð 	ÝØØ3ñô ð õ ˆt‰9Œ9˜Š>ˆ>Ý Õ2BÑ2DÔ2DÐEÑEÔEÐEÝ�‰YŒY˜Š]ˆ]ÝØØD½¸T¹¼ÐDÐDñô ð ð
 �1ŒgˆØŒ:ñ 	WÕ0°´Ñ<Ô<ñ 	WÝ˜#Õ4Ñ5Ô5ð WÝ˜cœj×3Ò3µLÔ4SÑTÔTÑUÔUÐUÑUÝØÝÔ+­YÔ-SÐTñô ð Wõ Øå)Ý!Ô4Ý!Ô4ðñô ð Að ”IÔ0×4Ò4°S´ZÑ@Ô@Ð@Ý˜c¥9Ô#AÑBÔBð WÝ!Øœ
×-Ò-­lÔ.MÑNÔNñô ð ð õ $ C­Ô)PÑQÔQð WÝ! #¤*×"7Ò"7½Ô8TÑ"UÔ"UÑVÔVÐVå˜2Õ-=Ñ-?Ô-?Ð@Ñ@Ô@ˆØ�Š˜˜H t¨A¤w i°Ñ4Ô4Ð4Øˆ
r�   rØ   c                 óX  •— |dk    r€t          |¦  «        dk    rm|skt          g t          ¦   «         ¬¦  «        }t          |d         t          ¦  «        r|S |j        j                             | |d         |dd …         |¬¦  «        S t          ¦   «          	                    ||||¦  «        S )Nrk   r6   rh  r   r¡  )
r¨   rF   r:   rð   r’  rm  ro  r°  rø   rù   )r‰   rÓ   rØ   r…   r†   Úlist_vtrû   s         €r‹   rù   zListBuiltinVariable.call_methodû  s³   ø€ ð �9ÒÐÝ�4‰yŒy˜AŠ~ˆ~ fˆ~Ý& rÕ9IÑ9KÔ9KÐLÑLÔL�Ý˜d 1œgÕ':Ñ;Ô;ð #Ø"�NØ”yÔ-×KÒKØØ˜”GØ˜˜˜”HØð	 Lñ ô ð õ ‰wŒw×"Ò" 2 t¨T°6Ñ:Ô:Ð:r�   )rŽ   r�   r�   r‘   r  r¿   rß   r   r©  r“   rô   r;   r’   rk  rù   r  r  s   @r‹   r’  r’  ¾  s'  ø€ € € € € Ø>Ð>à
€Cà%)ð #ð #˜dð #°Sð #¸Tð #ð #ð #ð #ð #ð #ð
'˜#ð 'ð 'ð 'ð 'ð.à'ð.ð �?Ô#ð.ð �S˜/Ð)Ô*ð	.ð
 
ð.ð .ð .ð .ð`;à'ð;ð ð;ð �?Ô#ð	;ð
 �S˜/Ð)Ô*ð;ð 
ð;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;r�   r’  rÓ   c              #   óÔ   K  — ddl m} |                     | d¦  «        }	 |                     | ¦  «         d V — |                     | ¦  «         d S # |                     | ¦  «         w xY w)Nr6   )ÚGradModeVariableF)rÅ  r£  rs  ÚenterÚexit)rÓ   r£  Úgmvs      r‹   r‚  r‚    sq   è è € à"Ð"Ð"Ð"Ð"Ð"à
×
!Ò
! " eÑ
,Ô
,€CðØ�	Š	�"‰ŒˆØˆˆˆà�Š�‰Œˆˆˆøˆ�Š�‰Œˆˆøøøs    A ÁA')r~   N)Ûr‘   r7  r¿  Ú
contextlibrá  r  rÎ  Úloggingr  r²   ra  r„   rJ  rN  Úcollectionsr   r   Úcollections.abcr   r   r   r   r	   r
   r©   Útorch._subclasses.meta_utilsr   Útorch.overridesr   Útorch.utils._python_dispatchr   rÅ  r   r   r   r   rt  r   r   r   r   r   r   r   r   Úguardsr   r   Úreplay_recordr   rÁ   r   r   r    r!   r"   r#   Úutilsr$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   Úbaser7   r8   r9   r:   r;   Úconstantr<   r=   Údictsr>   r?   r@   rA   ÚhashablerC   ÚlistsrD   rE   rF   rG   rH   ÚmiscrI   rJ   rí   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   Úsetsr_   r`   rA  ra   rb   rc   rd   re   r’  rf   rg   rh   Útorch._dynamo.codegenri   Útorch._dynamo.symbolic_convertrj   Ú	getLoggerrŽ   r  r9  rÒ   r:  r-  r5  r)  r6  r*  r7  r+  r8  r,  r´   r;  r/  r<  r0  r4  r   r=  r1  r?  r2  r>  r3  r�  r   r±  r  r  ro   r’   rß   r“   rý   rb  r  r•  rÿ   r”  rO  rN  rJ  rM  rK  rL  rz   r³   r®   r¯   r(  r­   rµ   r°   r  r$  r%  r&  r.  r¬   r{   r|   r}   rõ   rz  r¼   r¾   r  r   r  r#  rc  rj  r’  ÚcontextmanagerÚIteratorr‚  r‚   r�   r‹   ú<module>r½     s   ððð ð ð* €
€
€
Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø 
€
€
€
Ø €€€Ø €€€Ø €€€Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /à €€€Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø FÐ FÐ FÐ FÐ FÐ Fà >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 1Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð(ð ð ð ð ð ð ð ð ð ð ð ð ð ð 7Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð ð ð ð ð ð ð ð ð ð ð "Ð !Ð !Ð !Ð !Ð !ðð ð ð ð ð ð ð ð ð ð ð ð ð ð 5Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð, 1Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð Ià/Ð/Ð/Ð/Ð/Ð/ØHÐHÐHÐHÐHÐHà€gÔ˜Ñ!Ô!€ð „M�8”<Ø„M�8”<Ø„M�8”<ØÔ˜Ô)ØÔ�xÔ'Ø„M�8”<ØÔ�hÔ&ØÔ�h”oØÔ�h”oØ„M�8”<Ø„M�8”=Ø„L�(”,Ø„M�8”<ðÐ ð" ˆˆ�I˜|Ð,Ñ	-Ô	-Øˆ)ˆ)�Y Ð-Ñ
.Ô
.Ø	ˆ9ˆ9�i Ð'Ñ(Ô(ðBÐ " D¨¨y¸¬~Ð)=Ô$>ð ð ñ ð
 Ô�wÒÐØ2;°)¸]¸OÑ2LÔ2LÐ& wÑ/ð Ø  &¤*¨f¬jÐ9¸?ÈTÑ;QÐQôÐ ð �_Ô%¨¨d°?Ô.CÀSÐ.HÔ(IÑI€à„K�Ø„K�Ø„K�Ø„K�Ø„K�Ø„K�ð6Ð �T˜( 3¨ 8Ô,¨cÐ1Ô2ð ð ñ ð „LØ„LØ„OØÔØÔØ„LØ„LØ„KØ„KØ„KØ„KØ„KØ„KØ„LØ„MØ„MØÔØÔØÔØ„MØ„MØ„Mð-€ð4 „MØ„LØ„LØ„MØ„MØ„Lð€ð ŒoÐ€
ð „OØ„OØÔØÔØÔðÐ ð „LØ„LØ„LØ„MØÔð
€ð ØØØð	;Ð �e˜D Ô1°3Ð6Ô7ð ð ñ ð JLÐ ˜$˜x¨¨S¨Ô1°8¸CÀ¸HÔ3EÐEÔFÐ KÐ KÑ Kð KMÐ ˜4 ¨¨c¨Ô 2°H¸SÀ#¸XÔ4FÐ FÔGÐ LÐ LÑ Lð
 �F‘H”HÐ ðDEð DEð DEð DEðNU;ð U;ð U;ð U;ð U;˜/ñ U;ô U;ð U;ðpO%Tð O%Tð O%Tð O%Tð O%TÐ)ñ O%Tô O%Tð O%TðdJ
ð 
ð 
ð 
ð 
Ð-ñ 
ô 
ð 
ðD!.ð !.ð !.ð !.ð !.Ð-ñ !.ô !.ð !.ðH`Kð `Kð `Kð `Kð `KÐ0ñ `Kô `Kð `KðF(ð (ð (ð (ð (Ð0ñ (ô (ð (ðVLð Lð Lð Lð LÐ0ñ Lô Lð Lð^P;ð P;ð P;ð P;ð P;Ð-ñ P;ô P;ð P;ðh ÔðÐ7ð ¸F¼OÈDÔ<Qð ð ð ñ Ôðð ð r�   