§
    C�’jØx ã            
       óN  — 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ZddlZddlmZmZmZ ddlmZmZmZmZmZ ddlmZ ddlZddlZddlm Z  ddl!m"Z"m#Z# ddl$m%Z% dd	l&m'Z' dd
l(m)Z)m*Z* ddl+m,Z,m-Z-m.Z.m/Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z: ddl;m<Z< ddl=m>Z>m?Z? ddl@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJ ddlKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZd ddlemfZfmgZgmhZhmiZimjZjmkZkmlZl ddlmmnZnmoZo ddlpmqZq ddlrmsZsmtZt ddlumvZv 	 ddlwZxn# ey$ r dZxY nw xY w	 ddlzm{Z{ n# e|$ r  e}d¦  «        Z{Y nw xY wda~e%e         dz  e€d<   de%e         fd„Z�de%e         fd„Z‚er&ddlƒm„Z„ dd l…m†Z† dd!l‡mˆZˆ dd"l‰mŠZŠ dd#lmm‹Z‹ dd$lŒm�Z�mŽZŽ d%ede�fd&„Z�d%ede�fd'„Z‘d(ede�fd)„Z’d*ede�fd+„Z“d,ede�fd-„Z” e•e–ej—        ej˜        ej™        h¦  «        Zše•e}         e€d.<   d*ede�fd/„Z›d*ede�fd0„Zœ G d1„ d2el¦  «        Z� G d3„ d4e�¦  «        Zž G d5„ d6ež¦  «        ZŸ G d7„ d8¦  «        Z d9d:d;ed<ef         d=e¡el         d>e¢e£elf         delf
d?„Z¤ G d@„ dAe�¦  «        Z¥ G dB„ dCe¥¦  «        Z¦ G dD„ dEe¥¦  «        Z§ G dF„ dGe¥¦  «        Z¨ G dH„ dIe¥¦  «        Z© G dJ„ dKe¥¦  «        Zªe«e¬e£fZ­dL„ e­D ¦   «         Z®e¢e}e¯e         f         e€dM<    G dN„ dOe¥¦  «        Z° G dP„ dQe¥¦  «        Z± G dR„ dSel¦  «        Z² G dT„ dUe¥¦  «        Z³ G dV„ dWe³¦  «        Z´ G dX„ dYe³¦  «        Zµ G dZ„ d[e¥¦  «        Z¶ G d\„ d]e¥¦  «        Z· G d^„ d_e¥¦  «        Z¸ G d`„ dae¸¦  «        Z¹ G db„ dce¸¦  «        Zº G dd„ dee¥¦  «        Z» G df„ dge¥¦  «        Z¼dS )ham  
This module contains variable classes for handling user-defined objects in Dynamo's tracing system.

The key classes are:
- UserDefinedVariable: Base class for representing custom Python objects
- UserDefinedClassVariable: Handles Python class objects/types
- UserDefinedObjectVariable: Fallback class for instance objects, with support for method calls,
  attribute access, and other Python object behaviors.
- Specialized subclasses for common patterns:
  - UserDefinedDictVariable: For dict subclasses
  - UserDefinedSetVariable: For set subclasses
  - UserDefinedTupleVariable: For tuple subclasses
  - UserDefinedExceptionObjectVariable: For exception subclasses
  - FrozenDataClassVariable: Special handling of frozen dataclasses
  - MutableMappingVariable: For collections.abc.MutableMapping subclasses

Dynamo specializes to VariableTracker subclasses like FrozenDataClassVariable if available; if no
subclass qualifies, it falls back to UserDefinedObjectVariable.

These classes help Dynamo track and handle arbitrary Python objects during tracing,
maintaining proper semantics while enabling optimizations where possible.
é    N)ÚCallableÚIterableÚSequence)ÚAnyÚcastÚNoReturnÚTYPE_CHECKINGÚUnion)Úis_typeddict)ÚPyNumberSlots)ÚSourceÚTracingContext)Ú
OrderedSet)Ú"is_traceable_wrapper_subclass_type)Ú
GetAttrKeyÚis_structseq_classé   )ÚconfigÚgraph_break_hintsÚ	polyfillsÚ	variables)Úcreate_call_function)Ú$do_not_convert_to_tracable_parameter)Úhandle_observed_exceptionÚObservedAttributeErrorÚObservedKeyErrorÚraise_observed_exceptionÚraise_type_errorÚunimplemented)Úget_external_object_by_index)ÚGuardBuilderÚinstall_guard)
Ú
AttrSourceÚCallFunctionNoArgsSourceÚDictGetItemSourceÚEphemeralSourceÚGetItemSourceÚRandomValueSourceÚTypeDictSourceÚTypeMROSourceÚ
TypeSourceÚUnspecializedParamBufferSource)Úbase_exception_methodsÚcheck_constant_argsÚcmp_name_to_op_mappingÚdict_methodsÚexception_methodsÚfrozenset_methodsÚget_custom_getattrÚhas_torch_functionÚis_lru_cache_wrapped_functionÚis_namedtuple_clsÚis_pybind11_enum_memberÚis_torch_classÚis_wrapper_or_member_descriptorÚistypeÚlist_methodsÚnamedtuple_fieldsÚobject_has_getattributeÚproxy_args_kwargsÚraise_args_mismatchÚset_methodsÚtensortype_to_dtypeÚtracked_reprÚtuple_methodsÚunpack_iterableÚunpatched_nn_module_getattré   )Ú_RICHCOMPARE_OPSÚ#AsPythonConstantNotImplementedErrorÚAttrMutationKindÚMutationTypeÚNO_SUCH_SUBOBJÚValueMutationNewÚVariableTracker)ÚConstDictVariableÚpydict_check©ÚHashableTracker)Úis_nb_not_implementedÚtype_implements_nb_slot)ÚSetVariable)Ú
PyTreeSpecÚ_SAFE_C_SLOTSÚreturnc                  óh  — t           €¥ddl} ddl}ddl}t	          ¦   «         a | j        | j        | j        | j        | j        |j	        |j
        fD ]^}t                                |j        ¦  «         dD ]:}t          ||¦  «        r(t                                t          ||¦  «        ¦  «         Œ;Œ_t           S )z½C slot wrappers known to be safe to call at trace time.

    Covers tp_hash and tp_richcompare slots for C extension types.
    Used by UDOV's hash_impl and richcompare_impl MRO walks.
    Nr   )Ú__eq__Ú__ne__Ú__lt__Ú__le__Ú__gt__Ú__ge__)rV   ÚdatetimeÚdecimalÚrer   ÚdateÚtimeÚ	timedeltaÚtimezoneÚDecimalÚPatternÚaddÚ__hash__ÚhasattrÚgetattr)r_   r`   ra   ÚtpÚdunders        úRC:\Projects\DSCons\.venv\Lib\site-packages\torch\_dynamo\variables\user_defined.pyÚ_safe_c_slotsro   „   sÊ   € õ ÐØˆˆˆØˆˆˆØˆ	ˆ	ˆ	å"™œˆàÔØŒMØŒMØÔØÔØŒOØŒJð
ð 	;ð 	;ˆBõ ×Ò˜bœkÑ*Ô*Ð*ØVð ;ð ;�Ý˜2˜vÑ&Ô&ð ;Ý!×%Ò%¥g¨b°&Ñ&9Ô&9Ñ:Ô:Ð:øð;õ Ðó    c                  ó   — t          ¦   «         S )zCBackward compat: returns the unified set (hash funcs are a subset).)ro   © rp   rn   Ú_safe_c_tp_hash_funcsrs   ¡   s   € å‰?Œ?Ðrp   )Ú	PyCodegen©ÚSideEffects)ÚInstructionTranslatorBase©ÚConstantVariable)ÚDunderDictVariable)ÚListVariableÚTupleVariableÚvalc                 ó6   — | t           j        t          j        fv S ©N)ÚobjectÚ__setattr__ÚBaseException©r}   s    rn   Úis_standard_setattrr„   °   ó   € Ø•6Ô%¥}Ô'@ÐAÐAÐArp   c                 ó6   — | t           j        t          j        fv S r   )r€   Ú__delattr__r‚   rƒ   s    rn   Úis_standard_delattrrˆ   ´   r…   rp   Úctxc                 óÀ  — g }	 ddl m}m} |                     |¦  «         |                     |¦  «         n# t          $ r Y nw xY w	 ddlm} |                     |¦  «         n# t          $ r Y nw xY w	 ddlm} |                     |¦  «         n# t          $ r Y nw xY wt          j
                             d¦  «        x}r|                     |j        ¦  «         | |v S )Nr   )Ú	RaisesExcÚRaisesGroup)ÚRaisesContext)ÚWarningsCheckerz!torch.testing._internal.jit_utils)Ú_pytest.raisesr‹   rŒ   ÚappendÚImportErrorÚ_pytest.python_apir�   Ú_pytest.recwarnrŽ   ÚsysÚmodulesÚgetÚ&_AssertRaisesRegexWithHighlightContext)r‰   Úf_ctxsr‹   rŒ   r�   rŽ   Úms          rn   Úis_forbidden_context_managerrš   ¸   sA  € Ø€Fð
Ø9Ð9Ð9Ð9Ð9Ð9Ð9Ð9à�Š�iÑ Ô Ð Ø�Š�kÑ"Ô"Ð"Ð"øÝð ð ð ØˆðøøøðØ4Ð4Ð4Ð4Ð4Ð4à�Š�mÑ$Ô$Ð$Ð$øÝð ð ð ØˆðøøøðØ3Ð3Ð3Ð3Ð3Ð3à�Š�oÑ&Ô&Ð&Ð&øÝð ð ð Øˆðøøøõ ŒK�OŠOÐ?Ñ@Ô@Ð@€qð @Ø�Š�aÔ>Ñ?Ô?Ð?à�&ˆ=Ðs3   „27 ·
AÁAÁA$ Á$
A1Á0A1Á5B Â
BÂBÚobjc                 óŠ   — t          | ¦  «        o4t          t          | ¦  «        d¦  «        ot          | ¦  «        j        dk    S )NÚ__name__Úcython_function_or_method)Úcallablerj   Útyper�   ©r›   s    rn   Úis_cython_functionr¢   Ú   s?   € å�‰Œð 	>Ý•D˜‘I”I˜zÑ*Ô*ð	>å�‰IŒIÔÐ"=Ò=ðrp   Úvaluec                 óx   — t          j        | ¦  «        o&t          j        | ¦  «        odt	          | di ¦  «        v S )NÚ__is_pydantic_dataclass__Ú__dict__)ÚinspectÚisclassÚdataclassesÚis_dataclassrk   ©r£   s    rn   Úis_pydantic_dataclass_clsr¬   â   sB   € åŒ˜ÑÔð 	JÝÔ$ UÑ+Ô+ð	Jà'­7°5¸*ÀbÑ+IÔ+IÐIðrp   ÚKNOWN_DATA_DESCRIPTOR_TYPESc                 ó–   — t          | ¦  «        }|t          v rdS t          |d¦  «        ot          |d¦  «        pt          |d¦  «        S )zTReturn True if *obj* is a data descriptor (has __get__ and (__set__ or __delete__)).TÚ__get__Ú__set__Ú
__delete__)r    r­   rj   )r›   rl   s     rn   Úis_data_descriptorr²   ø   sQ   € å	ˆc‰Œ€BØ	Õ(Ð(Ð(ØˆtÝ�2�yÑ!Ô!ð Ý��IÑÔÐ;¥'¨"¨lÑ";Ô";ðrp   c                 óH   — 	 t          | ¦  «         dS # t          $ r Y dS w xY w)NTF)ÚhashÚ	TypeErrorr¡   s    rn   Úis_hashabler¶     s9   € ðÝˆS‰	Œ	ˆ	ØˆtøÝð ð ð Øˆuˆuðøøøs   ‚ “
! !c                   ó*   — e Zd ZU eed<   dedefd„ZdS )ÚUserDefinedVariabler£   ÚnamerW   c                 ó¦   — |t          | j        di ¦  «        vr8	 t          j        t	          | j        ¦  «        |¦  «        S # t
          $ r Y nw xY wdS )zEGet method from the base class if not overridden in value's __dict__.r¦   N)rk   r£   r§   Úgetattr_staticr    ÚAttributeError)Úselfr¹   s     rn   Ú_maybe_get_baseclass_methodz/UserDefinedVariable._maybe_get_baseclass_method  sb   € à•w˜tœz¨:°rÑ:Ô:Ð:Ð:ðÝÔ-­d°4´:Ñ.>Ô.>ÀÑEÔEÐEøÝ!ð ð ð Ø�ðøøøàˆts   š&A Á
AÁAN)r�   Ú
__module__Ú__qualname__r€   Ú__annotations__Ústrr   r¾   rr   rp   rn   r¸   r¸   
  sA   € € € € € € Ø€M€M�Mð°ð ¸ð ð ð ð ð ð rp   r¸   c            
       óÊ  ‡ — e Zd ZU ee         ed<   dee         deddfˆ fd„Zdedef         dz  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e         fd„Zdefd„Zdefd„Zeej        deee                  fd„¦   «         ¦   «         Zeej        deee                  fd„¦   «         ¦   «         Zeej        dee         fd„¦   «         ¦   «         Zededefd„¦   «         Zdefd„Zdedefd„Zdd	dedefd„Zdedefd„Z 	 	 	 	 d@d„Z!dd	defd„Z"	 dAdd	dededefd„Z#dd	dedefd „Z$dd	ded!ed"e%dz  def
d#„Z&dd	ded$ed"e%dz  def
d%„Z'dd	ded$ed"e%dz  def
ˆ fd&„Z(dd	ded'ed"e%dz  def
d(„Z)dd	defd)„Z*dd	defd*„Z+dd	defd+„Z,dd	d,edefˆ fd-„Z-dd	defˆ fd.„Z.dd	defd/„Z/dd	defd0„Z0dd	defd1„Z1dd	d2ededz  defˆ fd3„Z2e2Z3dd	d4e4e         de5eef         defd5„Z6dd	ded4e4e         de5eef         def
ˆ fd6„Z7dd	de4d         fd7„Z8dd	d4e4e         de5eef         defˆ fd8„Z9defd9„Z:dd	dedd:fd;„Z;dd	dedefˆ fd<„Z<dedefd=„Z=defd>„Z>defd?„Z?ˆ xZ@S )BÚUserDefinedClassVariabler£   ÚkwargsrW   Nc                 óV   •—  t          ¦   «         j        di |¤Ž || _        d| _        d S )NFrr   )ÚsuperÚ__init__r£   Úban_mutation©r½   r£   rÅ   Ú	__class__s      €rn   rÈ   z!UserDefinedClassVariable.__init__  s7   ø€ Ø�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"ØˆŒ
ð "ˆÔÐÐrp   .c                 ó,   — | j         rt          j        S d S r   )Úsourcer!   ÚCLASS_MATCH©r½   s    rn   Úget_id_guard_typez*UserDefinedClassVariable.get_id_guard_type#  s   € ØŒ;ð 	,ÝÔ+Ð+Øˆtrp   Útxrw   c                 óì   — | j         rX	 t          | j                              t          j        ¦  «        ¦  «         t          | j        ¦  «        dfS # t          $ r Y nw xY wt          | j        ¦  «        dfS )NFT)rÍ   r"   Ú
make_guardr!   rÎ   r´   r£   ÚNotImplementedError©r½   rÑ   s     rn   Ú	hash_implz"UserDefinedClassVariable.hash_impl(  s|   € ØŒ;ð 	ðÝ˜dœk×4Ò4µ\Ô5MÑNÔNÑOÔOÐOÝ˜DœJÑ'Ô'¨Ð.Ð.øÝ&ð ð ð Ø�ðøøøå�D”JÑÔ Ð%Ð%s   ‰AA Á
AÁAÚotherÚopc                 óB  — ddl m} t          |d¦  «        s |j        t          ¦  «        S |dv r\	 |dk    r| j        |j        k    n| j        |j        k    } |j        |¦  «        S # t          $ r  |j        t          ¦  «        cY S w xY w |j        t          ¦  «        S )NrF   rx   r£   )rY   rZ   rY   )Úconstantry   rj   ÚcreateÚNotImplementedr£   Ú	Exception)r½   rÑ   r×   rØ   ry   Úresults         rn   Úrichcompare_implz)UserDefinedClassVariable.richcompare_impl1  sÙ   € ð 	/Ð.Ð.Ð.Ð.Ð.å�u˜gÑ&Ô&ð 	;Ø*Ð#Ô*­>Ñ:Ô:Ð:ØÐ%Ð%Ð%ð?ð ˜X’~�~ð ”Z 5¤;Ò.Ð.àœ*¨¬Ò3ð ð
 /Ð'Ô.¨vÑ6Ô6Ð6øÝð ?ð ?ð ?Ø.Ð'Ô.­~Ñ>Ô>Ð>Ð>Ð>ð?øøøà&ÐÔ&¥~Ñ6Ô6Ð6s   ±5A' Á'B	ÂB	c                 ó   — | j         S r   r«   rÏ   s    rn   Úas_python_constantz+UserDefinedClassVariable.as_python_constantD  ó
   € ØŒzÐrp   c                 ó   — | j         S r   r«   rÏ   s    rn   Úas_proxyz!UserDefinedClassVariable.as_proxyG  râ   rp   c                 ó0   — | j         j        › d| j        › d�S ©Nú(ú))rË   r�   r£   rÏ   s    rn   Ú__repr__z!UserDefinedClassVariable.__repr__J  s    € Ø”.Ô)Ð9Ð9¨D¬JÐ9Ð9Ð9Ð9rp   c                  ó^   — t           j        t           j        t           j        t           j        hS r   )ÚtorchÚdeviceÚfinfoÚiinfoÚSizerr   rp   rn   Ú_constant_fold_classesz/UserDefinedClassVariable._constant_fold_classesM  s"   € õ ŒLÝŒKÝŒKÝŒJð	
ð 	
rp   c                  óÂ  — t           j        t           j        j        t           j        j        t           j        j        t           j        j        t           j        j        t           j        j        t           j        j	        t           j        j
        t           j        j        t           j        t           j        t           j        j        t           j        j        t           j        j        t           j        j        h} t          t           d¦  «        r5|                      t           j        j        t           j        j        h¦  «         t%          t'          j        ¦   «         ¦  «        | z  S )NÚhpu)rë   ÚTensorÚcudaÚFloatTensorÚDoubleTensorÚ
HalfTensorÚBFloat16TensorÚ
ByteTensorÚ
CharTensorÚ	IntTensorÚShortTensorÚ
LongTensorÚStreamÚEventÚxpurj   Úupdaterò   ÚsetrA   Úkeys)Ú_in_graph_class_lists    rn   Ú_in_graph_classesz*UserDefinedClassVariable._in_graph_classesW  sâ   € õ ŒLÝŒJÔ"ÝŒJÔ#ÝŒJÔ!ÝŒJÔ%ÝŒJÔ!ÝŒJÔ!ÝŒJÔ ÝŒJÔ"ÝŒJÔ!ÝŒLÝŒKÝŒJÔÝŒJÔÝŒIÔÝŒIŒOð! 
Ðõ$ •5˜%Ñ Ô ð 	Ø ×'Ò'å”IÔ$Ý”I”Oðñô ð õ Õ&Ô+Ñ-Ô-Ñ.Ô.Ð1EÑEÐErp   c            	      ó2  — d„ t          t          ¦  «        D ¦   «         } t          j        t          j        t
          j        t          j        t          j        t          j        t          j        t          j        t          j        h	}|                     | ¦  «        S )Nc                 óâ   — h | ]l}t          t          t          |¦  «        t          ¦  «        ¯*t	          t          t          |¦  «        t
          ¦  «        ¯Rt          t          |¦  «        j        ’ŒmS rr   )Ú
isinstancerk   Úbuiltinsr    Ú
issubclassr‚   Ú__new__)Ú.0r¹   s     rn   ú	<setcomp>zEUserDefinedClassVariable.supported_c_new_functions.<locals>.<setcomp>y  sm   € ð  
ð  
ð  
àÝ�'¥(¨DÑ1Ô1µ4Ñ8Ô8ð 
õ �7¥8¨TÑ2Ô2µMÑBÔBð	 
Ý•H˜dÑ#Ô#Ô+ð 
ð  
ð  
rp   )Údirr	  r€   r  Údictr  Ú	frozensetÚtupleÚlistÚintÚfloatrÂ   Úunion)Ú
exceptionsÚ	c_new_fnss     rn   Úsupported_c_new_functionsz2UserDefinedClassVariable.supported_c_new_functionsv  sq   € ð 
ð  
å�H™œð 
ñ  
ô  
ˆ
õ ŒNÝŒLÝŒKÝÔÝŒMÝŒLÝŒKÝŒMÝŒKð

ˆ	ð �Š˜zÑ*Ô*Ð*rp   c                 óÈ   — t          | ¦  «        sdS | t                               ¦   «         v rdS t          | dd ¦  «        }t	          |t
          ¦  «        ot          |¦  «        S )NFTÚ__self__)r¶   rÄ   r  rk   r  r    r   )r£   Úowners     rn   Úis_supported_new_methodz0UserDefinedClassVariable.is_supported_new_methodŒ  sc   € å˜5Ñ!Ô!ð 	Ø�5ØÕ,×FÒFÑHÔHÐHÐHØ�4å˜˜z¨4Ñ0Ô0ˆÝ˜%¥Ñ&Ô&ÐDÕ+=¸eÑ+DÔ+DÐDrp   c                 ó®   — | j         |                      ¦   «         v rdS t          | j         t          ¦  «        ot	          | j         t
          j        ¦  «        S )NT)r£   rð   r  r    r
  ÚenumÚEnumrÏ   s    rn   Úcan_constant_fold_throughz2UserDefinedClassVariable.can_constant_fold_through–  sG   € ØŒ:˜×4Ò4Ñ6Ô6Ð6Ð6Ø�4õ ˜$œ*¥dÑ+Ô+ÐQµ
¸4¼:ÅtÄyÑ0QÔ0QÐQrp   r¹   c                 ó^   — | j         j        D ]}||j        v r|j        |         c S Œt          S )z?Walk cls.__mro__ only (not the metaclass chain) to find *name*.)r£   Ú__mro__r¦   rK   ©r½   r¹   Úbases      rn   Úlookup_cls_mro_attrz,UserDefinedClassVariable.lookup_cls_mro_attr�  sA   € à”JÔ&ð 	+ð 	+ˆDØ�t”}Ð$Ð$Ø”} TÔ*Ð*Ð*Ð*ð %åÐrp   c           
      óp  — | j         }|€t          d¦  «        ‚t          | j        j        ¦  «        D �]j\  }}||j        v �rZ|j        |         }t          d|¦  «        D ]Á}| j        j        |         }t          |¦  «        |f}	|	|j        j	        v rŒ4|j        j	         
                    |	¦  «         t          |¦  «        }
t          |
|¦  «        }t          |¦  «        }t          |                     t!          j        t$          j        |¬¦  «        ¦  «        ¦  «         ŒÂt          |¦  «        |f}	|j        j        }|	|v r
||	         c S |dk    r t          |¦  «        }
t          |
|¦  «        }n|}t          |¦  «        }t+          ||¦  «        }|||	<   |c S �Œlt          d|› d| j        › �¦  «        ‚)Nz)get_source_by_walking_mro requires sourcerF   ©Úkeyr   z
Attribute z not found in MRO of )rÍ   ÚRuntimeErrorÚ	enumerater£   r"  r¦   ÚrangeÚidÚoutputÚguarded_mro_absent_keysrh   r*   r'   r)   r"   rÓ   Ú	functoolsÚpartialr!   ÚDICT_NOT_CONTAINSÚmro_source_cacher%   )r½   rÑ   r¹   rÍ   ÚidxÚklassÚ
descriptorÚ
absent_idxÚabsent_klassÚ	cache_keyÚ
mro_sourceÚklass_sourceÚdict_sourceÚcacheÚ
out_sources                  rn   Úget_source_by_walking_mroz2UserDefinedClassVariable.get_source_by_walking_mro¤  så  € ð ”ˆØˆ>ÝÐJÑKÔKÐKå# D¤JÔ$6Ñ7Ô7ð  	"ñ  	"‰JˆC�Ø�u”~Ð%Ñ%Ø"œ^¨DÔ1�
å"'¨¨3¡-¤-ð ð �JØ#'¤:Ô#5°jÔ#A�LÝ!# LÑ!1Ô!1°4Ð 8�IØ  B¤IÔ$EÐEÐEØ Ø”IÔ5×9Ò9¸)ÑDÔDÐDÝ!.¨vÑ!6Ô!6�JÝ+8¸ÀZÑ+PÔ+P�LÝ"0°Ñ">Ô">�KÝ!Ø#×.Ò.Ý%Ô-­lÔ.LÐRVÐWÑWÔWñô ñô ð ð õ   
™^œ^¨TÐ2�	Øœ	Ô2�Ø Ð%Ð%Ø  Ô+Ð+Ð+Ð+à˜!’8�8Ý!.¨vÑ!6Ô!6�JÝ#0°¸SÑ#AÔ#A�L�Là#)�LÝ,¨\Ñ:Ô:�Ý.¨{¸DÑAÔA�
Ø#-��iÑ Ø!Ð!Ð!Ð!ñ? &õB ÐO¨ÐOÐOÀ4Ä:ÐOÐOÑPÔPÐPrp   c                 óx   — t          | j        ¦  «        j        D ]}||j        v r|j        |         c S Œt          S )z<Walk type(cls).__mro__ (the metaclass chain) to find *name*.)r    r£   r"  r¦   rK   r#  s      rn   Úlookup_metaclass_attrz.UserDefinedClassVariable.lookup_metaclass_attrÏ  sI   € å˜œÑ$Ô$Ô,ð 	+ð 	+ˆDØ�t”}Ð$Ð$Ø”} TÔ*Ð*Ð*Ð*ð %åÐrp   rM   c                 ó¸   — ddl m} t          | j        ¦  «        }t	          |d¦  «        r!|t          ur|                      |dg i ¦  «        S  |j        d¦  «        S )NrF   rx   Ú__bool__T)rÚ   ry   r    r£   rj   Úcall_methodrÛ   )r½   rÑ   ry   Ú	metaclasss       rn   Ú	bool_implz"UserDefinedClassVariable.bool_implÖ  sq   € ð 	/Ð.Ð.Ð.Ð.Ð.õ ˜œÑ$Ô$ˆ	Ý�9˜jÑ)Ô)ð 	<¨i½tÐ.CÐ.CØ×#Ò# B¨
°B¸Ñ;Ô;Ð;Ø&ÐÔ& tÑ,Ô,Ð,rp   c                 óR  — t          | j        ¦  «        }|t           u s%t          | j        ¦  «        j        t           j        u r't          j        |t          | j        ¦  «        ¦  «        S |                      d¦  «        }|€t          |d¦  «         |                      |dg i ¦  «        S )Nré   ú!'NoneType' object is not callable)	r    r£   ré   rM   ÚbuildÚreprr@  r   rC  )r½   rÑ   rD  Ú	type_attrs       rn   Ú	repr_implz"UserDefinedClassVariable.repr_implã  s–   € å˜œÑ$Ô$ˆ	Ø�ÐÐ¥ T¤ZÑ 0Ô 0Ô 9½T¼]Ð JÐ JÝ"Ô(¨­T°$´*Ñ-=Ô-=Ñ>Ô>Ð>à×.Ò.¨zÑ:Ô:ˆ	ØÐÝ˜RÐ!DÑEÔEÐEØ×Ò  J°°BÑ7Ô7Ð7rp   FÚreversec                 óL  — 	 |                      ¦   «         }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Ô   rM   rH  rÜ   r    r£   Ú__or__)r½   rÑ   r×   rL  Ú	other_valrÞ   s         rn   Ú
nb_or_implz#UserDefinedClassVariable.nb_or_implî  s¢   € ð	=Ø×0Ò0Ñ2Ô2ˆIˆIøÝ"ð 	=ð 	=ð 	=Ý"Ô(¨­^Ñ<Ô<Ð<Ð<Ð<ð	=øøøõ �d”jÑ!Ô!×(Ò(¨¬°YÑ?Ô?ˆØ•^Ð#Ð#Ý"Ô(¨­^Ñ<Ô<Ð<ÝÔ$ R¨Ñ0Ô0Ð0s   ‚ —$>½>c           	      óà  — | j         �t          | j         |¦  «        nd }t          | j        ¦  «        }|t          ur1d|j        v r(t          dd| j        › d|› �dt          j        ¬¦  «         |                      |¦  «        }|t          ur't          |¦  «        r|                      ||||¦  «        S |j        j                             | |¦  «        r |j        j                             | |¦  «        S |                      |¦  «        }|t          urMt#          t          |¦  «        d¦  «        r|                      ||||¦  «        S |                      ||||¦  «        S |t          u�rA| j         rt)          | j         ¦  «        nd }t+          j        |t          | j        ¦  «        |¦  «        }t/          |t0          j        ¦  «        r.t5          j        |||¬¦  «        }	|	                     || |¦  «        S t/          |t0          j        ¦  «        r.t5          j        |||¬¦  «        }
|
                     || |¦  «        S t/          |t0          j        ¦  «        r-t5          j         ||¬	¦  «        }|                     || |¦  «        S t5          j!        | |t          |¦  «        |¬	¦  «        S t          | j        ¦  «        }|t          ur€|                      d
¦  «        }|t          urbt/          |t0          j"        ¦  «        rHt5          j#        || ¦  «         $                    |t4          j%         &                    |¦  «        gi ¦  «        S tO          tP          |d| j        j)        › d|› d�g¬¦  «         d S )NÚ__getattribute__z&Custom metaclass with __getattribute__ztype(z) = z\Dynamo does not trace attribute access on classes whose metaclass overrides __getattribute__©Úgb_typeÚcontextÚexplanationÚhintsr¯   ©r  rÍ   ©rÍ   Ú__getattr__ztype object 'z' has no attribute 'ú'©Úargs)*rÍ   r#   r    r£   r¦   r   r   ÚSUPPORTABLEr@  rK   r²   Úresolve_meta_data_descriptorr-  Úside_effectsÚhas_pending_mutation_of_attrÚ	load_attrr%  rj   Úresolve_cls_descriptorÚresolve_cls_plain_attrr+   rM   rH  r  ÚtypesÚWrapperDescriptorTyper   ÚWrapperDescriptorVariableÚtp_descr_get_implÚMethodDescriptorTypeÚMethodDescriptorVariableÚClassMethodDescriptorTypeÚClassMethodDescriptorVariableÚGetAttrVariableÚFunctionTypeÚUserMethodVariableÚcall_functionry   rÛ   r   r¼   r�   )r½   rÑ   r¹   rÍ   ÚmetaclsÚ	meta_attrÚcls_attrÚmetacls_sourceÚ
metacls_vtÚwd_vtÚmd_vtÚcmd_vtÚmeta_getattrs                rn   Úvar_getattrz$UserDefinedClassVariable.var_getattrÿ  sž  € ð 37´+Ð2I•˜DœK¨Ñ.Ô.Ð.Ètˆõ �t”zÑ"Ô"ˆØ�$ÐÐÐ#5¸Ô9IÐ#IÐ#IÝØ@Ø9 ¤
Ð9Ð9°Ð9Ð9ð7å'Ô3ðñ ô ð ð* ×.Ò.¨tÑ4Ô4ˆ	Ø�NÐ*Ð*Õ/AÀ)Ñ/LÔ/LÐ*Ø×4Ò4°R¸¸yÈ&ÑQÔQÐQð Œ9Ô!×>Ò>¸tÀTÑJÔJð 	@Ø”9Ô)×3Ò3°D¸$Ñ?Ô?Ð?ð ×+Ò+¨DÑ1Ô1ˆØ�>Ð)Ð)Ý•t˜H‘~”~ yÑ1Ô1ð Oà×2Ò2°2°t¸XÀvÑNÔNÐNà×.Ò.¨r°4¸À6ÑJÔJÐJð �NÐ*Ñ*Ø8<¼ÐM�Z¨¬Ñ4Ô4Ð4ÈˆNÝ(Ô.¨rµ4¸¼
Ñ3CÔ3CÀ^ÑTÔTˆJÝ˜)¥UÔ%@ÑAÔAð EÝ!Ô;Ø Z¸ðñ ô �ð ×.Ò.¨r°4¸ÑDÔDÐDÝ˜)¥UÔ%?Ñ@Ô@ð EÝ!Ô:Ø Z¸ðñ ô �ð ×.Ò.¨r°4¸ÑDÔDÐDÝ˜)¥UÔ%DÑEÔEð FÝ"Ô@Ø fðñ ô �ð ×/Ò/°°D¸*ÑEÔEÐEÝÔ,¨T°4½¸i¹¼ÐQWÐXÑXÔXÐXõ �t”zÑ"Ô"ˆØ�$ÐÐØ×5Ò5°mÑDÔDˆLØ¥>Ð1Ð1µjØ�eÔ0ñ7ô 7Ð1õ !Ô3°LÀ$ÑGÔG×UÒUØ�Ô3×:Ò:¸4Ñ@Ô@ÐAÀ2ñô ð õ
 	!ÝØØR $¤*Ô"5ÐRÐRÈ4ÐRÐRÐRÐSð	
ñ 	
ô 	
ð 	
ð 	
ð 	
rp   rr  rÍ   c                 óD  — |dk    r;t          j        || j        j        | j        ot          | j        d¦  «        ¬¦  «        S |dk    rR|t          j        d         u r| j        ot          | j        ¦  «        }n|}t          j        || j        j        |¦  «        S t           	                    | j        |¦  «        }|rt          j        |||¦  «        S ddl
m}  |j        |¦  «        rt          j        ||¦  «        S t          j        | |t          |¦  «        |¬¦  «        S )zEHandle data descriptors from the metaclass MRO (type.__dict__ slots).r¦   rY  r"  rF   rx   )rM   rH  r£   r¦   rÍ   r#   r    r*   r"  rR  Ú ry   Ú
is_literalr   rm  )r½   rÑ   r¹   rr  rÍ   Úattr_sourceÚresolvedry   s           rn   r_  z5UserDefinedClassVariable.resolve_meta_data_descriptor]  s1  € ð �:ÒÐÝ"Ô(ØØ”
Ô#Ø”{ÐJ¥z°$´+¸zÑ'JÔ'Jðñ ô ð ð
 �9ÒÐØ�DœM¨)Ô4Ð4Ð4Ø"œkÐH­m¸D¼KÑ.HÔ.H��à$�Ý"Ô(¨¨T¬ZÔ-?ÀÑMÔMÐMõ ×(Ò(¨¬°TÑ:Ô:ˆØð 	?Ý"Ô(¨¨X°vÑ>Ô>Ð>Ø&Ð&Ð&Ð&Ð&Ð&à&ÐÔ& xÑ0Ô0ð 	7Ý"Ô(¨¨XÑ6Ô6Ð6ÝÔ(¨¨tµT¸(±^´^ÈFÐSÑSÔSÐSrp   rs  c                 óR	  — t          |t          ¦  «        rL| j        �|                      ||¦  «        nd}t	          j        ||¬¦  «        }|                     || | ¦  «        S t          |t          ¦  «        r�t          |j        t          ¦  «        r7t          j        ||j        j        ¦  «        }|                     || gi ¦  «        S | j        �|                      ||¦  «        nd}t	          j        ||¬¦  «        }|                     || | ¦  «        S t          |t          j        ¦  «        r-t	          j        ||¬¦  «        }	|	                     || | ¦  «        S t          |t          ¦  «        r5| j        �|                      ||¦  «        nd}t	          j        ||¬¦  «        S t          |t          j        ¦  «        r5| j        �|                      ||¦  «        nd}t	          j        ||¬¦  «        S t          |t*          j        ¦  «        rL| j        �|                      ||¦  «        nd}t	          j        ||¬¦  «        }
|
                     |d| ¦  «        S |t0          v r?t          |t          j        ¦  «        s%t	          j        | |t7          |¦  «        |¬¦  «        S t          |t          j        ¦  «        r/t;          | j        ¦  «        s|dvrt	          j        || |¬¦  «        S t          |t          j         ¦  «        r/t;          | j        ¦  «        s|dvrt	          j!        || |¬¦  «        S tE          j#        t7          |¦  «        dd¦  «        }t          |t          j        ¦  «        rw|r]|tI          | j        di ¦  «        v s/| j        j%         &                    d¦  «        s| j        j%        d	k    rt          j        |||¦  «        S |  '                    ||||¦  «        S tE          j(        |¦  «        r—|rp| j        tR          j*        ur]|tI          | j        di ¦  «        v s/| j        j%         &                    d¦  «        s| j        j%        d	k    rt          j        |||¦  «        S t	          j        | |t7          |¦  «        |¬¦  «        S t          j        |||¦  «        S )
z(Handle descriptors found in cls.__mro__.NrY  )Úpy_typerÍ   )r¯   r°   r±   rX  r¯   r¦   ztorch.rë   )+r  ÚstaticmethodrÍ   r>  r   ÚStaticMethodVariablerh  ÚclassmethodÚ__func__ÚpropertyrM   rH  Úfgetrp  ÚClassMethodVariablere  rk  rl  ÚPropertyVariableÚMemberDescriptorTypeÚMemberDescriptorVariableÚ_collectionsÚ_tuplegetterÚTupleGetterVariabler/   rn  rm  r    rf  r8   r£   rg  ri  rj  r§   r»   rk   r¿   Ú
startswithÚinvoke_cls_descriptor_getÚismethoddescriptorÚcollectionsÚOrderedDict)r½   rÑ   r¹   rs  rÍ   Údescriptor_sourceÚsm_vtÚfget_vtÚcm_vtrx  Útg_vtÚget_fns               rn   rc  z/UserDefinedClassVariable.resolve_cls_descriptor|  s  € õ �h¥Ñ-Ô-ð 
	;ð ”;Ð*ð ×.Ò.¨r°4Ñ8Ô8Ð8àð õ
 Ô2°8ÐDUÐVÑVÔVˆEØ×*Ò*¨2¨t°TÑ:Ô:Ð:å�h¥Ñ,Ô,ð 	;Ý˜(Ô+­XÑ6Ô6ð =Ý)Ô/°°HÔ4EÔ4JÑKÔK�Ø×,Ò,¨R°$°¸Ñ<Ô<Ð<ð ”;Ð*ð ×.Ò.¨r°4Ñ8Ô8Ð8àð õ
 Ô1°(ÐCTÐUÑUÔUˆEØ×*Ò*¨2¨t°TÑ:Ô:Ð:å�h¥Ô ?Ñ@Ô@ð 	<ÝÔ<¸XÈfÐUÑUÔUˆFØ×+Ò+¨B°°dÑ;Ô;Ð;õ �h¥Ñ)Ô)ð 	Rð ”;Ð*ð ×.Ò.¨r°4Ñ8Ô8Ð8àð õ
 Ô-¨hÐ?PÐQÑQÔQÐQõ �h¥Ô :Ñ;Ô;ð 	ð ”;Ð*ð ×.Ò.¨r°4Ñ8Ô8Ð8àð õ
 Ô5ØÐ!2ðñ ô ð õ �h¥Ô 9Ñ:Ô:ð 	;ð ”;Ð*ð ×.Ò.¨r°4Ñ8Ô8Ð8àð õ
 Ô1°(ÐCTÐUÑUÔUˆEØ×*Ò*¨2¨t°TÑ:Ô:Ð:ð
 Õ)Ð)Ð)µ*Ø•eÔ(ñ3
ô 3
Ð)õ Ô,Ø�d¥D¨¡N¤N¸6ðñ ô ð õ �x¥Ô!<Ñ=Ô=ð	å" 4¤:Ñ.Ô.ð	ð Ð@Ð@Ð@åÔ6Ø ¨Vðñ ô ð õ �x¥Ô!;Ñ<Ô<ð	å" 4¤:Ñ.Ô.ð	ð Ð@Ð@Ð@åÔ5Ø ¨Vðñ ô ð õ Ô'­¨X©¬¸	À4ÑHÔHˆÝ�f�eÔ0Ñ1Ô1ð 	NØð CØ� ¤
¨J¸Ñ;Ô;Ð;Ð;Ø”:Ô(×3Ò3°HÑ=Ô=ð <à”:Ô(¨GÒ3Ð3å&Ô,¨R°¸6ÑBÔBÐBØ×1Ò1°"°d¸HÀfÑMÔMÐMõ Ô% hÑ/Ô/ð 	Xàð	Cà”J¥kÔ&=Ð=Ð=à�G D¤J°
¸BÑ?Ô?Ð?Ð?Ø”zÔ,×7Ò7¸ÑAÔAð @à”zÔ,°Ò7Ð7õ 'Ô,¨R°¸6ÑBÔBÐBÝÔ,¨T°4½¸h¹¼ÐPVÐWÑWÔWÐWõ Ô$ R¨°6Ñ:Ô:Ð:rp   c                 ó"  •— |dk    r<t                                |¦  «        r"t          ¦   «                              ||¦  «        S | j        t
          j        u r$t          j        | |t          |¦  «        ¬¦  «        S t          j        |||¦  «        S )z2Handle non-descriptor attributes from cls.__mro__.r  )r�  )rÄ   r  rÇ   rz  r£   r’  r“  r   rm  r    rM   rH  )r½   rÑ   r¹   rs  rÍ   rË   s        €rn   rd  z/UserDefinedClassVariable.resolve_cls_plain_attr  sˆ   ø€ ð �9ÒÐÕ!9×!QÒ!QØñ"
ô "
Ðõ ‘7”7×&Ò& r¨4Ñ0Ô0Ð0ØŒ:�Ô0Ð0Ð0ÝÔ,¨T°4ÅÀhÁÄÐPÑPÔPÐPÝÔ$ R¨°6Ñ:Ô:Ð:rp   r5  c                 ód  — ddl m} d}d}| j        rIt          | j        |¦  «        }t          t	          |¦  «        d¦  «        }t          j        |||¦  «        }nt          |¦  «        } |j        d¦  «        }	t          j
        |j        j        ||¬¦  «                             ||	| gi ¦  «        S )z7Trace a class-MRO descriptor's __get__(None, cls) call.rF   rx   Nr¯   rY  )rÚ   ry   rÍ   r#   r+   rM   rH  ÚUserDefinedObjectVariablerÛ   r   ro  r¯   r…  rp  )
r½   rÑ   r¹   r5  rÍ   ry   r”  Údescriptor_get_sourceÚdescriptor_varÚnone_vars
             rn   r�  z2UserDefinedClassVariable.invoke_cls_descriptor_get  sÐ   € ð 	/Ð.Ð.Ð.Ð.Ð.à ÐØ $ÐØŒ;ð 	CÝ *¨4¬;¸Ñ =Ô =ÐÝ$.­zÐ:KÑ/LÔ/LÈiÑ$XÔ$XÐ!Ý,Ô2°2°zÐCTÑUÔUˆNˆNå6°zÑBÔBˆNà*Ð#Ô*¨4Ñ0Ô0ˆÝÔ+ØÔÔ'ØØ(ð
ñ 
ô 
÷ Š-˜˜X tÐ,¨bÑ
1Ô
1ð		2rp   c                 ó  — |                       d¦  «        }|rH| j        ot          | j        d¦  «        }t          j        || |¬¦  «                             |g i ¦  «        S t          |d|                      ¦   «         › d�¦  «         d S )NÚ__len__©Ú	source_fnzobject of type z has no length©r¾   rÍ   r#   r   ro  rp  r   Úpython_type_name©r½   rÑ   r™   rÍ   s       rn   Úlen_implz!UserDefinedClassVariable.len_impl/  s—   € Ø×,Ò,¨YÑ7Ô7ˆØð 	(Ø”[ÐG¥Z°´¸YÑ%GÔ%GˆFÝÔ/Ø�4 6ðñ ô çŠm˜B  BÑ'Ô'ð(õ 	˜ÐV¨t×/DÒ/DÑ/FÔ/FÐVÐVÐVÑWÔWÐWÐWÐWrp   c                 ó,   — |                       |¦  «        S r   ©r§  rÕ   s     rn   Ú	sq_lengthz"UserDefinedClassVariable.sq_length8  ó   € Ø�}Š}˜RÑ Ô Ð rp   c                 ó,   — |                       |¦  «        S r   r©  rÕ   s     rn   Ú	mp_lengthz"UserDefinedClassVariable.mp_length;  r«  rp   Úitemc                 ó¨   •— |                       d¦  «        }|r|                      |d|gi ¦  «        S t          ¦   «                              ||¦  «        S ©NÚ__contains__)r¾   rC  rÇ   Úsq_contains)r½   rÑ   r®  r™   rË   s       €rn   r²  z$UserDefinedClassVariable.sq_contains>  sW   ø€ ð ×,Ò,¨^Ñ<Ô<ˆØð 	DØ×#Ò# B¨¸¸ÀÑCÔCÐCÝ‰wŒw×"Ò" 2 tÑ,Ô,Ð,rp   c                 ó  •— |                       d¦  «        }|rH| j        ot          | j        d¦  «        }t          j        || |¬¦  «                             |g i ¦  «        S t          ¦   «                              |¦  «        S )NÚ__iter__r¢  )r¾   rÍ   r#   r   ro  rp  rÇ   Útp_iter_impl)r½   rÑ   r™   rÍ   rË   s       €rn   rµ  z%UserDefinedClassVariable.tp_iter_implF  s‚   ø€ Ø×,Ò,¨ZÑ8Ô8ˆØð 	(Ø”[ÐH¥Z°´¸ZÑ%HÔ%HˆFÝÔ/Ø�4 6ðñ ô çŠm˜B  BÑ'Ô'ð(õ ‰wŒw×#Ò# BÑ'Ô'Ð'rp   c                 ó  — |                       d¦  «        }|rH| j        ot          | j        d¦  «        }t          j        || |¬¦  «                             |g i ¦  «        S t          |d|                      ¦   «         › d�¦  «         d S )NÚ__neg__r¢  úbad operand type for unary -: 'r[  r¤  r¦  s       rn   Únb_negative_implz)UserDefinedClassVariable.nb_negative_implO  ó¢   € Ø×,Ò,¨YÑ7Ô7ˆØð 	(Ø”[ÐG¥Z°´¸YÑ%GÔ%GˆFÝÔ/Ø�4 6ðñ ô çŠm˜B  BÑ'Ô'ð(õ 	ØÐL°$×2GÒ2GÑ2IÔ2IÐLÐLÐLñ	
ô 	
ð 	
ð 	
ð 	
rp   c                 ó  — |                       d¦  «        }|rH| j        ot          | j        d¦  «        }t          j        || |¬¦  «                             |g i ¦  «        S t          |d|                      ¦   «         › d�¦  «         d S )NÚ__pos__r¢  úbad operand type for unary +: 'r[  r¤  r¦  s       rn   Únb_positive_implz)UserDefinedClassVariable.nb_positive_implZ  rº  rp   c                 ó  — |                       d¦  «        }|rH| j        ot          | j        d¦  «        }t          j        || |¬¦  «                             |g i ¦  «        S t          |d|                      ¦   «         › d�¦  «         d S )NÚ__abs__r¢  úbad operand type for abs(): 'r[  r¤  r¦  s       rn   Únb_absolute_implz)UserDefinedClassVariable.nb_absolute_imple  s¢   € Ø×,Ò,¨YÑ7Ô7ˆØð 	(Ø”[ÐG¥Z°´¸YÑ%GÔ%GˆFÝÔ/Ø�4 6ðñ ô çŠm˜B  BÑ'Ô'ð(õ 	ØØF¨D×,AÒ,AÑ,CÔ,CÐFÐFÐFñ	
ô 	
ð 	
ð 	
ð 	
rp   r(  c                 óœ  •— |d u }|rdnd}|                       |¦  «        }t          |t          j        ¦  «        rp| j        ot          | j        |¦  «        }|r|gn||g}t          j        || |¬¦  «                             ||i ¦  «         t          j	         
                    d ¦  «        S t          ¦   «                              |||¦  «        S )NÚ__delitem__Ú__setitem__r¢  )r¾   r  re  rn  rÍ   r#   r   ro  rp  ry   rÛ   rÇ   Úmp_ass_subscript_impl)
r½   rÑ   r(  r£   Ú	is_deleteÚattrr™   rÍ   r]  rË   s
            €rn   rÆ  z.UserDefinedClassVariable.mp_ass_subscript_implq  sÖ   ø€ ð ˜T�Mˆ	Ø )Ð<ˆ}ˆ}¨}ˆØ×,Ò,¨TÑ2Ô2ˆÝ�a�Ô+Ñ,Ô,ð 	;Ø”[ÐB¥Z°´¸TÑ%BÔ%BˆFØ%Ð7�C�5�5¨C°¨<ˆDÝÔ(¨¨D¸FÐCÑCÔC×QÒQØ�D˜"ñô ð õ Ô-×4Ò4°TÑ:Ô:Ð:Ý‰wŒw×,Ò,¨R°°eÑ<Ô<Ð<rp   r]  c                 óÞ  ‡‡‡‡	‡
‡‡— ddl m}  |j        d¦  «         |j        d¦  «         |j        d¦  «         |j        d¦  «         |j        d¦  «         |j        d¦  «        fdt          dt          d	t          d
t          dt          dt          dt          t          df         fd„} ||i |¤Ž\  ŠŠŠŠ	Š
Šdt          dt          dt          fˆˆˆ	ˆ
ˆˆˆfd„}t          j        |¦  «        S )aj  
        functional: input, target, weight=None, size_average=None, ignore_index=- 100, reduce=None, reduction='mean',
        label_smoothing=0.0

        non functional ctor: weight=None, size_average=None, ignore_index=- 100, reduce=None, reduction='mean',
        label_smoothing=0.0

        non functional loss call: input, target, optional_output
        rF   rx   NiœÿÿÿÚmeang        ÚweightÚsize_averageÚignore_indexÚreduceÚ	reductionÚlabel_smoothingrW   .c                 ó   — | |||||fS r   rr   )rË  rÌ  rÍ  rÎ  rÏ  rÐ  s         rn   Únormalize_argszIUserDefinedClassVariable._call_cross_entropy_loss.<locals>.normalize_args™  s    € ð ØØØØØðð rp   ÚinputÚtargetc                 ó¢   •— ddl m}  |‰ ‰j        j        dt          j        j        j        gt          | |‰	‰‰‰‰‰gi ¦  «        ¢R Ž ¬¦  «        S )NrF   )Úwrap_fx_proxyrp  ©rÑ   Úproxy)	ÚbuilderrÖ  r-  Úcreate_proxyrë   ÚnnÚ
functionalÚcross_entropyr>   )
rÓ  rÔ  rÖ  rÍ  rÐ  Ú
reduce_argrÏ  rÌ  rÑ   rË  s
      €€€€€€€rn   Úfake_cross_entropy_losszRUserDefinedClassVariable._call_cross_entropy_loss.<locals>.fake_cross_entropy_loss³  s�   ø€ ð /Ð.Ð.Ð.Ð.Ð.à �=ØØ,�b”iÔ,Ø#Ý”HÔ'Ô5ðõ 'à!Ø"Ø"Ø(Ø(Ø&Ø%Ø+ð	ð ñô ðð ð ðñ ô ð rp   )r|  ry   rÛ   rM   r  r   ÚLambdaVariable)r½   rÑ   r]  rÅ   ry   rÒ  rß  rÍ  rÐ  rÞ  rÏ  rÌ  rË  s    `     @@@@@@rn   Ú_call_cross_entropy_lossz1UserDefinedClassVariable._call_cross_entropy_lossˆ  s}  øøøøøøø€ ð 	'Ð&Ð&Ð&Ð&Ð&ð '>Ð&6Ô&=¸dÑ&CÔ&CØ,CÐ,<Ô,CÀDÑ,IÔ,IØ,CÐ,<Ô,CÀDÑ,IÔ,IØ&=Ð&6Ô&=¸dÑ&CÔ&CØ)@Ð)9Ô)@ÀÑ)HÔ)HØ/FÐ/?Ô/FÀsÑ/KÔ/Kð	ð 	Ý#ð	å)ð	õ *ð	õ $ð		õ
 'ð	õ -ð	õ •? CÐ'Ô(ð	ð 	ð 	ð 	ð0 ˆN˜DÐ+ FÐ+Ð+ñ	
ØØØØØØð	Ý"ð	Ý,;ð	åð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	õ4 Ô'Ð(?Ñ@Ô@Ð@rp   c                 ó¸  •— ddl m} |dk    r‚t          |¦  «        dk    ro|smd| j        j        vr_| j        }| j        r$t          | j        d¦  «        }t          |¦  «        }t          j	        || j         
                    ¦   «         |¦  «        S | j        t          j        t          j        hv r&|dk    r t          j        j        || j        g|¢R i |¤ŽS | j        t          j        u r.|dk    r(|d                              ||g |dd …         ¢|¦  «        S |dk    r-t          |¦  «        dk    r|sddlm}  |||d         ¦  «        S t)          | j        t*          ¦  «        r7|d	k    r1|                     |t*          ¦  «                             ||||¦  «        S t)          | j        t.          t0          f¦  «        r7|d	k    r1|                     |t.          ¦  «                             ||||¦  «        S t          |¦  «        dk    rAt3          |d         t          j        ¦  «        r!|d
k    r|d                              |¦  «        S |d	k    r�t8                               | j        j        ¦  «        ri| j        j        }|t*          j        t.          j        fv rg }	nt?          |dd …         ¦  «        }	|j         j!         "                    | |d         |	|¬¦  «        S |dk    r6| j#        r/tI          dtK          | j        ¦  «        dtL          j'        ¬¦  «         tQ          | j        ¦  «        }
|
tP          ur†|
j)        D ]~}||j        v rs|j        |         }t3          |tT          j+        ¦  «        rJ| j        ot          | j        |¦  «        }t          j,        || |¬¦  «         -                    |||¦  «        c S  nŒt]          ¦   «                              ||||¦  «        S )NrF   ©ÚSourcelessBuilderÚ__subclasses__r   ÚfromkeysÚmove_to_endr¡  )Úgeneric_lenr  Ú	__enter__©rÑ   r�   zCClass attribute mutation when the __dict__ was already materializedzVDynamo does not support tracing mutations on a class when its __dict__ is materializedrS  rY  )/rÙ  rä  Úlenr£   r¦   rÍ   r#   r$   rM   rH  rå  r’  r“  Údefaultdictr   ÚDictBuiltinVariableÚcall_custom_dict_fromkeysrC  Úobject_protocolrè  r
  r  rÛ   r  r  r  ÚGenericContextWrappingVariableÚenterrÄ   r  r  r  r-  r`  Útrack_new_user_defined_objectrÉ   r   rÂ   r   r^  r    r"  re  rn  ro  rp  rÇ   )r½   rÑ   r¹   r]  rÅ   rä  rÍ   rè  Únew_fnÚ	init_argsrD  r4  ÚmethodrË   s                €rn   rC  z$UserDefinedClassVariable.call_methodÏ  s#  ø€ ð 	/Ð.Ð.Ð.Ð.Ð.ð Ð$Ò$Ð$Ý�D‘	”	˜Q’�Øð à ¨¬
Ô(;Ð;Ð;à”[ˆFØŒ{ð :Ý# D¤KÐ1AÑBÔB�Ý1°&Ñ9Ô9�Ý"Ô(¨¨T¬Z×-FÒ-FÑ-HÔ-HÈ&ÑQÔQÐQàŒJ�;Ô2µKÔ4KÐLÐLÐLØ˜
Ò"Ð"åÔ0ÔJØ�D”JðØ!%ðð ð Ø)/ðð ð ð ŒZ�;Ô2Ð2Ð2°t¸}Ò7LÐ7LØ˜”7×&Ò& r¨4°°4¸¸¸´8°¸fÑEÔEÐEØ�YÒÐ¥3 t¡9¤9°¢> >¸& >Ø4Ð4Ð4Ð4Ð4Ð4à�;˜r 4¨¤7Ñ+Ô+Ð+Ý˜œ
¥DÑ)Ô)ð '	¨d°iÒ.?Ð.?à$×+Ò+¨BµÑ5Ô5×AÒAØ�D˜$ ñô ð õ ˜œ
¥S­)Ð$4Ñ5Ô5ð "	¸$À)Ò:KÐ:Kà$×+Ò+¨BµÑ4Ô4×@Ò@ÀÀTÈ4ÐQWÑXÔXÐXå�‰IŒI˜ŠNˆNÝ˜4 œ7¥IÔ$LÑMÔMð à˜Ò#Ð#à˜”7—=’= Ñ$Ô$Ð$Ø�YÒÐÕ#;×#SÒ#SØŒJÔñ$
ô $
Ðð ”ZÔ'ˆFØ�$œ,­¬Ð4Ð4Ð4Ø35�	�	å   a b b¤™NœN�	Ø”9Ô)×GÒGØØ�Q”ØØð	 Hñ ô ð ð �]Ò"Ð" tÔ'8Ð"ÝØ]Ý˜DœJ™œØtÝ'Ô3ð	ñ ô ð õ ˜œÑ$Ô$ˆ	Ø�DÐ Ð à"Ô*ð ð �Ø˜5œ>Ð)Ð)Ø"œ^¨DÔ1�FÝ! &­%Ô*<Ñ=Ô=ð :Ø!%¤Ð!Nµ¸D¼KÈÑ1NÔ1N˜Ý(Ô;Ø" D°ð ñ  ô  ç'š-¨¨D°&Ñ9Ô9ð:ð :ð :ð �Eð *õ ‰wŒw×"Ò" 2 t¨T°6Ñ:Ô:Ð:rp   c                 óª   ‡— t          | j        t          ¦  «        r2t          | j        t          j        ¦  «        rˆfd„| j        D ¦   «         S t          ‚)Nc                 ó:   •— g | ]}t          j        ‰|¦  «        ‘ŒS rr   ©rM   rH  )r  r®  rÑ   s     €rn   ú
<listcomp>z@UserDefinedClassVariable.unpack_var_sequence.<locals>.<listcomp>.  s&   ø€ ÐKÐKÐK¸•OÔ)¨"¨dÑ3Ô3ÐKÐKÐKrp   )r  r£   r    r
  r  r  rÔ   rÕ   s    `rn   Úunpack_var_sequencez,UserDefinedClassVariable.unpack_var_sequence*  sR   ø€ õ �d”j¥$Ñ'Ô'ð 	L­J°t´zÅ4Ä9Ñ,MÔ,Mð 	LØKÐKÐKÐKÀÄ
ÐKÑKÔKÐKÝ!Ð!rp   c           
      ó  •‡— ddl m} ddlm}m} ddlm}m} t          ||¦  «        }	t          j
                             ¦   «         r›| j        t          j
        j        u rƒt          j        st!          dddd	g¬
¦  «         ‰j        j                              |                     ‰t(          ¦  «        | g ‰¬¦  «        }
|
                     ‰dt-          |¦  «        |¦  «         |
S |                      ¦   «         rU|	rSt1          j        ‰ |                      ¦   «         d„ |D ¦   «         i d„ |                     ¦   «         D ¦   «         ¤Ž¦  «        S | j        t          j        j        u r|                      ‰||¦  «        S | j        t>          j         u rddlm!}  ||i |¤ŽS | j        tD          j#        u riddlm} ‰j        j                              |                     ‰tH          ¦  «        | g ‰¬¦  «        }|                     ‰dt-          |¦  «        |¦  «         |S tK          | j        ¦  «        r^| j        j&        r2t!          dtO          | j        ¦  «        ddgtP          j)        ¢¬
¦  «         tU          j+        j,        ‰tH          g|¢R i |¤ŽS | j        tD          j-        u �r(tT          j.                             d ¦  «        }	 dHdt^          t`                   d z  dtb          d z  dt`          fd„}d }	  te          j3        |¦  «        j4        |i |¤Ž}n># tj          $ r1}t!          dd|› d|› �ddgtP          j6        ¢|¬¦  «         Y d }~nd }~ww xY w|€to          d¦  «        ‚d|j8        v rts          ‰|j8        d         ¦  «        }ng }d|j8        v r|j8        d         }tT          j:         ;                    ||ty          ¦   «         ¬¦  «        S | j        tz          j>        u rÁt          |¦  «        dk    r®t�          |d          tT          jA        ¦  «        rŽt�          |d         |¦  «        rx|d           B                    ¦   «         d!v r\|d         jC        }t‰          ||d           B                    ¦   «         ¦  «        jE        }tU          jF        ||d         | jG        ¬"¦  «        S | j        t�          jI        u rVt          |¦  «        dk    r	|d         }ntT          j.                             d ¦  «        }tU          jJ        |d          |¦  «        S | j        t–          jL        u rV|s t!          d#d$d%d&gtP          j6        ¢¬
¦  «         |d          }|dd …         }tT          jM         N                    |||¬'¦  «        S | j        tž          jP        u r"|s tT          jQ                             ‰|¦  «        S |s—t          |¦  «        dk    r„ || j        ¦  «        x}�r|d           R                    ¦   «         s*t§          ‰| j        jT        › d(| j        jU        › d)�¦  «         |                     ‰|d                               ¦   «         ¦  «        S t­          t¯          | j        ¦  «        t®          ¦  «        �rt±          | j        d*¦  «        �rðt±          | j        d+¦  «        �rÚ|  Y                    ¦   «         �rÅ |jZ        | j        ¦  «        �r¯| jG        �r§t·          | j        ¦  «        �s’dd,l\m]} dd-lMm^}m_} | j        t>          j`        t>          ja        t>          jb        t>          jc        t>          jd        fv r-t!          d.| j        › | j        › d/�g tP          j)        ¢¬
¦  «         |}| j        t>          je        u rËt�          |d          ||f¦  «        r³t          jf        j        jg        st!          d0d|› �d1d2g¬
¦  «         t�          |d          |¦  «        rF|d          }|d         j        }|d          h                    ¦   «         }| i                    ‰||¦  «        S  ||d          |d          jG        ¬"¦  «        g|dd …         z   }‰ j                    t1          j        ‰tÖ          jl        ¦  «        | g|¢|¦  «        S tÛ          | j        ¦  «        rÂtÝ          | j        ¦  «        rw|st          |¦  «        dk    r2tß          ‰d3d4t          |¦  «        › d5t          |¦  «        › d6�¦  «         ‰j        j                              | | t-          |¦  «        ‰¬¦  «        S ‰ j                    t1          j        ‰tÖ          jl        ¦  «        | g|¢|¦  «        S | j        t          jp        u rFdd7l:mq} |                     ‰tä          ¦  «         i                    ‰||¦  «        } ||j        ¦  «        S tç          | j        ¦  «        r%t!          d8| j        › d9tP          j)        ¬
¦  «         �n| j        |  t                    ¦   «         v stë          | j        ¦  «        �rãdd:l:mv}  tî          r³| j        tð          v r¥t          |¦  «        dk    r’t�          |d          | ¦  «        r|t          |d          j        ¦  «        dk    r^tó          d;„ |d          j        D ¦   «         ¦  «        r: |‰ ‰j        jz        d<t          j{        gtù          ||¦  «        ¢R Ž ¬=¦  «        }!|!g}t­          | j        t          j}        ¦  «        rÙdd>l:m~}" tÿ          ˆfd?„|                     ¦   «         D ¦   «         ¦  «        }# |"t-          |¦  «        ¦  «        }$ | j        |$                     ¦   «         i |#                     ¦   «         ¤Ž}%dd@l€m�}& ddAl‚mƒ}'  |&|%|' „                    |$|#¦  «        ¦  «        }( |‰‰j         z                    d<�t
          |(fi ¦  «        ¬=¦  «        })�n)t­          | j        t          j†        ¦  «        rØdd>l:m~}" tÿ          ˆfdB„|                     ¦   «         D ¦   «         ¦  «        }# |"t-          |¦  «        ¦  «        }$ | j        |$                     ¦   «         i |#                     ¦   «         ¤Ž}*dd@l€m�}& ddCl‚m‡}+  |&|*|+ ˆ                    |$|#¦  «        ¦  «        }( |‰‰j         z                    d<�t
          |(fi ¦  «        ¬=¦  «        })n2 |‰ ‰j        jz        d<| j        gtù          ||¦  «        ¢R Ž ¬=¦  «        })|)S | j        �t          jŠ        u rot          |¦  «        dk    r5|d           R                    ¦   «         r|d                               ¦   «         },nd },�t          jŠ        |,¦  «        }-�t          |-¦  «        S | j        tz          jŒ        u rgt          |¦  «        dk    rT|d          }.t�          |.tT          j�        ¦  «        r|.jŽ        }.t�          |.tþ          ¦  «        rtU          j�        |.¦  «        S �n |jZ        | j        ¦  «        r÷| jG        st          jf        j        j�        rÚ| j        j‘        t(          j‘        u rb	 t(           ‘                    | j        ¦  «         nA# tj          $ r4}/t!          dDdE| j        › dF|/› �dGg tP          j)        ¢¬
¦  «         Y d }/~/nd }/~/ww xY w�t%          ¦   «         5  ‰ j                    t1          j        ‰tÖ          jl        ¦  «        | g|¢|¦  «        }|cd d d ¦  «         S # 1 swxY w Y   �t'          ¦   «          i                    ‰||¦  «        S )INr   ru   rF   )rä  rÖ  )rð  Úget_device_context_managerz/P2P compilation disabled for P2POp constructionztorch.distributed.P2POpzP2P compilation is disabled.z3Set TORCHDYNAMO_ENABLE_P2P_COMPILATION=1 to enable.rS  rê  rÈ   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rr   ©rá   ©r  Úxs     rn   rù  z:UserDefinedClassVariable.call_function.<locals>.<listcomp>X  s$   € Ð;Ð;Ð;°�a×*Ò*Ñ,Ô,Ð;Ð;Ð;rp   c                 ó>   — i | ]\  }}||                      ¦   «         “ŒS rr   rþ  ©r  ÚkÚvs      rn   ú
<dictcomp>z:UserDefinedClassVariable.call_function.<locals>.<dictcomp>Y  s*   € ÐLÐLÐL±T°Q¸�q˜!×.Ò.Ñ0Ô0ÐLÐLÐLrp   )ÚNullContextVariablerã  zTypedDict with optional keysz<Dynamo does not support tracing TypedDict with optional keysz(Avoid using TypedDict with optional keysÚiterableÚmaxlenrW   c                 ó   — d S r   rr   )r  r  s     rn   Údeque_signaturez?UserDefinedClassVariable.call_function.<locals>.deque_signature‚  s	   € ð �rp   z&collections.deque() with bad argumentszargs=ú	, kwargs=z8Detected call to collections.deque() with bad arguments.z$Fix the call to collections.deque().)rT  rU  rV  rW  Úfrom_excz*bound_args is None after signature binding)r  Úmutation_typer   )ré  Ú__exit__rY  z!missing args to functools.partialr|  z0functools.partial requires at least one argumentzFix the functools.partial call.)r]  Úkeywordsú.z requires a constant argumentré  r  )ÚTorchCtxManagerClassVariable)ÚBaseUserFunctionVariableÚ3FunctionDecoratedByContextlibContextManagerVariablezunsupported contextlib.* APIzˆ not supported. This may be due to its use of context-specific operations that are not supported in Dynamo yet (i.e. Exception handling)z,attempted to trace contextlib.contextmanagerz.Tracing contextlib.contextmanager is disabled.z7Set torch._dynamo.config.enable_trace_contextlib = Trueztorch.return_typesú1 args and 0 kwargsú
 args and ú kwargs)ÚSizeVariablezPydantic dataclass constructorzwDynamo graph breaks on pydantic dataclass constructors because validation mutates the instance outside traced bytecode.©r{   c              3   ó>   K  — | ]}|                      ¦   «         V — Œd S r   )Ú	is_tensorrÿ  s     rn   ú	<genexpr>z9UserDefinedClassVariable.call_function.<locals>.<genexpr>o  s*   è è € Ð=Ð=¨!˜Ÿš™œÐ=Ð=Ð=Ð=Ð=Ð=rp   rp  r×  ©r|   c                 óB   •— i | ]\  }}t          j        ‰|¦  «        |“ŒS rr   rø  ©r  r  r  rÑ   s      €rn   r  z:UserDefinedClassVariable.call_function.<locals>.<dictcomp>€  ó,   ø€ ÐPÐPÐP¹¸¸A•_Ô*¨2¨qÑ1Ô1°1ÐPÐPÐPrp   )Úregister_graph_created_object)ÚStreamVariablec                 óB   •— i | ]\  }}t          j        ‰|¦  «        |“ŒS rr   rø  r  s      €rn   r  z:UserDefinedClassVariable.call_function.<locals>.<dictcomp>›  r  rp   )ÚEventVariablez:Unsupported object.__new__ user-defined class constructionzclass=z, error=zYDynamo could not construct an example object for side-effect replay using object.__new__.©NN)”r`  rv   rÙ  rä  rÖ  Úctx_managerrð  rü  r.   rë   ÚdistributedÚis_availabler£   ÚP2POpr   Úenable_p2p_compilationr   r-  rò  rÛ   r€   rC  r  r   rM   rH  rá   ÚitemsrÛ  ÚCrossEntropyLossrá  Ú
contextlibÚnullcontextr  r’  rì  r  r   Ú__optional_keys__rÂ   r   r^  r   rí  Úcall_custom_dictÚdequery   r   r   r  r§   Ú	signatureÚbindrµ   Ú
USER_ERRORÚAssertionErrorÚ	argumentsrD   ÚlistsÚDequeVariablerL   re  Ú
MethodTyperë  r  ÚUserFunctionVariableÚget_nameÚcm_objrk   r…  ro  rÍ   ÚweakrefÚrefÚWeakRefVariabler/  r0  Ú	functionsÚFunctoolsPartialVariableÚwarningsÚcatch_warningsÚCatchWarningsCtxManagerVariableÚis_python_constantr   r¿   rÀ   r
  r    rj   Úis_standard_newÚ"cls_supports_mutation_side_effectsrš   r|  r  r  r  Ú_AsyncGeneratorContextManagerÚclosingÚredirect_stdoutÚredirect_stderrÚAsyncExitStackÚ_GeneratorContextManagerÚ_dynamoÚenable_trace_contextlibÚkeys_as_python_constantrp  Úinline_user_function_returnr   Ú%instantiate_user_defined_class_objectr6   r   r?   rï   r  r  r¬   r  r   r{   ÚnprA   ÚallrÚ  Ústackr>   rþ   r|   rN   Úgraph_bytecode_inputsr   Ústreamsr!  Ú!make_construct_in_graph_stream_fnr    rÿ   r#  Ú make_construct_in_graph_event_fnÚrandomÚRandomÚRandomVariableÚMappingProxyTypeÚUserDefinedDictVariableÚ_base_vtÚMappingProxyVariableÚenable_trace_load_build_classr  r   rÇ   )1r½   rÑ   r]  rÅ   rv   rä  rÖ  rð  rü  Úconstant_argsÚvarr  rÞ   r  r
  Ú
bound_argsÚer*  r;  ÚfnÚcallbackÚ	rest_argsÚvariable_clsr  r  r  Úarg_newÚfn_varÚ	args_listÚkwargs_dictr  Útupr{   Ústackedr|   Ú
var_kwargsÚvar_argsÚstreamr   r!  ÚindÚtensor_variableÚeventr#  ÚseedÚrandom_objectÚdict_argÚexcrË   s1    `                                              €rn   rp  z&UserDefinedClassVariable.call_function1  sÝ  øø€ ð 	/Ð.Ð.Ð.Ð.Ð.Ø=Ð=Ð=Ð=Ð=Ð=Ð=Ð=ð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
õ
 ,¨D°&Ñ9Ô9ˆåÔ×)Ò)Ñ+Ô+ð 	°´
½eÔ>OÔ>UÐ0UÐ0UÝÔ0ð ÝØMØ5Ø >àMðð	ñ ô ð ð ”)Ô(×FÒFØ!×(Ò(¨­VÑ4Ô4ØØØð	 Gñ ô ˆCð �OŠO˜B 
­D°©J¬J¸Ñ?Ô?Ð?ØˆJà×)Ò)Ñ+Ô+ð U	°ð U	å"Ô(ØØ)�×'Ò'Ñ)Ô)Ø;Ð;°dÐ;Ñ;Ô;ðàLÐL¸V¿\º\¹^¼^ÐLÑLÔLðð ñô ð ð ŒZ�5œ8Ô4Ð4Ð4Ø×0Ò0°°T¸6ÑBÔBÐBØŒZ�:Ô1Ð1Ð1à8Ð8Ð8Ð8Ð8Ð8à&Ð&¨Ð7°Ð7Ð7Ð7ØŒZ�;Ô2Ð2Ð2ð 3Ð2Ð2Ð2Ð2Ð2à”YÔ+×IÒIØ!×(Ò(¨­TÑ2Ô2ØØØð	 Jñ ô ˆFð ×Ò˜r :­t°D©z¬z¸6ÑBÔBÐBØˆMÝ˜$œ*Ñ%Ô%ð w	ØŒzÔ+ð 	ÝØ:Ý ¤
™OœOØ ^àBðå*Ô6ðð	ñ ô ð õ Ô0ÔAØ•DðØðð ð Ø#)ðð ð ð ŒZ�;Ô,Ð,Ñ,ÝÔ/×6Ò6°tÑ<Ô<ˆFð MQðð Ý"¥3œ-¨$Ñ.ðÝ?BÀT¹zðåðð ð ð ð
 ˆJðØD�WÔ.¨Ñ?Ô?ÔDÀdÐUÈfÐUÐU�
�
øÝð 
ð 
ð 
ÝØDØ; DÐ;Ð;°6Ð;Ð;Ø Zà>ðå*Ô5ðð ð	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøøð
øøøð Ð!Ý$Ð%QÑRÔRÐRØ˜ZÔ1Ð1Ð1Ý'¨¨JÔ,@ÀÔ,LÑMÔM��ð �à˜:Ô/Ð/Ð/Ø#Ô-¨hÔ7�å”?×0Ò0Ø˜fÕ4DÑ4FÔ4Fð 1ñ ô ð ð
 ŒJ�%Ô*Ð*Ð*Ý�D‘	”	˜Q’�Ý˜4 œ7¥IÔ$BÑCÔCð å˜4 œ7Ð$BÑCÔCð ð �Q”× Ò Ñ"Ô"Ð&?Ð?Ð?à˜!”W”^ˆFÝ˜  a¤×!1Ò!1Ñ!3Ô!3Ñ4Ô4Ô=ˆBÝÔ/°°D¸´GÀDÄKÐPÑPÔPÐPØŒZ�7œ;Ð&Ð&Ý�4‰yŒy˜1Š}ˆ}Ø œ7��å$Ô5×<Ò<¸TÑBÔB�ÝÔ,¨T°!¬W°hÑ?Ô?Ð?ØŒZ�9Ô,Ð,Ð,Øð 	ÝØ?ØØ Rà9ðå*Ô5ðð	ñ ô ð ð �a”ˆBØ˜Q˜R˜RœˆIõ Ô&×?Ò?Ø˜¨Vð @ñ ô ð ð ŒZ�8Ô2Ð2Ð2¸4Ð2ÝÔ<×CÒCÀBÈÑOÔOÐOàð_	å�D‘	”	˜Q’�Ø!;Ð!;¸D¼JÑ!GÔ!GÐG�ÐTà˜”7×-Ò-Ñ/Ô/ð Ý ØØ”zÔ,ÐeÐe¨t¬zÔ/FÐeÐeÐeñô ð ð  ×&Ò& r¨4°¬7×+EÒ+EÑ+GÔ+GÑHÔHÐHå•t˜DœJÑ'Ô'­Ñ.Ô.ñT	åØ”
˜Kñô ñT	õ
 Ø”
˜Jñô ñT	ð ×$Ò$Ñ&Ô&ñT	ð ?�Ô>¸t¼zÑJÔJñT	ð ”ñT	õ 1°´Ñ<Ô<ñT	ð 7Ð6Ð6Ð6Ð6Ð6ðð ð ð ð ð ð ð ð ŒzÝÔ8ÝÔ"ÝÔ*ÝÔ*ÝÔ)ðð ð õ Ø:Ø#œz˜OØ#'¤:ð !;ð !;ð !;ðÝ*Ô6ðð	ñ 	ô 	ð 	ð ˆGØŒz�ZÔ@Ð@Ð@ÅZØ�Q”Ð2Ð4PÐQñFô FÐ@õ ”}Ô+ÔCð Ý!Ø NØ .¨  Ø$TàUðð	ñ ô ð õ2 ˜d 1œgÐ'CÑDÔDð LØ! !œW�FØ $ Q¤¤�IØ"& q¤'×"AÒ"AÑ"CÔ"C�KØ!×/Ò/°°I¸{ÑKÔKÐKð HÐGØ˜Qœ¨¨Q¬¬ðñ ô ðð ˜˜˜”Hñ	�ð ×1Ò1ÝÔ%Ø�	ÔGñô ð Ð ˜Ð Øñô ð õ ˜tœzÑ*Ô*ð u	Ý! $¤*Ñ-Ô-ð Øð �S ™YœY¨!š^˜^Ý'ØØ,Ø-Ý˜t™9œ9ÐDÐDµ°F±´ÐDÐDÐDñ	ô ð ð ”yÔ-×KÒKØØÝ˜‘J”JØð	 Lñ ô ð ð ×5Ò5Ý#Ô)Ø�IÔKñô ð �M˜D�MØñô ð ð ŒZ�5œ:Ð%Ð%à+Ð+Ð+Ð+Ð+Ð+à#×*Ò*¨2­uÑ5Ô5×CÒCÀBÈÈfÑUÔUˆCØ�< ¤	Ñ*Ô*Ð*Ý& t¤zÑ2Ô2ð Q	õ Ø8Øœ:˜ðSå'Ô3ðñ ô ð ñ ð ŒJ˜$×0Ò0Ñ2Ô2Ð2Ð2Ý1°$´*Ñ=Ô=ñ 3ð
 ,Ð+Ð+Ð+Ð+Ð+õ ð!à”JÕ"5Ð5Ð5Ý˜‘I”I ’N�NÝ˜t Aœw¨Ñ5Ô5ð #å˜˜QœœÑ&Ô&¨Ò*Ð*ÝÐ=Ð=¨t°A¬w¬}Ð=Ñ=Ô=Ñ=Ô=ð +ð (˜-ØØ0˜"œ)Ô0Ø'Ýœðõ +¨4°Ñ8Ô8ðð ð ðñ ô �ð  �y�å˜$œ*¥e¤lÑ3Ô3ð =Ø0Ð0Ð0Ð0Ð0Ð0å.ØPÐPÐPÐPÀÇÂÁÄÐPÑPÔPñô �
ð )˜=­¨d©¬Ñ4Ô4�Ø#˜œØ×1Ò1Ñ3Ô3ðà!×4Ò4Ñ6Ô6ðð �ð RÐQÐQÐQÐQÐQØ3Ð3Ð3Ð3Ð3Ð3à3Ð3ØØ"×DÒDØ  *ñô ñô �ð #0 -ØØœ)×0Ò0Ø'Ö)EÈÀvÈrñô ð#ñ #ô #�‘õ ˜DœJ­¬Ñ4Ô4ð #Ø0Ð0Ð0Ð0Ð0Ð0õ /ØPÐPÐPÐPÀÇÂÁÄÐPÑPÔPñô �
ð )˜=­¨d©¬Ñ4Ô4�Ø"˜œ
Ø×1Ò1Ñ3Ô3ðà!×4Ò4Ñ6Ô6ðð �ð RÐQÐQÐQÐQÐQØ2Ð2Ð2Ð2Ð2Ð2à3Ð3ØØ!×BÒBØ  *ñô ñô �ð #0 -ØØœ)×0Ò0Ø'Ö)EÈÀvÈrñô ð#ñ #ô #��ð #0 -ØØ0˜"œ)Ô0Ø'Øœ
ðõ +¨4°Ñ8Ô8ðð ð ð#ñ #ô #�ð #Ð"ØŒZž6œ=Ð(Ð(Ý�4‰yŒy˜AŠ~ˆ~ $ q¤'×"<Ò"<Ñ">Ô">ˆ~Ø˜A”w×1Ò1Ñ3Ô3��à�Þ"œM¨$Ñ/Ô/ˆMÞ! -Ñ0Ô0Ð0ØŒZ�5Ô1Ð1Ð1µc¸$±i´iÀ1²n°nð ˜A”wˆHÝ˜(¥IÔ$EÑFÔFð -Ø#Ô,�Ý˜(Õ$5Ñ6Ô6ð @Ý Ô5°hÑ?Ô?Ð?ñ@à;ˆ[Ô;¸D¼JÑGÔGð 	ØŒKð	Ý œ=Ô/ÔMð	ð ŒzÔ!¥V¤^Ð3Ð3ðÝ—N’N 4¤:Ñ.Ô.Ð.Ð.øÝ ð 	ð 	ð 	Ý!Ø \Ø B¨¬Ð BÐ B¸SÐ BÐ BðGð ?Õ 1Ô =Ð>ðñ ô ð ð ð ð ð ð øøøøð	øøøö 6Ñ7Ô7ð ð Ø×7Ò7Ý#Ô)Ø�IÔKñô ð �M˜D�MØñô �ð ðð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ö ‰wŒw×$Ò$ R¨¨vÑ6Ô6Ð6sB   Ë+L Ì
MÌ'MÍMø*y
 ù

zù*zúzú9{ û {$û'{$c                 óŒ   — t          j        | j        dd¦  «        }t          |t          ¦  «        r|j        }|t          j        u S )z"Check for __new__ being overriddenr  N)r§   r»   r£   r  r‚  r…  r€   r  )r½   ró  s     rn   rE  z(UserDefinedClassVariable.is_standard_newì  s>   € åÔ'¨¬
°I¸tÑDÔDˆÝ�f�lÑ+Ô+ð 	%Ø”_ˆFØ�œÐ'Ð'rp   ry   c                 óê   — | j         rEt          | j                              t          j        t
          j        |¬¦  «        ¦  «        ¦  «         t          j        |t          | j
        |¦  «        ¦  «        S )N©rÈ  )rÍ   r"   rÓ   r/  r0  r!   ÚHASATTRrM   rH  rj   r£   )r½   rÑ   r¹   s      rn   Úcall_obj_hasattrz)UserDefinedClassVariable.call_obj_hasattró  sl   € ð Œ;ð 	ÝØ”×&Ò&ÝÔ%¥lÔ&:ÀÐFÑFÔFñô ñô ð õ
 Ô$ R­°´¸TÑ)BÔ)BÑCÔCÐCrp   c                 ól   •— |dk    r| j         j        S t          ¦   «                              ||¦  «        S )Nr�   )r£   r�   rÇ   Úconst_getattr©r½   rÑ   r¹   rË   s      €rn   r  z&UserDefinedClassVariable.const_getattrþ  s3   ø€ Ø�:ÒÐØ”:Ô&Ð&Ý‰wŒw×$Ò$ R¨Ñ.Ô.Ð.rp   c                 óR   — t          |t          j        ¦  «        o| j        |j        u S r   )r  r   rÄ   r£   ©r½   r×   s     rn   Úis_python_equalz(UserDefinedClassVariable.is_python_equal  s(   € å�u�iÔ@ÑAÔAð *Ø”
˜eœkÐ)ð	
rp   c                 ób   — | j         r| j                              |¦  «        S t          d¦  «        ‚)NzKPython codegen not implemented yet for sourceless UserDefinedClassVariable.©rÍ   Úreconstruct_pycoderÔ   ©r½   Úcodegens     rn   r†  z+UserDefinedClassVariable.reconstruct_pycode	  ó7   € ØŒ;ð 	;Ø”;×1Ò1°'Ñ:Ô:Ð:Ý!ØYñ
ô 
ð 	
rp   c                 ó   — | j         S r   r«   rÏ   s    rn   Úget_real_python_backed_valuez5UserDefinedClassVariable.get_real_python_backed_value  râ   rp   ©rÑ   rw   rW   rM   ©F)Ar�   r¿   rÀ   r    r€   rÁ   r   rÈ   r   rÐ   r  r  ÚboolrÖ   rM   rÂ   rß   rá   rä   ré   r‚  r/  r<  r  rð   r  r  r  r   r%  r%   r>  r@  rE  rK  rP  rz  r   r_  rc  rd  r�  r§  rª  r­  r²  rµ  r¹  r¾  rÂ  rÆ  Úsq_ass_item_implr  r  rá  rC  rú  rp  rE  r}  r  rƒ  r†  r‹  Ú__classcell__©rË   s   @rn   rÄ   rÄ     su  ø€ € € € € € à�Œ<ÐÐÑð"˜d 6œlð "°cð "¸dð "ð "ð "ð "ð "ð "ð 8¨C°¨HÔ#5¸Ñ#<ð ð ð ð ð
&Ð7ð &¸EÀ#ÀtÀ)Ô<Lð &ð &ð &ð &ð7Ø-ð7Ø6Eð7ØKNð7à	ð7ð 7ð 7ð 7ð& D¨¤Lð ð ð ð ð˜&ð ð ð ð ð:˜#ð :ð :ð :ð :ð Ø„_ð
 C¨¨V¬Ô$5ð 
ð 
ð 
ñ „_ñ „\ð
ð Ø„_ðF˜s 4¨¤<Ô0ð Fð Fð Fñ „_ñ „\ðFð: Ø„_ð+ s¨3¤xð +ð +ð +ñ „_ñ „\ð+ð( ðE vð E°$ð Eð Eð Eñ „\ðEðR¨4ð Rð Rð Rð Rð¨ð °ð ð ð ð ð)QØ-ð)QØ58ð)Qà	ð)Qð )Qð )Qð )QðV¨#ð °&ð ð ð ð ð-à'ð-ð 
ð-ð -ð -ð -ð	8Ð7ð 	8¸Oð 	8ð 	8ð 	8ð 	8ð ð	1ð 1à'ð1ð ð1ð ð	1ð
 
ð1ð 1ð 1ð 1ð"\
Ø-ð\
Ø58ð\
à	ð\
ð \
ð \
ð \
ð|Tà'ðTð ðTð ð	Tð
 ˜‘ðTð 
ðTð Tð Tð Tð>G;à'ðG;ð ðG;ð ð	G;ð
 ˜‘ðG;ð 
ðG;ð G;ð G;ð G;ðR;à'ð;ð ð;ð ð	;ð
 ˜‘ð;ð 
ð;ð ;ð ;ð ;ð ;ð ;ð 2à'ð2ð ð2ð ð	2ð
 ˜‘ð2ð 
ð2ð 2ð 2ð 2ð4XÐ6ð X¸?ð Xð Xð Xð Xð!Ð7ð !¸Oð !ð !ð !ð !ð!Ð7ð !¸Oð !ð !ð !ð !ð-Ø-ð-Ø5Dð-à	ð-ð -ð -ð -ð -ð -ð(Ð:ð (¸ð (ð (ð (ð (ð (ð (ð	
Ð#>ð 	
À?ð 	
ð 	
ð 	
ð 	
ð	
Ð#>ð 	
À?ð 	
ð 	
ð 	
ð 	
ð

Ð#>ð 

À?ð 

ð 

ð 

ð 

ð=à'ð=ð ð=ð  Ñ%ð	=ð
 
ð=ð =ð =ð =ð =ð =ð* -ÐðEAà'ðEAð �?Ô#ðEAð �S˜/Ð)Ô*ð	EAð
 
ðEAð EAð EAð EAðNY;à'ðY;ð ðY;ð �?Ô#ð	Y;ð
 �S˜/Ð)Ô*ðY;ð 
ðY;ð Y;ð Y;ð Y;ð Y;ð Y;ðv"Ø-ð"à	ÐÔ	 ð"ð "ð "ð "ðy7à'ðy7ð �?Ô#ðy7ð �S˜/Ð)Ô*ð	y7ð
 
ðy7ð y7ð y7ð y7ð y7ð y7ðv( ð (ð (ð (ð (ð	DØ-ð	DØ58ð	Dà	ð	Dð 	Dð 	Dð 	Dð/Ð ;ð /À3ð /È3ð /ð /ð /ð /ð /ð /ð

 Vð 
°ð 
ð 
ð 
ð 
ð
¨Sð 
ð 
ð 
ð 
ð¨fð ð ð ð ð ð ð ð rp   rÄ   c                   ót   ‡ — e Zd Zedee         fd„¦   «         Zdddee         de	e
ef         defˆ fd„Zˆ xZS )Ú!UserDefinedExceptionClassVariablerW   c                 ó   — | j         S r   r«   rÏ   s    rn   re  z$UserDefinedExceptionClassVariable.fn  s
   € àŒzÐrp   rÑ   rw   r]  rÅ   c                 ó^  •— ddl m} | j        €}|j        j                             |                     |t          ¦  «        | t          |¦  «        |¬¦  «        }| 	                    |dt          |¦  «        t          |¦  «        ¦  «         |S t          ¦   «                              |||¦  «        S )NrF   rã  rê  rÈ   )rÙ  rä  rÍ   r-  r`  rò  rÛ   r‚   r  rC  r  rÇ   rp  )r½   rÑ   r]  rÅ   rä  rb  rË   s         €rn   rp  z/UserDefinedExceptionClassVariable.call_function  sª   ø€ ð 	/Ð.Ð.Ð.Ð.Ð.àŒ;Ðð ”)Ô(×FÒFØ!×(Ò(¨­]Ñ;Ô;ØÝ�T‘
”
Øð	 Gñ ô ˆCð �OŠO˜B 
­D°©J¬J½¸V¹¼ÑEÔEÐEØˆJÝ‰wŒw×$Ò$ R¨¨vÑ6Ô6Ð6rp   )r�   r¿   rÀ   r†  r    r€   re  r  rM   r  rÂ   rp  r�  r‘  s   @rn   r“  r“    s›   ø€ € € € € Øð�D˜”Lð ð ð ñ „Xðð7à'ð7ð �?Ô#ð7ð �S˜/Ð)Ô*ð	7ð
 
ð7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7rp   r“  c                   ó   — e Zd ZdS )ÚRemovableHandleClassN©r�   r¿   rÀ   rr   rp   rn   r—  r—  /  s   € € € € € ð 	€Drp   r—  rÑ   rw   re  .r]  rÅ   c                 óD  — ddl m} d„ |D ¦   «         }d„ |                     ¦   «         D ¦   «         }t          | j        j        ¦  «        } ||i |¤Ž}t          |¦  «        }| j        j                             |||f¦  «          || |¦  «                             |¦  «        S )NrF   )ÚVariableBuilderc                 ó6   — g | ]}|                      ¦   «         ‘ŒS rr   rþ  rÿ  s     rn   rù  z"call_random_fn.<locals>.<listcomp>>  s$   € Ð1Ð1Ð1 qˆA× Ò Ñ"Ô"Ð1Ð1Ð1rp   c                 ó>   — i | ]\  }}||                      ¦   «         “ŒS rr   rþ  r  s      rn   r  z"call_random_fn.<locals>.<dictcomp>?  s*   € ÐCÐCÐC©D¨A¨qˆa�×%Ò%Ñ'Ô'ÐCÐCÐCrp   )	rÙ  rš  r*  rë  r-  Úrandom_callsr(   r�   Úwrap_unspecialized_primitive)rÑ   re  r]  rÅ   rš  Úrandom_call_indexÚexample_valuerÍ   s           rn   Úcall_random_fnr¡  6  s½   € ð )Ð(Ð(Ð(Ð(Ð(à1Ð1¨DÐ1Ñ1Ô1€DØCÐC°F·L²L±N´NÐCÑCÔC€FÝ˜BœIÔ2Ñ3Ô3Ðð �B˜Ð' Ð'Ð'€MÝÐ0Ñ1Ô1€FØ„IÔ×!Ò! 2 t¨VÐ"4Ñ5Ô5Ð5ð ˆ?˜2˜vÑ&Ô&×CÒCÀMÑRÔRÐRrp   c                   ó�  ‡ — e Zd ZU dZdZedz  ed<   dZee	         dz  ed<   ddhe
j        £Zdddddœdededz  dedz  d	edz  d
ee         dz  de	ddfˆ fd„Zdefd„Zdefd„ZdŠd„Zdddefd„Zd„ Zdefd„Zdefd„Zdefˆ fd„Zdefˆ fd„Zdefˆ fd„Zddœddded edeeedz  f         fd!„Z	 	 	 	 d‹d#„Z dddefˆ fd$„Z!dddefˆ fd%„Z"dddefˆ fd&„Z#dddefˆ fd'„Z$dddefd(„Z%dddefd)„Z&dddefd*„Z'dŒd+„Z(dddefd,„Z)ddd-ed.d/d0e*e	         de+ee	f         defd1„Z,ddd2edefˆ fd3„Z-dddefˆ fd4„Z.dddefˆ fd5„Z/e0e1j2        dee	         fd6„¦   «         ¦   «         Z3ddd7edefˆ fd8„Z4ddd9edefˆ fd:„Z5ddd9edefˆ fd;„Z6ddd7ededz  defˆ fd<„Z7e7Z8ddded0ee         defd=„Z9ddd>ed?ed@edAe:dBedefdC„Z;	 d�ddd>edBedefdE„Z<	 d�ddd>edBedefdF„Z=ddd>edefdG„Z>	 d�ddd>edBedefdH„Z?ddd>edefdI„Z@	 d�ddd>edBedefdJ„ZAddd>edefdK„ZB	 d�ddd>edBedefdL„ZCddd>edefdM„ZD	 d�ddd>edBedefdN„ZEddd>edefdO„ZF	 d�ddd>edBedefdP„ZGddd>edefdQ„ZH	 d�ddd>edBedefdR„ZIddd>edefdS„ZJddd>edefdT„ZK	 d�ddd>edBedefdU„ZLddd>edefdV„ZM	 d�ddd>edBedefdW„ZNddd>edefdX„ZO	 d�ddd>edBedefdY„ZPddd>edefdZ„ZQ	 d�ddd>edBedefd[„ZRddded0ee	         de+ee	f         def
ˆ fd\„ZSddd>edefd]„ZTddd>edefd^„ZUdddefd_„ZVdddefd`„ZWdddefda„ZXdddededefdb„ZYdefdc„ZZdddee         fdd„Z[defde„Z\ddd0ee         de+eef         defˆ fdf„Z]defdg„Z^dhedefdi„Z_dedefdj„Z`dedefdk„Zaddd7edefdl„Zbdddedecfdm„Zddddedefdn„Zedddedefdo„Zfdddedpedqedz  def
dr„Zgdddedpedqedz  def
ds„Zhdddedtedqedz  def
du„Zidddedqedz  dedz  fdv„Zjdddeddwfdx„Zkdefdy„Zldddee:ef         fdz„Zmddd>ed{edefd|„Znd>edefd}„Zo	 	 	 	 	 	 	 	 	 	 	 	 dŽd†„Zp	 	 	 	 	 	 	 	 	 	 	 	 	 	 d�d‰„Zqˆ xZrS )�rœ  z_
    Mostly objects of defined type.  Catch-all for something where we only know the type.
    Nr^  Ú_base_methodsr£   Ú
value_type)r¤  Ú
cls_sourceÚbase_cls_vtrô  r¥  r¦  rô  rÅ   rW   c                óØ  •— |                      dd ¦  «          t          ¦   «         j        di |¤Ž || _        |pt	          |¦  «        | _        t	          |¦  «        | j        ur't          d| j        › dt	          |¦  «        › �¦  «        ‚|| _        |€ | j        �t          | j        ¦  «        | _        || _
        || _        d | _        i | _        i | _        dd lmc m} |                     | j        ¦  «        | _        |                     | j        ¦  «        r8| j        r1t)          | j                             t,          j        ¦  «        ¦  «         t1          | j        ¦  «        | _        d S )NrÑ   zExpected type z, got r   rr   )ÚpoprÇ   rÈ   r£   r    r¤  r4  r¥  rÍ   r+   r¦  rô  Údict_vtÚ_looked_up_attrsÚ_subobj_from_classÚtorch.utils._pytreeÚutilsÚ_pytreeÚis_constant_classÚis_pytree_constant_classr"   rÓ   r!   ÚEQUALS_MATCHr=   Ú_object_has_getattribute)	r½   r£   r¤  r¥  r¦  rô  rÅ   ÚpytreerË   s	           €rn   rÈ   z"UserDefinedObjectVariable.__init__`  sk  ø€ ð 	�
Š
�4˜ÑÔÐØ�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"ØˆŒ
Ø$Ð3­¨U©¬ˆŒÝ�‰;Œ;˜dœoÐ-Ð-Ý Ð!V°$´/Ð!VÐ!VÍÈeÉÌÐ!VÐ!VÑWÔWÐWà$ˆŒØÐ $¤+Ð"9Ý(¨¬Ñ5Ô5ˆDŒOð 'ˆÔØ"ˆŒð 37ˆŒð
 46ˆÔð 68ˆÔà,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,à(.×(@Ò(@ÀÄÑ(QÔ(QˆÔ%Ø×#Ò# D¤OÑ4Ô4ð 	M¸¼ð 	MÝ˜$œ+×0Ò0µÔ1JÑKÔKÑLÔLÐLå(?ÀÄ
Ñ(KÔ(KˆÔ%Ð%Ð%rp   c                 óŒ   — | j         j        }|dv r#t          t          | j        dd ¦  «        ¦  «        }| j        j        › d|› d�S )N)Úbuiltin_function_or_methodÚgetset_descriptorÚmethod_descriptorrõ  r�   rç   rè   )r¤  r�   rÂ   rk   r£   rË   )r½   Úinners     rn   Ú__str__z!UserDefinedObjectVariable.__str__�  sW   € Ø”Ô(ˆØð 
ð 
ð 
õ � ¤
¨J¸Ñ=Ô=Ñ>Ô>ˆEØ”.Ô)Ð4Ð4¨EÐ4Ð4Ð4Ð4rp   c                 ó:   — | j         j        › d| j        j        › d�S ræ   ©rË   r�   r¤  rÏ   s    rn   ré   z"UserDefinedObjectVariable.__repr__›  ó#   € Ø”.Ô)ÐGÐG¨D¬OÔ,DÐGÐGÐGÐGrp   rÑ   rw   rz   c                 óh   — | j         €%t          j                             || ¦  «        | _         | j         S r   )r©  r   rz   rÛ   rÕ   s     rn   Úget_dict_vtz%UserDefinedObjectVariable.get_dict_vtž  s,   € ØŒ<ÐÝ$Ô7×>Ò>¸rÀ4ÑHÔHˆDŒLØŒ|Ðrp   r`  rv   c                 óH   — | j         �|                     | j         ¦  «        S dS ©NF)r^  Úis_modified)r½   r`  s     rn   Úis_base_vt_modifiedz-UserDefinedObjectVariable.is_base_vt_modified£  s%   € ØŒ=Ð$Ø×+Ò+¨D¬MÑ:Ô:Ð:Øˆurp   c                 ób   — | j         r| j                              |¦  «        S t          d¦  «        ‚)NzKPython codegen not implemented yet for sourceless UserDefinedObjectVariabler…  r‡  s     rn   r†  z,UserDefinedObjectVariable.reconstruct_pycode¨  r‰  rp   c                 ó   — | j         S r   ©r¤  rÏ   s    rn   Úpython_typez%UserDefinedObjectVariable.python_type¯  s
   € ØŒÐrp   c                 ó   — | j         S r   r«   rÏ   s    rn   r‹  z6UserDefinedObjectVariable.get_real_python_backed_value²  râ   rp   c                 ó¢  •— ddl m} t          | j        t          j        t          j        t          j        j	        j
        f¦  «        s || j        ¦  «        r| j        S ddlm}  |¦   «         r,dd lm} t          | j        |j        ¦  «        r| j        j        S | j        r| j        r| j        S ddlm} t          | j        |¦  «        rfddlm} |                     ¦   «         }|�J|j        rC|j        j                             | dd¬	¦  «        }|�|                     ¦   «         } ||¦  «        S t9          ¦   «                              ¦   «         S )
Nr   )r7   r   )Úhas_triton_package)Ú_MaskModWrapper©ÚInstructionTranslatorre  T©Ú
deleted_ok)r­  r7   r  r£   r  r  rë   ÚDispatchKeyÚ_CÚ
_functorchÚTransformTypeÚtorch.utils._tritonrÉ  Útriton.languageÚlanguageÚ	constexprr°  rÍ   Ú!torch.nn.attention.flex_attentionrÊ  Útorch._dynamo.symbolic_convertrÌ  Ú
current_txÚexportr-  r`  rb  rá   rÇ   )
r½   r7   rÉ  ÚtlrÊ  rÌ  rÑ   Úfn_vtre  rË   s
            €rn   rá   z,UserDefinedObjectVariable.as_python_constantµ  sŽ  ø€ Ø3Ð3Ð3Ð3Ð3Ð3åØŒJÝŒY�Ô)­5¬8Ô+>Ô+LÐMñ
ô 
ð 	ð %Ð$ T¤ZÑ0Ô0ð	ð ”:Ðà:Ð:Ð:Ð:Ð:Ð:àÐÑÔð 	(Ø(Ð(Ð(Ð(Ð(Ð(å˜$œ* b¤lÑ3Ô3ð (Ø”zÔ'Ð'àÔ(ð 	¨T¬[ð 	ð ”:Ðð 	FÐEÐEÐEÐEÐEå�d”j /Ñ2Ô2ð 
	/ØLÐLÐLÐLÐLÐLà&×1Ò1Ñ3Ô3ˆBØˆ~ "¤)ˆ~Øœ	Ô.×8Ò8¸¸tÐPTÐ8ÑUÔU�ØÐ$ð ×1Ò1Ñ3Ô3�BØ*˜?¨2Ñ.Ô.Ð.å‰wŒw×)Ò)Ñ+Ô+Ð+rp   c                 óì   •— t          | j        t          j        ¦  «        r5t          | j        t          ¦  «        rt	          | j        ¦  «        S | j        S t          ¦   «                              ¦   «         S r   )r  r£   r  r  r  rÇ   rä   ©r½   rË   s    €rn   rä   z"UserDefinedObjectVariable.as_proxyà  sY   ø€ Ý�d”j¥$¤)Ñ,Ô,ð 	Ý˜$œ*¥cÑ*Ô*ð 'Ý˜4œ:‘”Ð&Ø”:ÐÝ‰wŒw×ÒÑ!Ô!Ð!rp   c                 óÂ   •— | j         r8t          | j                              t          j        ¦  «        ¦  «         | j        S t          ¦   «                              ¦   «         S r   )rÍ   r"   rÓ   r!   ÚID_MATCHr£   rÇ   Úguard_as_python_constantrÞ  s    €rn   rá  z2UserDefinedObjectVariable.guard_as_python_constantç  sL   ø€ ØŒ;ð 	Ý˜$œ+×0Ò0µÔ1FÑGÔGÑHÔHÐHØ”:ÐÝ‰wŒw×/Ò/Ñ1Ô1Ð1rp   rG  ©Ú
none_errorr¹   rã  c                ó¨   — |                       |¦  «        }|€t          ||¦  «         d}|t          ur| j        r|                      ||¦  «        }||fS )zKWalk class MRO for *name*, raising TypeError when slot is blocked (= None).N)Úlookup_class_mro_attrr   rK   rÍ   r>  )r½   rÑ   r¹   rã  rJ  rÍ   s         rn   Ú_lookup_slot_type_attrz0UserDefinedObjectVariable._lookup_slot_type_attrí  sd   € ð ×.Ò.¨tÑ4Ô4ˆ	ØÐÝ˜R Ñ,Ô,Ð,àˆØ�NÐ*Ð*¨t¬{Ð*Ø×3Ò3°B¸Ñ=Ô=ˆFØ˜&Ð Ð rp   úVariableTracker | Nonec                 ó`  — d}t           j        dk    rd|                      ¦   «         › d�}|                      |d|¬¦  «        \  }}|t          u rd S |                      |dg i ¦  «        }|                     ¦   «         t          ur*t          |d|                     ¦   «         j	        › �¦  «         |S )NrG  )é   é   r[  z$' cannot be interpreted as a booleanrB  râ  z&__bool__ should return bool, returned )
r”   Úversion_infor¥  ræ  rK   rC  rÆ  rŽ  r   r�   )r½   rÑ   rã  rJ  Ú_rÞ   s         rn   rE  z#UserDefinedObjectVariable.bool_implþ  sÕ   € ð 9ˆ
ÝÔ˜wÒ&Ð&àQ�D×)Ò)Ñ+Ô+ÐQÐQÐQð ð ×2Ò2Ø�
 zð 3ñ 
ô 
‰ˆ	�1ð �Ð&Ð&Ø�4à×!Ò! " j°"°bÑ9Ô9ˆØ×ÒÑÔ¥tÐ+Ð+ÝØØX¸×9KÒ9KÑ9MÔ9MÔ9VÐXÐXñô ð ð ˆrp   c                 ód  •— |                       d¦  «        }|t          u r!t          ¦   «                              |¦  «        S |€t	          |d¦  «         |                      d¦  «        }| j        �*| j        �#|| j        v r| j                             |¦  «        S t          | j	        ¦  «        j
        t          j
        u r't          j        |t          | j	        ¦  «        ¦  «        S t          |¦  «        s8t           j        j        j                             |¦  «        st+          |¦  «        rÏ	  t-          j        t          |¦  «        d¦  «        || j	        t          | j	        ¦  «        ¦  «         t1          ddt          | j	        ¦  «        j        › �dg t4          j        ¢d¬¦  «         nO# t8          t:          f$ r;}t=          t          |¦  «        |t?          |j         ¦  «        ¬	¦  «         Y d }~nd }~ww xY w| j!        o|  "                    |d¦  «        }|  #                    |d||¦  «        }tI          |tJ          j&        ¦  «        s| '                    |g i ¦  «        S 	  t-          j        t          |¦  «        d¦  «        || j	        t          | j	        ¦  «        ¦  «         t1          ddt          | j	        ¦  «        j        › �dg t4          j        ¢d¬¦  «         d S # t8          t:          f$ r<}t=          t          |¦  «        |t?          |j         ¦  «        ¬	¦  «         Y d }~d S d }~ww xY w)
Nré   rG  r¯   z!untraceable user-defined __repr__z&Could not trace __repr__ override for zBDynamo could not safely trace this user-defined __repr__ override.T)rT  rU  rV  rW  Ú
skip_framer\  )(rå  rK   rÇ   rK  r   r¾   r^  r£  r    r£   ré   r€   rM   rH  rI  r9   rë   rÐ  rM  r­  Úis_instancemethodr¢   r§   r»   r   r�   r   r^  r¼   rµ   r   r  r]  rÍ   r>  Úresolve_type_attrr  r   rm  rp  )r½   rÑ   rJ  rõ  rd  rÍ   Ú
method_varrË   s          €rn   rK  z#UserDefinedObjectVariable.repr_impl  sK  ø€ ð
 ×.Ò.¨zÑ:Ô:ˆ	Ø�Ð&Ð&Ý‘7”7×$Ò$ RÑ(Ô(Ð(ØÐÝ˜RÐ!DÑEÔEÐEà×1Ò1°*Ñ=Ô=ˆàŒMÐ%ØÔ"Ð.Ø˜$Ô,Ð,Ð,à”=×*Ò*¨2Ñ.Ô.Ð.å�”
ÑÔÔ$­¬Ð7Ð7Ý"Ô(¨­T°$´*Ñ-=Ô-=Ñ>Ô>Ð>õ ,¨IÑ6Ô6ð	åŒxÔÔ%×7Ò7¸	ÑBÔBð	õ " )Ñ,Ô,ð	ð
ØB•Ô&¥t¨I¡¤¸	ÑBÔBØ˜tœz­4°´
Ñ+;Ô+;ñô ð õ Ø?Ø`ÅTÈ$Ì*ÑEUÔEUÔE^Ð`Ð`Ø dØ:Õ-Ô9Ð:Ø#ðñ ô ð ð øõ #¥IÐ.ð Ið Ið IÝ(­¨a©¬°"½4ÀÄ¹<¼<ÐHÑHÔHÐHÐHÐHÐHÐHÐHøøøøðIøøøð ”ÐO ×!?Ò!?ÀÀJÑ!OÔ!OˆØ×+Ò+¨B°
¸IÀvÑNÔNˆ
Ý˜*¥iÔ&?Ñ@Ô@ð 	8Ø×+Ò+¨B°°BÑ7Ô7Ð7ð	Ø>�GÔ"¥4¨	¡?¤?°IÑ>Ô>Ø˜4œ:¥t¨D¬JÑ'7Ô'7ñô ð õ Ø;Ø\ÅÀdÄjÑAQÔAQÔAZÐ\Ð\Ø`Ø6Õ)Ô5Ð6Øðñ ô ð ð ð øõ ¥	Ð*ð 	Eð 	Eð 	EÝ$¥T¨!¡W¤W¨bµt¸A¼F±|´|ÐDÑDÔDÐDÐDÐDÐDÐDÐDÐDøøøøð	Eøøøs2   Ä-AF, Æ,G8Æ=1G3Ç3G8É"AK" Ë"L/Ë31L*Ì*L/c           	      óâ  •— |                       |d¦  «        \  }}|t          u r!t          ¦   «                              |¦  «        S |                      |d||¦  «        }|                     |g i ¦  «        }|                     ¦   «         rgt          |                     ¦   «         t          ¦  «        s@t          t          |dt          |                     ¦   «         ¦  «        j        › d�g¬¦  «         |S )NÚ	__index__z!__index__ returned non-int (type rè   r\  )ræ  rK   rÇ   Únb_index_implrð  rp  rD  r  rá   r  r   rµ   r    r�   ©r½   rÑ   rJ  rÍ   rñ  rÞ   rË   s         €rn   rô  z'UserDefinedObjectVariable.nb_index_implU  sú   ø€ ð
 !×7Ò7¸¸KÑHÔHÑˆ	�6Ø�Ð&Ð&Ý‘7”7×(Ò(¨Ñ,Ô,Ð,Ø×+Ò+¨B°¸YÈÑOÔOˆ
Ø×)Ò)¨"¨b°"Ñ5Ô5ˆð ×$Ò$Ñ&Ô&ð 		­zØ×%Ò%Ñ'Ô'­ñ0
ô 0
ð 		õ %ÝØàe½¸V×=VÒ=VÑ=XÔ=XÑ8YÔ8YÔ8bÐeÐeÐeððñ ô ð ð ˆrp   c                 ó   •— |                       |d¦  «        \  }}|t          u r!t          ¦   «                              |¦  «        S |                      |d||¦  «        }|                     |g i ¦  «        }t          |                     ¦   «         t          ¦  «        s3t          t          |d|                     ¦   «         j        › d�g¬¦  «         |S )NÚ__int__z__int__ returned non-int (type rè   r\  )ræ  rK   rÇ   Únb_int_implrð  rp  r
  rÆ  r  r   rµ   r�   rõ  s         €rn   rø  z%UserDefinedObjectVariable.nb_int_implm  sÖ   ø€ ð !×7Ò7¸¸IÑFÔFÑˆ	�6Ø�Ð&Ð&Ý‘7”7×&Ò& rÑ*Ô*Ð*Ø×+Ò+¨B°	¸9ÀfÑMÔMˆ
Ø×)Ò)¨"¨b°"Ñ5Ô5ˆÝ˜&×,Ò,Ñ.Ô.µÑ4Ô4ð 	Ý$ÝØàV°f×6HÒ6HÑ6JÔ6JÔ6SÐVÐVÐVððñ ô ð ð ˆrp   c                 ó   •— |                       |d¦  «        \  }}|t          u r!t          ¦   «                              |¦  «        S |                      |d||¦  «        }|                     |g i ¦  «        }t          |                     ¦   «         t          ¦  «        s3t          t          |d|                     ¦   «         j        › d�g¬¦  «         |S )NÚ	__float__z#__float__ returned non-float (type rè   r\  )ræ  rK   rÇ   Únb_float_implrð  rp  r
  rÆ  r  r   rµ   r�   rõ  s         €rn   rû  z'UserDefinedObjectVariable.nb_float_impl‚  sÖ   ø€ ð !×7Ò7¸¸KÑHÔHÑˆ	�6Ø�Ð&Ð&Ý‘7”7×(Ò(¨Ñ,Ô,Ð,Ø×+Ò+¨B°¸YÈÑOÔOˆ
Ø×)Ò)¨"¨b°"Ñ5Ô5ˆÝ˜&×,Ò,Ñ.Ô.µÑ6Ô6ð 	Ý$ÝØàZ¸&×:LÒ:LÑ:NÔ:NÔ:WÐZÐZÐZððñ ô ð ð ˆrp   c                 óX  — |                       d¦  «        }|t          u r&t          |d|                      ¦   «         › d�¦  «         |€t          |d¦  «         |                      d¦  «        }|€&t          |d|                      ¦   «         › d�¦  «         |                      |dg i ¦  «        S )Nr·  r¸  r[  rG  ©rå  rK   r   r¥  r¾   rC  ©r½   rÑ   rJ  rõ  s       rn   r¹  z*UserDefinedObjectVariable.nb_negative_impl—  sÍ   € ð ×.Ò.¨yÑ9Ô9ˆ	Ø�Ð&Ð&ÝØÐP°d×6KÒ6KÑ6MÔ6MÐPÐPÐPñô ð ð ÐÝ˜RÐ!DÑEÔEÐEà×1Ò1°)Ñ<Ô<ˆØˆ>ÝØÐP°d×6KÒ6KÑ6MÔ6MÐPÐPÐPñô ð ð ×Ò  I¨r°2Ñ6Ô6Ð6rp   c                 óX  — |                       d¦  «        }|t          u r&t          |d|                      ¦   «         › d�¦  «         |€t          |d¦  «         |                      d¦  «        }|€&t          |d|                      ¦   «         › d�¦  «         |                      |dg i ¦  «        S )Nr¼  r½  r[  rG  rý  rþ  s       rn   r¾  z*UserDefinedObjectVariable.nb_positive_impl­  sÍ   € ð ×.Ò.¨yÑ9Ô9ˆ	Ø�Ð&Ð&ÝØÐP°d×6KÒ6KÑ6MÔ6MÐPÐPÐPñô ð ð ÐÝ˜RÐ!DÑEÔEÐEà×1Ò1°)Ñ<Ô<ˆØˆ>ÝØØL°$×2GÒ2GÑ2IÔ2IÐLÐLÐLñô ð ð
 ×Ò  I¨r°2Ñ6Ô6Ð6rp   c                 óX  — |                       d¦  «        }|t          u r&t          |d|                      ¦   «         › d�¦  «         |€t          |d¦  «         |                      d¦  «        }|€&t          |d|                      ¦   «         › d�¦  «         |                      |dg i ¦  «        S )NrÀ  rÁ  r[  rG  rý  rþ  s       rn   rÂ  z*UserDefinedObjectVariable.nb_absolute_implÄ  sÍ   € ð ×.Ò.¨yÑ9Ô9ˆ	Ø�Ð&Ð&ÝØØJ°×0EÒ0EÑ0GÔ0GÐJÐJÐJñô ð ð ÐÝ˜RÐ!DÑEÔEÐEà×1Ò1°)Ñ<Ô<ˆØˆ>ÝØØJ°×0EÒ0EÑ0GÔ0GÐJÐJÐJñô ð ð
 ×Ò  I¨r°2Ñ6Ô6Ð6rp   c                 óH   — t          | ¦  «        st          d| › �¦  «        ‚d S )Nz<calling torch function on object without __torch_function__ )r4   r4  rÏ   s    rn   Útorch_function_checkz.UserDefinedObjectVariable.torch_function_checkÜ  s9   € Ý! $Ñ'Ô'ð 	Ý ØUÈtÐUÐUñô ð ð	ð 	rp   c                 óN   — |                       ¦   «          ddlm}  ||| ¦  «        S )NrF   )Úget_torch_function_fn)r  Útorch_functionr  )r½   rÑ   r  s      rn   Úget_torch_fnz&UserDefinedObjectVariable.get_torch_fnâ  s9   € Ø×!Ò!Ñ#Ô#Ð#Ø9Ð9Ð9Ð9Ð9Ð9à$Ð$ R¨Ñ.Ô.Ð.rp   re  re  r|   r]  c                 ó|   — |                       ¦   «          ddlm}  |||                      |¦  «        ||||¦  «        S )NrF   )Úcall_torch_function)r  r  r  r  )r½   rÑ   re  re  r]  rÅ   r  s          rn   r  z-UserDefinedObjectVariable.call_torch_functionè  s]   € ð 	×!Ò!Ñ#Ô#Ð#à7Ð7Ð7Ð7Ð7Ð7à"Ð"ØØ×Ò˜bÑ!Ô!ØØØØñ
ô 
ð 	
rp   r®  c                 ót  •— |                       d¦  «        }| j        �+| j        �$|| j        v r| j                             ||¦  «        S t	          |t
          j        ¦  «        r5|                      |d|| j        ¦  «        }| 	                    ||gi ¦  «        S t          ¦   «                              ||¦  «        S r°  )r¾   r^  r£  r²  r  re  rn  rð  rÍ   rp  rÇ   )r½   rÑ   r®  rõ  rñ  rË   s        €rn   r²  z%UserDefinedObjectVariable.sq_containsý  s³   ø€ ð ×1Ò1°.ÑAÔAˆàŒMÐ%ØÔ"Ð.Ø˜$Ô,Ð,Ð,à”=×,Ò,¨R°Ñ6Ô6Ð6å�f�eÔ0Ñ1Ô1ð 	<Ø×/Ò/°°NÀFÈDÌKÑXÔXˆJØ×+Ò+¨B°°¸Ñ;Ô;Ð;Ý‰wŒw×"Ò" 2 tÑ,Ô,Ð,rp   c                 ón  •— |                       d¦  «        }| j        �*| j        �#|| j        v r| j                             |¦  «        S t	          |t
          j        ¦  «        r4|                      |d|| j        ¦  «        }| 	                    |g i ¦  «        S t          ¦   «                              |¦  «        S )NÚ__next__)r¾   r^  r£  Útp_iternext_implr  re  rn  rð  rÍ   rp  rÇ   )r½   rÑ   rõ  rñ  rË   s       €rn   r  z*UserDefinedObjectVariable.tp_iternext_impl  s«   ø€ Ø×1Ò1°*Ñ=Ô=ˆàŒMÐ%ØÔ"Ð.Ø˜$Ô,Ð,Ð,à”=×1Ò1°"Ñ5Ô5Ð5å�f�eÔ0Ñ1Ô1ð 	8Ø×/Ò/°°JÀÈÌÑTÔTˆJØ×+Ò+¨B°°BÑ7Ô7Ð7Ý‰wŒw×'Ò'¨Ñ+Ô+Ð+rp   c                 ó¦  •— |                       |dd|                      ¦   «         › d�¬¦  «        \  }}| j        �*| j        �#|| j        v r| j                             |¦  «        S t          |t          j        ¦  «        r4|                      |d|| j	        ¦  «        }| 
                    |g i ¦  «        S t          ¦   «                              |¦  «        S )Nr´  r[  z' object is not iterablerâ  )ræ  r¥  r^  r£  rµ  r  re  rn  rð  rÍ   rp  rÇ   )r½   rÑ   rõ  r£  rñ  rË   s        €rn   rµ  z&UserDefinedObjectVariable.tp_iter_impl  sÙ   ø€ Ø ×7Ò7ØØØL˜4×0Ò0Ñ2Ô2ÐLÐLÐLð 8ñ 
ô 
Ñˆ�	ð ŒMÐ%ØÔ"Ð.Ø˜$Ô,Ð,Ð,à”=×-Ò-¨bÑ1Ô1Ð1å�f�eÔ0Ñ1Ô1ð 	8Ø×/Ò/°°JÀÈÌÑTÔTˆJØ×+Ò+¨B°°BÑ7Ô7Ð7Ý‰wŒw×#Ò# BÑ'Ô'Ð'rp   c                  ób   — t           j         t           j        t           j        t           j        h} | S r   )rY  ÚrandintÚ	randrangeÚuniform)Úfnss    rn   Ú_supported_random_functionsz5UserDefinedObjectVariable._supported_random_functions-  s'   € õ ŒMÝŒNÝÔÝŒNð	
ˆð ˆ
rp   r(  c                 óx  •— |                       |d¦  «        \  }}| j        �+| j        �$|| j        v r| j                             ||¦  «        S t	          |t
          j        ¦  «        r3t          j        || || j	        ¬¦  «         
                    ||gi ¦  «        S t          ¦   «                              ||¦  «        S )NÚ__getitem__©r£  rÍ   )ræ  r^  r£  Úmp_subscript_implr  re  rn  r   ro  rÍ   rp  rÇ   )r½   rÑ   r(  rõ  r£  rË   s        €rn   r  z+UserDefinedObjectVariable.mp_subscript_impl8  s¿   ø€ ð !×7Ò7¸¸MÑJÔJÑˆ�	àŒMÐ%ØÔ"Ð.Ø˜$Ô,Ð,Ð,à”=×2Ò2°2°sÑ;Ô;Ð;Ý�f�eÔ0Ñ1Ô1ð 	+ÝÔ/Ø˜¨	¸$¼+ðñ ô çŠm˜B   rÑ*Ô*ð+õ ‰wŒw×(Ò(¨¨SÑ1Ô1Ð1rp   Úcountc                 óŒ   •— | j         �| j                              ||¦  «        S t          ¦   «                              ||¦  «        S r   )r^  Úsq_repeat_implrÇ   ©r½   rÑ   r  rË   s      €rn   r  z(UserDefinedObjectVariable.sq_repeat_implK  s?   ø€ ð Œ=Ð$Ø”=×/Ò/°°EÑ:Ô:Ð:Ý‰wŒw×%Ò% b¨%Ñ0Ô0Ð0rp   c                 óŒ   •— | j         �| j                              ||¦  «        S t          ¦   «                              ||¦  «        S r   )r^  Úsq_inplace_repeat_implrÇ   r  s      €rn   r  z0UserDefinedObjectVariable.sq_inplace_repeat_implX  s?   ø€ ð
 Œ=Ð$Ø”=×7Ò7¸¸EÑBÔBÐBÝ‰wŒw×-Ò-¨b°%Ñ8Ô8Ð8rp   c                 óÞ  •— |d u }|rdnd}|                       ||¦  «        \  }}| j        �,| j        �%|| j        v r| j                             |||¦  «        S t	          |t
          j        ¦  «        rZ|r|gn||g}t          j        || || j	        ¬¦  «         
                    ||i ¦  «         t          j                             d ¦  «        S t          ¦   «                              |||¦  «        S )NrÄ  rÅ  r  )ræ  r^  r£  rÆ  r  re  rn  r   ro  rÍ   rp  ry   rÛ   rÇ   )
r½   rÑ   r(  r£   rÇ  rÈ  rõ  r£  r]  rË   s
            €rn   rÆ  z/UserDefinedObjectVariable.mp_ass_subscript_impla  sÿ   ø€ ð ˜T�Mˆ	Ø )Ð<ˆ}ˆ}¨}ˆØ ×7Ò7¸¸DÑAÔAÑˆ�	àŒMÐ%ØÔ"Ð.Ø˜$Ô,Ð,Ð,à”=×6Ò6°r¸3ÀÑFÔFÐFÝ�f�eÔ0Ñ1Ô1ð 	;Ø%Ð7�C�5�5¨C°¨<ˆDÝÔ(Ø˜¨	¸$¼+ðñ ô çŠm˜B  bÑ)Ô)Ð)ÝÔ-×4Ò4°TÑ:Ô:Ð:Ý‰wŒw×,Ò,¨R°°eÑ<Ô<Ð<rp   c           	      óV  — |                       |¦  «        }|€$t          j                             t          ¦  «        S | j        �:| j        �3|| j        v r*| j                             ||t          |¦  «        i ¦  «        S t          |t          j        ¦  «        sSt          dd|› d|                      ¦   «         › d|› �d|› d|                      ¦   «         › d�g t          j        ¢¬¦  «         |                      |||| j        ¦  «        }|                     |t          |¦  «        i ¦  «        S )	Nz'vectorcall_maybe on C method descriptorúname=z, type=ú	, method=zCannot trace special method 'z)' implemented in C on user-defined type 'z'.rS  )r¾   r   ry   rÛ   rÜ   r^  r£  rC  r  r  re  rn  r   r¥  r   r^  rð  rÍ   rp  )r½   rÑ   r¹   r]  rõ  rñ  s         rn   Ú_vectorcall_maybez+UserDefinedObjectVariable._vectorcall_maybe|  sN  € ð  ×1Ò1°$Ñ7Ô7ˆØˆ>ÝÔ-×4Ò4µ^ÑDÔDÐDð
 ŒMÐ%ØÔ"Ð.Ø˜$Ô,Ð,Ð,à”=×,Ò,¨R°µt¸D±z´zÀ2ÑFÔFÐFÝ˜&¥%Ô"4Ñ5Ô5ð 	õ ØAØW ÐWÐW¨T×-BÒ-BÑ-DÔ-DÐWÐWÈvÐWÐWðI°Dð Ið IØ-1×-BÒ-BÑ-DÔ-DðIð Ið Ið 7Õ)Ô5Ð6ðñ ô ð ð ×+Ò+¨B°°f¸d¼kÑJÔJˆ
ð ×'Ò'¨­D°©J¬J¸Ñ;Ô;Ð;rp   r×   rm   ÚrdunderÚnb_slotrL  c                 óæ  — dt           dt           dt          fd„}dt           dt           dt          fd„}|r|| fn| |f\  }	}
|	                     ¦   «         }|
                     ¦   «         } |||¦  «         o$t          ||¦  «        ot	          |
t
          ¦  «        }t	          |	t
          ¦  «        r¬t          ||¦  «        rœ|re |||¦  «        rY|	                     |¦  «        |
                     |¦  «        k    }|r+|
                     |||	g¦  «        }t          |¦  «        s|S d}|	                     |||
g¦  «        }t          |¦  «        r |||¦  «        r|S |rrt	          |
t
          ¦  «        st          dt          |
¦  «        › �¦  «        ‚|
                     |¦  «        r)|
                     |||	g¦  «        }t          |¦  «        s|S t          j                             t          ¦  «        S )NÚw_typeÚv_typerW   c                 ó
   — | |u S r   rr   ©r&  r'  s     rn   Ú
py_is_typez6UserDefinedObjectVariable.SLOT1BIN.<locals>.py_is_typeë  s   € Ø˜VÐ#Ð#rp   c                 ó"   — t          | |¦  «        S r   )r
  r)  s     rn   Úpy_is_subtypez9UserDefinedObjectVariable.SLOT1BIN.<locals>.py_is_subtypeî  s   € Ý˜f fÑ-Ô-Ð-rp   Fz(Expected UserDefinedObjectVariable, got )r    rŽ  rÆ  rS   r  rœ  r¾   r"  rR   r4  r   ry   rÛ   rÜ   )r½   rÑ   r×   rm   r#  r$  rL  r*  r,  Úself_Úother_Ús_typeÚo_typeÚdo_otherÚmethod_is_overloadedÚrs                   rn   ÚSLOT1BINz"UserDefinedObjectVariable.SLOT1BIN¬  sc  € ð~	$�tð 	$­Tð 	$µdð 	$ð 	$ð 	$ð 	$ð	.¥$ð 	.µð 	.½ð 	.ð 	.ð 	.ð 	.ð *1ÐC˜ ˜˜°t¸U°m‰ˆˆvà×"Ò"Ñ$Ô$ˆØ×#Ò#Ñ%Ô%ˆð �
˜6 6Ñ*Ô*Ð*ð >Ý'¨°Ñ8Ô8ð>å˜6Õ#<Ñ=Ô=ð 	õ �eÕ6Ñ7Ô7ð 	Õ<SØ�Gñ=
ô =
ð 	ð ð 	%˜M˜M¨&°&Ñ9Ô9ð 	%à',×'HÒ'HØñ(ô (à×7Ò7¸Ñ@Ô@ò(AÐ$ð (ð %Ø×0Ò0°°W¸u¸gÑFÔF�AÝ0°Ñ3Ô3ð !Ø ˜Ø$�Hà×'Ò'¨¨F°V°HÑ=Ô=ˆAÝ(¨Ñ+Ô+ð ¨z¨z¸&À&Ñ/IÔ/Ið Ø�àð 	Ý˜fÕ&?Ñ@Ô@ð Ý$ØM½tÀF¹|¼|ÐMÐMñô ð ð ×1Ò1°'Ñ:Ô:ð Ø×,Ò,¨R°¸5¸'ÑBÔB�Ý,¨QÑ/Ô/ð Ø�HåÔ)×0Ò0µÑ@Ô@Ð@rp   Fc                 óL   — |                       ||ddt          j        |¬¦  «        S )NÚ__mul__Ú__rmul__©r$  rL  )r4  r   ÚNB_MULTIPLY©r½   rÑ   r×   rL  s       rn   Únb_multiply_implz*UserDefinedObjectVariable.nb_multiply_impl	  s4   € ð �}Š}ØØØØÝ!Ô-Øð ñ 
ô 
ð 	
rp   c                 óL   — |                       ||ddt          j        |¬¦  «        S )NÚ
__lshift__Ú__rlshift__r8  )r4  r   Ú	NB_LSHIFTr:  s       rn   Únb_lshift_implz(UserDefinedObjectVariable.nb_lshift_impl*	  ó4   € ð �}Š}ØØØØÝ!Ô+Øð ñ 
ô 
ð 	
rp   c                 ó4   — |                       |d|gi ¦  «        S )NÚ__ilshift__©rC  ©r½   rÑ   r×   s      rn   Únb_inplace_lshift_implz0UserDefinedObjectVariable.nb_inplace_lshift_impl:	  ó    € ð
 ×Ò  M°E°7¸BÑ?Ô?Ð?rp   c                 óL   — |                       ||ddt          j        |¬¦  «        S )NÚ
__rshift__Ú__rrshift__r8  )r4  r   Ú	NB_RSHIFTr:  s       rn   Únb_rshift_implz(UserDefinedObjectVariable.nb_rshift_implA	  rA  rp   c                 ó4   — |                       |d|gi ¦  «        S )NÚ__irshift__rD  rE  s      rn   Únb_inplace_rshift_implz0UserDefinedObjectVariable.nb_inplace_rshift_implQ	  rG  rp   c                 óL   — |                       ||ddt          j        |¬¦  «        S )NrN  Ú__ror__r8  )r4  r   ÚNB_ORr:  s       rn   rP  z$UserDefinedObjectVariable.nb_or_implX	  s4   € ð �}Š}ØØØØÝ!Ô'Øð ñ 
ô 
ð 	
rp   c                 ó4   — |                       |d|gi ¦  «        S )NÚ__ior__rD  rE  s      rn   Únb_inplace_or_implz,UserDefinedObjectVariable.nb_inplace_or_implh	  s    € ð ×Ò  I°¨w¸Ñ;Ô;Ð;rp   c                 óL   — |                       ||ddt          j        |¬¦  «        S )NÚ__and__Ú__rand__r8  )r4  r   ÚNB_ANDr:  s       rn   Únb_and_implz%UserDefinedObjectVariable.nb_and_implp	  ó4   € ð �}Š}ØØØØÝ!Ô(Øð ñ 
ô 
ð 	
rp   c                 ó4   — |                       |d|gi ¦  «        S )NÚ__iand__rD  rE  s      rn   Únb_inplace_and_implz-UserDefinedObjectVariable.nb_inplace_and_impl€	  ó    € ð
 ×Ò  J°°¸Ñ<Ô<Ð<rp   c                 óL   — |                       ||ddt          j        |¬¦  «        S )NÚ__xor__Ú__rxor__r8  )r4  r   ÚNB_XORr:  s       rn   Únb_xor_implz%UserDefinedObjectVariable.nb_xor_impl‡	  r[  rp   c                 ó4   — |                       |d|gi ¦  «        S )NÚ__ixor__rD  rE  s      rn   Únb_inplace_xor_implz-UserDefinedObjectVariable.nb_inplace_xor_impl—	  r_  rp   c                 óL   — |                       ||ddt          j        |¬¦  «        S )NÚ__add__Ú__radd__r8  )r4  r   ÚNB_ADDr:  s       rn   Únb_add_implz%UserDefinedObjectVariable.nb_add_implž	  r[  rp   c                 ó4   — |                       |d|gi ¦  «        S ©NÚ__iadd__rD  rE  s      rn   Únb_inplace_add_implz-UserDefinedObjectVariable.nb_inplace_add_impl®	  ó    € ð ×Ò  J°°¸Ñ<Ô<Ð<rp   c                 óL   — |                       ||ddt          j        |¬¦  «        S )NÚ__sub__Ú__rsub__r8  )r4  r   ÚNB_SUBTRACTr:  s       rn   Únb_subtract_implz*UserDefinedObjectVariable.nb_subtract_impl¶	  s4   € ð �}Š}ØØØØÝ!Ô-Øð ñ 
ô 
ð 	
rp   c                 ó4   — |                       |d|gi ¦  «        S )NÚ__isub__rD  rE  s      rn   Únb_inplace_subtract_implz2UserDefinedObjectVariable.nb_inplace_subtract_implÆ	  rq  rp   c                 ó4   — |                       |d|gi ¦  «        S )NÚ__imul__rD  rE  s      rn   Únb_inplace_multiply_implz2UserDefinedObjectVariable.nb_inplace_multiply_implÎ	  r_  rp   c                 óL   — |                       ||ddt          j        |¬¦  «        S )NÚ__floordiv__Ú__rfloordiv__r8  )r4  r   ÚNB_FLOOR_DIVIDEr:  s       rn   Únb_floor_divide_implz.UserDefinedObjectVariable.nb_floor_divide_implÕ	  s4   € ð �}Š}ØØØØÝ!Ô1Øð ñ 
ô 
ð 	
rp   c                 ó4   — |                       |d|gi ¦  «        S )NÚ__ifloordiv__rD  rE  s      rn   Únb_inplace_floor_divide_implz6UserDefinedObjectVariable.nb_inplace_floor_divide_implå	  s    € ð
 ×Ò  O°e°W¸bÑAÔAÐArp   c                 óL   — |                       ||ddt          j        |¬¦  «        S )NÚ__truediv__Ú__rtruediv__r8  )r4  r   ÚNB_TRUE_DIVIDEr:  s       rn   Únb_true_divide_implz-UserDefinedObjectVariable.nb_true_divide_implì	  s4   € ð �}Š}ØØØØÝ!Ô0Øð ñ 
ô 
ð 	
rp   c                 ó4   — |                       |d|gi ¦  «        S )NÚ__itruediv__rD  rE  s      rn   Únb_inplace_true_divide_implz5UserDefinedObjectVariable.nb_inplace_true_divide_implü	  s    € ð
 ×Ò  N°U°G¸RÑ@Ô@Ð@rp   c                 óL   — |                       ||ddt          j        |¬¦  «        S )NÚ__mod__Ú__rmod__r8  )r4  r   ÚNB_REMAINDERr:  s       rn   Únb_remainder_implz+UserDefinedObjectVariable.nb_remainder_impl
  s4   € ð �}Š}ØØØØÝ!Ô.Øð ñ 
ô 
ð 	
rp   c                 ó4   — |                       |d|gi ¦  «        S )NÚ__imod__rD  rE  s      rn   Únb_inplace_remainder_implz3UserDefinedObjectVariable.nb_inplace_remainder_impl
  r_  rp   c                 óL   — |                       ||ddt          j        |¬¦  «        S )NÚ
__divmod__Ú__rdivmod__r8  )r4  r   Ú	NB_DIVMODr:  s       rn   Únb_divmod_implz(UserDefinedObjectVariable.nb_divmod_impl
  rA  rp   c                 óv  •— ddl m} ddl m} ddlm} |                      |¦  «        }|��ë|t          j        u r |j        d ¦  «        S t          |¦  «        st          | j        t          j        ¦  «        r | j        |g|¢R i |¤ŽS t          |¦  «        r.|                      ||d         t!          j        ¦   «         ¦  «        S t$          j        j        j        rDt          | j        t,          j        ¦  «        r%t1          dd| j        › d	|› d
|› d|› �ddg¬¦  «         t          | j        t$          j        j        ¦  «        r/||j        v r&t1          dd|› �d|› d�g t8          j        ¢¬¦  «         | j        �6| j        �/|| j        v r&|t@          vr| j         !                    ||||¦  «        S t          |t,          j"        ¦  «        re| j#        }	d }
|	r|  $                    ||¦  «        }
ddl%m&} |t$          j'        j(        j        u r|} ||| |
|	¬¦  «         )                    |||¦  «        S |tT          j+        u rc| j#        r\|sZ|sXtY          | j#         -                    t\          j/        ¦  «        ¦  «         ta          j1        |te          | j        ¦  «        ¦  «        S | 3                    |¦  «        rbddl4m5} | 6                    ¦   «         }| 7                    |¦  «        }|�1|j8        }t!          j        || ¦  «         )                    |||¦  «        S ts          ¦   «          !                    ||||¦  «        S )Nr   )Útrace_rulesrF   )ro  rx   r   zcall_method on generatorúobject=r!  ú, args=r  zWDetected a method call to a user-defined generator object. This is not fully supported.zÀSet `torch._dynamo.config.enable_faithful_generator_behavior = False`. Note that this may cause silent incorrectness, since we will eagerly unpack generators instead of lazily evaluating them.rS  ztorch.Generator methodztorch.Generator.zM() is a stateful RNG operation that cannot be soundly traced in the FX graph.©Úunpatched_nn_module_initr  )ÚPolyfilledFunctionVariable):r|  r›  ro  rÚ   ry   r¾   r€   rÈ   rÛ   r„   r  r£   Ú	threadingÚlocalÚmethod_setattr_standardrˆ   r   ÚDeletedVariablerë   rM  r   Ú"enable_faithful_generator_behaviorre  ÚGeneratorTyper   rÐ  Ú	GeneratorÚ#_GENERATOR_METHODS_THAT_GRAPH_BREAKr   ÚFUNDAMENTALr^  r£  rG   rC  rn  rÍ   r>  Úmutation_guardrŸ  rÛ  ÚModulerp  r  r¡  r"   rÓ   r!   ÚSEQUENCE_LENGTHrM   rH  rë  Úis_polyfilled_callabler?  r   Ú_get_polyfill_handlersr–   Ú__torch_dynamo_polyfill__rÇ   )r½   rÑ   r¹   r]  rÅ   r›  ro  ry   rõ  rÍ   r£  rŸ  r   Úpolyfill_handlersÚwrappedÚtraceable_fnrË   s                   €rn   rC  z%UserDefinedObjectVariable.call_method*
  sØ  ø€ ð 	#Ð"Ð"Ð"Ð"Ð"Ø(Ð(Ð(Ð(Ð(Ð(Ø.Ð.Ð.Ð.Ð.Ð.à×1Ò1°$Ñ7Ô7ˆØÑØ�œÐ(Ð(Ø.Ð'Ô.¨tÑ4Ô4Ð4å" 6Ñ*Ô*ð I­j¸¼ÅYÄ_Ñ.UÔ.Uð IØ3�tÔ3°BÐH¸ÐHÐHÐHÀÐHÐHÐHå" 6Ñ*Ô*ð Ø×3Ò3Ø˜˜Qœ¥Ô!:Ñ!<Ô!<ñô ð õ Œ}Ô#ÔFð Í:Ø”
�EÔ/ñLô Lð õ Ø6Ø_ d¤jÐ_Ð_¸4Ð_Ð_ÈÐ_Ð_ÐW]Ð_Ð_ð!3ð+ðð
ñ 
ô 
ð 
õ ˜4œ:¥u¤xÔ'9Ñ:Ô:ð
à˜KÔKÐKÐKåØ4Ø5¨tÐ5Ð5ð!O°4ð !Oð !Oð !Oà:Õ-Ô9Ð:ðñ ô ð ð ”Ð)ØÔ&Ð2Ø˜dÔ0Ð0Ð0ØÕ 0Ð0Ð0à”}×0Ò0°°T¸4ÀÑHÔHÐHõ ˜&¥%Ô"4Ñ5Ô5ð 2Øœ�Ø �	Øð IØ $× >Ò >¸rÀ4Ñ HÔ H�IàEÐEÐEÐEÐEÐEà�UœXœ_Ô5Ð5Ð5Ø5�FØ)Ð)Ø˜D¨I¸fðñ ô ç’-  D¨&Ñ1Ô1ð2ð �œÐ%Ð%¨$¬+Ð%¸tÐ%ÀvÐ%Ý˜dœk×4Ò4µ\Ô5QÑRÔRÑSÔSÐSÝ&Ô,¨Rµ°T´Z±´ÑAÔAÐAà×1Ò1°&Ñ9Ô9ð 	6ØAÐAÐAÐAÐAÐAà$>×$UÒ$UÑ$WÔ$WÐ!Ø0×4Ò4°VÑ<Ô<�ØÐ&Ø#*Ô#D�LÝ$Ô7Ø$ dñô ç#’m B¨¨fÑ5Ô5ð6õ ‰wŒw×"Ò" 2 t¨T°6Ñ:Ô:Ð:rp   c                 óÀ   — |                       d¦  «        }| j        �+| j        �$|| j        v r| j                             ||¦  «        S |                      ||d¬¦  «        S )Nri  F)rL  )r¾   r^  r£  Úsq_concat_implrl  ©r½   rÑ   r×   rõ  s       rn   r´  z(UserDefinedObjectVariable.sq_concat_impl‹
  si   € ð
 ×1Ò1°)Ñ<Ô<ˆàŒMÐ%ØÔ"Ð.Ø˜$Ô,Ð,Ð,à”=×/Ò/°°EÑ:Ô:Ð:à×Ò  E°5ÐÑ9Ô9Ð9rp   c                 ó¼   — |                       d¦  «        }| j        �+| j        �$|| j        v r| j                             ||¦  «        S |                      ||¦  «        S rn  )r¾   r^  r£  Úsq_inplace_concat_implrp  rµ  s       rn   r·  z0UserDefinedObjectVariable.sq_inplace_concat_implš
  sd   € ð ×1Ò1°*Ñ=Ô=ˆàŒMÐ%ØÔ"Ð.Ø˜$Ô,Ð,Ð,à”=×7Ò7¸¸EÑBÔBÐBà×'Ò'¨¨EÑ2Ô2Ð2rp   c                 óˆ  — |                       |d¦  «        \  }}|t          urU|                      |d||¦  «        }t          |t          j        t          j        f¦  «        s|                     |g i ¦  «        S t          d|  	                    ¦   «         › d�d|  	                    ¦   «         › d�g t          j        ¢¬¦  «         d S )Nr¡  z!Cannot trace user-defined __len__z
.__len__()zDynamo cannot trace len() on zu because the __len__ method is either not traceable (e.g., defined in C or built-in) or returns a non-constant value.rS  )ræ  rK   rð  r  r   rm  ÚMethodWrapperVariablerp  r   r¥  r   r^  )r½   rÑ   rJ  rÍ   rñ  s        rn   r§  z"UserDefinedObjectVariable.len_impl¨
  së   € Ø ×7Ò7¸¸IÑFÔFÑˆ	�6Ø�NÐ*Ð*Ø×/Ò/°°I¸yÈ&ÑQÔQˆJÝØÝÔ*­IÔ,KÐLñô ð <ð "×/Ò/°°B¸Ñ;Ô;Ð;åØ7Ø×,Ò,Ñ.Ô.Ð:Ð:Ð:ð&°×0EÒ0EÑ0GÔ0Gð &ð &ð &ðÝ"Ô.ðð	
ñ 	
ô 	
ð 	
ð 	
ð 	
rp   c                 ó´   — | j         �=| j        �6|                      d¦  «        | j        v r| j                              |¦  «        S |                      |¦  «        S ©Nr¡  )r^  r£  rå  rª  r§  rÕ   s     rn   rª  z#UserDefinedObjectVariable.sq_length¿
  óW   € àŒMÐ%ØÔ"Ð.Ø×*Ò*¨9Ñ5Ô5¸Ô9KÐKÐKà”=×*Ò*¨2Ñ.Ô.Ð.Ø�}Š}˜RÑ Ô Ð rp   c                 ó´   — | j         �=| j        �6|                      d¦  «        | j        v r| j                              |¦  «        S |                      |¦  «        S r»  )r^  r£  rå  r­  r§  rÕ   s     rn   r­  z#UserDefinedObjectVariable.mp_lengthÈ
  r¼  rp   c           
      ó  ‡ ‡‡— dŠ	 |                      ¦   «         Šn-# t          $ r  t          dd‰ › d|› d|› �ddg¬¦  «         Y nw xY w‰j        j                             ‰ ¦  «        st          d	¦  «        ‚t          j         	                    ¦   «         rpt          ‰ j        ¦  «        t          j        j        u rK‰j        j                             ‰ ‰¦  «        s‰‰ j        j        v rt          d
d‰ › d|› d|› �ddg¬¦  «         ‰dk    rt          dd‰ › d|› �ddg¬¦  «         dt          fˆˆ ˆfd„}dt          fˆˆ ˆfd„}dt           dt          fˆˆ ˆfd„}‰                      ‰¦  «        }|t$          u�rÝt'          t          |¦  «        d¦  «        st'          t          |¦  «        d¦  «        �r¢d }‰ j        r‰                      ‰‰¦  «        }t-          |t.          ¦  «        rÏt-          |t0          j        ¦  «        rZ|j        € |d¦  «         |rt7          |d¦  «        nd }	t9          j        ‰|j        |	¬¦  «        }
|
                     ‰‰ gi ¦  «        S |j        € |d¦  «         |rt7          |d¦  «        nd }t9          j        ‰|j        |¬¦  «        }|                     ‰‰ |gi ¦  «        S t-          |t@          j!        ¦  «        r@‰j        j         "                    ‰ ‰|¦  «         t0          j#         $                    d ¦  «        S t-          |t@          j%        ¦  «        rM‰dk    rd ‰ _&        ‰j        j         "                    ‰ ‰|¦  «         t0          j#         $                    d ¦  «        S tO          j(        t          |¦  «        dd ¦  «        }tO          j(        t          |¦  «        dd ¦  «        }tS          tT          dd ¦  «        }|�t          |¦  «        |u r
 |¦   «          t9          j        ‰||¦  «        }t-          |t0          j        ¦  «        r t-          |t@          j+        ¦  «        rR|rt7          tY          |¦  «        d¦  «        nd }t9          j        ‰||d¬ ¦  «        }|                     ‰|‰ gi ¦  «        S |�(t          d!d‰ › d‰› d"|› �d#g tZ          j.        ¢¬¦  «          |¦   «          t-          |t@          j+        ¦  «        rS|rt7          tY          |¦  «        d¦  «        nd }t9          j        ‰||d¬ ¦  «        }|                     ‰|‰ |gi ¦  «        S t          d$d‰ › d‰› d"|› �d%g tZ          j.        ¢¬¦  «         t'          ‰ j        d¦  «        r™‰  /                    ‰¦  «        }t-          |t0          j        ¦  «        r5| 0                    ‰¦  «        s
 |¦   «          | 1                    ‰¦  «         n| 2                    ‰|¦  «         t0          j#         $                    d ¦  «        S  |¦   «          d S )&Nr|  z-non-const setattr name on user-defined objectrœ  ú, name=z, value=zODetected a call to `setattr` of a user-defined object with a non-constant name.z!Ensure that the name is a string.rS  z`Attempted setattr on a user-defined object that does not have an AttributeMutation mutation_typezP2POp mutationzCDynamo does not support mutating torch.distributed.P2POp instances.zaConstruct a new torch.distributed.P2POp instead of mutating an existing one inside torch.compile.rË   z+__class__ assignment on user-defined objectzFDynamo does not support reassigning __class__ on user-defined objects.zBMove the __class__ assignment outside of the torch.compile region.rW   c            	      ót   •— t          t          ‰dt          ‰j        ¦  «        j        › d‰ › d�g¬¦  «         d S )Nr[  ú' object has no attribute 'r\  ©r   r¼   r    r£   r�   ©Úname_strr½   rÑ   s   €€€rn   Úraise_cannot_set_attrzPUserDefinedObjectVariable.method_setattr_standard.<locals>.raise_cannot_set_attr  sR   ø€ Ý$ÝØàY�˜TœZÑ(Ô(Ô1ÐYÐYÈhÐYÐYÐYððñ ô ð ð ð rp   c            	      ót   •— t          t          ‰dt          ‰j        ¦  «        j        › d‰ › d�g¬¦  «         d S )Nr[  z' object attribute 'z' is read-onlyr\  rÂ  rÃ  s   €€€rn   Úraise_readonly_attrzNUserDefinedObjectVariable.method_setattr_standard.<locals>.raise_readonly_attr  sR   ø€ Ý$ÝØà_�˜TœZÑ(Ô(Ô1Ð_Ð_ÀxÐ_Ð_Ð_ððñ ô ð ð ð rp   Úactionc           
      óx   •— t          t          ‰d‰› dt          ‰j        ¦  «        j        › d| › �g¬¦  «         d S )Nz
property 'z' of 'z' object has no r\  rÂ  )rÈ  rÄ  r½   rÑ   s    €€€rn   Úraise_property_errorzOUserDefinedObjectVariable.method_setattr_standard.<locals>.raise_property_error  sn   ø€ Ý$ÝØðL ð Lð LÝ˜TœZÑ(Ô(Ô1ðLð LØCIðLð Lððñ ô ð ð ð rp   r°   r±   ÚdeleterÚfdelrY  ÚsetterÚfsetr¦   r�  T©Úrealizez0C-level descriptor delete on user-defined objectz, descriptor=zSDynamo does not yet model this C-level descriptor deleter for user-defined objects.z1C-level descriptor setattr on user-defined objectzRDynamo does not yet model this C-level descriptor setter for user-defined objects.)3rá   rÔ   r   r-  r`  Úis_attribute_mutationr4  rë   r&  r'  r    r£   r(  ra  r¦   r   rÂ   rå  rK   rj   r¥  r>  r  r†  r   r¤  rÌ  r#   rM   rH  rp  rÎ  re  rŠ  Ú
store_attrry   rÛ   ÚGetSetDescriptorTyper©  r§   r»   rk   r’  rn  r+   r   r^  r¾  ÚcontainsÚdelitemÚsetitem)r½   rÑ   r¹   r£   rÅ  rÇ  rÊ  r5  Údesc_sourceÚfdel_sourceÚfdel_varÚfset_sourceÚfset_varrÍ  rË  r�  Údesc_varÚ
del_sourceÚdel_varÚ
set_sourceÚset_varr©  rÄ  s   ``                    @rn   r£  z1UserDefinedObjectVariable.method_setattr_standardÑ
  s[  øøø€ ð ˆð	Ø×.Ò.Ñ0Ô0ˆHˆHøÝ"ð 	ð 	ð 	ÝØGØD $ÐDÐD¨tÐDÐD¸UÐDÐDØmØ:Ð;ð	ñ ô ð ð ð ð	øøøð ŒyÔ%×;Ò;¸DÑAÔAð 	Ý ð5ñô ð õ Ô×*Ò*Ñ,Ô,ð	å�T”ZÑ Ô ¥EÔ$5Ô$;Ð;Ð;à”	Ô&×CÒCÀDÈ(ÑSÔSð <ð ˜tœzÔ2Ð2Ð2õ Ø(ØD $ÐDÐD¨tÐDÐD¸UÐDÐDØaàwðð	ñ ô ð ð �{Ò"Ð"ÝØEØ7 $Ð7Ð7°Ð7Ð7ØdàXðð	ñ ô ð ð	¥xð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð	¥Xð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð	­ð 	µð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð ×/Ò/°Ñ9Ô9ˆ
Ø�^Ð+Ñ+Ý•D˜Ñ$Ô$ iÑ0Ô0ð ,å•t˜JÑ'Ô'¨Ñ6Ô6ñ ,ð ˆKØŒð KØ"×<Ò<¸RÀÑJÔJ�å˜*¥hÑ/Ô/ð EÝ˜e¥YÔ%>Ñ?Ô?ð 	BØ!”Ð.Ø,Ð,¨YÑ7Ô7Ð7à;FÐP�
 ;°Ñ7Ô7Ð7ÈDð  õ  /Ô4Ø˜JœO°Kð ñ  ô  �Hð $×1Ò1°"°t°f¸bÑAÔAÐAØ”?Ð*Ø(Ð(¨Ñ2Ô2Ð2ØALÐV�j¨°fÑ=Ô=Ð=ÐRV�Ý*Ô0Ø˜
œ°ðñ ô �ð  ×-Ò-¨b°4¸°-ÀÑDÔDÐDå˜*¥eÔ&@ÑAÔAð ?Ø”	Ô&×1Ò1°$¸À%ÑHÔHÐHÝ Ô1×8Ò8¸Ñ>Ô>Ð>å˜*¥eÔ&@ÑAÔAð ?Ø˜zÒ)Ð)Ø#'�D”Lð ”	Ô&×1Ò1°$¸À%ÑHÔHÐHÝ Ô1×8Ò8¸Ñ>Ô>Ð>åÔ+­D°Ñ,<Ô,<¸iÈÑNÔNˆFÝÔ,­T°*Ñ-=Ô-=¸|ÈTÑRÔRˆGõ #¥;°ÀÑEÔEˆLØÐ'­D°Ñ,<Ô,<ÀÐ,LÐ,LØ#Ð#Ñ%Ô%Ð%Ý&Ô,¨R°¸[ÑIÔIˆHÝ˜%¥Ô!:Ñ;Ô;ð &Ý˜g¥uÔ'9Ñ:Ô:ð 	Kð 'ð"�
¥:¨kÑ#:Ô#:¸LÑIÔIÐIà!ð õ
 .Ô3Ø˜G Z¸ðñ ô �Gð #×0Ò0°°hÀÐ5EÀrÑJÔJÐJØÐ&Ý!Ø RØ Z¨$Ð ZÐ Z°xÐ ZÐ ZÈjÐ ZÐ Zð8ð ?Õ 1Ô =Ð>ðñ ô ð ð $Ð#Ñ%Ô%Ð%Ý˜&¥%Ô"4Ñ5Ô5ð Nð #ð•J�z¨+Ñ6Ô6¸	ÑBÔBÐBàð õ
 *Ô/°°F¸JÐPTÐUÑUÔU�Ø×,Ò,¨R°(¸DÀ%Ð1HÈ"ÑMÔMÐMåØKØR $ÐRÐR¨xÐRÐRÀjÐRÐRð0ð 7Õ)Ô5Ð6ðñ ô ð õ �4”:˜zÑ*Ô*ð 	;Ø×&Ò& rÑ*Ô*ˆGÝ˜%¥Ô!:Ñ;Ô;ð 1Ø×'Ò'¨Ñ1Ô1ð ,Ø)Ð)Ñ+Ô+Ð+Ø—’ Ñ)Ô)Ð)Ð)à—’ ¨%Ñ0Ô0Ð0ÝÔ-×4Ò4°TÑ:Ô:Ð:àÐÑÔÐÐÐs   ‡ œ'AÁAc                 ó”   — t          t          j        | j        dd ¦  «        ¦  «         ot	          | j        t
          j        ¦  «         S )Nr�   )r„   r§   r»   r£   r  r¡  r¢  rÏ   s    rn   Úneeds_slow_setattrz,UserDefinedObjectVariable.needs_slow_setattr…  sF   € Ý&ÝÔ" 4¤:¨}¸dÑCÔCñ
ô 
ð 
ð :å˜TœZ­¬Ñ9Ô9Ð9ð	:rp   c                 ó"   — t          || ¦  «        S r   )rD   rÕ   s     rn   rú  z-UserDefinedObjectVariable.unpack_var_sequenceŠ  s   € õ ˜r 4Ñ(Ô(Ð(rp   c                 ój   — 	 | j         |                      ¦   «         v S # t          t          f$ r Y dS w xY wrÀ  )r£   r  rµ   r¼   rÏ   s    rn   Úis_supported_randomz-UserDefinedObjectVariable.is_supported_random�  sI   € ð	Ø”: ×!AÒ!AÑ!CÔ!CÐCÐCøÝ�>Ð*ð 	ð 	ð 	ð �5�5ð	øøøs   ‚ �2±2c                 ó  •— |                       ¦   «         r[t          d„ |D ¦   «         ¦  «        rBt          d„ |                     ¦   «         D ¦   «         ¦  «        rt          || j        ||¦  «        S t          | j        t          j        ¦  «        �rÌ| j        j        }| j        j	        }|t          j        j        j        j        u rVt          j                             |j        ¦  «        r2|s0|s.t          j        |j        ¦  «                             |||¦  «        S |t          j        j        j        j        u rf|j        t          j        j        j        u rIt/          j        ||j        ¦  «        }t          j        |j        ¦  «                             ||g|¦  «        S | j        €.t7          dd| j        › d|› d|› d|› �dd	| j        › d
�g¬¦  «         | j        €t9          d¦  «        ‚t;          | j        d¦  «        }t/          j        |||d¬¦  «        }t;          | j        d¦  «        }	t/          j        |||	¦  «        }
|                     ||
g|z   |¦  «        S t=          | j        ¦  «        rv| j        rW| j        €t9          d¦  «        ‚t;          | j        d¦  «        }tA          | !                    tD          j#        ¦  «        ¦  «         |  $                    |d||¦  «        S tK          ¦   «                              |||¦  «        S )Nc              3   ó>   K  — | ]}|                      ¦   «         V — Œd S r   ©rD  )r  r  s     rn   r  z:UserDefinedObjectVariable.call_function.<locals>.<genexpr>Ÿ  s.   è è € Ð9Ð9¨q�A×(Ò(Ñ*Ô*Ð9Ð9Ð9Ð9Ð9Ð9rp   c              3   ó>   K  — | ]}|                      ¦   «         V — Œd S r   rè  )r  r  s     rn   r  z:UserDefinedObjectVariable.call_function.<locals>.<genexpr>   s.   è è € ÐDÐD¨q�A×(Ò(Ñ*Ô*ÐDÐDÐDÐDÐDÐDrp   z<attempted to call sourceless user-defined object as a methodrœ  z, function=r�  r  zDynamo does not support this.zEnsure the user-defined object z, is constructed outside the compiled region.rS  z-source must not be None for bound method callr…  TrÏ  r  z4cls_source must not be None for callable with sourceÚ__call__)&rå  rS  Úvaluesr¡  r£   r:   re  r8  r…  r  rë   r­  Ú_contextlibÚ_DecoratorContextManagerÚcloner   r  Úis_matching_clsrË   rp  ÚautogradÚ	grad_modeÚinference_moderM   rH  ÚmoderÍ   r   r4  r#   rŸ   r¥  r"   rÓ   r!   ÚCLOSURE_MATCHrC  rÇ   )r½   rÑ   r]  rÅ   Úfuncr›   rb  Úfunc_srcÚfunc_varÚobj_srcÚobj_varÚsource_attrrË   s               €rn   rp  z'UserDefinedObjectVariable.call_function—  s  ø€ ð ×$Ò$Ñ&Ô&ð6	BåÐ9Ð9°DÐ9Ñ9Ô9Ñ9Ô9ð6	Bõ ÐDÐD°F·M²M±O´OÐDÑDÔDÑDÔDð6	Bõ
 " " d¤j°$¸Ñ?Ô?Ð?Ý�D”J¥Ô 0Ñ1Ô1ñ 0	BØ”:Ô&ˆDØ”*Ô%ˆCà�œÔ/ÔHÔNÐNÐNÝÔ:×JÒJØ”Mñô ð Oð ð	 Oð "(ð	 Oõ !Ô=Ø”Mñô ç’-  D¨&Ñ1Ô1ð2ð
 �œÔ0Ô?ÔEÐEÐEØ”M¥U¤^Ô%=Ô%LÐLÐLõ &Ô+¨B°´Ñ9Ô9�Ý Ô=Ø”Mñô ç’-  S E¨6Ñ2Ô2ð3ð Œ{Ð"ÝØZØa d¤jÐaÐa¸TÐaÐaÈ$ÐaÐaÐY_ÐaÐaØ ?àr¸$¼*ÐrÐrÐrðð	ñ ô ð ð Œ{Ð"Ý$Ð%TÑUÔUÐUÝ! $¤+¨zÑ:Ô:ˆHÝ&Ô,¨R°°xÈÐNÑNÔNˆHÝ  ¤¨jÑ9Ô9ˆGÝ%Ô+¨B°°WÑ=Ô=ˆGØ×)Ò)¨"¨w¨i¸$Ñ.>ÀÑGÔGÐGÝ�d”jÑ!Ô!ð 	BØŒ{ð RØ”?Ð*Ý(ØNñô ð õ )¨¬¸*ÑEÔE�Ý˜k×4Ò4µ\Ô5OÑPÔPÑQÔQÐQØ×#Ò# B¨
°D¸&ÑAÔAÐAå‰wŒw×$Ò$ R¨¨vÑ6Ô6Ð6rp   c                 ó*   — t          | j        ¦  «        S r   )r3   r£   rÏ   s    rn   Ú_check_for_getattrz,UserDefinedObjectVariable._check_for_getattr×  s   € Ý! $¤*Ñ-Ô-Ð-rp   Úsubobjc                 óÊ   — t          |t          ¦  «        sdS t          |j        t          j        ¦  «        p-t
          j        j        j         	                    |j        ¦  «        S rÀ  )
r  r†  r‡  re  ÚBuiltinFunctionTyperë   rÐ  rM  r­  rï  )r½   rý  s     rn   Ú_is_c_defined_propertyz0UserDefinedObjectVariable._is_c_defined_propertyÚ  sY   € Ý˜&¥(Ñ+Ô+ð 	Ø�5õ ØŒK�Ô2ñ
ô 
ð CåŒXÔÔ#×5Ò5°f´kÑBÔBð	Crp   c                 ó  — || j         v r| j         |         S t          j        | j        |t          ¦  «        }t          j        |¦  «        st          j        |¦  «        r.t          | j        ¦  «                             | j        |¦  «        }nj| j	        sL|t          u s|  
                    |¦  «        r.t          | j        ¦  «                             | j        |¦  «        }n| j	        r|t          u rt          ‚|| j         |<   |S r   )rª  r§   r»   r£   rK   ÚismemberdescriptorÚisgetsetdescriptorr    rR  r²  r   r¼   )r½   r¹   rý  s      rn   Ú_getattr_staticz)UserDefinedObjectVariable._getattr_staticæ  sþ   € Ø�4Ô(Ð(Ð(ØÔ(¨Ô.Ð.åÔ'¨¬
°D½.ÑIÔIˆõ Ô% fÑ-Ô-ð 	!µÔ1KÈFÑ1SÔ1Sð 	!Ý˜$œ*Ñ%Ô%×6Ò6°t´zÀ4ÑHÔHˆFˆFØÔ.ð 	!Ø•nÐ$Ð$Ø×*Ò*¨6Ñ2Ô2ð %õ
 ˜$œ*Ñ%Ô%×6Ò6°t´zÀ4ÑHÔHˆFˆFØÔ*ð 	!¨v½Ð/GÐ/Gõ !Ð à&,ˆÔ˜dÑ#Øˆrp   c                 ó¬   — || j         v r| j         |         S t          }| j        j        j        D ]}||j        v r|j        |         } nŒ|| j         |<   |S )u÷  Walk type(obj).__mro__ to find *name* in the class hierarchy.

        This only searches the class chain (type(obj).__mro__), NOT the
        metaclass chain (type(type(obj)).__mro__).  The distinction matters
        because inspect.getattr_static conflates both chains â€” it can return
        metaclass descriptors (e.g. type.__dict__['__annotations__'], a
        getset_descriptor) when the attribute doesn't exist on the class MRO.
        Walking cls.__mro__ directly avoids that leak.
        )r«  rK   r£   rË   r"  r¦   )r½   r¹   rÞ   r$  s       rn   rå  z/UserDefinedObjectVariable.lookup_class_mro_attr  ss   € ð �4Ô*Ð*Ð*ØÔ*¨4Ô0Ð0ÝˆØ”JÔ(Ô0ð 	ð 	ˆDØ�t”}Ð$Ð$Øœ tÔ,�Ø�ð %ð )/ˆÔ Ñ%Øˆrp   c                 óî   — |j         j                             | |t          j        ¦  «        r=|j         j                             | |d¬¦  «        }t          |t          j        ¦  «         S || j	        j
        v S )NTrÍ  )r-  r`  ra  rI   ÚINSTANCE_DICTrb  r  r   r¤  r£   r¦   )r½   rÑ   r(  Úmutated_attrs       rn   Úhas_key_in_generic_dictz1UserDefinedObjectVariable.has_key_in_generic_dict   sw   € ð Œ9Ô!×>Ò>Ø�#Õ'Ô5ñ
ô 
ð 	Kð œ9Ô1×;Ò;¸DÀ#ÐRVÐ;ÑWÔWˆLÝ! ,µ	Ô0IÑJÔJÐJÐJð �d”jÔ)Ð)Ð)rp   c                 ó‚  — | j         €t          d¦  «        ‚t          t          | j        ¦  «        j        ¦  «        D �]\  }}||j        v �rõ|j        |         }t          d|¦  «        D ]Ó}t          | j        ¦  «        j        |         }t          |¦  «        |f}||j	        j
        v rŒA|j	        j
                             |¦  «         t          | j         ¦  «        }	t          |	|¦  «        }
t          |
¦  «        }t          |                     t#          j        t&          j        |¬¦  «        ¦  «        ¦  «         ŒÔ| j        rxt-          | j        d¦  «        rc|| j        j        vrUt-          |d¦  «        sEt          | j                             t#          j        t&          j        |¬¦  «        ¦  «        ¦  «         t          |¦  «        |f}|j	        j        }||v r
||         c S |dk    r%t          | j         ¦  «        }	t          |	|¦  «        }
n| j         }
t          |
¦  «        }t3          ||¦  «        }|||<   |c S �Œt5          dd	|› d
t          | j        ¦  «        › dt          | j        ¦  «        j        › �d|› dt          | j        ¦  «        j        › �d|› d| j        › d�gt6          j        ¢¬¦  «         d S )Nz(cls_source must not be None for MRO walkrF   r'  r¦   r°   r{  r   z#could not find name in object's mror   z, object type=z, mro=zCould not find name `z	` in mro zEnsure the name `z` is defined somewhere in z's type hierarchy.rS  )r¥  r4  r*  r    r£   r"  r¦   r+  r,  r-  r.  rh   r*   r'   r)   r"   rÓ   r/  r0  r!   r1  rÍ   rj   ÚNOT_PRESENT_IN_GENERIC_DICTr2  r%   r   r   r3  )r½   rÑ   r¹   r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  s                 rn   r>  z3UserDefinedObjectVariable.get_source_by_walking_mro,  s  € ð Œ?Ð"Ý Ð!KÑLÔLÐLå#¥D¨¬Ñ$4Ô$4Ô$<Ñ=Ô=ð ?	"ñ ?	"‰JˆC�Ø�u”~Ð%Ñ%Ø"œ^¨DÔ1�
õ #(¨¨3¡-¤-ð ð �JÝ#'¨¬
Ñ#3Ô#3Ô#;¸JÔ#G�LÝ!# LÑ!1Ô!1°4Ð 8�IØ  B¤IÔ$EÐEÐEØ Ø”IÔ5×9Ò9¸)ÑDÔDÐDÝ!.¨t¬Ñ!?Ô!?�JÝ+8¸ÀZÑ+PÔ+P�LÝ"0°Ñ">Ô">�KÝ!Ø#×.Ò.Ý%Ô-­lÔ.LÐRVÐWÑWÔWñô ñô ð ð ð ”Kðå ¤
¨JÑ7Ô7ðð  D¤JÔ$7Ð7Ð7Ý# J°	Ñ:Ô:ð 8õ "Øœ×.Ò.Ý%Ô-Ý ,Ô HÈtðñ ô ñô ñô ð õ   
™^œ^¨TÐ2�	Øœ	Ô2�Ø Ð%Ð%Ø  Ô+Ð+Ð+Ð+à˜!’8�8Ý!.¨t¬Ñ!?Ô!?�JÝ#0°¸SÑ#AÔ#A�L�Là#'¤?�LÝ,¨\Ñ:Ô:�Ý.¨{¸DÑAÔA�
Ø#-��iÑ Ø!Ð!Ð!Ð!ñ} &õ@ 	Ø9Øb˜DÐbÐbµ°T´ZÑ0@Ô0@ÐbÐbÍÈTÌZÑHXÔHXÔH`ÐbÐbØY°ÐYÐY½tÀDÄJÑ?OÔ?OÔ?WÐYÐYàb DÐbÐbÀDÄJÐbÐbÐbðå"Ô-ðð		
ñ 	
ô 	
ð 	
ð 	
ð 	
rp   c                 óò	  — | j         rt          | j         |¦  «        nd}|dk    r?t          | j        d¦  «        st	          t
          |¦  «         |                      |¦  «        S |dk    r6|}|€| j        }n|}t          j	        |t          | j        ¦  «        |¦  «        S ddlm} |                      |¦  «        }|t          j        j        j        u r|}|t$          ur't'          |¦  «        r|                      ||||¦  «        S d}|j        j                             | |t0          j        t0          j        f¦  «        rA|j        j                             | |d¬¦  «        }t9          |t:          j        ¦  «        s|S d}nl|j        j                             | dt0          j        ¦  «        rA|                      |¦  «        }	|	                     |¦  «        r|	                      |¦  «        S d}|sbt          | j        d¦  «        rM|| j        j!        v r?| j        j!        |         }
|  "                    |||¦  «        }t          j	        ||
|¦  «        S |t$          ur|  #                    ||||¦  «        S | j$        sm|sk	 t          | j        ¦  «         %                    | j        |¦  «        }|  "                    |||¦  «        }t          j	        |||¦  «        S # t
          $ r Y nw xY w|  &                    ¦   «         }t9          |tN          j(        ¦  «        �r{|tR          u rŽt9          | t:          j*        ¦  «        rttW          | j        j,        tZ          ¦  «        rUtW          | j        j.        tZ          ¦  «        r6tW          | j        j/        tZ          ¦  «        r|  0                    ||¦  «        }nhd}| j         rt          | j         d	¦  «        }t;          j1        || |¬
¦  «         2                    |t:          j3         4                    |¦  «        gi ¦  «        }| j         rs|t          j        j        j5        u r[t9          |t:          j*        t:          j6        f¦  «        r5| 7                    t          |  8                    ¦   «         |¦  «        ¦  «         |S |�1ts          dd| j        › d|› d|› �d|› d| j        › d|› d�dg¬¦  «         t	          t
          |dt          | j        ¦  «        j:        › d|› d�g¬¦  «         dS )uÿ  Dynamo implementation of CPython's PyObject_GenericGetAttr.

        This mirrors object.__getattribute__ and is called from:
        - var_getattr (for objects without a custom __getattribute__)
        - SuperVariable.call_method (when super().__getattribute__() resolves
          to object.__getattribute__)

        The algorithm: MRO walk â†’ data descriptor â†’ instance __dict__ â†’
        non-data descriptor / plain class attr â†’ dynamic fallback â†’
        __getattr__ â†’ AttributeError.
        Nr¦   rË   r   rž  FTrÍ  rZ  rY  z1User-defined object with non-function __getattr__rœ  r¿  z, getattr_fn=z!Found a non-function __getattr__ z from a user-defined object z  when attempting to getattr `ú`z3Ensure the object's __getattr__ is a function type.rS  r[  rÁ  r\  );rÍ   r#   rj   r£   r   r¼   r¾  r¥  rM   rH  r    rª  rŸ  rå  rë   rÛ  r«  rÈ   rK   r²   Úresolve_data_descriptorr-  r`  ra  rI   r  ÚGENERIC_SETATTRrb  r  r   r¤  rÔ  Úgetitemr¦   Ú(maybe_wrap_nn_module_source_for_instancerð  r²  rR  rü  re  rn  rE   ÚUnspecializedNNModuleVariabler:   Ú_parametersr  Ú_buffersÚ_modulesÚ manually_trace_nn_module_getattrro  rp  ry   rÛ   rZ  ÚNNModuleVariableÚset_nn_module_stack_sourceÚget_nn_module_stack_sourcer   r�   )r½   rÑ   r¹   rÍ   r¥  rŸ  rJ  Úskip_instance_dictrÞ   r©  rý  r  Ú
getattr_fnÚoutÚ
new_sources                  rn   Úgeneric_getattrz)UserDefinedObjectVariable.generic_getattr}  s|  € ð BFÄÐ V¥
¨4¬;¸Ñ =Ô =Ð =ÐRVˆà�:ÒÐÝ˜4œ: zÑ2Ô2ð =Ý(­¸Ñ<Ô<Ð<Ø×#Ò# BÑ'Ô'Ð'ð
 �;ÒÐØ(.ˆJØˆ~Ø!œ_�
�
à#�
Ý"Ô(¨­T°$´*Ñ-=Ô-=¸zÑJÔJÐJà=Ð=Ð=Ð=Ð=Ð=ð  ×.Ò.¨tÑ4Ô4ˆ	ð �œœÔ0Ð0Ð0Ø0ˆIð �NÐ*Ð*Õ/AÀ)Ñ/LÔ/LÐ*Ø×/Ò/°°D¸)ÀVÑLÔLÐLð #ÐØŒ9Ô!×>Ò>ØØÝÔ+Õ-=Ô-MÐNñ
ô 
ð 	&ð
 ”YÔ+×5Ò5°d¸DÈTÐ5ÑRÔRˆFÝ˜f¥iÔ&?Ñ@Ô@ð Ø�ð "&ÐÐØŒYÔ#×@Ò@Ø�*Õ.Ô>ñ
ô 
ð 	&ð
 ×&Ò& rÑ*Ô*ˆGØ×Ò Ñ%Ô%ð -Ø—’ tÑ,Ô,Ð,Ø!%Ðà"ð	=å˜œ
 JÑ/Ô/ð	=ð ˜œ
Ô+Ð+Ð+à”ZÔ(¨Ô.ˆFØ×BÒBÀ2ÀtÈVÑTÔTˆFÝ"Ô(¨¨V°VÑ<Ô<Ð<ð �NÐ*Ð*Ø×)Ò)¨"¨d°I¸vÑFÔFÐFð  Ô,ð 	Ð5Gð 	ðÝ ¤
Ñ+Ô+×<Ò<¸T¼ZÈÑNÔN�Ø×FÒFÀrÈ4ÐQWÑXÔX�Ý&Ô,¨R°¸6ÑBÔBÐBøÝ!ð ð ð Ø�ðøøøð ×,Ò,Ñ.Ô.ˆ
Ý�j¥%Ô"4Ñ5Ô5ñ '	àÕ9Ð9Ð9Ý˜t¥YÔ%LÑMÔMð :å˜4œ:Ô1µ4Ñ8Ô8ð :õ ˜4œ:Ô.µÑ5Ô5ð :õ ˜4œ:Ô.µÑ5Ô5ð	 :ð ×;Ò;¸BÀÑEÔE��à!�
Ø”;ð HÝ!+¨D¬K¸Ñ!GÔ!G�JÝÔ2Ø ¨Zðñ ô ç’- ¥YÔ%?×%FÒ%FÀtÑ%LÔ%LÐ$MÈrÑRÔRð ð Œ{ð 
˜z­U¬X¬_Ô-HÐHÐHÝØå!Ô?Ý!Ô2ðñô ð 	ð ×2Ò2Ý" 4×#BÒ#BÑ#DÔ#DÀdÑKÔKñô ð ð ˆJàÐ#ÝØKØT $¤*ÐTÐT°TÐTÐTÈ
ÐTÐTð8À
ð 8ð 8ÐhlÔhrð 8ð 8Ø04ð8ð 8ð 8ð Jððñ ô ð õ 	!ÝØØS•d˜4œ:Ñ&Ô&Ô/ÐSÐSÈDÐSÐSÐSÐTð	
ñ 	
ô 	
ð 	
ð 	
ð 	
s   É:AK Ë
K!Ë K!c                 ó†  — | j         r¥t          j        t          | j        ¦  «        d¦  «        }| j        rt          | j        d¦  «        nd }	 t          j        || |¬¦  «         	                    |t          j        ||¦  «        gi ¦  «        S # t          $ r t          |¦  «         Y nw xY w|                      ||¦  «        S )NrR  rY  )r²  r§   r»   r    r£   rÍ   r#   r   ro  rp  rM   rH  r   r   r  )r½   rÑ   r¹   Úgetattribute_fnr  s        rn   rz  z%UserDefinedObjectVariable.var_getattr#  sì   € ð Ô(ð 	.Ý%Ô4Ý�T”ZÑ Ô Ð"4ñô ˆOð @D¼{ÐT•
˜4œ;Ð(:Ñ;Ô;Ð;ÐPTð ð.Ý Ô3Ø#ØØ%ðñ ô ÷  ’- ¥_Ô%:¸2¸tÑ%DÔ%DÐ$EÀrÑJÔJð	Køõ
 *ð .ð .ð .å)¨"Ñ-Ô-Ð-Ð-Ð-ð.øøøð ×#Ò# B¨Ñ-Ô-Ð-s   Á?B ÂB*Â)B*rJ  rÍ   c           
      óp  — t          |t          ¦  «        rs|                      |¦  «        s^| j        r|                      ||¦  «        }t          j        ||¬¦  «        }|                     || |                      |d¦  «        ¦  «        S t          |t          j
        ¦  «        rà|j        j                             | |t          j        ¦  «        rt|j        j                             | |d¬¦  «        }t          |t
          j        ¦  «        r6t%          t&          |dt)          | j        ¦  «        j        › d|› d�g¬¦  «         |S t          j        ||¬¦  «        }|                     || |                      |d¦  «        ¦  «        S t          |t          j        ¦  «        rà|j        j                             | |t          j        ¦  «        rt|j        j                             | |d¬¦  «        }t          |t
          j        ¦  «        r6t%          t&          |dt)          | j        ¦  «        j        › d|› d�g¬¦  «         |S t          j        ||¬¦  «        }|                     || |                      |d¦  «        ¦  «        S t          |t4          j        ¦  «        rAt          j        ||¬¦  «        }	|	                     || |                      |d¦  «        ¦  «        S t;          j        t)          |¦  «        dd	¦  «        }
t          |
t          j        ¦  «        r|                       ||||¦  «        S 	 t)          | j        ¦  «         !                    | j        |¦  «        }nF# t&          $ r9 t%          t&          |dt)          | j        ¦  «        j        › d|› d�g¬¦  «         Y nw xY wtE          j#        |||¦  «        S )
zMHandle data descriptors found on the type MRO (property, _tuplegetter, etc.).rY  rË   TrÍ  r[  rÁ  r\  r¯   N)$r  r†  r   rÍ   r>  r   r‰  rh  rz  re  rŠ  r-  r`  ra  rI   r  rb  r¤  r   r¼   r    r£   r�   r‹  rÓ  ÚGetSetDescriptorVariablerŒ  r�  rŽ  r§   r»   rn  Úinvoke_descriptor_getrR  rM   rH  )r½   rÑ   r¹   rJ  rÍ   Úprop_vtrÞ   rw  Úgs_vtr˜  r™  r  s               rn   r  z1UserDefinedObjectVariable.resolve_data_descriptor:  sÜ  € õ �i¥Ñ*Ô*ð 	°4×3NÒ3NØñ4
ô 4
ð 	ð Œ{ð BØ×7Ò7¸¸DÑAÔA�ÝÔ0°À6ÐJÑJÔJˆGØ×,Ò,Ø�D˜$×*Ò*¨2¨{Ñ;Ô;ñô ð õ �i¥Ô!;Ñ<Ô<ð 	XØŒyÔ%×BÒBØ�dÕ,Ô<ñô ð ð œÔ/×9Ò9¸$ÀÐQUÐ9ÑVÔV�Ý˜f¥iÔ&?Ñ@Ô@ð Ý,Ý&Øà]¥ T¤ZÑ 0Ô 0Ô 9Ð]Ð]ÐVZÐ]Ð]Ð]ððñ ô ð ð �ÝÔ6°yÈÐPÑPÔPˆEØ×*Ò*¨2¨t°T×5EÒ5EÀbÈ+Ñ5VÔ5VÑWÔWÐWå�i¥Ô!;Ñ<Ô<ð 	XØŒyÔ%×BÒBØ�dÕ,Ô<ñô ð ð œÔ/×9Ò9¸$ÀÐQUÐ9ÑVÔV�Ý˜f¥iÔ&?Ñ@Ô@ð Ý,Ý&Øà]¥ T¤ZÑ 0Ô 0Ô 9Ð]Ð]ÐVZÐ]Ð]Ð]ððñ ô ð ð �ÝÔ6°yÈÐPÑPÔPˆEØ×*Ò*¨2¨t°T×5EÒ5EÀbÈ+Ñ5VÔ5VÑWÔWÐWå�i¥Ô!:Ñ;Ô;ð 	XÝÔ1°)ÀFÐKÑKÔKˆEØ×*Ò*¨2¨t°T×5EÒ5EÀbÈ+Ñ5VÔ5VÑWÔWÐWåÔ'­¨Y©¬¸ÀDÑIÔIˆÝ�f�eÔ0Ñ1Ô1ð 	Kà×-Ò-¨b°$¸	À6ÑJÔJÐJð
		Ý˜DœJÑ'Ô'×8Ò8¸¼ÀTÑJÔJˆHˆHøÝð 	ð 	ð 	Ý$ÝØàU�˜TœZÑ(Ô(Ô1ÐUÐUÈdÐUÐUÐUððñ ô ð ð ð ð	øøøõ Ô$ R¨°6Ñ:Ô:Ð:s   Ì.-M ÍA NÎNc                 ó®  — ddl m} ||u s|t          j        j        j        u r|}| j        duo| j        du}t          |t          ¦  «        rY|r|  
                    ||¦  «        }t          j        ||¬¦  «        }|                     || |                      |d¦  «        ¦  «        S t          |t          ¦  «        rY|r|  
                    ||¦  «        }t          j        ||¬¦  «        }|                     || |                      |d¦  «        ¦  «        S t          |t"          j        ¦  «        rAt          j        ||¬¦  «        }	|	                     || |                      |d¦  «        ¦  «        S t          |t"          j        ¦  «        rD|                      |d¦  «        }
t          j        ||
|¬¦  «        }|                     || |
¦  «        S t          |t"          j        ¦  «        rD|                      |d¦  «        }
t          j        ||
|¬¦  «        }|                     || |
¦  «        S t1          |¦  «        rt          j        |d| |¬¦  «        S t          |t"          j        ¦  «        rmt7          |d¦  «        r+|j        }|rt;          |d¦  «        nd}t7          |d¦  «        °+d}|r|  
                    ||¦  «        }t          j        || ||¬	¦  «        S t?          j         tC          |¦  «        d
d¦  «        }t          |t"          j        ¦  «        r|  "                    ||||¦  «        S t          j#        j$        j%         &                    |¦  «        stO          |¦  «        r%t          j(        | |tC          |¦  «        |¬¦  «        S |r|  
                    ||¦  «        }n|s| j        �t;          | j        |¦  «        }tS          j*        |||¦  «        S )zIHandle non-data descriptors and plain class attributes from the type MRO.r   rž  NrY  rË   rX  Ú__wrapped__Ú_torchdynamo_inliner  r¯   )+rª  rŸ  rë   rÛ  r«  rÈ   r¥  rÍ   r  r‚  r>  r   rƒ  rh  rz  r„  rˆ  re  rk  rl  rf  rg  ri  rj  r5   ÚWrapperUserMethodVariablern  rj   r(  r#   ro  r§   r»   r    r#  rÐ  rM  r­  rï  r¢   rm  rM   rH  )r½   rÑ   r¹   rJ  rÍ   rŸ  Úcan_use_mro_sourcer•  r—  rx  Úclass_vtrv  rw  Ú
var_sourcer™  s                  rn   rð  z+UserDefinedObjectVariable.resolve_type_attr‰  s  € ð 	>Ð=Ð=Ð=Ð=Ð=ð Ð1Ð1Ð1Ø�EœHœOÔ4Ð4Ð4à0ˆIà!œ_°DÐ8ÐT¸T¼[ÐPTÐ=TÐå�i¥Ñ.Ô.ð -	ð "ð BØ×7Ò7¸¸DÑAÔA�ÝÔ2°9ÀVÐLÑLÔLˆEØ×*Ò*¨2¨t°T×5EÒ5EÀbÈ+Ñ5VÔ5VÑWÔWÐWÝ˜	¥;Ñ/Ô/ð %	ð "ð BØ×7Ò7¸¸DÑAÔA�ÝÔ1°)ÀFÐKÑKÔKˆEØ×*Ò*¨2¨t°T×5EÒ5EÀbÈ+Ñ5VÔ5VÑWÔWÐWÝ˜	¥5Ô#BÑCÔCð 	ÝÔ<¸YÈvÐVÑVÔVˆFØ×+Ò+¨B°°d×6FÒ6FÀrÈ;Ñ6WÔ6WÑXÔXÐXÝ˜	¥5Ô#>Ñ?Ô?ð 	Ø×'Ò'¨¨KÑ8Ô8ˆHÝÔ7Ø °&ðñ ô ˆEð ×*Ò*¨2¨t°XÑ>Ô>Ð>Ý˜	¥5Ô#=Ñ>Ô>ð 	Ø×'Ò'¨¨KÑ8Ô8ˆHÝÔ6Ø °&ðñ ô ˆEð ×*Ò*¨2¨t°XÑ>Ô>Ð>Ý*¨9Ñ5Ô5ð 	ÝÔ6Ø˜=¨$°vðñ ô ð õ ˜	¥5Ô#5Ñ6Ô6ð 
	Ý˜)Ð%:Ñ;Ô;ð WØ%Ô9�	ØFLÐV� FÐ,AÑBÔBÐBÐRV�õ ˜)Ð%:Ñ;Ô;ð Wð ˆJØ!ð FØ!×;Ò;¸BÀÑEÔE�
ÝÔ/Ø˜4¨:¸fðñ ô ð õ Ô'­¨Y©¬¸ÀDÑIÔIˆÝ�f�eÔ0Ñ1Ô1ð 	KØ×-Ò-¨b°$¸	À6ÑJÔJÐJõ
 ŒHÔÔ"×4Ò4°YÑ?Ô?ð	Yå! )Ñ,Ô,ð	Yõ Ô,¨T°4½¸i¹¼ÐQWÐXÑXÔXÐXð ð 	7Ø×3Ò3°B¸Ñ=Ô=ˆFˆFØð 	7˜DœOÐ7Ý ¤°Ñ6Ô6ˆFÝÔ$ R¨°FÑ;Ô;Ð;rp   r5  c                 ó|  — d}d}| j         rJ|                      ||¦  «        }t          t          |¦  «        d¦  «        }t	          j        |||¦  «        }nt          |¦  «        }t          t          | j	        ¦  «        ¦  «        }t          j        |j        j        ||¬¦  «                             || |gi ¦  «        S )z3Trace a descriptor's __get__(instance, owner) call.Nr¯   rY  )r¥  r>  r#   r+   rM   rH  rœ  rÄ   r    r£   r   ro  r¯   r…  rp  )	r½   rÑ   r¹   r5  rÍ   r”  r�  rž  Ú	owner_vars	            rn   r#  z/UserDefinedObjectVariable.invoke_descriptor_getÞ  sÆ   € ð !ÐØ $ÐØŒ?ð 	CØ $× >Ò >¸rÀ4Ñ HÔ HÐÝ$.­zÐ:KÑ/LÔ/LÈiÑ$XÔ$XÐ!Ý,Ô2°2°zÐCTÑUÔUˆNˆNå6°zÑBÔBˆNå,­T°$´*Ñ-=Ô-=Ñ>Ô>ˆ	ÝÔ+ØÔÔ'ØØ(ð
ñ 
ô 
÷ Š-˜˜T 9Ð-¨rÑ
2Ô
2ð		3rp   c                 ó
  — |r€t          | t          j        ¦  «        rf|j        j        rt
          j        j        j        rD|dv r+| j	        €t          d¦  «        ‚t          | j	        |¦  «        }|                      |¦  «        }|S )zCWrap source for nn.Module instance dict attribute access if needed.)r  r  Nz7source must not be None for _buffers/_parameters access)r  r   r  r-  rÚ  rë   rM  r   Úinstall_free_tensorsrÍ   r4  r,   Ú_wrap_source)r½   rÑ   r¹   rÍ   s       rn   r  zBUserDefinedObjectVariable.maybe_wrap_nn_module_source_for_instanceö  s˜   € ð ð	/å˜4¥Ô!HÑIÔIð	/ð ”YÔ%ð	/õ */¬Ô)=Ô)Rð	/ð
 Ð2Ð2Ð2Ø”;Ð&Ý(ØQñô ð õ 8¸¼ÀTÑJÔJ�Ø×&Ò& vÑ.Ô.ˆFØˆrp   ry   c                 ó   — | j         rEt          | j                              t          j        t
          j        |¬¦  «        ¦  «        ¦  «         	 |                      ||¦  «        }t          j	        |t          |t          j        ¦  «         ¦  «        S # t          $ r1 t          |¦  «         t          j                             d¦  «        cY S w xY w)Nr{  F)rÍ   r"   rÓ   r/  r0  r!   r|  rz  rM   rH  r  r   r¤  r   r   ry   rÛ   )r½   rÑ   r¹   Úvar_vts       rn   r}  z*UserDefinedObjectVariable.call_obj_hasattr  s×   € ð Œ;ð 	ÝØ”×&Ò&ÝÔ%¥lÔ&:ÀÐFÑFÔFñô ñô ð ð	<Ø×%Ò% b¨$Ñ/Ô/ˆFÝ"Ô(Ø�
 6­9Ô+DÑEÔEÐEñô ð øõ &ð 	<ð 	<ð 	<Ý% bÑ)Ô)Ð)ÝÔ-×4Ò4°UÑ;Ô;Ð;Ð;Ð;ð	<øøøs   ÁAB Â8CÃCc                 ó8   — t          | j        ¦  «        j        d uS r   )r    r£   ri   rÏ   s    rn   r¶   z%UserDefinedObjectVariable.is_hashable  s   € õ �D”JÑÔÔ(°Ð4Ð4rp   c           	      ó   — ddl m} t          | j        ¦  «        }|j        D �]5}d|j        vrŒ|j        d         }|€ ||d|j        › d�¦  «         |t          u r �nút          |t          j
        ¦  «        �rb|                      |d|d ¬¦  «        }|                     |g i ¦  «        }ddlm} t          ||¦  «        r|                     ¦   «         d	fc S t          |t           j        ¦  «        r%t%          |                     ¦   «         ¦  «        d
fc S 	 |                     ¦   «         }	n# t*          $ r d }	Y nw xY w|	�6t-          |	t$          ¦  «        s!t/          t0          |d|	j        › d�g¬¦  «         |                     ¦   «         s9t5          dd| › �dt          |¦  «        j        › d�dgt6          j        ¢¬¦  «         |                     ¦   «         d
fc S 	 |t;          ¦   «         v }
n# t0          $ r d
}
Y nw xY w|j        dk    s|
st?          | j        ¦  «        r n6t5          dd| › �|j        › d�d|j        › d�gt6          j         ¢¬¦  «         �Œ7| j!        �| j!         "                    |¦  «        S tG          | j        ¦  «        d
fS )Nr   )r   ri   zunhashable type: 'r[  rY  rF   )ÚFakeIdVariableTFz/__hash__ method should return an integer, not 'r\  zNon-constant __hash__ returnz
hash_impl z!__hash__ returned a non-constant r  z=Ensure that your custom __hash__ function returns an integer.rS  r	  zUntraceable C tp_hashz4 defines a C __hash__ that Dynamo cannot trace into.úUse torch._dynamo.allow_c_slot(zA) to register it as safe if its slots are pure and deterministic.)$rx  r   r    r£   r"  r¦   r�   r€   r  re  rn  rð  rp  rÚ   r6  rá   r   ÚSymNodeVariabler  Úevaluate_exprrÆ  rÔ   r
  r   rµ   rD  r   r   r3  rs   r¿   r7   r^  r^  rÖ   r´   )r½   rÑ   r   Úobj_typeÚclsÚ	type_hashrñ  rÞ   r6  Úresult_typeÚin_allowlists              rn   rÖ   z#UserDefinedObjectVariable.hash_impl$  s�  € ð
 	+Ð*Ð*Ð*Ð*Ð*å˜œ
Ñ#Ô#ˆð Ô#ð F	ñ F	ˆCØ ¤Ð-Ð-ØØœ ZÔ0ˆIØÐ Ø Ð  Ð%N¸(Ô:KÐ%NÐ%NÐ%NÑOÔOÐOØ•fˆ}ˆ}à‘Ý˜)¥UÔ%7Ñ8Ô8ñ &:à!×3Ò3Ø˜
 I°dð 4ñ ô �
ð $×1Ò1°"°b¸"Ñ=Ô=�Ø4Ð4Ð4Ð4Ð4Ð4å˜f nÑ5Ô5ð =Ø!×4Ò4Ñ6Ô6¸Ð<Ð<Ð<Ð<Ý˜f¥iÔ&?Ñ@Ô@ð >Ý˜v×3Ò3Ñ5Ô5Ñ6Ô6¸Ð=Ð=Ð=Ð=ð'Ø"(×"4Ò"4Ñ"6Ô"6�K�KøÝ*ð 'ð 'ð 'Ø"&�K�K�Kð'øøøàÐ*µ:¸kÍ3Ñ3OÔ3OÐ*Ý,Ý!Øð<Ø$/Ô$8ð<ð <ð <ððñ ô ð ð ×0Ò0Ñ2Ô2ð 
Ý!Ø >Ø 3¨TÐ 3Ð 3ð%4Ý ™<œ<Ô0ð%4ð %4ð %4ð \ðå.Ô9ðð	ñ 	ô 	ð 	ð ×0Ò0Ñ2Ô2°EÐ9Ð9Ð9Ð9ð%Ø(Õ,AÑ,CÔ,CÐC��øÝð %ð %ð %Ø$���ð%øøøð ” *Ò,Ð,Øð -å*¨4¬:Ñ6Ô6ð -ð
 �ÝØ/Ø+ TÐ+Ð+Ø"œ|ð -ð -ð -ð&°c´lð &ð &ð &ðõ 'Ô2ð	ðñ ô ð ñ ð Œ=Ð$Ø”=×*Ò*¨2Ñ.Ô.Ð.õ �D”JÑÔ Ð&Ð&s$   ÄD-Ä-D<Ä;D<ÇG.Ç.G=Ç<G=rØ   c           	      óê  — ddl m} ddlm} t	          | j        ¦  «        }|j        D �]š}||j        vrŒ|t          u r �nƒ|j        |         }t          |t          j        ¦  «        rm|                      |||d¬¦  «        }	|	�Pddlm}
 |
                     |	dd	„ ¦  «        5  |	                     ||gi ¦  «        cddd¦  «         c S # 1 swxY w Y    nï| j        � næd
}	 |t#          ¦   «         v }n# t$          $ r Y nw xY w|j        dk    s|st)          | j        ¦  «        rh|                     ¦   «         }|t,          ur4	  || j        |¦  «        } |j        |¦  «        c S # t0          $ r Y nw xY w |j        t2          ¦  «        c S t5          dd| › d|› �|j        › d�d|j        › d�gt8          j        ¢¬¦  «         �Œœ| j        �| j                             |||¦  «        S  || |||¦  «        S )z�MRO walk for tp_richcompare, analogous to slot_tp_richcompare.

        https://github.com/python/cpython/blob/3.13/Objects/typeobject.c#L9421-L9468
        rF   rx   )Úobject_richcompareNrY  r   )ÚpatchÚ should_allow_nested_graph_breaksc                  ó   — dS rÀ  rr   rr   rp   rn   ú<lambda>z<UserDefinedObjectVariable.richcompare_impl.<locals>.<lambda>Ÿ  s   € Èe€ rp   Fr	  zUntraceable C tp_richcomparezrichcompare_impl ú z= defines a C comparison method that Dynamo cannot trace into.r7  zN) to register it as safe if its comparison methods are pure and deterministic.rS  )rÚ   ry   rï  r@  r    r£   r"  r¦   r€   r  re  rn  rð  Úunittest.mockrA  rp  r^  ro   rµ   r¿   r7   r‹  rK   rÛ   rÝ   rÜ   r   r�   r   r^  rß   )r½   rÑ   r×   rØ   ry   r@  r:  r;  rõ  r  rA  r>  rO  rÞ   s                 rn   rß   z*UserDefinedObjectVariable.richcompare_impl}  s  € ð 	/Ð.Ð.Ð.Ð.Ð.Ø7Ð7Ð7Ð7Ð7Ð7å˜œ
Ñ#Ô#ˆàÔ#ð ?	ñ ?	ˆCØ˜œÐ%Ð%Øà•fˆ}ˆ}Ø‘à”\ "Ô%ˆFå˜&¥%Ô"4Ñ5Ô5ð Ø×1Ò1°"°b¸&ÈÐ1ÑNÔN�ØÐ'ð 4Ð3Ð3Ð3Ð3Ð3àŸšØ Ð"DÀmÀmñô ð Gð Gð  (×5Ò5°b¸5¸'À2ÑFÔFðGð Gð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð �ð Œ}Ð(Ø�à ˆLðØ%­©¬Ð8��øÝð ð ð Ø�ðøøøð ” *Ò,Ð,Øð -å*¨4¬:Ñ6Ô6ð -ð "×>Ò>Ñ@Ô@�	Ø¥NÐ2Ð2ðØ!' ¨¬
°IÑ!>Ô!>˜Ø6Ð/Ô6°vÑ>Ô>Ð>Ð>Ð>øÝ$ð ð ð Ø˜ðøøøà.Ð'Ô.­~Ñ>Ô>Ð>Ð>Ð>ÝØ6Ø7¨DÐ7Ð7°2Ð7Ð7Ø"œ|ð 2ð 2ð 2ð*°c´lð *ð *ð *ðõ 'Ô2ð	ðñ ô ð ñ ð Œ=Ð$Ø”=×1Ò1°"°e¸RÑ@Ô@Ð@à!Ð! $¨¨E°2Ñ6Ô6Ð6s6   Â!CÃC	ÃC	Ã!C2Ã2
C?Ã>C?Å E$Å$
E1Å0E1c                 ó  — t          |t          ¦  «        rR|                      ¦   «         r>|                     ¦   «         r*|                      ¦   «         |                     ¦   «         k    S t          |t          ¦  «        sdS | j        |j        u S rÀ  )r  rM   rD  rá   r¸   r£   r‚  s     rn   rƒ  z)UserDefinedObjectVariable.is_python_equalÏ  s�   € å�u�oÑ.Ô.ð	Kà×'Ò'Ñ)Ô)ð	Kð ×(Ò(Ñ*Ô*ð	Kð
 ×*Ò*Ñ,Ô,°×0HÒ0HÑ0JÔ0JÒJÐJå˜%Õ!4Ñ5Ô5ð 	Ø�5ØŒz˜Uœ[Ð(Ð(rp   Útree_map_fnú(variables.functions.UserFunctionVariableÚmap_fnrM   Úrestúlist[VariableTracker]Útree_map_kwargsúdict[str, VariableTracker]c                 ó‚  — t          t          |dd¦  «        dd¦  «        }|                     d¦  «        }|�r	 ddl}ddlm}	 | j        |	v p3|                     | j        ¦  «        p|                     | j        ¦  «        }
|
sa|                     d¦  «        }|�J	 | 	                    ¦   «         }|| j        f|	v }
n)# t          $ r |                      |||||¦  «        cY S w xY wn§# t          $ rO ddl}|                     t          ¦  «        }|                     d	¦  «         |                      |||||¦  «        cY S w xY wddlmc m} | j        |j        v p3|                     | j        ¦  «        p|                     | j        ¦  «        }
|
s|                     || g|¢i ¦  «        S |                      |||||¦  «        S )
aE  Emulate tree_map behavior for user-defined objects.

        In pytree, a type is a leaf if it is NOT in SUPPORTED_NODES.
        User-defined objects (that are not registered with register_pytree_node)
        are always treated as leaves. This works for both torch.utils._pytree
        and optree implementations.
        re  Nr¿   r|  Úoptreer   ©Ú_NODETYPE_REGISTRYÚ	namespacezYFailed to import optree.registry._NODETYPE_REGISTRY, falling back to tracing for tree_map)rk   r�  rP  Úoptree.registryrR  r¤  Úis_namedtuple_classr   r–   rá   rÔ   Ú_tree_map_fallbackr‘   ÚloggingÚ	getLoggerr�   Úwarningr¬  r­  r®  ÚSUPPORTED_NODESrp  )r½   rÑ   rH  rJ  rK  rM  Útree_map_moduleÚ	is_optreerP  rR  Úis_registeredÚnamespace_varrS  rW  Úlogr³  s                   rn   Úcall_tree_map_branchz.UserDefinedObjectVariable.call_tree_map_branchÛ  s  € õ  "¥'¨+°t¸TÑ"BÔ"BÀLÐRTÑUÔUˆØ#×.Ò.¨xÑ8Ô8ˆ	àñ =	ð/Ø���Ø>Ð>Ð>Ð>Ð>Ð>ð
 ”OÐ'9Ð9ð BØ×1Ò1°$´/ÑBÔBðBà×0Ò0°´ÑAÔAð ð %ð Ø$3×$7Ò$7¸Ñ$DÔ$D�MØ$Ð0ðØ(5×(HÒ(HÑ(JÔ(J˜Ið !*Ø $¤ð-ð "4ð-4˜M˜Møõ  3ð ð ð à#'×#:Ò#:Ø "Ø +Ø &Ø $Ø /ñ$ô $ð ð ð ðøøøøøõ ð ð ð à���à×'Ò'­Ñ1Ô1�Ø—’ð;ñô ð ð ×.Ò.ØØØØØ#ñô ð ð ð ðøøøð$ 1Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ð ” 6Ô#9Ð9ð >Ø×-Ò-¨d¬oÑ>Ô>ð>à×,Ò,¨T¬_Ñ=Ô=ð ð ð 	?Ø×'Ò'¨¨T¨M°D¨M¸2Ñ>Ô>Ð>ð
 ×&Ò&ØØØØØñ
ô 
ð 	
s7   ºA C% ÂB; Â:C% Â;#C!ÃC% Ã C!Ã!C% Ã%AD>Ä=D>Úkeypathútuple[Any, ...]c           	      óL  ‡— |                      ¦   «         }|                     d¦  «        }|r×	 ddl}	ddlm}
 | j        |
v p3|	                     | j        ¦  «        p|	                     | j        ¦  «        }|sb|                     d¦  «        }|�K	 | 	                    ¦   «         }|| j        f|
v }n*# t          $ r |                      ‰|||||¦  «        cY S w xY wnu# t          $ r |                      ‰|||||¦  «        cY S w xY wddlmc m} | j        |j        v p3|                     | j        ¦  «        p|                     | j        ¦  «        }|s;t#          j        ˆfd„|D ¦   «         ¦  «        }|                     ‰|| g|¢i ¦  «        S |                      ‰|||||¦  «        S )zšEmulate tree_map_with_path behavior for user-defined objects.

        Same logic as call_tree_map_branch but passes keypath to the map function.
        rP  r   NrQ  rS  c                 ó:   •— g | ]}t          j        ‰|¦  «        ‘ŒS rr   rø  )r  r  rÑ   s     €rn   rù  zLUserDefinedObjectVariable.call_tree_map_with_path_branch.<locals>.<listcomp>}  s&   ø€ Ð?Ð?Ð?°!•Ô& r¨1Ñ-Ô-Ð?Ð?Ð?rp   )Ú
get_moduler�  rP  rT  rR  r¤  rU  r   r–   rá   rÔ   Ú_tree_map_with_path_fallbackr‘   r¬  r­  r®  rZ  r   r|   rp  )r½   rÑ   rH  rJ  rK  rM  ra  r[  r\  rP  rR  r]  r^  rS  r³  Úkeypath_vars    `              rn   Úcall_tree_map_with_path_branchz8UserDefinedObjectVariable.call_tree_map_with_path_branch<  so  ø€ ð &×0Ò0Ñ2Ô2ˆØ#×.Ò.¨xÑ8Ô8ˆ	àð -	ð$Ø���Ø>Ð>Ð>Ð>Ð>Ð>ð ”OÐ'9Ð9ð BØ×1Ò1°$´/ÑBÔBðBà×0Ò0°´ÑAÔAð ð %ð Ø$3×$7Ò$7¸Ñ$DÔ$D�MØ$Ð0ðØ(5×(HÒ(HÑ(JÔ(J˜Ià )Ø $¤ð-ð "4ð-4˜M˜Møõ  3ð ð ð Ø#'×#DÒ#DØ "Ø +Ø &Ø $Ø /Ø 'ñ$ô $ð ð ð ðøøøøøõ ð ð ð Ø×8Ò8ØØØØØ#Øñô ð ð ð ðøøøð 1Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ð ” 6Ô#9Ð9ð >Ø×-Ò-¨d¬oÑ>Ô>ð>à×,Ò,¨T¬_Ñ=Ô=ð ð ð 	LÝ#Ô1Ø?Ð?Ð?Ð?°wÐ?Ñ?Ô?ñô ˆKð ×'Ò'¨¨[¸$Ð,FÀÐ,FÈÑKÔKÐKà×0Ò0ØØØØØØñ
ô 
ð 	
s6   ®A C ÂB/ Â.C Â/$CÃC ÃCÃC Ã$DÄ D)rÑ   rw   rW   rz   )rÑ   rw   rW   rç  )rW   Nr�  ©rÑ   rw   rH  rI  rJ  rM   rK  rL  rM  rN  rW   rM   ©rÑ   rw   rH  rI  rJ  rM   rK  rL  rM  rN  ra  rb  rW   rM   )sr�   r¿   rÀ   Ú__doc__r^  rM   rÁ   r£  r  r   r¸   Ú_nonvar_fieldsr€   r    r+   r  rÈ   rÂ   r¹  ré   r¾  rŽ  rÂ  r†  rÆ  r‹  rá   rä   rá  r  r   ræ  rE  rK  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  r4  r;  r@  rF  rL  rO  rP  rU  rZ  r^  rd  rg  rl  rp  rv  ry  r|  r�  r„  r‰  rŒ  r‘  r”  r™  rC  r´  r·  r§  rª  r­  r£  râ  rú  rå  rp  rü  r   r  rå  r	  r%   r>  r  rz  r  rð  r#  r  r}  r¶   rÖ   rß   rƒ  r`  rh  r�  r‘  s   @rn   rœ  rœ  L  s€  ø€ € € € € € ðð ð (,€Hˆo Ñ$Ð+Ð+Ñ+ð &*€M�3�s”8˜d‘?Ð)Ð)Ñ)ð 	Øðð 
Ô	+ð€Nð #'Ø(,Ø.2Ø26ð.Lð .Lð .Làð.Lð ˜4‘Kð	.Lð
  Ñ%ð.Lð % tÑ+ð.Lð ˜Ô(¨4Ñ/ð.Lð ð.Lð 
ð.Lð .Lð .Lð .Lð .Lð .Lð`	5˜ð 	5ð 	5ð 	5ð 	5ðH˜#ð Hð Hð Hð Hðð ð ð ð
°ð À$ð ð ð ð ð

ð 
ð 
ð˜Tð ð ð ð ð¨fð ð ð ð ð), Fð ),ð ),ð ),ð ),ð ),ð ),ðV"˜&ð "ð "ð "ð "ð "ð "ð2¨&ð 2ð 2ð 2ð 2ð 2ð 2ð >ð!ð !ð !à'ð!ð ð!ð
 ð!ð 
ˆv�v ‘}Ð$Ô	%ð!ð !ð !ð !ð"à'ðð 
"ðð ð ð ð2<à'ð<ð 
ð<ð <ð <ð <ð <ð <ð|à'ðð 
ðð ð ð ð ð ð0à'ðð 
ðð ð ð ð ð ð*à'ðð 
ðð ð ð ð ð ð*7à'ð7ð 
ð7ð 7ð 7ð 7ð,7à'ð7ð 
ð7ð 7ð 7ð 7ð.7à'ð7ð 
ð7ð 7ð 7ð 7ð0ð ð ð ð/Ð:ð /¸ð /ð /ð /ð /ð
à'ð
ð ð
ð ð	
ð
 �sŒmð
ð �S˜#�X”ð
ð 
ð
ð 
ð 
ð 
ð*-Ø-ð-Ø5Dð-à	ð-ð -ð -ð -ð -ð -ð ,Ð#>ð ,À?ð ,ð ,ð ,ð ,ð ,ð ,ð(Ð:ð (¸ð (ð (ð (ð (ð (ð (ð$ Ø„_ð¨¨S¬ð ð ð ñ „_ñ „\ðð2à'ð2ð ð2ð 
ð	2ð 2ð 2ð 2ð 2ð 2ð&1à'ð1ð ð1ð 
ð	1ð 1ð 1ð 1ð 1ð 1ð9à'ð9ð ð9ð 
ð	9ð 9ð 9ð 9ð 9ð 9ð=à'ð=ð ð=ð  Ñ%ð	=ð
 
ð=ð =ð =ð =ð =ð =ð2 -Ðð.<à'ð.<ð ð.<ð �?Ô#ð	.<ð
 
ð.<ð .<ð .<ð .<ð`mAà'ðmAð ðmAð ð	mAð
 ðmAð ðmAð ðmAð 
ðmAð mAð mAð mAðf ð	
ð 
à'ð
ð ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð& ð	
ð 
à'ð
ð ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð @à'ð@ð ð@ð 
ð	@ð @ð @ð @ð ð	
ð 
à'ð
ð ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð @à'ð@ð ð@ð 
ð	@ð @ð @ð @ð ð	
ð 
à'ð
ð ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð <à'ð<ð ð<ð 
ð	<ð <ð <ð <ð ð	
ð 
à'ð
ð ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð =à'ð=ð ð=ð 
ð	=ð =ð =ð =ð ð	
ð 
à'ð
ð ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð =à'ð=ð ð=ð 
ð	=ð =ð =ð =ð ð	
ð 
à'ð
ð ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð =à'ð=ð ð=ð 
ð	=ð =ð =ð =ð ð	
ð 
à'ð
ð ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð =à'ð=ð ð=ð 
ð	=ð =ð =ð =ð=à'ð=ð ð=ð 
ð	=ð =ð =ð =ð ð	
ð 
à'ð
ð ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð Bà'ðBð ðBð 
ð	Bð Bð Bð Bð ð	
ð 
à'ð
ð ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð Aà'ðAð ðAð 
ð	Að Að Að Að ð	
ð 
à'ð
ð ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð =à'ð=ð ð=ð 
ð	=ð =ð =ð =ð ð	
ð 
à'ð
ð ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð _;à'ð_;ð ð_;ð �3Œið	_;ð
 �S˜#�X”ð_;ð 
ð_;ð _;ð _;ð _;ð _;ð _;ðB:Ø-ð:Ø6Eð:à	ð:ð :ð :ð :ð3Ø-ð3Ø6Eð3à	ð3ð 3ð 3ð 3ð
Ð6ð 
¸?ð 
ð 
ð 
ð 
ð.!Ð7ð !¸Oð !ð !ð !ð !ð!Ð7ð !¸Oð !ð !ð !ð !ðr à'ðr ð ðr ð ð	r ð
 
ðr ð r ð r ð r ðh: Dð :ð :ð :ð :ð
)Ø-ð)à	ˆoÔ	ð)ð )ð )ð )ð
 Tð ð ð ð ð>7à'ð>7ð �?Ô#ð>7ð �S˜/Ð)Ô*ð	>7ð
 
ð>7ð >7ð >7ð >7ð >7ð >7ð@. Fð .ð .ð .ð .ð
C¨Vð 
C¸ð 
Cð 
Cð 
Cð 
Cð$ Cð $¨Fð $ð $ð $ð $ðL¨#ð °&ð ð ð ð ð(
*Ø-ð
*Ø47ð
*à	ð
*ð 
*ð 
*ð 
*ðO
Ø-ðO
Ø58ðO
à	ðO
ð O
ð O
ð O
ðbd
Ø-ðd
Ø58ðd
à	ðd
ð d
ð d
ð d
ðL.Ø-ð.Ø58ð.à	ð.ð .ð .ð .ð.M;à'ðM;ð ðM;ð ð	M;ð
 ˜‘ðM;ð 
ðM;ð M;ð M;ð M;ð^S<à'ðS<ð ðS<ð ð	S<ð
 ˜‘ðS<ð 
ðS<ð S<ð S<ð S<ðj3à'ð3ð ð3ð ð	3ð
 ˜‘ð3ð 
ð3ð 3ð 3ð 3ð0à'ðð ðð ˜‘ð	ð
 
�$‰ðð ð ð ð*<Ø-ð<Ø58ð<à	ð<ð <ð <ð <ð&5˜Tð 5ð 5ð 5ð 5ðW'Ð7ð W'¸EÀ#ÀtÀ)Ô<Lð W'ð W'ð W'ð W'ðrP7Ø-ðP7Ø6EðP7ØKNðP7à	ðP7ð P7ð P7ð P7ðd
) Vð 
)°ð 
)ð 
)ð 
)ð 
)ð_
à'ð_
ð @ð_
ð "ð	_
ð
 &ð_
ð 6ð_
ð 
ð_
ð _
ð _
ð _
ðBL
à'ðL
ð @ðL
ð "ð	L
ð
 &ðL
ð 6ðL
ð #ðL
ð 
ðL
ð L
ð L
ð L
ð L
ð L
ð L
ð L
rp   rœ  c                   ó~   — e Zd ZdZdedefd„Zdefd„Zdefd„Z	dd
„Z
defd„Zdddeeef         fd„Zdedefd„Zd	S )ÚFrozenDataClassVariablea  Frozen dataclass variable for as_proxy/as_python_constant/hashability.

    Construction is handled by the generic polyfill path (tracing through
    the auto-generated __init__). Field values are retrieved dynamically
    via var_getattr using InstructionTranslator.current_tx().
    Ú
field_namerW   c                 ób   — ddl m} |                     ¦   «         }|                      ||¦  «        S )Nr   rË  )rØ  rÌ  rÙ  rz  )r½   ro  rÌ  rÑ   s       rn   Ú_get_field_vtz%FrozenDataClassVariable._get_field_vt“  s;   € ØHÐHÐHÐHÐHÐHà"×-Ò-Ñ/Ô/ˆØ×Ò  JÑ/Ô/Ð/rp   c                 ó  — ddl m} dd lmc m} t          | j        |j        |j        |j	        f¦  «        st          d¦  «        ‚t          | j        |j        ¦  «        r|                     ¦   «         S g }i } || j        ¦  «        D ]f}|j        r]|                      |j        ¦  «                             ¦   «         }t!          |dd¦  «        r|||j        <   ŒQ|                     |¦  «         Œg |                      ¦   «         |i |¤ŽS )Nr   ©Úfieldsz@currently can't reconstruct arbitrary frozen dataclass instancesÚkw_onlyF)r©   rt  r¬  r­  r®  r:   r£   ÚTreeSpecÚLeafSpecÚConstantNoderÔ   Útreespec_leafÚinitrq  r¹   rá   rk   r�   rÆ  )r½   rt  r³  r]  rÅ   ÚfieldÚdatas          rn   rá   z*FrozenDataClassVariable.as_python_constant™  s>  € Ø&Ð&Ð&Ð&Ð&Ð&à,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,åØŒJ˜œ¨&¬/¸6Ô;NÐOñ
ô 
ð 	õ &ØRñô ð õ �$”*˜fœoÑ.Ô.ð 	*Ø×'Ò'Ñ)Ô)Ð)àˆØ$&ˆØ�V˜DœJÑ'Ô'ð 	&ð 	&ˆEØŒzð &Ø×)Ò)¨%¬*Ñ5Ô5×HÒHÑJÔJ�Ý˜5 )¨UÑ3Ô3ð &Ø)-�F˜5œ:Ñ&Ð&à—K’K Ñ%Ô%Ð%øà!ˆt×ÒÑ!Ô! 4Ð2¨6Ð2Ð2Ð2rp   c                 ó6  — ddl m} g }i } || j        ¦  «        D ]e}|                      |j        ¦  «                             ¦   «         }t          |d¦  «        r|j        r|||j        <   ŒP|                     |¦  «         Œf |  	                    ¦   «         |i |¤ŽS )Nr   rs  ru  )
r©   rt  r£   rq  r¹   rä   rj   ru  r�   rÆ  )r½   rt  r]  rÅ   r{  rØ  s         rn   rä   z FrozenDataClassVariable.as_proxy´  sº   € Ø&Ð&Ð&Ð&Ð&Ð&àˆØ$&ˆØ�V˜DœJÑ'Ô'ð 	#ð 	#ˆEØ×&Ò& u¤zÑ2Ô2×;Ò;Ñ=Ô=ˆEÝ�u˜iÑ(Ô(ð #¨U¬]ð #Ø%*��u”zÑ"Ð"à—’˜EÑ"Ô"Ð"Ð"à!ˆt×ÒÑ!Ô! 4Ð2¨6Ð2Ð2Ð2rp   rˆ  rt   Nc                 ó¬   — | j         � || j         ¦  «         d S |                     |                     |                      ¦   «         ¦  «        ¦  «         d S r   )rÍ   Úappend_outputÚcreate_load_const_uncheckedrá   r‡  s     rn   Úreconstructz#FrozenDataClassVariable.reconstructÂ  s`   € ØŒ;Ð"ØˆG�D”KÑ Ô Ð ØˆFØ×ÒØ×/Ò/°×0GÒ0GÑ0IÔ0IÑJÔJñ	
ô 	
ð 	
ð 	
ð 	
rp   c                 ó:   — | j         j        › d| j        j        › d�S ræ   r»  rÏ   s    rn   ré   z FrozenDataClassVariable.__repr__Ê  r¼  rp   rÑ   rw   c                 ó"  — ddl m} ddlm} ddlm} d}g } || j        ¦  «        D ]K} |||                      |j        ¦  «        ¦  «        \  }}	|p|	}| 	                     ||¦  «        ¦  «         ŒLt          t          |¦  «        ¦  «        |fS )Nr   rs  rF   )ÚRawHash)Úgeneric_hash_implF)r©   rt  Úhashabler„  rï  r…  r£   rq  r¹   r�   r´   r  )
r½   rÑ   Ú	dc_fieldsr„  r…  Úis_fakeÚ
raw_hashesÚfÚhÚfakes
             rn   rÖ   z!FrozenDataClassVariable.hash_implÍ  sÈ   € ð
 	4Ð3Ð3Ð3Ð3Ð3à%Ð%Ð%Ð%Ð%Ð%Ø6Ð6Ð6Ð6Ð6Ð6àˆØˆ
Ø�˜4œ:Ñ&Ô&ð 	*ð 	*ˆAØ'Ð'¨¨D×,>Ò,>¸q¼vÑ,FÔ,FÑGÔG‰GˆAˆtØ�o ˆGØ×Ò˜g˜g a™jœjÑ)Ô)Ð)Ð)Ý•E˜*Ñ%Ô%Ñ&Ô&¨Ð/Ð/rp   r×   c                 óè   ‡ ‡— t          ‰t          ¦  «        sdS ‰                      ¦   «         ‰                     ¦   «         urdS ddlm} t          ˆˆ fd„ |‰ j        ¦  «        D ¦   «         ¦  «        S )NFr   rs  c              3   ó¢   •K  — | ]I}‰                      |j        ¦  «                             ‰                      |j        ¦  «        ¦  «        V — ŒJd S r   )rq  r¹   rƒ  )r  rŠ  r×   r½   s     €€rn   r  z:FrozenDataClassVariable.is_python_equal.<locals>.<genexpr>æ  se   øè è € ð 
ð 
àð ×Ò˜qœvÑ&Ô&×6Ò6°u×7JÒ7JÈ1Ì6Ñ7RÔ7RÑSÔSð
ð 
ð 
ð 
ð 
ð 
rp   )r  rn  rÆ  r©   rt  rS  r£   )r½   r×   r‡  s   `` rn   rƒ  z'FrozenDataClassVariable.is_python_equalß  sŸ   øø€ Ý˜%Õ!8Ñ9Ô9ð 	Ø�5Ø×ÒÑÔ U×%6Ò%6Ñ%8Ô%8Ð8Ð8Ø�5Ø3Ð3Ð3Ð3Ð3Ð3åð 
ð 
ð 
ð 
ð 
à�Y˜tœzÑ*Ô*ð
ñ 
ô 
ñ 
ô 
ð 	
rp   ©rˆ  rt   rW   N)r�   r¿   rÀ   rk  rÂ   rM   rq  r€   rá   rä   r�  ré   r  r  rŽ  rÖ   rƒ  rr   rp   rn   rn  rn  ‹  sø   € € € € € ðð ð0¨ð 0°ð 0ð 0ð 0ð 0ð3 Fð 3ð 3ð 3ð 3ð63˜&ð 3ð 3ð 3ð 3ð
ð 
ð 
ð 
ðH˜#ð Hð Hð Hð Hð0Ð7ð 0¸EÀ#ÀtÀ)Ô<Lð 0ð 0ð 0ð 0ð$

 Vð 

°ð 

ð 

ð 

ð 

ð 

ð 

rp   rn  c            
       ód   ‡ — e Zd Zdededdfˆ fd„Zddded	ee         de	eef         def
d
„Z
ˆ xZS )ÚSourcelessGraphModuleVariabler£   rÅ   rW   Nc                 ó<   •—  t          ¦   «         j        |fi |¤Ž d S r   ©rÇ   rÈ   rÊ   s      €rn   rÈ   z&SourcelessGraphModuleVariable.__init__í  s*   ø€ ð
 	�‰ŒÔ˜Ð)Ð) &Ð)Ð)Ð)Ð)Ð)rp   rÑ   rw   r¹   r]  c                 ó„   — t          j        || j        j        j        ¦  «        }| g|z   }|                     |||¦  «        S r   )rM   rH  r£   Úforwardr…  rP  )r½   rÑ   r¹   r]  rÅ   Úfn_variables         rn   rC  z)SourcelessGraphModuleVariable.call_methodô  sJ   € õ &Ô+¨B°´
Ô0BÔ0KÑLÔLˆØˆv˜‰}ˆØ×-Ò-ØØØñ
ô 
ð 	
rp   )r�   r¿   rÀ   r€   r   rÈ   rÂ   r  rM   r  rC  r�  r‘  s   @rn   r‘  r‘  ì  s¬   ø€ € € € € ð*àð*ð ð*ð 
ð	*ð *ð *ð *ð *ð *ð
à'ð
ð ð
ð �?Ô#ð	
ð
 �S˜/Ð)Ô*ð
ð 
ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
rp   r‘  c            
       ó¨  ‡ — e Zd Zdededdfˆ fd„Zededef         fd„¦   «         Zedd	„¦   «         Z	d
dde
dee         dee
ef         def
ˆ fd„Zd
dde
fˆ fd„Zedd„¦   «         Zedee         fd„¦   «         Zdd„Zedee         fd„¦   «         Zedej        dz  fd„¦   «         Zde
fd„Zdˆ fd„Zej        dej        ddfd„¦   «         Zˆ xZS )Ú"UserDefinedExceptionObjectVariabler£   rÅ   rW   Nc                 óö   •—  t          ¦   «         j        |fi |¤Ž |                     dg ¦  «        }t          j        | j        |¦  «        | _        t          |t          ¦  «        rt          nt          | _        d S )Nrô  )rÇ   rÈ   r–   r   ÚExceptionVariabler¤  r^  r  r‚   r-   r1   r£  )r½   r£   rÅ   rô  rË   s       €rn   rÈ   z+UserDefinedExceptionObjectVariable.__init__  sv   ø€ Ø�‰ŒÔ˜Ð)Ð) &Ð)Ð)Ð)Ø—J’J˜{¨BÑ/Ô/ˆ	Ý!Ô3°D´OÀYÑOÔOˆŒõ ˜%¥Ñ/Ô/ð#Õ"Ð"å"ð 	ÔÐÐrp   .c                 ó   — | j         S r   rÅ  rÏ   s    rn   re  z%UserDefinedExceptionObjectVariable.fn  s
   € àŒÐrp   úvariables.ExceptionVariablec                 ól   — | j         €t          d¦  «        ‚t          t          j        | j         ¦  «        S )Nz,_base_vt must not be None for exception repr)r^  r4  r   r   rš  rÏ   s    rn   Úexc_vtz)UserDefinedExceptionObjectVariable.exc_vt  s.   € àŒ=Ð Ý Ð!OÑPÔPÐPÝ•IÔ/°´Ñ?Ô?Ð?rp   rÑ   rw   r¹   r]  c                 ó   •— |dk    r]|                       |¦  «        x}rFt          j        |¦  «        r2t          |¦  «        dk    rt          j                             d ¦  «        S |dk    rNt          |¦  «        dk    r;|d                              dddd¦  «        r| j         	                    ||||¦  «        S |d	k    r| j         	                    ||||¦  «        S t          ¦   «          	                    ||||¦  «        S )
NrÈ   r   r�   r   Ú	__cause__Ú__context__Ú__suppress_context__Ú__traceback__Úwith_traceback)r¾   r§   r‘  rë  r   ry   rÛ   Úis_constant_matchr^  rC  rÇ   )r½   rÑ   r¹   r]  rÅ   rõ  rË   s         €rn   rC  z.UserDefinedExceptionObjectVariable.call_method  s  ø€ ð �JÒÐØ×;Ò;¸DÑAÔAÐA�ð åÔ*¨6Ñ2Ô2ð õ �F‘”˜qÒ Ð åÔ-×4Ò4°TÑ:Ô:Ð:à�MÒ!Ð!Ý�D‘	”	˜Q’�Ø�Q”×)Ò)Ø˜]Ð,BÀOñô ð ð
 ”=×,Ò,¨R°°t¸VÑDÔDÐDØÐ%Ò%Ð%Ø”=×,Ò,¨R°°t¸VÑDÔDÐDÝ‰wŒw×"Ò" 2 t¨T°6Ñ:Ô:Ð:rp   c                 ó†   •— |dv r| j                              ||¦  «        S t          ¦   «                              ||¦  «        S )N)r]  r   r¡  r¢  r£  )r^  rz  rÇ   r€  s      €rn   rz  z.UserDefinedExceptionObjectVariable.var_getattr3  sI   ø€ Øð 
ð 
ð 
ð ”=×,Ò,¨R°Ñ6Ô6Ð6Ý‰wŒw×"Ò" 2 tÑ,Ô,Ð,rp   ry   c                 ó   — | j         j        S r   )r^  r¡  rÏ   s    rn   r¡  z.UserDefinedExceptionObjectVariable.__context__>  s   € àŒ}Ô(Ð(rp   c                 ó   — | j         j        S r   )r^  r]  rÏ   s    rn   r]  z'UserDefinedExceptionObjectVariable.argsB  s   € àŒ}Ô!Ð!rp   rU  c                 ó6   — | j                              |¦  «        S r   )r^  Úset_context)r½   rU  s     rn   rª  z.UserDefinedExceptionObjectVariable.set_contextF  s   € ØŒ}×(Ò(¨Ñ1Ô1Ð1rp   c                 ó   — | j         j        S r   )r^  Úexc_typerÏ   s    rn   r¬  z+UserDefinedExceptionObjectVariable.exc_typeI  s   € àŒ}Ô%Ð%rp   c                 ó   — | j         j        S r   ©r^  Úpython_stackrÏ   s    rn   r¯  z/UserDefinedExceptionObjectVariable.python_stackM  s   € àŒ}Ô)Ð)rp   c                 ó4   — | j                              ¦   «         S r   )rž  Ú
debug_reprrÏ   s    rn   r±  z-UserDefinedExceptionObjectVariable.debug_reprQ  s   € ØŒ{×%Ò%Ñ'Ô'Ð'rp   rM   c                 óÄ   •— t          | j        ¦  «        j        t          j        ur!t	          ¦   «                              |¦  «        S | j                             |¦  «        S r   )r    r£   ré   r‚   rÇ   rK  rž  ©r½   rÑ   rË   s     €rn   rK  z,UserDefinedExceptionObjectVariable.repr_implT  sL   ø€ å�”
ÑÔÔ$­MÔ,BÐBÐBÝ‘7”7×$Ò$ RÑ(Ô(Ð(ØŒ{×$Ò$ RÑ(Ô(Ð(rp   c                 ó   — || j         _        d S r   r®  )r½   r£   s     rn   r¯  z/UserDefinedExceptionObjectVariable.python_stackZ  s   € à%*ˆŒÔ"Ð"Ð"rp   )rW   rœ  )rW   ry   )rU  rœ  rW   NrŒ  )r�   r¿   rÀ   r€   r   rÈ   r†  r   re  rž  rÂ   r  rM   r  rC  rz  r¡  r]  rª  r    r‚   r¬  Ú	tracebackÚStackSummaryr¯  r±  rK  rÍ  r�  r‘  s   @rn   r˜  r˜    sY  ø€ € € € € ð
˜fð 
°ð 
¸ð 
ð 
ð 
ð 
ð 
ð 
ð ð�H˜S &˜[Ô)ð ð ð ñ „Xðð ð@ð @ð @ñ „Xð@ð
;à'ð;ð ð;ð �?Ô#ð	;ð
 �S˜/Ð)Ô*ð;ð 
ð;ð ;ð ;ð ;ð ;ð ;ð4	-Ð9ð 	-Àð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð ð)ð )ð )ñ „Xð)ð ð"�d˜?Ô+ð "ð "ð "ñ „Xð"ð2ð 2ð 2ð 2ð ð&˜$˜}Ô-ð &ð &ð &ñ „Xð&ð ð*˜iÔ4°tÑ;ð *ð *ð *ñ „Xð*ð(˜Cð (ð (ð (ð (ð)ð )ð )ð )ð )ð )ð Ôð+ )Ô"8ð +¸Tð +ð +ð +ñ Ôð+ð +ð +ð +ð +rp   r˜  c                   óÆ   ‡ — e Zd ZU dZej        ddiej        dddœiZee	ee
e
f         f         ed<   eded	efd
„¦   «         Zeded	efd„¦   «         Zddde
d	efˆ fd„Zˆ xZS )ÚInspectVariablezÊHandles inspect.Signature and inspect.Parameter objects.

    Short-circuits property accesses to avoid tracing property getters,
    redirecting them to the underlying private attributes directly.
    Ú
parametersr  Ú_kindÚ_name)Úkindr¹   Ú_PROPERTY_REDIRECTSr›   rW   c                 ó8   — t          | ¦  «        t          j        v S r   )r    r¸  r½  r¡   s    rn   Úis_matching_objectz"InspectVariable.is_matching_objectk  s   € å�C‰yŒy�OÔ?Ð?Ð?rp   c                 ó   — | t           j        v S r   )r¸  r½  r¡   s    rn   Úis_matching_classz!InspectVariable.is_matching_classo  s   € à•oÔ9Ð9Ð9rp   rÑ   rw   r¹   c                 óú   •— | j                              t          | j        ¦  «        i ¦  «        }||v r(t	          ¦   «                              |||         ¦  «        S t	          ¦   «                              ||¦  «        S r   )r½  r–   r    r£   rÇ   rz  )r½   rÑ   r¹   Ú	redirectsrË   s       €rn   rz  zInspectVariable.var_getattrs  sj   ø€ ð Ô,×0Ò0µ°d´jÑ1AÔ1AÀ2ÑFÔFˆ	Ø�9ÐÐÝ‘7”7×&Ò& r¨9°T¬?Ñ;Ô;Ð;Ý‰wŒw×"Ò" 2 tÑ,Ô,Ð,rp   )r�   r¿   rÀ   rk  r§   Ú	SignatureÚ	Parameterr½  r  r    rÂ   rÁ   r‚  r€   rŽ  r¿  rÁ  rM   rz  r�  r‘  s   @rn   r¸  r¸  _  s  ø€ € € € € € ðð ð 	Ô˜L¨-Ð8ØÔ G°WÐ=Ð=ð7Ð˜˜d D¨¨c¨¤NÐ2Ô3ð ð ñ ð
 ð@ ð @¨4ð @ð @ð @ñ „\ð@ð ð:˜vð :¨$ð :ð :ð :ñ „\ð:ð-Ø-ð-Ø58ð-à	ð-ð -ð -ð -ð -ð -ð -ð -ð -ð -rp   r¸  c                   ód   ‡ — e Zd Zededefd„¦   «         Zdededdfˆ fd„Zdd	d
e	de
fˆ fd„Zˆ xZS )ÚKeyedJaggedTensorVariabler›   rW   c                 ót   — t           j                             d¦  «        }|d uot          | ¦  «        |j        u S )Nztorchrec.sparse.jagged_tensor)r”   r•   r–   r    ÚKeyedJaggedTensor©r›   Úmods     rn   r¿  z,KeyedJaggedTensorVariable.is_matching_object}  s3   € åŒk�oŠoÐ=Ñ>Ô>ˆØ˜$ˆÐE¥4¨¡9¤9°Ô0EÐ#EÐErp   r£   rÅ   Nc                 ó¨   •— ddl m} t          |¦  «        |urt          dt          |¦  «        › �¦  «        ‚ t	          ¦   «         j        |fi |¤Ž d S )Nr   )rÉ  z Expected KeyedJaggedTensor, got )Útorchrec.sparse.jagged_tensorrÉ  r    r4  rÇ   rÈ   )r½   r£   rÅ   rÉ  rË   s       €rn   rÈ   z"KeyedJaggedTensorVariable.__init__‚  sw   ø€ ð	
ð 	
ð 	
ð 	
ð 	
ð 	
õ �‰;Œ;Ð/Ð/Ð/Ý Ð!QÅDÈÁKÄKÐ!QÐ!QÑRÔRÐRØ�‰ŒÔ˜Ð)Ð) &Ð)Ð)Ð)Ð)Ð)rp   rÑ   rw   r¹   c                 ó(  •— t           j        j        j        rZ| j        �S|dv rOt          j        d¬¦  «        5  t          ¦   «                              ||¦  «        cd d d ¦  «         S # 1 swxY w Y   t          ¦   «                              ||¦  «        S )N)Ú_length_per_keyÚ_offset_per_keyT)Ú#force_unspec_int_unbacked_size_like)	rë   rM  r   Ú3force_unspec_int_unbacked_size_like_on_torchrec_kjtrÍ   r   rA  rÇ   rz  r€  s      €rn   rz  z%KeyedJaggedTensorVariable.var_getattr‹  sÈ   ø€ õ ŒMÔ ÔTð	5à”Ð'ØÐ>Ð>Ð>åÔ%È$ÐOÑOÔOð 5ð 5Ý‘w”w×*Ò*¨2¨tÑ4Ô4ð5ð 5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5å‰wŒw×"Ò" 2 tÑ,Ô,Ð,s   ¸"A'Á'A+Á.A+)r�   r¿   rÀ   r‚  r€   rŽ  r¿  r   rÈ   rÂ   rM   rz  r�  r‘  s   @rn   rÇ  rÇ  |  sº   ø€ € € € € ØðF ð F¨4ð Fð Fð Fñ „\ðFð*˜fð *°ð *¸ð *ð *ð *ð *ð *ð *ð
-Ø-ð
-Ø58ð
-à	ð
-ð 
-ð 
-ð 
-ð 
-ð 
-ð 
-ð 
-ð 
-ð 
-rp   rÇ  c                 óV   — i | ]&}|d „ |j                              ¦   «         D ¦   «         “Œ'S )c                 ó0   — h | ]}t          |¦  «        ¯|’ŒS rr   )rŸ   )r  r™   s     rn   r  z<dictcomp>.<setcomp>›  s#   € Ð6Ð6Ð6ˆa­(°1©+¬+Ð6ˆÐ6Ð6Ð6rp   )r¦   rë  )r  Úts     rn   r  r  š  sD   € ð 0ð 0ð 0Ø;<€AÐ6Ð6�1”:×$Ò$Ñ&Ô&Ð6Ñ6Ô6ð0ð 0ð 0rp   Ú_constant_base_methodsc                   óH   ‡ — e Zd ZdZdededdfˆ fd„Zdefd„Zdefd„Zˆ xZ	S )	ÚUserDefinedConstantVariablez³
    Represents user-defined objects that subclass immutable constant types
    (int, float, str).

    Uses a ConstantVariable as _base_vt for the underlying constant value.
    r£   rÅ   rW   Nc                 ó8  •— ddl m}  t          ¦   «         j        |fi |¤Ž t	          |¦  «        j        D ]=}|t          v r2 |j         ||¦  «        ¦  «        | _        t          |         | _
         nŒ>| j        €t          dt	          |¦  «        › �¦  «        ‚d S )NrF   rx   z&No constant base type found in MRO of )rÚ   ry   rÇ   rÈ   r    r"  Ú_CONSTANT_BASE_TYPESrÛ   r^  rÖ  r£  r4  )r½   r£   rÅ   ry   r$  rË   s        €rn   rÈ   z$UserDefinedConstantVariable.__init__§  s»   ø€ Ø.Ð.Ð.Ð.Ð.Ð.à�‰ŒÔ˜Ð)Ð) &Ð)Ð)Ð)Ý˜‘K”KÔ'ð 	ð 	ˆDØÕ+Ð+Ð+Ø 7Ð 0Ô 7¸¸¸U¹¼Ñ DÔ D�”Ý%;¸DÔ%A�Ô"Ø�ð ,ð Œ=Ð Ý Ð!WÍ$ÈuÉ+Ì+Ð!WÐ!WÑXÔXÐXð !Ð rp   c                 ó   — | j         S r   r«   rÏ   s    rn   rá   z.UserDefinedConstantVariable.as_python_constant³  râ   rp   c                 ó`   — | j         €t          d¦  «        ‚| j                              ¦   «         S )Nz%_base_vt must not be None in as_proxy)r^  r4  rä   rÏ   s    rn   rä   z$UserDefinedConstantVariable.as_proxy¶  s-   € ØŒ=Ð Ý Ð!HÑIÔIÐIØŒ}×%Ò%Ñ'Ô'Ð'rp   )
r�   r¿   rÀ   rk  r   rÈ   rá   r€   rä   r�  r‘  s   @rn   rØ  rØ  Ÿ  s›   ø€ € € € € ðð ð
Y˜cð 
Y¨Sð 
Y°Tð 
Yð 
Yð 
Yð 
Yð 
Yð 
Yð Cð ð ð ð ð(˜&ð (ð (ð (ð (ð (ð (ð (ð (rp   rØ  c                   ó.   — e Zd Zededefd„¦   «         ZdS )ÚIntWrapperVariabler›   rW   c                 ót   — t           j                             d¦  «        }|d uot          | ¦  «        |j        u S )Nztorch.export.dynamic_shapes)r”   r•   r–   r    Ú_IntWrapperrÊ  s     rn   r¿  z%IntWrapperVariable.is_matching_object¿  s2   € åŒk�oŠoÐ;Ñ<Ô<ˆØ˜$ˆÐ?¥4¨¡9¤9°´Ð#?Ð?rp   N)r�   r¿   rÀ   r‚  r€   rŽ  r¿  rr   rp   rn   rÞ  rÞ  ¼  sJ   € € € € € ð ð@ ð @¨4ð @ð @ð @ñ „\ð@ð @ð @rp   rÞ  c            
       ó¦   ‡ — e Zd ZdZ	 	 ddedz  dedz  deddfˆ fd„Zdd	d
ede	e
         deee
f         de
f
ˆ fd„Zdˆ fd„Zdee         fd„Zˆ xZS )ÚRemovableHandleVariableéÿÿÿÿNr  r3  rÅ   rW   c                 óV   •—  t          ¦   «         j        di |¤Ž || _        || _        d S )Nrr   )rÇ   rÈ   r  r3  )r½   r  r3  rÅ   rË   s       €rn   rÈ   z RemovableHandleVariable.__init__È  s5   ø€ ð 	�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ø*ˆÔØˆŒˆˆrp   rÑ   rw   r¹   r]  c                 óB  •— |dk    ru| j         | j        k    rF| j         €t          d¦  «        ‚|j        j                             | j         ¦  «         | j        | _         t          j                             d ¦  «        S t          ¦   «          
                    ||||¦  «        S )NÚremovez%idx must not be None for hook removal)r3  ÚREMOVEDr4  r-  r`  Úremove_hookr   ry   rÛ   rÇ   rC  ©r½   rÑ   r¹   r]  rÅ   rË   s        €rn   rC  z#RemovableHandleVariable.call_methodÓ  s�   ø€ ð �8ÒÐØŒx˜4œ<Ò'Ð'Ø”8Ð#Ý(Ð)PÑQÔQÐQØ”	Ô&×2Ò2°4´8Ñ<Ô<Ð<Øœ<�”ÝÔ-×4Ò4°TÑ:Ô:Ð:Ý‰wŒw×"Ò" 2 t¨T°6Ñ:Ô:Ð:rp   rˆ  rt   c                 óæ   •‡— | j         | j        k    r=‰                     ˆfd„¦  «         ‰                     t	          dd¦  «        ¦  «         d S t          ¦   «                              ‰¦  «         d S )Nc                  ó0   •— ‰                       dd¦  «        S )Nztorch._dynamo.utilsÚinvalid_removeable_handle)Úload_import_from)rˆ  s   €rn   rD  z5RemovableHandleVariable.reconstruct.<locals>.<lambda>ç  s   ø€ ˜×0Ò0Ø)Ð+Fñô € rp   r   F)r3  rç  Úadd_push_nullÚextend_outputr   rÇ   r�  )r½   rˆ  rË   s    `€rn   r�  z#RemovableHandleVariable.reconstructã  sƒ   øø€ ØŒ8�t”|Ò#Ð#à×!Ò!ðð ð ð ñô ð ð
 ×!Ò!Õ"6°q¸%Ñ"@Ô"@ÑAÔAÐAØˆFå‰Œ×Ò˜GÑ$Ô$Ð$Ð$Ð$rp   c                 ó   — t           S r   )r—  rÏ   s    rn   rÆ  z#RemovableHandleVariable.python_typeð  s   € Ý#Ð#rp   r$  r�  )r�   r¿   rÀ   rç  rJ   r  r   rÈ   rÂ   r  rM   r  rC  r�  r    r€   rÆ  r�  r‘  s   @rn   râ  râ  Å  s  ø€ € € € € Ø€Gð .2àð		ð 	à# dÑ*ð	ð �4‰Zð		ð
 ð	ð 
ð	ð 	ð 	ð 	ð 	ð 	ð;à'ð;ð ð;ð �?Ô#ð	;ð
 �S˜/Ð)Ô*ð;ð 
ð;ð ;ð ;ð ;ð ;ð ;ð %ð %ð %ð %ð %ð %ð$˜T &œ\ð $ð $ð $ð $ð $ð $ð $ð $rp   râ  c            
       óÎ   ‡ — e Zd ZdZ	 ddededz  deddfˆ fd„Zdefd„Z	d	d
de
fd„Zd	d
de
de
fˆ fd„Zd	d
dedee
         deee
f         de
f
ˆ fd„Zdefd„Zd	d
de
fˆ fd„Zˆ xZS )r]  zü
    Represents user defined objects that are subclasses of dict/OrderedDict.

    Internally, it uses a ConstDictVariable to represent the dict part of the
    variable tracker. For everything else, it falls back to
    UserDefinedObjectVariable.
    Nr£   r©  rÅ   rW   c                 ó  •—  t          ¦   «         j        |fi |¤Ž |€9| j        �t          d¦  «        ‚t	          i t          ¦   «         ¬¦  «        | _        n|| _        t          | _        | j        €t          d¦  «        ‚d S )Nz@dict_vt must be constructed by builder.py when source is present©r  ú._base_vt must not be None after initialization)	rÇ   rÈ   rÍ   r4  rN   rL   r^  r0   r£  )r½   r£   r©  rÅ   rË   s       €rn   rÈ   z UserDefinedDictVariable.__init__ý  sœ   ø€ ð 	�‰ŒÔ˜Ð)Ð) &Ð)Ð)Ð)Øˆ?ØŒ{Ð&Ý$ØVñô ð õ .ØÝ.Ñ0Ô0ðñ ô ˆDŒMˆMð
 $ˆDŒMÝ)ˆÔØŒ=Ð Ý Ð!QÑRÔRÐRð !Ð rp   c                 ó`   — | j         €t          d¦  «        ‚| j                              ¦   «         S )Nz _base_vt must not be None in len)r^  r4  rë  rÏ   s    rn   rë  zUserDefinedDictVariable.len  s/   € ð Œ=Ð Ý Ð!CÑDÔDÐDØŒ}× Ò Ñ"Ô"Ð"rp   rÑ   rw   c                 ó,   — |                       |¦  «        S r   )r­  rÕ   s     rn   rª  z!UserDefinedDictVariable.sq_length  s   € ð �~Š~˜bÑ!Ô!Ð!rp   r(  c                 ó´  •— |                       d¦  «        }|| j        v r˜| j        €t          d¦  «        ‚	 | j                             ||¦  «        S # t
          $ rY t          |                      ¦   «         t          ¦  «        r0|                       d¦  «        r|  	                    |d|gi ¦  «        cY S ‚ w xY wt          ¦   «                              ||¦  «        S )Nr  ú._base_vt must not be None in mp_subscript_implÚ__missing__)r¾   r£  r^  r4  r  r   r
  rÆ  r  rC  rÇ   )r½   rÑ   r(  rõ  rË   s       €rn   r  z)UserDefinedDictVariable.mp_subscript_impl   sñ   ø€ ð ×1Ò1°-Ñ@Ô@ˆØ�TÔ'Ð'Ð'ØŒ}Ð$Ý$Ð%UÑVÔVÐVðØ”}×6Ò6°r¸3Ñ?Ô?Ð?øÝ#ð ð ð ÝØ×$Ò$Ñ&Ô&­ñô ð à×6Ò6°}ÑEÔEðð  ×+Ò+¨B°À¸uÀbÑIÔIÐIÐIÐIàðøøøõ ‰wŒw×(Ò(¨¨SÑ1Ô1Ð1s   ·A ÁAB5Â3B5r¹   r]  c                 ó�  •— |dk    rœ|                       d¦  «        | j        v r€|                       d¦  «        rk| j        €t          d¦  «        ‚	 | j                             ||||¦  «        S # t
          $ r* t          |¦  «         |                      |d||¦  «        cY S w xY wt          ¦   «                              ||||¦  «        S )Nr  rù  z(_base_vt must not be None in call_method)r¾   r£  r^  r4  rC  r   r   rÇ   ré  s        €rn   rC  z#UserDefinedDictVariable.call_method6  së   ø€ ð �MÒ!Ð!Ø×0Ò0°Ñ?Ô?À4ÔCUÐUÐUØ×0Ò0°Ñ?Ô?ð Vð Œ}Ð$Ý$Ð%OÑPÔPÐPðIØ”}×0Ò0°°T¸4ÀÑHÔHÐHøÝ#ð Ið Ið IÝ)¨"Ñ-Ô-Ð-Ø×'Ò'¨¨M¸4ÀÑHÔHÐHÐHÐHðIøøøõ ‰wŒw×"Ò" 2 t¨T°6Ñ:Ô:Ð:s   ÁA- Á-1B!Â B!c                 ó:  — | j         €t          d¦  «        ‚t          t          | j         ¦  «        }t	          | j        ¦  «        j        t          j        j        u r®t          |j
         
                    ¦   «         ¦  «        }	 t          |d„ d¬¦  «        }n# t          t          f$ r Y nw xY w|st	          | j        ¦  «        j        › d�S d                     d„ |D ¦   «         ¦  «        }t	          | j        ¦  «        j        › d|› d	�S |                     ¦   «         S )
Nú'_base_vt must not be None for dict reprc                 ó6   — | d                               ¦   «         S ©NrF   rþ  ©r®  s    rn   rD  z4UserDefinedDictVariable.debug_repr.<locals>.<lambda>W  ó   €  T¨!¤W×%?Ò%?Ñ%AÔ%A€ rp   T©r(  rL  ú()ú, c              3   ó|   K  — | ]7\  }}|j                              ¦   «         › d |                     ¦   «         › �V — Œ8dS ©ú: N©Úvtr±  ©r  r(  r£   s      rn   r  z5UserDefinedDictVariable.debug_repr.<locals>.<genexpr>^  s_   è è € ð !ð !ÙCMÀ3È�3”6×$Ò$Ñ&Ô&Ð>Ð>¨%×*:Ò*:Ñ*<Ô*<Ð>Ð>ð!ð !ð !ð !ð !ð !rp   ú({ú}))r^  r4  r   rN   r    r£   ré   r’  ÚCounterr  r*  ÚsortedrÔ   rµ   r�   Újoinr±  )r½   Úbase_vtr*  Úcontentss       rn   r±  z"UserDefinedDictVariable.debug_reprN  s=  € ØŒ=Ð Ý Ð!JÑKÔKÐKÝÕ(¨$¬-Ñ8Ô8ˆÝ�”
ÑÔÔ$­Ô(;Ô(DÐDÐDÝ˜œ×,Ò,Ñ.Ô.Ñ/Ô/ˆEðÝØØAÐAØ ðñ ô ��øõ
 (­Ð3ð ð ð Ø�ðøøøàð 8Ý˜tœzÑ*Ô*Ô3Ð7Ð7Ð7Ð7Ø—y’yð !ð !ØQVð!ñ !ô !ñ ô ˆHõ ˜4œ:Ñ&Ô&Ô/ÐAÐA°HÐAÐAÐAÐAØ×!Ò!Ñ#Ô#Ð#s   ÂB ÂB*Â)B*c                 óF  •‡— |                       d¦  «        }t          | j        ¦  «        j        t          j        j        u �r| j        €t          d¦  «        ‚t          t          | j        ¦  «        }t          |j                             ¦   «         ¦  «        }	 t          |d„ d¬¦  «        }n# t          t          f$ r Y nw xY w|s/t          j        ‰t          | j        ¦  «        j        › d�¦  «        S d                     ˆfd„|D ¦   «         ¦  «        }t          j        ‰t          | j        ¦  «        j        › d	|› d
�¦  «        S || j        v r0| j        €t          d¦  «        ‚| j                             ‰¦  «        S t+          ¦   «                              ‰¦  «        S )Nré   z*_base_vt must not be None for Counter reprc                 ó6   — | d                               ¦   «         S rþ  rþ  rÿ  s    rn   rD  z3UserDefinedDictVariable.repr_impl.<locals>.<lambda>o  r   rp   Tr  r  r  c              3   ón   •K  — | ]/\  }}t          ‰|j        ¦  «        › d t          ‰|¦  «        › �V — Œ0dS r  ©rB   r  ©r  r(  r£   rÑ   s      €rn   r  z4UserDefinedDictVariable.repr_impl.<locals>.<genexpr>v  s_   øè è € ð !ð !á�C˜õ    C¤FÑ+Ô+ÐHÐH­|¸BÀÑ/FÔ/FÐHÐHð!ð !ð !ð !ð !ð !rp   r
  r  rü  )r¾   r    r£   ré   r’  r  r^  r4  r   rN   r  r*  r  rÔ   rµ   rM   rH  r�   r  r£  rK  rÇ   )r½   rÑ   rõ  r  r*  r  rË   s    `    €rn   rK  z!UserDefinedDictVariable.repr_impld  sÁ  øø€ à×1Ò1°*Ñ=Ô=ˆÝ�”
ÑÔÔ$­Ô(;Ô(DÐDÑDØŒ}Ð$Ý$Ð%QÑRÔRÐRÝÕ,¨d¬mÑ<Ô<ˆGÝ˜œ×,Ò,Ñ.Ô.Ñ/Ô/ˆEðÝØØAÐAØ ðñ ô ��øõ
 (­Ð3ð ð ð Ø�ðøøøàð SÝ&Ô,¨RµD¸¼Ñ4DÔ4DÔ4MÐ1QÐ1QÐ1QÑRÔRÐRØ—y’yð !ð !ð !ð !à"'ð!ñ !ô !ñ ô ˆHõ #Ô(Ø•t˜DœJÑ'Ô'Ô0ÐBÐB°XÐBÐBÐBñô ð ð �TÔ'Ð'Ð'ØŒ}Ð$Ý$Ð%NÑOÔOÐOØ”=×*Ò*¨2Ñ.Ô.Ð.Ý‰wŒw× Ò  Ñ$Ô$Ð$s   ÂB. Â.CÃCr   )r�   r¿   rÀ   rk  r€   rN   r   rÈ   r  rë  rM   rª  r  rÂ   r  r  rC  r±  rK  r�  r‘  s   @rn   r]  r]  ô  s¤  ø€ € € € € ðð ð -1ðSð SàðSð # TÑ)ðSð ð	Sð
 
ðSð Sð Sð Sð Sð Sð,#�Sð #ð #ð #ð #ð"Ð7ð "¸Oð "ð "ð "ð "ð
2à'ð2ð ð2ð 
ð	2ð 2ð 2ð 2ð 2ð 2ð,;à'ð;ð ð;ð �?Ô#ð	;ð
 �S˜/Ð)Ô*ð;ð 
ð;ð ;ð ;ð ;ð ;ð ;ð0$˜Cð $ð $ð $ð $ð,%Ð7ð %¸Oð %ð %ð %ð %ð %ð %ð %ð %ð %ð %rp   r]  c            
       ó6  ‡ — e Zd ZdZ	 ddedddeddfˆ fd„Zdefd	„Zdefd
„Z	e
deeeef                  defd„¦   «         Zdefd„Zdddefd„Z	 ddddededefd„Zdddedefd„Zdddededz  defˆ fd„Zdddedee         deeef         def
ˆ fd„Zˆ xZS )ÚOrderedDictVariablea.  
    Represents collections.OrderedDict instances.

    CPython has both a pure-Python implementation:
    https://github.com/python/cpython/blob/v3.13.0/Lib/collections/__init__.py#L86-L339
    and a C accelerator that replaces it at runtime:
    https://github.com/python/cpython/blob/v3.13.0/Objects/odictobject.c

    The C accelerator is always active, so methods like move_to_end and
    popitem are C-level method_descriptors, not Python functions.

    Dict storage is delegated to _base_vt (a ConstDictVariable) via
    UserDefinedDictVariable.
    Nr£   r©  zConstDictVariable | NonerÅ   rW   c                 ó˜   •— |€*ddl m}  |i t          j        t	          ¦   «         ¬¦  «        } t          ¦   «         j        |fd|i|¤Ž d S )NrF   ©rN   )Úuser_clsr  r©  )ÚdictsrN   r’  r“  rL   rÇ   rÈ   )r½   r£   r©  rÅ   rN   rË   s        €rn   rÈ   zOrderedDictVariable.__init__–  sq   ø€ ð ˆ?Ø0Ð0Ð0Ð0Ð0Ð0à'Ð'ØÝ$Ô0Ý.Ñ0Ô0ðñ ô ˆGð
 	�‰ŒÔ˜Ð:Ð:¨Ð:°6Ð:Ð:Ð:Ð:Ð:rp   c                 ó`   — | j         €t          d¦  «        ‚| j                              ¦   «         S )Nz/_base_vt must not be None in is_python_constant)r^  r4  rD  rÏ   s    rn   rD  z&OrderedDictVariable.is_python_constant¦  ó-   € ØŒ=Ð Ý Ð!RÑSÔSÐSØŒ}×/Ò/Ñ1Ô1Ð1rp   c                 ó„   — | j         €t          d¦  «        ‚t          j        | j                              ¦   «         ¦  «        S ©Nz/_base_vt must not be None in as_python_constant)r^  r4  r’  r“  rá   rÏ   s    rn   rá   z&OrderedDictVariable.as_python_constant«  s8   € ØŒ=Ð Ý Ð!RÑSÔSÐSÝÔ& t¤}×'GÒ'GÑ'IÔ'IÑJÔJÐJrp   r*  c                 ó¾   — | sdS t           j        dk    r%dd                     d„ | D ¦   «         ¦  «        z   dz   S dd                     d„ | D ¦   «         ¦  «        z   d	z   S )
NzOrderedDict())ré  é   zOrderedDict({r  c              3   ó*   K  — | ]\  }}|› d |› �V — ŒdS r  rr   r	  s      rn   r  z9OrderedDictVariable._ordered_dict_repr.<locals>.<genexpr>·  s4   è è € ÐFÐF±*°#°u˜sÐ-Ð- eÐ-Ð-ÐFÐFÐFÐFÐFÐFrp   r  zOrderedDict([c              3   ó.   K  — | ]\  }}d |› d|› d�V — ŒdS )rç   r  rè   Nrr   r	  s      rn   r  z9OrderedDictVariable._ordered_dict_repr.<locals>.<genexpr>¼  s:   è è € ÐDÐD±
°°UÐ+˜CÐ+Ð+ 5Ð+Ð+Ð+ÐDÐDÐDÐDÐDÐDrp   z]))r”   rë  r  ©r*  s    rn   Ú_ordered_dict_reprz&OrderedDictVariable._ordered_dict_repr°  s‡   € àð 	#Ø"�?ÝÔ˜wÒ&Ð&àØ—)’)ÐFÐFÀÐFÑFÔFÑFÔFñGàñðð Ø�iŠiÐDÐD¸eÐDÑDÔDÑDÔDñEàñð	
rp   c                 óÒ   — | j         €t          d¦  «        ‚t          t          | j         ¦  «        }d„ |j                             ¦   «         D ¦   «         }|                      |¦  «        S )Nú._base_vt must not be None for OrderedDict reprc                 ón   — g | ]2\  }}|j                              ¦   «         |                     ¦   «         f‘Œ3S rr   r  r	  s      rn   rù  z2OrderedDictVariable.debug_repr.<locals>.<listcomp>Ä  sK   € ð 
ð 
ð 
á��Uð ŒV×ÒÑ Ô  %×"2Ò"2Ñ"4Ô"4Ð5ð
ð 
ð 
rp   )r^  r4  r   rN   r*  r%  )r½   r  r*  s      rn   r±  zOrderedDictVariable.debug_reprÀ  sm   € ØŒ=Ð Ý Ð!QÑRÔRÐRÝÕ(¨$¬-Ñ8Ô8ˆð
ð 
à%œm×1Ò1Ñ3Ô3ð
ñ 
ô 
ˆð ×&Ò& uÑ-Ô-Ð-rp   rÑ   rw   c                 óþ   ‡— | j         €t          d¦  «        ‚t          t          | j         ¦  «        }ˆfd„|j                             ¦   «         D ¦   «         }t          j        ‰|                      |¦  «        ¦  «        S )Nr'  c                 ó`   •— g | ]*\  }}t          ‰|j        ¦  «        t          ‰|¦  «        f‘Œ+S rr   r  r  s      €rn   rù  z1OrderedDictVariable.repr_impl.<locals>.<listcomp>Ð  sH   ø€ ð 
ð 
ð 
á��Uõ ˜"˜cœfÑ%Ô%¥|°B¸Ñ'>Ô'>Ð?ð
ð 
ð 
rp   )r^  r4  r   rN   r*  rM   rH  r%  )r½   rÑ   r  r*  s    `  rn   rK  zOrderedDictVariable.repr_implÊ  s‡   ø€ ð Œ=Ð Ý Ð!QÑRÔRÐRÝÕ(¨$¬-Ñ8Ô8ˆð
ð 
ð 
ð 
à%œm×1Ò1Ñ3Ô3ð
ñ 
ô 
ˆõ Ô$ R¨×)@Ò)@ÀÑ)GÔ)GÑHÔHÐHrp   Fr×   rL  c                 ó¼  — t          |                     ¦   «         t          ¦  «        s$t          j                             t          ¦  «        S |r]t          j        || j	        j
        t          ¦   «         ¬¦  «                             ||gi ¦  «        }|                     |d| gi ¦  «         n1|                      |dg i ¦  «        }|                     |d|gi ¦  «         |S )NrY  r  Úcopy)r
  rÆ  r  r   ry   rÛ   rÜ   rM   rH  r£   rË   r&   rp  rC  )r½   rÑ   r×   rL  Únews        rn   rP  zOrderedDictVariable.nb_or_implÖ  sØ   € õ ˜%×+Ò+Ñ-Ô-­tÑ4Ô4ð 	EÝÔ-×4Ò4µ^ÑDÔDÐDàð 	7Ý!Ô'Ø�D”JÔ(µÑ1BÔ1Bðñ ô çŠm˜B  ¨Ñ,Ô,ð ð �OŠO˜B ¨4¨&°"Ñ5Ô5Ð5Ð5à×"Ò" 2 v¨r°2Ñ6Ô6ˆCØ�OŠO˜B ¨5¨'°2Ñ6Ô6Ð6Øˆ
rp   c                 ó8   — |                       |d|gi ¦  «         | S ©Nr  rD  rE  s      rn   rU  z&OrderedDictVariable.nb_inplace_or_implê  s%   € ð 	×Ò˜˜X¨ w°Ñ3Ô3Ð3Øˆrp   r(  c                 óö   •— |€dnd}|                       |¦  «        }|| j        v r2| j        €t          d¦  «        ‚| j                             |||¦  «        S t          ¦   «                              |||¦  «        S )NrÄ  rÅ  z2_base_vt must not be None in mp_ass_subscript_impl)r¾   r£  r^  r4  rÆ  rÇ   )r½   rÑ   r(  r£   rÈ  rõ  rË   s         €rn   rÆ  z)OrderedDictVariable.mp_ass_subscript_implñ  sˆ   ø€ ð !& ˆ}ˆ}°=ˆØ×1Ò1°$Ñ7Ô7ˆØ�TÔ'Ð'Ð'ØŒ}Ð$Ý$ØHñô ð ð ”=×6Ò6°r¸3ÀÑFÔFÐFÝ‰wŒw×,Ò,¨R°°eÑ<Ô<Ð<rp   r¹   r]  c                 óN  •— ddl m} ddlm} |dk    �r<| j        €t          d¦  «        ‚| j                             ¦   «          |j        j         	                    | j        ¦  «         |d         | j        vrt          t          |¦  «         d}t          |¦  «        dk    r4|d                              ¦   «         r|d                              ¦   «         }|r8d	|v r4|d	                              ¦   «         r|d	                              ¦   «         } ||d         ¦  «        }| j        j                             ||¬
¦  «          |j        d ¦  «        S |dk    �r+| j        €t          d¦  «        ‚| j        j        st          t          |dg¬¦  «         d}t          |¦  «        dk    r4|d                              ¦   «         r|d                              ¦   «         }|r8d	|v r4|d	                              ¦   «         r|d	                              ¦   «         }| j        j                             |¬
¦  «        \  }	}
d| j        _        |j        j         	                    | j        ¦  «         t)          j        |	j        |
g¦  «        S t/          ¦   «                              ||||¦  «        S )NrF   rx   rP   rç  z(_base_vt must not be None in move_to_endr   Tr   Úlast)r2  Úpopitemz$_base_vt must not be None in popitemzpopitem(): dictionary is emptyr\  )rÚ   ry   r  rQ   r^  r4  Úinstall_dict_keys_match_guardr-  r`  Úmutationr   ÚKeyErrorrë  rD  rá   r*  rç  rÛ   r3  Úshould_reconstruct_allr   r|   r  rÇ   rC  )r½   rÑ   r¹   r]  rÅ   ry   rQ   r2  r(  r  r  rË   s              €rn   rC  zOrderedDictVariable.call_method  s   ø€ ð 	/Ð.Ð.Ð.Ð.Ð.Ø*Ð*Ð*Ð*Ð*Ð*ð �=Ò Ñ ØŒ}Ð$Ý$Ð%OÑPÔPÐPØŒM×7Ò7Ñ9Ô9Ð9ØŒIÔ"×+Ò+¨D¬MÑ:Ô:Ð:Ø�AŒw˜dœmÐ+Ð+Ý(­°2Ñ6Ô6Ð6àˆDÝ�4‰yŒy˜AŠ~ˆ~ $ q¤'×"<Ò"<Ñ">Ô">ˆ~Ø˜A”w×1Ò1Ñ3Ô3�Øð ;˜& FÐ*Ð*¨v°f¬~×/PÒ/PÑ/RÔ/RÐ*Ø˜f”~×8Ò8Ñ:Ô:�à!�/ $ q¤'Ñ*Ô*ˆCØŒMÔ×+Ò+¨C°dÐ+Ñ;Ô;Ð;Ø*Ð#Ô*¨4Ñ0Ô0Ð0Ø�YÒÑØŒ}Ð$Ý$Ð%KÑLÔLÐLØ”=Ô&ð Ý(Ý˜bÐ(HÐ'Iðñ ô ð ð ˆDÝ�4‰yŒy˜AŠ~ˆ~ $ q¤'×"<Ò"<Ñ">Ô">ˆ~Ø˜A”w×1Ò1Ñ3Ô3�Øð ;˜& FÐ*Ð*¨v°f¬~×/PÒ/PÑ/RÔ/RÐ*Ø˜f”~×8Ò8Ñ:Ô:�à”=Ô&×.Ò.°DÐ.Ñ9Ô9‰DˆAˆqØ37ˆDŒMÔ0ØŒIÔ"×+Ò+¨D¬MÑ:Ô:Ð:ÝÔ*¨A¬D°!¨9Ñ5Ô5Ð5Ý‰wŒw×"Ò" 2 t¨T°6Ñ:Ô:Ð:rp   r   r�  )r�   r¿   rÀ   rk  r€   r   rÈ   rŽ  rD  rá   r‚  r   r  rÂ   r%  r±  rM   rK  rP  rU  rÆ  r  r  rC  r�  r‘  s   @rn   r  r  †  sG  ø€ € € € € ðð ð$ /3ð;ð ;àð;ð ,ð;ð ð	;ð
 
ð;ð ;ð ;ð ;ð ;ð ;ð 2 Dð 2ð 2ð 2ð 2ð
K Cð Kð Kð Kð Kð
 ð
 (¨5°°c°¬?Ô";ð 
Àð 
ð 
ð 
ñ „\ð
ð.˜Cð .ð .ð .ð .ð
IÐ7ð 
I¸Oð 
Ið 
Ið 
Ið 
Ið  ð	ð à'ðð ðð ð	ð
 
ðð ð ð ð(Ø-ðØ6Eðà	ðð ð ð ð=à'ð=ð ð=ð  Ñ%ð	=ð
 
ð=ð =ð =ð =ð =ð =ð"/;à'ð/;ð ð/;ð �?Ô#ð	/;ð
 �S˜/Ð)Ô*ð/;ð 
ð/;ð /;ð /;ð /;ð /;ð /;ð /;ð /;ð /;ð /;rp   r  c                   óX  ‡ — e Zd ZdZej        Z	 	 ddededz  de	dz  de
ddf
ˆ fd„Zed	edefd
„¦   «         Zdefd„Zde
fd„Zdefd„Zdddefd„Zdddedefˆ fd„Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Z	 d dddededefd„Zdd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 )!ÚDefaultDictVariableaÀ  
    Represents collections.defaultdict instances.

    CPython's defaultdict is implemented in C:
    https://github.com/python/cpython/blob/v3.13.3/Modules/_collectionsmodule.c#L2177-L2180

    default_factory is a field on the C struct (defdictobject.default_factory),
    not a Python instance attribute, so we model it as a field on the VT.

    Dict storage is delegated to _base_vt (a ConstDictVariable) via
    UserDefinedDictVariable.
    Nr£   Údefault_factoryr©  rÅ   rW   c                 óÀ   •— |€ddl m}  |i t          ¦   «         ¬¦  «        } t          ¦   «         j        |fd|i|¤Ž |€ddlm}  |j        d ¦  «        }|| _        d S )NrF   r  ró  r©  rx   )	r  rN   rL   rÇ   rÈ   rÚ   ry   rÛ   r:  )r½   r£   r:  r©  rÅ   rN   ry   rË   s          €rn   rÈ   zDefaultDictVariable.__init__F  sž   ø€ ð ˆ?Ø0Ð0Ð0Ð0Ð0Ð0à'Ð'ØÝ.Ñ0Ô0ðñ ô ˆGð 	�‰ŒÔ˜Ð:Ð:¨Ð:°6Ð:Ð:Ð:ØÐ"Ø2Ð2Ð2Ð2Ð2Ð2à5Ð.Ô5°dÑ;Ô;ˆOØ.ˆÔÐÐrp   Úargc                 óî   — |                       ¦   «         }|t          ur|du pt          |¦  «        S t          | t          j        t          j        j        t          j        j        t          j	        f¦  «        S )zýCheck if arg is a valid default_factory (callable or None).

        CPython's defaultdict.__init__ checks ``callable(factory)`` and
        raises TypeError if not.  We mirror this by checking the
        underlying Python value when possible.
        N)
r‹  rK   rŸ   r  r   ÚBaseBuiltinVariabler?  r  r   rÄ   )r<  r}   s     rn   Úis_supported_factoryz(DefaultDictVariable.is_supported_factory[  sm   € ð ×.Ò.Ñ0Ô0ˆØ•nÐ$Ð$Ø˜$�;Ð/¥(¨3¡-¤-Ð/åØåÔ-ÝÔ#Ô<ÝÔ#Ô>ÝÔ2ð	ñ
ô 
ð 	
rp   c                 ó–   — | j         €t          d¦  «        ‚| j                             ¦   «         sdS | j                              ¦   «         S )Nú/_base_vt must not be None for defaultdict constF)r^  r4  r:  rD  rÏ   s    rn   rD  z&DefaultDictVariable.is_python_constantq  sI   € ØŒ=Ð Ý Ð!RÑSÔSÐSØÔ#×6Ò6Ñ8Ô8ð 	Ø�5ØŒ}×/Ò/Ñ1Ô1Ð1rp   c                 ó
  — | j         €t          d¦  «        ‚| j                             ¦   «         st	          | d¦  «        ‚| j                             ¦   «         }t          j        || j                              ¦   «         ¦  «        S )NrA  z4defaultdict default_factory is not a Python constant)r^  r4  r:  rD  rH   rá   r’  rì  )r½   Úfactorys     rn   rá   z&DefaultDictVariable.as_python_constantx  s   € ØŒ=Ð Ý Ð!RÑSÔSÐSØÔ#×6Ò6Ñ8Ô8ð 	Ý5ØØFñô ð ð Ô&×9Ò9Ñ;Ô;ˆÝÔ& w°´×0PÒ0PÑ0RÔ0RÑSÔSÐSrp   c                 óÈ   — | j         €t          d¦  «        ‚| j        €t          d¦  «        ‚d| j                              ¦   «         › d| j                             ¦   «         › d�S )Nz.default_factory must not be None in debug_reprz'_base_vt must not be None in debug_reprúdefaultdict(r  rè   )r:  r4  r^  r±  rÏ   s    rn   r±  zDefaultDictVariable.debug_reprƒ  sv   € ØÔÐ'Ý Ð!QÑRÔRÐRØŒ=Ð Ý Ð!JÑKÔKÐKð-˜4Ô/×:Ò:Ñ<Ô<ð -ð -ØŒ}×'Ò'Ñ)Ô)ð-ð -ð -ð	
rp   rÑ   rw   c           
      ó²   — | j         €t          d¦  «        ‚t          j        |dt	          || j        ¦  «        › dt	          || j         ¦  «        › d�¦  «        S )Nz._base_vt must not be None for defaultdict reprrE  r  rè   )r^  r4  rM   rH  rB   r:  rÕ   s     rn   rK  zDefaultDictVariable.repr_impl�  sm   € àŒ=Ð Ý Ð!QÑRÔRÐRÝÔ$Øð2�<¨¨DÔ,@ÑAÔAð 2ð 2Ý˜B ¤Ñ.Ô.ð2ð 2ð 2ñ
ô 
ð 	
rp   r¹   c                 ób   •— |dk    r| j         S t          ¦   «                              ||¦  «        S )Nr:  )r:  rÇ   rz  r€  s      €rn   rz  zDefaultDictVariable.var_getattr—  s4   ø€ ð
 Ð$Ò$Ð$ØÔ'Ð'Ý‰wŒw×"Ò" 2 tÑ,Ô,Ð,rp   r(  rM   c                 ó&  — ddl m} t          | j        |¦  «        r$| j        j        €t          t          ||g¬¦  «         | j                             |g i ¦  «        }| j        €t          d¦  «        ‚| j         
                    |d||gi ¦  «         |S )z©defaultdict.__missing__: auto-vivification via default_factory.

        https://github.com/python/cpython/blob/v3.13.3/Modules/_collectionsmodule.c#L2233-L2254
        rF   rx   Nr\  z*_base_vt must not be None in _missing_implrÅ  )rÚ   ry   r:   r:  r£   r   r6  rp  r^  r4  rC  )r½   rÑ   r(  ry   Údefault_vars        rn   Ú_missing_implz!DefaultDictVariable._missing_impl   s©   € ð 	/Ð.Ð.Ð.Ð.Ð.õ �4Ô'Ð)9Ñ:Ô:ð	?àÔ$Ô*Ð2å$¥X¨r¸¸Ð>Ñ>Ô>Ð>ØÔ*×8Ò8¸¸RÀÑDÔDˆØŒ=Ð Ý Ð!MÑNÔNÐNØŒ×!Ò! " m°c¸;Ð5GÈÑLÔLÐLØÐrp   c                 ó¢   — | j         €t          d¦  «        ‚|| j         v r| j                              ||¦  «        S |                      ||¦  «        S )z?defaultdict.__getitem__: dict lookup with __missing__ fallback.Nrø  )r^  r4  Úgetitem_constrJ  )r½   rÑ   r(  s      rn   r  z%DefaultDictVariable.mp_subscript_impl¶  sV   € ð Œ=Ð Ý Ð!QÑRÔRÐRØ�$”-ÐÐØ”=×.Ò.¨r°3Ñ7Ô7Ð7Ø×!Ò! " cÑ*Ô*Ð*rp   Fr×   rL  c                 óÒ  — |r|| fn| |f\  }}t          |                     ¦   «         t          j        ¦  «        }|r||fn||f\  }}t	          |t
          ¦  «        st          dt          |¦  «        › �¦  «        ‚t          |¦  «        s$t          j
                             t          ¦  «        S t	          |t          ¦  «        r|j        }	nCt	          |t          ¦  «        s"t          dt          |¦  «        › d|› �¦  «        ‚|j        j        }	|j        j                             t)          j        |t,          ¦  «        t)          j        |t          j        ¦  «        g |¬¦  «        }
| j        |
_        t          |	                     ¦   «         t3          ¦   «         ¬¦  «        |
_        |
j        }|j        j                             |
d|¦  «         |
                     |d|gi ¦  «         |
S )Nú"Expected DefaultDictVariable, got z&Expected UserDefinedDictVariable, got r  rê  ró  r:  r  )r
  rÆ  r’  rì  r  r9  r4  r    rO   r   ry   rÛ   rÜ   rN   r*  r]  r^  r-  r`  rò  rM   rH  r  r:  r,  rL   rÒ  rC  )r½   rÑ   r×   rL  ÚleftÚrightÚretr-  r.  r*  r-  r:  s               rn   rP  zDefaultDictVariable.nb_or_implÂ  sÓ  € ð (/ÐA�u˜d�m�m°T¸5°M‰ˆˆeÝ˜×)Ò)Ñ+Ô+­[Ô-DÑEÔEˆØ),Ð?˜˜u˜˜°5¸$°-‰ˆˆvÝ˜%Õ!4Ñ5Ô5ð 	UÝ Ð!SÅdÈ5ÁkÄkÐ!SÐ!SÑTÔTÐTå˜FÑ#Ô#ð 	EÝÔ-×4Ò4µ^ÑDÔDÐDå�dÕ-Ñ.Ô.ð 	(Ø”JˆEˆEå˜dÕ$;Ñ<Ô<ð Ý$ØQ½TÀ$¹Z¼ZÐQÐQÈ4ÐQÐQñô ð ð ”MÔ'ˆEàŒiÔ$×BÒBÝÔ! "¥dÑ+Ô+ÝÔ! "¥kÔ&=Ñ>Ô>ØØð	 Cñ 
ô 
ˆð #Ô2ˆÔÝ(¨¯ª©¬ÕEUÑEWÔEWÐXÑXÔXˆŒØÔ-ˆØ
Œ	Ô×)Ò)¨#Ð/@À/ÑRÔRÐRØ�Š˜˜H u g¨rÑ2Ô2Ð2Øˆ
rp   c                 ó8   — |                       |d|gi ¦  «         | S r/  rD  rE  s      rn   rU  z&DefaultDictVariable.nb_inplace_or_implî  s%   € ð
 	×Ò˜˜X¨ w°Ñ3Ô3Ð3Øˆrp   r]  c           
      ó  •— ddl m} |dk    rÄt          |¦  «        dk    r~|                      |d         ¦  «        rK|d         | _        |j        j                             | d| j        ¦  «         t          |dd …         ¦  «        }nt          t          |dg¬¦  «         | j        €t          d¦  «        ‚| j                             |d||¦  «        S |d	k    rQt          |¦  «        dk    r"t          ||d
t          |¦  «        › d�¦  «         |                      ||d         ¦  «        S |dk    rQt          |¦  «        dk    r"t          ||d
t          |¦  «        › d�¦  «         |                      ||d         ¦  «        S |dk    rc|st          |¦  «        dk    r2t          ||dt          |¦  «        › dt          |¦  «        › d�¦  «         |                      ||d         ¦  «        S |dk    �rddlm} | j        €t          d¦  «        ‚|j        j                             |                     |t,          ¦  «        |                     |t.          j        ¦  «        g |¬¦  «        }t3          |t4          ¦  «        st          dt7          |¦  «        › �¦  «        ‚| j        |_        | j                             t;          ¦   «         d ¬¦  «        |_        |j        j                             |d|j        ¦  «         |S |dk    rÞt          |¦  «        dk    r"t          ||dt          |¦  «        › d�¦  «         t=          |d         |¦  «        ro|d         j        dk    r^|                      |d         ¦  «        rC|d         | _        |j        j                             | d| j        ¦  «          |j        d ¦  «        S tA          ¦   «                              ||||¦  «        S tA          ¦   «                              ||||¦  «        S )NrF   rx   rÈ   r   r:  z'first argument must be callable or Noner\  z%_base_vt must not be None in __init__r  z1 argsz argsrù  rT  r  r  r  r,  rã  z!_base_vt must not be None in copyrê  rN  )r  rÍ   r�   r   z2 args)!rÚ   ry   rë  r?  r:  r-  r`  rÒ  r  r   rµ   r^  r4  rC  r?   r  rJ  rU  rÙ  rä  rò  rÛ   r  r’  rì  r  r9  r    rî  rL   r:   r£   rÇ   )	r½   rÑ   r¹   r]  rÅ   ry   rä  Únew_ddrË   s	           €rn   rC  zDefaultDictVariable.call_methodö  sC  ø€ ð 	/Ð.Ð.Ð.Ð.Ð.à�:ÒÐõ �4‰yŒy˜AŠ~ˆ~Ø×,Ò,¨T°!¬WÑ5Ô5ð Ø+/°¬7�DÔ(Ø”IÔ*×5Ò5ØØ)ØÔ,ñô ð õ
    Q R R¤™>œ>�D�Dõ -Ý!ØØGÐHðñ ô ð ð
 Œ}Ð$Ý$Ð%LÑMÔMÐMØ”=×,Ò,¨R°¸TÀ6ÑJÔJÐJØ�]Ò"Ð"Ý�4‰yŒy˜AŠ~ˆ~Ý# B¨¨h½3¸t¹9¼9Ð8KÐ8KÐ8KÑLÔLÐLØ×)Ò)¨"¨d°1¬gÑ6Ô6Ð6Ø�]Ò"Ð"Ý�4‰yŒy˜AŠ~ˆ~Ý# B¨¨h½3¸t¹9¼9Ð8KÐ8KÐ8KÑLÔLÐLØ×%Ò% b¨$¨q¬'Ñ2Ô2Ð2Ø�YÒÐØð �˜T™œ aš˜Ý#ØØØ)Ý˜4‘y”yÐ@Ð@­C°©K¬KÐ@Ð@Ð@ñ	ô ð ð ×*Ò*¨2¨t°A¬wÑ7Ô7Ð7Ø�VŠ^‰^ð 3Ð2Ð2Ð2Ð2Ð2àŒ}Ð$Ý$Ð%HÑIÔIÐIØ”YÔ+×IÒIØ!×(Ò(¨­TÑ2Ô2Ø!×(Ò(¨­[Ô-DÑEÔEØØð	 Jñ ô ˆFõ ˜fÕ&9Ñ:Ô:ð Ý$ØG½¸f¹¼ÐGÐGñô ð ð &*Ô%9ˆFÔ"Ø"œm×1Ò1Ý.Ñ0Ô0Øð 2ñ ô ˆFŒOð ŒIÔ"×-Ò-ØÐ)¨6Ô+Añô ð ð ˆMØ�]Ò"Ð"Ý�4‰yŒy˜AŠ~ˆ~Ý# B¨¨h½3¸t¹9¼9Ð8KÐ8KÐ8KÑLÔLÐLå�t˜A”wÐ 0Ñ1Ô1ð5Ø6:¸1´g´mÐGXÒ6XÐ6XØ×+Ò+¨D°¬GÑ4Ô4ð 7Yà'+¨A¤w�Ô$Ø”	Ô&×1Ò1ØÐ+¨TÔ-Añô ð ð /Ð'Ô.¨tÑ4Ô4Ð4Ý‘7”7×&Ò& r¨4°°vÑ>Ô>Ð>Ý‰wŒw×"Ò" 2 t¨T°6Ñ:Ô:Ð:rp   r$  )rÑ   rw   r(  rM   rW   rM   r�  )r�   r¿   rÀ   rk  r’  rì  Ú_cpython_typer€   rM   rN   r   rÈ   r‚  rŽ  r?  rD  rá   rÂ   r±  rK  rz  rJ  r  rP  rU  r  r  rC  r�  r‘  s   @rn   r9  r9  6  sº  ø€ € € € € ðð ð  Ô+€Mð
 37Ø,0ð	/ð /àð/ð )¨4Ñ/ð/ð # TÑ)ð	/ð
 ð/ð 
ð/ð /ð /ð /ð /ð /ð* ð
 /ð 
°dð 
ð 
ð 
ñ „\ð
ð*2 Dð 2ð 2ð 2ð 2ð	T Cð 	Tð 	Tð 	Tð 	Tð
˜Cð 
ð 
ð 
ð 
ð
Ð7ð 
¸Oð 
ð 
ð 
ð 
ð-à'ð-ð ð-ð 
ð	-ð -ð -ð -ð -ð -ðà'ðð ðð 
ð	ð ð ð ð,
+à'ð
+ð ð
+ð 
ð	
+ð 
+ð 
+ð 
+ð  ð	*ð *à'ð*ð ð*ð ð	*ð
 
ð*ð *ð *ð *ðXà'ðð ðð 
ð	ð ð ð ðW;à'ðW;ð ðW;ð �?Ô#ð	W;ð
 �S˜/Ð)Ô*ðW;ð 
ðW;ð W;ð W;ð W;ð W;ð W;ð W;ð W;ð W;ð W;rp   r9  c            	       ó®   ‡ — e Zd ZdZ	 ddededz  deddfˆ fd„Zdefd„Ze	de
e         fd	„¦   «         Ze	deeef         fd
„¦   «         Zdedefd„Zˆ xZS )ÚUserDefinedSetVariablezè
    Represents user defined objects that are subclasses of set.

    Internally, it uses a SetVariable to represent the set part of the
    variable tracker. For everything else, it falls back to
    UserDefinedObjectVariable.
    Nr£   Úset_vtrÅ   rW   c                 ód  •— ddl m} |                     dd ¦  «        } t          ¦   «         j        |fi |¤Ž t          |t          ¦  «        rt          nt          }|t          u rt          nt          | _
        |€š| j        �t          d¦  «        ‚|t          u r4t          j        t          ¦   «         t          ¦   «         ¬¦  «        | _        nN|                     di ¦  «        }|                     ||¦  «                             ||i ¦  «        | _        n|| _        | j        €t          d¦  «        ‚d S )NrF   rã  rÑ   z?set_vt must be constructed by builder.py when source is presentró  rô  rô  )rÙ  rä  r¨  rÇ   rÈ   r  r  r  r@   r2   r£  rÍ   r4  r   rT   rL   r^  r–   rÛ   rp  )	r½   r£   rX  rÅ   rä  rÑ   rÆ  rô  rË   s	           €rn   rÈ   zUserDefinedSetVariable.__init__Y  s?  ø€ ð 	/Ð.Ð.Ð.Ð.Ð.à�ZŠZ˜˜dÑ#Ô#ˆØ�‰ŒÔ˜Ð)Ð) &Ð)Ð)Ð)å'¨­sÑ3Ô3ÐB•c�c½ˆØ,7½3Ð,>Ð,>�[˜[ÕDUˆÔàˆ>ØŒ{Ð&Ý$ØUñô ð ð �cÐ!Ð!å )Ô 5Ý‘E”EÝ"2Ñ"4Ô"4ð!ñ !ô !�”�ð
 #ŸJšJ {°BÑ7Ô7�	Ø 1× 8Ò 8¸¸[Ñ IÔ I× WÒ WØ˜	 2ñ!ô !�”�ð #ˆDŒMØŒ=Ð Ý Ð!QÑRÔRÐRð !Ð rp   c                 ó`   — | j         €t          d¦  «        ‚| j                              ¦   «         S r  )r^  r4  rá   rÏ   s    rn   rá   z)UserDefinedSetVariable.as_python_constanty  r  rp   c                 óF   — | j         €t          d¦  «        ‚| j         j        S )Nz&_base_vt must not be None in set_items)r^  r4  Ú	set_itemsrÏ   s    rn   r\  z UserDefinedSetVariable.set_items~  s$   € àŒ=Ð Ý Ð!IÑJÔJÐJØŒ}Ô&Ð&rp   c                 óF   — | j         €t          d¦  «        ‚| j         j        S ©Nz"_base_vt must not be None in items©r^  r4  r*  rÏ   s    rn   r*  zUserDefinedSetVariable.items„  ó$   € àŒ=Ð Ý Ð!EÑFÔFÐFØŒ}Ô"Ð"rp   r×   c                 óº   — | j         €t          d¦  «        ‚t          |t          ¦  «        r|j         }|                      ¦   «         |                     ¦   «         k    S ©Nz,_base_vt must not be None in is_python_equal)r^  r4  r  rW  rá   r‚  s     rn   rƒ  z&UserDefinedSetVariable.is_python_equalŠ  sV   € ØŒ=Ð Ý Ð!OÑPÔPÐPÝ�eÕ3Ñ4Ô4ð 	#Ø”NˆEØ×&Ò&Ñ(Ô(¨E×,DÒ,DÑ,FÔ,FÒFÐFrp   r   )r�   r¿   rÀ   rk  r€   rT   r   rÈ   rá   r†  r  r\  r  rQ   rM   r*  rŽ  rƒ  r�  r‘  s   @rn   rW  rW  P  s%  ø€ € € € € ðð ð ;?ðSð SØðSØ%0°4Ñ%7ðSØJMðSà	ðSð Sð Sð Sð Sð Sð@2 Fð 2ð 2ð 2ð 2ð
 ð'˜3˜sœ8ð 'ð 'ð 'ñ „Xð'ð
 ð#�t˜O¨_Ð<Ô=ð #ð #ð #ñ „Xð#ð
G Vð G°ð Gð Gð Gð Gð Gð Gð Gð Grp   rW  c            	       óD   ‡ — e Zd ZdZ	 d	deded         deddfˆ fd„Zˆ xZS )
ÚUserDefinedListVariablezì
    Represents user defined objects that are subclasses of lists.

    Internally, it uses a ListVariable to represent the list part of the
    variable tracker. For everything else, it falls back to
    UserDefinedObjectVariable.
    Nr£   Úlist_vt)r{   NrÅ   rW   c                 ó  •— ddl m}  t          ¦   «         j        |fi |¤Ž |€5| j        �t          d¦  «        ‚ |g t          ¦   «         ¬¦  «        | _        n|| _        t          | _	        | j        €t          d¦  «        ‚d S )NrF   r  z@list_vt must be constructed by builder.py when source is presentró  rô  )
r6  r{   rÇ   rÈ   rÍ   r4  rL   r^  r;   r£  )r½   r£   re  rÅ   r{   rË   s        €rn   rÈ   z UserDefinedListVariable.__init__›  s§   ø€ ð 	(Ð'Ð'Ð'Ð'Ð'à�‰ŒÔ˜Ð)Ð) &Ð)Ð)Ð)Øˆ?ØŒ{Ð&Ý$ØVñô ð ð )˜L¨Õ;KÑ;MÔ;MÐNÑNÔNˆDŒMˆMà#ˆDŒMÝ)ˆÔØŒ=Ð Ý Ð!QÑRÔRÐRð !Ð rp   r   )	r�   r¿   rÀ   rk  r€   r
   r   rÈ   r�  r‘  s   @rn   rd  rd  ’  sˆ   ø€ € € € € ðð ð EIðSð SØðSØ&+Ð,@Ô&AðSØTWðSà	ðSð Sð Sð Sð Sð Sð Sð Sð Sð Srp   rd  c            
       ó|  ‡ — e Zd ZdZdhej        £Zededed          fd„¦   «         Zd&ˆ fd„	Z	e
dee         fd„¦   «         Zd	d
dedededz  def
ˆ fd„Zd'd„Zdedef         fd„Zddded          dz  fd„Zdee         dd fd„Zdefd„Z	 	 	 	 	 	 	 	 	 	 	 	 d(ˆ fd „Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 d)ˆ fd#„Zd$edefd%„Zˆ xZS )*ÚUserDefinedTupleVariablea€  
    Represents user defined objects that are subclasses of tuple.

    Internally, it uses a TupleVariable to represent the tuple part of the
    variable tracker. For everything else, it falls back to
    UserDefinedObjectVariable.

    NamedTupleVariable and StructSequenceVariable are subclasses that handle
    namedtuples and structseqs (torch.return_types.*) respectively.
    Ú	tuple_clsr;  rW   c                 ó<   — t          | ¦  «        rt          S t          S r   )r   ÚStructSequenceVariableÚNamedTupleVariable)r;  s    rn   Ú
get_vt_clsz#UserDefinedTupleVariable.get_vt_cls¿  s   € å˜cÑ"Ô"ð 	*Ý)Ð)Ý!Ð!rp   Nc                 ó®  •— ddl m} |                     dd ¦  «        } t          ¦   «         j        |fd|i|¤Ž |€\| j        �t          d¦  «        ‚|st          d¦  «        ‚t          ||d         ¦  «        } ||t          ¦   «         ¬¦  «        | _	        n|| _	        t          |¦  «        | _        t          | _        | j	        €t          d	¦  «        ‚d S )
NrF   r  rÑ   rô  zAtuple_vt must be constructed by builder.py when source is presentz0init_args must be provided when tuple_vt is Noner   ró  rô  )r6  r|   r¨  rÇ   rÈ   rÍ   r4  rD   rL   r^  r    ri  rC   r£  )	r½   r£   Útuple_vtrô  rÅ   r|   rÑ   ÚelemsrË   s	           €rn   rÈ   z!UserDefinedTupleVariable.__init__Å  sø   ø€ Ø(Ð(Ð(Ð(Ð(Ð(à�ZŠZ˜˜dÑ#Ô#ˆØ�‰ŒÔ˜Ð>Ð>¨)Ð>°vÐ>Ð>Ð>ØÐØŒ{Ð&Ý$ØWñô ð ð ð YÝ$Ð%WÑXÔXÐXõ
 $ B¨	°!¬Ñ5Ô5ˆEØ)˜M¨%Õ?OÑ?QÔ?QÐRÑRÔRˆDŒMˆMà$ˆDŒMÝ˜e™œˆŒÝ*ˆÔØŒ=Ð Ý Ð!QÑRÔRÐRð !Ð rp   c                 óF   — | j         €t          d¦  «        ‚| j         j        S r^  r_  rÏ   s    rn   r*  zUserDefinedTupleVariable.itemsÞ  r`  rp   rÑ   rw   r¹   rJ  rÍ   c                 óÎ   •— t          |t          j        ¦  «        r'|                     ¦   «         \  }\  }}| j        |         S t          ¦   «                              ||||¦  «        S r   ©r  rŒ  r�  Ú
__reduce__r*  rÇ   r  ©r½   rÑ   r¹   rJ  rÍ   rì  r3  rË   s          €rn   r  z0UserDefinedTupleVariable.resolve_data_descriptorä  s_   ø€ õ �i¥Ô!:Ñ;Ô;ð 		#ð $×.Ò.Ñ0Ô0‰KˆA‰x��QØ”:˜c”?Ð"Ý‰wŒw×.Ò.¨r°4¸ÀFÑKÔKÐKrp   rˆ  rt   c                 óö   ‡‡— | j         �t          d¦  «        ‚|                      ¦   «         Š‰                     ˆˆfd„¦  «          ‰| j        ¦  «         ‰                     t          dd¦  «        ¦  «         d S )Nz6reconstruct should only be called on sourceless tuplesc                  óT   •— ‰                       ‰                      ‰¦  «        ¦  «        S r   )r  r€  )rˆ  Ú	create_fns   €€rn   rD  z6UserDefinedTupleVariable.reconstruct.<locals>.<lambda>  s(   ø€ �G×)Ò)Ø×3Ò3°IÑ>Ô>ñô € rp   rF   F)rÍ   r4  Úget_construct_fnrî  r^  rï  r   )r½   rˆ  rx  s    `@rn   r�  z$UserDefinedTupleVariable.reconstruct÷  s    øø€ ð Œ;Ð"Ý ØHñô ð ð ×)Ò)Ñ+Ô+ˆ	Ø×Òðð ð ð ð ñ	
ô 	
ð 	
ð
 	ˆ�”ÑÔÐØ×ÒÕ2°1°eÑ<Ô<Ñ=Ô=Ð=Ð=Ð=rp   .c                 ó   — t           ‚r   )rÔ   rÏ   s    rn   ry  z)UserDefinedTupleVariable.get_construct_fn  s   € Ý!Ð!rp   rK  rL  c                 óâ   — g }t          | j        ¦  «        }|D ]U}t          |t          ¦  «        r&t          |j        ¦  «        |k    s|j        | j        ur dS |                     |¦  «         ŒV|S )z>Validate that rest args are compatible for tree_map fast-path.N)rë  r*  r  rh  ri  r�   )r½   rK  ÚothersÚnÚ	candidates        rn   Ú_validate_rest_for_tree_mapz4UserDefinedTupleVariable._validate_rest_for_tree_map  s~   € ð 24ˆÝ�”
‰OŒOˆØð 	%ð 	%ˆIå˜yÕ*BÑCÔCðå�y”Ñ'Ô'¨1Ò,Ð,ØÔ&¨d¬nÐ<Ð<à�t�tØ�MŠM˜)Ñ$Ô$Ð$Ð$Øˆrp   Ú	new_itemsc                 ó˜   — ddl m}  ||t          ¦   «         ¬¦  «        } t          | ¦  «        | j        |t          ¦   «         ¬¦  «        S )NrF   r  ró  )ro  r  )r6  r|   rL   r    r£   )r½   r€  r|   ro  s       rn   Ú_make_tree_map_resultz.UserDefinedTupleVariable._make_tree_map_result   sa   € ð 	)Ð(Ð(Ð(Ð(Ð(à �= Õ:JÑ:LÔ:LÐMÑMÔMˆØ�t�D‰zŒzØŒJØÝ*Ñ,Ô,ð
ñ 
ô 
ð 	
rp   c                 óV   — ddl m}  || j        ¦  «        pt          | j        ¦  «        S )Nr   )rU  )r¬  rU  ri  r   )r½   rU  s     rn   Ú_is_pytree_nodez(UserDefinedTupleVariable._is_pytree_node,  s7   € Ø;Ð;Ð;Ð;Ð;Ð;à"Ð" 4¤>Ñ2Ô2ÐXÕ6HÈÌÑ6XÔ6XÐXrp   rH  rI  rJ  rM   rM  rN  c           
      ó®  •‡
— |                       ¦   «         s%t          ¦   «                              |||||¦  «        S |                      |¦  «        }|€|                      |||||¦  «        S g }t          | j        ¦  «        D ]?\  Š
}ˆ
fd„|D ¦   «         }	|                     |                     ||||	|¦  «        ¦  «         Œ@|  	                    |¦  «        S )Nc                 ó*   •— g | ]}|j         ‰         ‘ŒS rr   r$  ©r  Úor3  s     €rn   rù  zAUserDefinedTupleVariable.call_tree_map_branch.<locals>.<listcomp>E  ó   ø€ Ð;Ð;Ð;¨q˜aœg cœlÐ;Ð;Ð;rp   )
r„  rÇ   r`  r  rV  r*  r*  r�   Úcall_tree_mapr‚  )r½   rÑ   rH  rJ  rK  rM  r|  r€  r®  Úsibling_leavesr3  rË   s             @€rn   r`  z-UserDefinedTupleVariable.call_tree_map_branch1  s  øø€ ð ×#Ò#Ñ%Ô%ð 	Ý‘7”7×/Ò/Ø�K ¨¨ñô ð ð ×1Ò1°$Ñ7Ô7ˆØˆ>Ø×*Ò*Ø�K ¨¨ñô ð ð ,.ˆ	Ý" 4¤:Ñ.Ô.ð 	ð 	‰IˆC�Ø;Ð;Ð;Ð;°FÐ;Ñ;Ô;ˆNØ×ÒØ×"Ò"Ø˜ V¨^¸_ñô ñô ð ð ð ×)Ò)¨)Ñ4Ô4Ð4rp   ra  rb  c                 ó  •‡— |                       ¦   «         s&t          ¦   «                              ||||||¦  «        S |                      |¦  «        }|€|                      ||||||¦  «        S t          | j        ¦  «        }g }	t          | j        ¦  «        D ]Y\  Š}
ˆfd„|D ¦   «         }|t          |‰         ¦  «        fz   }|	 
                    |
                     ||||||¦  «        ¦  «         ŒZ|                      |	¦  «        S )Nc                 ó*   •— g | ]}|j         ‰         ‘ŒS rr   r$  r‡  s     €rn   rù  zKUserDefinedTupleVariable.call_tree_map_with_path_branch.<locals>.<listcomp>d  r‰  rp   )r„  rÇ   rh  r  rf  r<   ri  r*  r*  r   r�   Úcall_tree_map_with_pathr‚  )r½   rÑ   rH  rJ  rK  rM  ra  r|  rt  r€  r®  r‹  Úchild_keypathr3  rË   s                @€rn   rh  z7UserDefinedTupleVariable.call_tree_map_with_path_branchN  s?  øø€ ð ×#Ò#Ñ%Ô%ð 	Ý‘7”7×9Ò9Ø�K ¨¨Àñô ð ð ×1Ò1°$Ñ7Ô7ˆØˆ>Ø×4Ò4Ø�K ¨¨Àñô ð õ # 4¤>Ñ2Ô2ˆØ+-ˆ	Ý" 4¤:Ñ.Ô.ð 	ð 	‰IˆC�Ø;Ð;Ð;Ð;°FÐ;Ñ;Ô;ˆNØ#¥z°&¸´+Ñ'>Ô'>Ð&@Ñ@ˆMØ×ÒØ×,Ò,ØØØØ"Ø#Ø!ñô ñ	ô 	ð 	ð 	ð ×)Ò)¨)Ñ4Ô4Ð4rp   r×   c                 óž   — | j         €t          d¦  «        ‚t          |t          ¦  «        r|j         n|}| j                              |¦  «        S rb  )r^  r4  r  rh  rƒ  r‚  s     rn   rƒ  z(UserDefinedTupleVariable.is_python_equals  sK   € ØŒ=Ð Ý Ð!OÑPÔPÐPÝ",¨UÕ4LÑ"MÔ"MÐX�”�ÐSXˆØŒ}×,Ò,¨UÑ3Ô3Ð3rp   r$  r�  ri  rj  )r�   r¿   rÀ   rk  rœ  rl  r‚  r    rm  rÈ   r†  r  rM   r*  rÂ   r€   r   r  r�  r   r   ry  r  r‚  rŽ  r„  r`  rh  rƒ  r�  r‘  s   @rn   rh  rh  ®  s°  ø€ € € € € ð	ð 	ð 	ðà	"Ô	1ð€Nð
 ð"˜ð " Ð&@Ô!Að "ð "ð "ñ „\ð"ð
Sð Sð Sð Sð Sð Sð2 ð#�t˜OÔ,ð #ð #ð #ñ „Xð#ð
Là'ðLð ðLð ð	Lð
 ˜‘ðLð 
ðLð Lð Lð Lð Lð Lð&>ð >ð >ð >ð," (¨3°¨8Ô"4ð "ð "ð "ð "ðØ+ðà	Ð(Ô	)¨DÑ	0ðð ð ð ð 

Ø˜oÔ.ð

à	#ð

ð 

ð 

ð 

ðY ð Yð Yð Yð Yð
5à'ð5ð @ð5ð "ð	5ð
 &ð5ð 6ð5ð 
ð5ð 5ð 5ð 5ð 5ð 5ð:#5à'ð#5ð @ð#5ð "ð	#5ð
 &ð#5ð 6ð#5ð #ð#5ð 
ð#5ð #5ð #5ð #5ð #5ð #5ðJ4 Vð 4°ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4rp   rh  c            
       ó‚   ‡ — e Zd ZdZdddedededz  def
ˆ fd	„Zde	d
e
f         fd„Zde
fd„Zde
fd„Zdddefd„Zˆ xZS )rl  zÄRepresents Python namedtuples (created via collections.namedtuple).

    Namedtuples use _tuplegetter descriptors for field access and
    Type(*args) / Type._make(iterable) for construction.
    rÑ   rw   r¹   rJ  rÍ   NrW   c                 óÎ   •— t          |t          j        ¦  «        r'|                     ¦   «         \  }\  }}| j        |         S t          ¦   «                              ||||¦  «        S r   rs  ru  s          €rn   r  z*NamedTupleVariable.resolve_data_descriptor�  s_   ø€ õ �i¥Ô!:Ñ;Ô;ð 	#ð $×.Ò.Ñ0Ô0‰KˆA‰x��QØ”:˜c”?Ð"Ý‰wŒw×.Ò.¨r°4¸ÀFÑKÔKÐKrp   .c                 ó   — | j         j        S r   )ri  Ú_makerÏ   s    rn   ry  z#NamedTupleVariable.get_construct_fn�  s   € ØŒ~Ô#Ð#rp   c                 ó8   — d„ | j         D ¦   «         } | j        |Ž S )Nc                 ó6   — g | ]}|                      ¦   «         ‘ŒS rr   rþ  rÿ  s     rn   rù  z9NamedTupleVariable.as_python_constant.<locals>.<listcomp>”  ó$   € Ð<Ð<Ð<¨A�×%Ò%Ñ'Ô'Ð<Ð<Ð<rp   ©r*  ri  ©r½   r*  s     rn   rá   z%NamedTupleVariable.as_python_constant“  s&   € Ø<Ð<°´Ð<Ñ<Ô<ˆØˆtŒ~˜uÐ%Ð%rp   c                 ó8   — d„ | j         D ¦   «         } | j        |Ž S )Nc                 ó6   — g | ]}|                      ¦   «         ‘ŒS rr   ©rä   rÿ  s     rn   rù  z/NamedTupleVariable.as_proxy.<locals>.<listcomp>˜  ó    € Ð2Ð2Ð2 !�—’‘”Ð2Ð2Ð2rp   r˜  r™  s     rn   rä   zNamedTupleVariable.as_proxy—  s&   € Ø2Ð2 t¤zÐ2Ñ2Ô2ˆØˆtŒ~˜uÐ%Ð%rp   c                 óÞ   ‡— t          | j        ¦  «        }d                     ˆfd„t          || j        ¦  «        D ¦   «         ¦  «        }t          j        ‰| j        j        › d|› d�¦  «        S )Nr  c              3   óH   •K  — | ]\  }}|› d t          ‰|¦  «        › �V — ŒdS ©ú=N©rB   ©r  r¹   r®  rÑ   s      €rn   r  z/NamedTupleVariable.repr_impl.<locals>.<genexpr>�  óP   øè è € ð 
ð 
Ù3=°4¸ˆtÐ.Ð.•l 2 tÑ,Ô,Ð.Ð.ð
ð 
ð 
ð 
ð 
ð 
rp   rç   rè   )r<   ri  r  Úzipr*  rM   rH  r�   ©r½   rÑ   rt  r*  s    `  rn   rK  zNamedTupleVariable.repr_impl›  s‚   ø€ Ý" 4¤>Ñ2Ô2ˆØ—	’	ð 
ð 
ð 
ð 
ÝADÀVÈTÌZÑAXÔAXð
ñ 
ô 
ñ 
ô 
ˆõ Ô$ R¨D¬NÔ,CÐ)NÐ)NÀeÐ)NÐ)NÐ)NÑOÔOÐOrp   )r�   r¿   rÀ   rk  rÂ   r€   r   rM   r  r   r   ry  rá   rä   rK  r�  r‘  s   @rn   rl  rl  z  s  ø€ € € € € ðð ðLà'ðLð ðLð ð	Lð
 ˜‘ðLð 
ðLð Lð Lð Lð Lð Lð$ (¨3°¨8Ô"4ð $ð $ð $ð $ð& Cð &ð &ð &ð &ð&˜#ð &ð &ð &ð &ðPÐ7ð P¸Oð Pð Pð Pð Pð Pð Pð Pð Prp   rl  c            
       óŽ   ‡ — e Zd ZdZdddedededz  def
ˆ fd	„Zde	d
e
f         fd„Zde
fd„Zde
fd„Zdefd„Zdddefd„Zˆ xZS )rk  zœRepresents C-implemented PyStructSequence types (torch.return_types.*).

    Structseqs use Type(iterable) calling convention and reject tuple.__new__.
    rÑ   rw   r¹   rJ  rÍ   NrW   c                 óð   •— t          |t          j        ¦  «        r8t          | j        ¦  «        }||v r | j        |                     |¦  «                 S t          ¦   «                              ||||¦  «        S r   )	r  re  rŠ  r<   ri  r*  ÚindexrÇ   r  )r½   rÑ   r¹   rJ  rÍ   rt  rË   s         €rn   r  z.StructSequenceVariable.resolve_data_descriptor©  sk   ø€ õ �i¥Ô!;Ñ<Ô<ð 	6õ ' t¤~Ñ6Ô6ˆFØ�vˆ~ˆ~Ø”z &§,¢,¨tÑ"4Ô"4Ô5Ð5Ý‰wŒw×.Ò.¨r°4¸ÀFÑKÔKÐKrp   .c                 ó   — | j         S r   )ri  rÏ   s    rn   ry  z'StructSequenceVariable.get_construct_fn¹  s
   € ØŒ~Ðrp   c                 óN   — d„ | j         D ¦   «         }|                      |¦  «        S )Nc                 ó6   — g | ]}|                      ¦   «         ‘ŒS rr   rþ  rÿ  s     rn   rù  z=StructSequenceVariable.as_python_constant.<locals>.<listcomp>½  r—  rp   r˜  r™  s     rn   rá   z)StructSequenceVariable.as_python_constant¼  s)   € Ø<Ð<°´Ð<Ñ<Ô<ˆØ�~Š~˜eÑ$Ô$Ð$rp   c                 óN   — d„ | j         D ¦   «         }|                      |¦  «        S )Nc                 ó6   — g | ]}|                      ¦   «         ‘ŒS rr   rœ  rÿ  s     rn   rù  z3StructSequenceVariable.as_proxy.<locals>.<listcomp>Á  r�  rp   r˜  r™  s     rn   rä   zStructSequenceVariable.as_proxyÀ  s)   € Ø2Ð2 t¤zÐ2Ñ2Ô2ˆØ�~Š~˜eÑ$Ô$Ð$rp   c                 óÌ   — t          | j        ¦  «        }d                     d„ t          || j        ¦  «        D ¦   «         ¦  «        }| j        j        › d| j        j        › d|› d�S )Nr  c              3   óN   K  — | ] \  }}|› d |                      ¦   «         › �V — Œ!dS r   )r±  )r  r¹   r®  s      rn   r  z4StructSequenceVariable.debug_repr.<locals>.<genexpr>Æ  sO   è è € ð 
ð 
Ù.8¨d°DˆtÐ)Ð)�d—o’oÑ'Ô'Ð)Ð)ð
ð 
ð 
ð 
ð 
ð 
rp   r  rç   rè   )r<   ri  r  r¥  r*  r¿   rÀ   )r½   rt  r*  s      rn   r±  z!StructSequenceVariable.debug_reprÄ  sw   € Ý" 4¤>Ñ2Ô2ˆØ—	’	ð 
ð 
Ý<?ÀÈÌ
Ñ<SÔ<Sð
ñ 
ô 
ñ 
ô 
ˆð ”.Ô+ÐTÐT¨d¬nÔ.IÐTÐTÈEÐTÐTÐTÐTrp   c           	      óø   ‡— t          | j        ¦  «        }d                     ˆfd„t          || j        ¦  «        D ¦   «         ¦  «        }t          j        ‰| j        j        › d| j        j        › d|› d�¦  «        S )Nr  c              3   óH   •K  — | ]\  }}|› d t          ‰|¦  «        › �V — ŒdS r   r¢  r£  s      €rn   r  z3StructSequenceVariable.repr_impl.<locals>.<genexpr>Í  r¤  rp   r  rç   rè   )	r<   ri  r  r¥  r*  rM   rH  r¿   rÀ   r¦  s    `  rn   rK  z StructSequenceVariable.repr_implË  s—   ø€ Ý" 4¤>Ñ2Ô2ˆØ—	’	ð 
ð 
ð 
ð 
ÝADÀVÈTÌZÑAXÔAXð
ñ 
ô 
ñ 
ô 
ˆõ Ô$ØØŒ~Ô(ÐQÐQ¨4¬>Ô+FÐQÐQÈÐQÐQÐQñ
ô 
ð 	
rp   )r�   r¿   rÀ   rk  rÂ   r€   r   rM   r  r   r   ry  rá   rä   r±  rK  r�  r‘  s   @rn   rk  rk  £  s#  ø€ € € € € ðð ð
Là'ðLð ðLð ð	Lð
 ˜‘ðLð 
ðLð Lð Lð Lð Lð Lð  (¨3°¨8Ô"4ð ð ð ð ð% Cð %ð %ð %ð %ð%˜#ð %ð %ð %ð %ðU˜Cð Uð Uð Uð Uð
Ð7ð 
¸Oð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
rp   rk  c                   ót   ‡ — e Zd Zdededdfˆ fd„Zdddededefˆ fd	„Zdddedefˆ fd
„Z	dddefˆ fd„Z
ˆ xZS )ÚMutableMappingVariabler£   rÅ   rW   Nc                 ó<   •—  t          ¦   «         j        |fi |¤Ž d S r   r“  rÊ   s      €rn   rÈ   zMutableMappingVariable.__init__×  s(   ø€ Ø�‰ŒÔ˜Ð)Ð) &Ð)Ð)Ð)Ð)Ð)rp   rÑ   rw   r¹   c                 ó  •— t          |t          j        ¦  «        rÈt          |j        t          ¦  «        r®|j        }t          j        t          | j        ¦  «        |d¦  «        }t          |t          ¦  «        rj|j	        �cd}| j
        r&|                      ||¦  «        }t          |d¦  «        }t          j        ||j	        |¦  «        }|                     || |gi ¦  «        S t!          ¦   «                              |||¦  «        S )aÜ  Override to handle property setters on MutableMapping subclasses.

        This is needed because property.__set__ is a slot wrapper (C function),
        but property.fset is a Python function we can trace.

        Without this, property setters on newly created MutableMapping objects fail
        when accessing nested objects (which haven't been initialized yet on the
        example value). By tracing the fset, we capture the setter logic in the graph
        instead of running it on uninitialized example objects.

        TODO(compiler): This fix is scoped to MutableMapping only because tracing
        property setters on ALL UserDefinedObjectVariable can cause failures when
        the fset calls untraceable C++ functions (e.g., pybind functions). Ideally,
        this should be extended to all user-defined classes with a graceful fallback
        when tracing the fset hits an untraceable function.
        See: https://github.com/pytorch/pytorch/issues/172000
        NrÎ  )r  r   ry   r£   rÂ   r§   r»   r    r†  rÎ  r¥  r>  r#   rM   rH  rp  rÇ   r£  )
r½   rÑ   r¹   r£   rÄ  r5  rÚ  r×  Úfset_vtrË   s
            €rn   r£  z.MutableMappingVariable.method_setattr_standardÚ  sñ   ø€ õ. �d�IÔ6Ñ7Ô7ð 		D½JÀtÄzÕSVÑ<WÔ<Wð 		DØ”zˆHÝ Ô/µ°T´ZÑ0@Ô0@À(ÈDÑQÔQˆJÝ˜*¥hÑ/Ô/ð D°J´OÐ4OØ"�Ø”?ð BØ"&×"@Ò"@ÀÀXÑ"NÔ"N�KÝ",¨[¸&Ñ"AÔ"A�KÝ)Ô/°°J´OÀ[ÑQÔQ�Ø×,Ò,¨R°$¸°ÀÑCÔCÐCå‰wŒw×.Ò.¨r°4¸Ñ?Ô?Ð?rp   c                 ó  •— |dk    rZt          | j        ¦  «        j        t          j        j        j        t          j        fv rt          j        t          j
        | ¦  «        S t          ¦   «                              ||¦  «        S )Nr–   )r    r£   r–   r’  ÚabcÚMappingr  r   ro  r   Úmapping_getrÇ   rz  r€  s      €rn   rz  z"MutableMappingVariable.var_getattrþ  sn   ø€ ð �5Š=ˆ=�T $¤*Ñ-Ô-Ô1ÝŒOÔ#Ô'ÝŒHð6
ð 
ð 
õ Ô/µ	Ô0EÀtÑLÔLÐLå‘7”7×&Ò& r¨4Ñ0Ô0Ð0rp   c                 óÌ   •— |                       d¦  «        t          v r't          j        |t	          | j        ¦  «        ¦  «        S t          ¦   «                              |¦  «        S r»  )r¾   r0   rM   rH  rë  r£   rÇ   r­  r³  s     €rn   r­  z MutableMappingVariable.mp_length  sO   ø€ Ø×+Ò+¨IÑ6Ô6½,ÐFÐFÝ"Ô(¨­S°´©_¬_Ñ=Ô=Ð=Ý‰wŒw× Ò  Ñ$Ô$Ð$rp   )r�   r¿   rÀ   r€   r   rÈ   rM   r£  rÂ   rz  r­  r�  r‘  s   @rn   r´  r´  Ö  s  ø€ € € € € ð*˜fð *°ð *¸ð *ð *ð *ð *ð *ð *ð"@à'ð"@ð ð"@ð ð	"@ð
 
ð"@ð "@ð "@ð "@ð "@ð "@ðH1Ø-ð1Ø58ð1à	ð1ð 1ð 1ð 1ð 1ð 1ð%Ð7ð %¸Oð %ð %ð %ð %ð %ð %ð %ð %ð %ð %rp   r´  c                   ó   — e Zd ZdS )r[  Nr˜  rr   rp   rn   r[  r[    s   € € € € € Ø€Drp   r[  )½rk  rŒ  r	  r’  r,  r©   r  r/  r§   rY  r”   r¡  rµ  re  rA  r<  Úcollections.abcr   r   r   Útypingr   r   r   r	   r
   Útyping_extensionsr   Útorch._dynamo.configrë   Útorch.nnÚtorch._C._dynamor   Útorch._guardsr   r   Útorch.utils._ordered_setr   Útorch.utils._python_dispatchr   r¬  r   r   r|  r   r   r   r   Úbytecode_transformationr   Úcreate_parameter_opr   rx  r   r   r   r   r   r   rU  r    Úguardsr!   r"   rÍ   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r­  r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   r$  rG   rH   rI   rJ   rK   rL   rM   r  rN   rO   r†  rQ   rï  rR   rS   ÚsetsrT   ÚnumpyrR  ÚModuleNotFoundErrorÚtorch.utils._cxx_pytreerU   r‘   r    rV   r€   rÁ   ro   rs   Útorch._dynamo.codegenrt   Útorch._dynamo.side_effectsrv   rØ  rw   Ú torch._dynamo.variables.constantry   rz   r6  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œ  rn  r‘  r˜  r¸  rÇ  r  r  rÚ  rÖ  r  rØ  rÞ  râ  r]  r  r9  rW  rd  rh  rl  rk  r´  r[  rr   rp   rn   ú<module>rÑ     s  ððð ð ð. Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø 
€
€
€
Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø *Ð *Ð *Ð *Ð *Ð *à Ð Ð Ð Ø €€€Ø *Ð *Ð *Ð *Ð *Ð *Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø /Ð /Ð /Ð /Ð /Ð /Ø KÐ KÐ KÐ KÐ KÐ KØ >Ð >Ð >Ð >Ð >Ð >Ð >Ð >à >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø :Ð :Ð :Ð :Ð :Ð :Ø FÐ FÐ FÐ FÐ FÐ Fðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð AÐ @Ð @Ð @Ð @Ð @Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð6ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 3Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø %Ð %Ð %Ð %Ð %Ð %Ø KÐ KÐ KÐ KÐ KÐ KÐ KÐ KØ Ð Ð Ð Ð Ð ðØÐÐÐÐøØð ð ð Ø	€B€B€BðøøøðØ2Ð2Ð2Ð2Ð2Ð2Ð2øØð ð ð Ø��d‘”€J€J€Jðøøøð ,0€ˆz˜&Ô! DÑ(Ð /Ð /Ñ /ð�z &Ô)ð ð ð ð ð:˜z¨&Ô1ð ð ð ð ð
 ð 3Ø/Ð/Ð/Ð/Ð/Ð/Ø6Ð6Ð6Ð6Ð6Ð6ØHÐHÐHÐHÐHÐHØAÐAÐAÐAÐAÐAà)Ð)Ð)Ð)Ð)Ð)Ø2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ðB˜Vð B¨ð Bð Bð Bð BðB˜Vð B¨ð Bð Bð Bð Bð fð °ð ð ð ð ðD˜Fð  tð ð ð ð ð Vð °ð ð ð ð ð 09¨yàØÔ!ØÔ"ØÔ"ð	ñ0ô 0Ð ˜Y tœ_ð ð ñ ð˜Fð  tð ð ð ð ð�Vð  ð ð ð ð ð
ð 
ð 
ð 
ð 
˜/ñ 
ô 
ð 
ðzð zð zð zð zÐ2ñ zô zð zðz'7ð 7ð 7ð 7ð 7Ð(@ñ 7ô 7ð 7ð6	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ðSØ#ðSà��c�ÔðSð ˆÔ
ðSð ��oÐ%Ô&ð	Sð
 ðSð Sð Sð Sð,|$
ð |$
ð |$
ð |$
ð |$
Ð 3ñ |$
ô |$
ð |$
ð~I^
ð ^
ð ^
ð ^
ð ^
Ð7ñ ^
ô ^
ð ^
ðB
ð 
ð 
ð 
ð 
Ð$=ñ 
ô 
ð 
ð0X+ð X+ð X+ð X+ð X+Ð)Bñ X+ô X+ð X+ðv-ð -ð -ð -ð -Ð/ñ -ô -ð -ð:-ð -ð -ð -ð -Ð 9ñ -ô -ð -ð8 ˜U CÐ(Ð ð0ð 0Ø@Tð0ñ 0ô 0Ð ˜˜T 3 s¤8˜^Ô,ð ð ñ ð
(ð (ð (ð (ð (Ð";ñ (ô (ð (ð:@ð @ð @ð @ð @Ð2ñ @ô @ð @ð,$ð ,$ð ,$ð ,$ð ,$˜oñ ,$ô ,$ð ,$ð^M%ð M%ð M%ð M%ð M%Ð7ñ M%ô M%ð M%ðdk;ð k;ð k;ð k;ð k;Ð1ñ k;ô k;ð k;ð`W;ð W;ð W;ð W;ð W;Ð1ñ W;ô W;ð W;ðt?Gð ?Gð ?Gð ?Gð ?GÐ6ñ ?Gô ?Gð ?GðDSð Sð Sð Sð SÐ7ñ Sô Sð Sð8I4ð I4ð I4ð I4ð I4Ð8ñ I4ô I4ð I4ðX&Pð &Pð &Pð &Pð &PÐ1ñ &Pô &Pð &PðR0
ð 0
ð 0
ð 0
ð 0
Ð5ñ 0
ô 0
ð 0
ðf:%ð :%ð :%ð :%ð :%Ð6ñ :%ô :%ð :%ðz	ð 	ð 	ð 	ð 	Ð.ñ 	ô 	ð 	ð 	ð 	s$   Ä;E  Å E
Å	E
ÅE ÅE(Å'E(