+
    –°³jâš ã                  óP  a€ 0 t $ R t^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHtH t H!t! ^ RI"H#t#H$t$H%t% ^ RIH&t& ^ RI't'^ RI(t'^ RI)t'^ R	I*H+t+ ^ R
I,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t;H<t<H=t=H>t>H?t?H@t@HAtAHBtBHCtCHDtDHEtEHFtF ^ RIGHHtHHItIHJtJHKtKHLtLHMtMHNtNHOtOHPtPHQtQ ^ RIRHStSHTtT ^ RIUHVtVHWtWHXtXHYtYHZtZH[t[H\t\H]t]H^t^ ^ RI_H`t` ^ RIaHbtbHctc ^ RIdHete ^ RIfHgtg ^ RIhHitiHjtjHktkHltlHmtm ^ RInHotp ^ RIqHrtr ^ RIsHttt ^ RIuHvtvHwtw ^ RIxHyty ^RIzH{t{H|t|H}t} ^RI~Ht ^RI€H�t�H‚t‚HƒtƒH„t„H…t…H†t†H‡t‡HˆtˆH‰t‰HŠtŠH‹t‹HŒtŒH�t�HŽtŽH�t�H�t�H‘t‘H’t’H“t“H”t”H•t•H–t–H—t—H˜t˜H™t™HštšH›t›HœtœH�t�HžtžHŸtŸH t H¡t¡H¢t¢H£t£H¤t¤H¥t¥H¦t¦H§t§H¨t¨H©t©HªtªH«t«H¬t¬H­t­H®t®H¯t¯ ^RIH°t°H±t±H²t²H³t³H´t´HµtµH¶t¶ ^RI·H¸t¸H¹t¹HºtºH»t»H¼t¼H½t½H¾t¾H¿t¿HÀtÀHÁtÁHÂtÂHÃtÃHÄtÄHÅtÅHÆtÆHÇtÇHÈtÈHÉtÉ ]!'       d!   ^ RIÊHËtË ]Ë]Y].]3,          tÌ]Ë]].]Í3,          tÎRtÏR]ÐR&   ]Ñ! ]EP¤                  ! 4       4      tÓ ^ RIÔtÕ]!'       d-   ^ R IÊH×t×HØtØHÙtÙHÚtÚ ^ R!IÛHÜtÜ ^ R"IÝHÞtÞ ^ R#IßHàtàHátá ^ R$IâHãtã ^ R%IäHåtå ]%! R&4      tæ]EPÎ                  ! ]è4      té]'EPÔ                  EP×                  ]èR'4      tì]'EPÔ                  EP×                  ]èR(4      tí]'EPÔ                  EP×                  ]èR)4      tî]'EPÔ                  EP×                  ]èR*4      tïR+ R, ltð]ñ! 4       tòR- R. ltóR/ R0 ltôRÍtõR1 R2 ltö ! R3 R4]r4      t÷ ! R5 R64      tøR7 R8 ltùRsúR9]ÐR:&   R; R< ltû]	EPø                  R= R> l4       týRsþR?]ÐR@&   RA RB ltÿRC RD lEt ]'EP                  EP                  EP                  EtRE RF lEtRG RH lEtRÎRI RJ llEtRK RL lEtRM RN lEtRO RP lEt	RQ RR lEt
RS RT lEtRU RV lEtRW RX lEtRY RZ lEt]EP                  ! R[R\7       ! R] R^4      4       EtR_ R` lEtRa Rb lEt]EP                   ! Rc Rd4      4       Et ! Re Rf]EP(                  4      Et]	EPø                  Rg Rh l4       Et ! Ri Rj]4      Et]ñ! 4       EtRk Rl lEtRm Rn lEtRo Rp lEtRq Rr lEtRs Rt lEtRu Rv lEtRw Rx lEtRy Rz lEt R{ R| lEt!R} R~ lEt"R R€ lEt#R� R‚ lEt$Rƒ R„ lEt%R… R† lEt&R‡ Et' ! Rˆ R‰4      Et(RŠ Et) ! R‹ RŒ]Z4      Et* ! R� RŽ4      Et+R� R� lEt, ! R‘ R’]ø4      Et-]EP                   ! R“ R”4      4       Et.]EP                   ! R• R–4      4       Et/ ! R— R˜4      Et0]	EPø                  R™ Rš l4       Et1 ! R› Rœ]EPd                  4      Et3R� Rž lEt4RŸ R  lEt5 ! R¡ R¢4      Et6R£ R¤ lEt7R¥ R¦ lEt8R§ R¨ lEt9R© Rª lEt:]$! R«E];E]<]ñ3,          4      Et=R¬ R­ lEt>R® R¯ lEt?R° R± lEt@R² R³ lEtAR´ Rµ lEtBRÏR¶ R· llEtCRÏR¸ R¹ llEtDRº R» lEtER¼ R½ lEtF]! E]F4       R¾ R¿ lEtGRÀ RÁ lEtHRÂ^ /RÃ RÄ llEtIE]J! E]*4       U Uu/ uF(  p E]K! E]K! E]*V 4      RÅR4      ;EsL  f   K   V E\˜        bK*  	  upp EtMRÆ]ÐRÇ&   E]J! E]*4       UUUu. uFÃ  pV^ ,          EP�                  4       '       g   K#  VEPŸ                  RÈ4      '       d   K=  E]P! E]K! E]*VR4      ;EsQ4      '       g   K[  E]R! E]S! ]EP©                  E\¢        4      EPª                  4      ;EsV4      ^8¼  g   K•  E\¬        ^,          RÉ8X  g   Kª  E]W! E\¢        RÅ4      '       d   KÁ  VNKÅ  	  upppEtXE]X'       d   E]Y! RÊRËEPµ                  E]X4       RÌ24      hR#   ]Ö d    RtÕ ELNi ; iu upp i u upppi )Ðaî  
Core guard system for Dynamo that detects when compiled code needs to be recompiled due to
changes in program state. Guards are conditions that must remain true for previously-compiled
code to be valid for reuse.

This module provides the infrastructure for creating, managing and checking guards, including:
- Guard creation and composition
- Guard state management and invalidation
- Guard checking and failure handling
- Utilities for guard optimization and debugging
- Integration with Dynamo's compilation caching

The guard system is critical for Dynamo's ability to efficiently reuse compiled code while
maintaining correctness by detecting when recompilation is necessary due to changes in
program state, tensor properties, or control flow.
)ÚannotationsN)Úcontextmanager©Údeepcopy)Úcurrentframe)ÚAnyÚcastÚ
NamedTupleÚNoReturnÚTYPE_CHECKING)ÚLiteralStringÚTypeAliasTypeÚTypeVar)ÚReferenceType)Úcode_framelocals_names)Úcheck_obj_idÚcheck_type_idÚClosureGuardAccessorÚCodeGuardAccessorÚdict_versionÚDictGetItemGuardAccessorÚDictGuardManagerÚFuncDefaultsGuardAccessorÚFuncKwDefaultsGuardAccessorÚGetAttrGuardAccessorÚGetGenericDictGuardAccessorÚGuardAccessorÚGuardDebugInfoÚGuardManagerÚ install_no_tensor_aliasing_guardÚinstall_object_aliasing_guardÚ!install_storage_overlapping_guardÚinstall_symbolic_shape_guardÚ	LeafGuardÚprofile_guard_managerÚRelationalGuardÚRootGuardManagerÚTupleGetItemGuardAccessorÚTypeDictGuardAccessorÚTypeGuardAccessorÚTypeMROGuardAccessor)
Úget_global_source_nameÚget_local_source_nameÚIndexedSourceÚ$is_from_flatten_script_object_sourceÚis_from_local_sourceÚis_from_optimizer_sourceÚis_from_skip_guard_sourceÚ.is_from_unspecialized_builtin_nn_module_sourceÚTensorPropertyÚTensorPropertySource)ÚCompileEventLoggerÚget_metrics_context)	ÚCompileContextÚ	CompileIdÚDuplicateInputsÚGuardÚGuardBuilderBaseÚGuardEnvExprÚGuardSourceÚSourceÚStorageOverlap)ÚFakeScriptObject)Úget_opaque_obj_infoÚis_opaque_constant_type)Ú
structured)Újustknobs_check)Ú_CppShapeGuardsHelperÚ_ShapeGuardsHelperÚEqualityConstraintÚis_symbolicÚSYMPY_INTERP)Ú_pytree©ÚIndentedBuffer)Ú
OrderedSet)Úformat_frameÚreport_compile_source_on_error)ÚTensorWeakRef)ÚconfigÚconvert_frameÚexc)Úset_guard_error_hook)/ÚAttrProxySourceÚ
AttrSourceÚCallFunctionNoArgsSourceÚCallMethodItemSourceÚCellContentsSourceÚChainedSourceÚClosureSourceÚ
CodeSourceÚConstantSourceÚConstDictKeySourceÚContextVarGetSourceÚCurrentStreamSourceÚDataclassFieldsSourceÚDefaultsSourceÚDictGetItemSourceÚDictSubclassGetItemSourceÚDynamicScalarSourceÚFlattenScriptObjectSourceÚFloatTensorSourceÚFSDPNNModuleSourceÚGenericAttrSourceÚGetItemSourceÚGlobalSourceÚGlobalStateSourceÚGlobalWeakRefSourceÚ
GradSourceÚImportSourceÚListGetItemSourceÚLocalSourceÚNamedTupleFieldsSourceÚNNModuleSourceÚNonSerializableSetGetItemSourceÚNumpyTensorSourceÚOptimizerSourceÚScriptObjectQualifiedNameSourceÚShapeEnvSourceÚSubclassAttrListSourceÚTorchFunctionModeStackSourceÚTupleIteratorGetItemSourceÚTypeDictSourceÚTypeMROSourceÚ
TypeSourceÚ"UnspecializedBuiltinNNModuleSourceÚUnspecializedNNModuleSourceÚUnspecializedParamBufferSourceÚUnwrapCollectiveTensorSourceÚWeakRefCallSource)Ú
CacheEntryÚDynamoFrameTypeÚ
ExtraStateÚGuardedCodeÚ	GuardFailÚGuardFilterEntryÚGuardFn)Úbuiltin_dict_keysÚcommon_constant_typesÚdataclass_fieldsÚ	dict_keysÚget_current_streamÚget_torch_function_mode_stackÚ get_torch_function_mode_stack_atÚguard_failuresÚistypeÚ	key_is_idÚ	key_to_idÚnormalize_count_iterÚnormalize_range_iterÚorig_code_mapÚset_getitemÚtuple_iterator_getitemÚtuple_iterator_lenÚverify_guard_fn_signature)ÚCallablez%Callable[[Any, Any, Any], Any] | NoneÚguard_manager_testing_hook_fn)Ú	GeneratorÚKeysViewÚSequenceÚSized)ÚSymbol)ÚDispatchKeySet)ÚOutputGraphCommonÚOutputGraphGuardsState©ÚSerializedCode©ÚTraceableWrapperSubclassÚTÚguardsÚ
recompilesÚrecompiles_verboseÚverbose_guardsc               ó    € V ^8„  d   QhRRRR/# )é   ÚvalueÚobjectÚreturnÚint© )Úformats   "ÚU/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_dynamo/guards.pyÚ__annotate__r¹   í   s   € ÷ %ñ %˜Fð % sñ %ó    c                óØ   € \        V \        4      '       d   \        P                  V 4      # \        V \        4      '       d   \        P                  V 4      # \	        \        R V 4      4      # )r¢   )Ú
isinstanceÚsetÚ__len__Ú	frozensetÚlenr   ©r²   s   &r¸   Ú_sequence_lengthrÂ   í   sN   € Ü�%œ×ÒÜ�{‰{˜5Ó!Ð!Ü�%œ×#Ò#Ü× Ñ  Ó'Ð'ÜŒt�G˜UÓ#Ó$Ð$rº   c               ó    € V ^8„  d   QhRRRR/# )r±   r²   r³   r´   zbool | objectr¶   )r·   s   "r¸   r¹   r¹   ø   s   € ÷ *ñ *˜fð *¨ñ *rº   c                óD  € \        V \        P                  4      '       g   \        # \        P                  P                  V 4      P                  \        P                  P                  P                  4      '       d   \        # \        P                  P                  V 4      # ©N)
r¼   ÚtorchÚTensorÚ_COW_TENSOR_UNSUPPORTEDÚ_CÚ_dispatch_keysÚhasÚDispatchKeyÚPythonÚ_is_cow_tensorrÁ   s   &r¸   Ú_try_is_cow_tensorrÏ   ø   sd   € Ü�eœUŸ\™\×*Ò*Ü&Ð&Ü‡x�x×Ñ˜uÓ%×)Ñ)¬%¯(©(×*>Ñ*>×*EÑ*E×FÒFÜ&Ð&Ü�8‰8×"Ñ" 5Ó)Ð)rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r²   r³   Úexpectedr´   Úboolr¶   )r·   s   "r¸   r¹   r¹      s&   € ÷ Hñ H˜vð H°ð H¸Dñ Hrº   c                óp   € \        V\        4      '       g   R # \        V 4      pV\        J;'       d    W!8H  # ©F)r¼   rÒ   rÏ   rÈ   )r²   rÑ   Úactuals   && r¸   Ú_cow_tensor_matchesrÖ      s3   € Ü�h¤×%Ò%ÙÜ Ó&€FØÔ0Ð0×GÐG°VÑ5GÐGrº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   Úcodeútypes.CodeTypeÚvar_nameÚstrr´   rµ   r¶   )r·   s   "r¸   r¹   r¹     s!   € ÷ ñ ˜nð ¸ð Àñ rº   c                ól   € \        V 4      p\        V4      VP                  V4      ,
          ^,
          pV# ©é   )Ú&code_framelocals_names_reversed_cachedrÀ   Úindex)rØ   rÚ   Úframelocals_names_reversedÚframelocals_idxs   &&  r¸   Úget_framelocals_idxrã     s=   € ô "HÈÓ!MÐäÐ&Ó'Ð*D×*JÑ*JÈ8Ó*TÕTÐWXÕXð ð Ðrº   c                  ó>   a € ] tR tRtR R ltRR V 3R llltRtV ;t# )ÚIndentedBufferWithPrefixi   c               ó   € V ^8„  d   QhRR/# ©r±   r´   rÛ   r¶   )r·   s   "r¸   r¹   Ú%IndentedBufferWithPrefix.__annotate__!  s   € ÷ 5ñ 5˜ñ 5rº   c                	óJ   € R V P                   V P                  ,          ,          # )z| )Ú_indentÚtabwidth©Úselfs   &r¸   ÚprefixÚIndentedBufferWithPrefix.prefix!  s   € Ø�t—|‘| d§m¡mÕ3Õ4Ð4rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   ÚlinerÛ   Úskip_prefixrÒ   r´   ÚNoner¶   )r·   s   "r¸   r¹   rè   $  s!   € ÷ ,ñ ,˜cð ,°ð ,Àñ ,rº   c                	óf   <€ V'       d   \         SV `  V4       R# \         SV `  R V,           4       R# )z+- N)ÚsuperÚ	writeline)rí   rñ   rò   Ú	__class__s   &&&€r¸   rö   Ú"IndentedBufferWithPrefix.writeline$  s$   ø€ ßÜ‰GÑ˜dÖ#ä‰GÑ˜e d�lÖ+rº   r¶   rÔ   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rî   rö   Ú__static_attributes__Ú__classcell__©r÷   s   @r¸   rå   rå      s   ø† õ5÷,÷ ,ð ,rº   rå   c                  óì   € ] tR tRtRtR%R R llt]R R l4       tR R	 ltR
 R lt	R R lt
R R ltR R ltR R ltR R ltR&R R lltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$tR# )'ÚGuardManagerWrapperi+  zû
A helper class that contains the root guard manager. An instance of this
class is stored in the Dynamo cache entry, so that the cache entry can
access the RootGuardManager stored in the "root" attribute and directly call
the check_nopybind from C++.
Nc               ó$   € V ^8„  d   QhRRRRRR/# )r±   ÚrootzRootGuardManager | NoneÚlocal_stateú
Any | Noner´   ró   r¶   )r·   s   "r¸   r¹   Ú GuardManagerWrapper.__annotate__3  s-   € ÷ @ñ @à%ð@ð  ð@ð 
ñ	@rº   c                	óN  € Vf   \        4       V n        MWn        Ve   V P                  P                  V4       R V n        R V n        R V n        . V n        R V n        R V n        R V n	        R V n
        R V n        / V n        . V n        \        4       V n        \!        4       V n        R # rÅ   )r&   r  Úset_local_stateÚdiff_guard_rootÚclosure_varsÚargsÚ
code_partsÚverbose_code_partsÚglobal_scopeÚguard_fail_fnÚcache_entryÚextra_stateÚid_matched_objsÚno_tensor_aliasing_sourcesr½   Úprinted_relational_guardsrM   Údiff_guard_sources)rí   r  r  s   &&&r¸   Ú__init__ÚGuardManagerWrapper.__init__3  sš   € ð
 Š<Ü(Ó*ˆD�IàŒIàÒ"Ø�I‰I×%Ñ% kÔ2à8<ˆÔØ37ˆÔØ&*ˆŒ	Ø%'ˆŒØ48ˆÔØ37ˆÔØAEˆÔØ.2ˆÔØ.2ˆÔØACˆÔØ57ˆÔ'ä?B»uˆÔ&ä3=³<ˆÖrº   c               ó   € V ^8„  d   QhRR/# )r±   r´   zGenerator[None, None, None]r¶   )r·   s   "r¸   r¹   r  Q  s   € ÷ 3ñ 3Ð5Pñ 3rº   c              #  	ó|   "  € \        4       V n         R x € \        4       V n        R #   \        4       T n        i ; i5irÅ   )r½   r  rì   s   &r¸   Ú#_preserve_printed_relational_guardsÚ7GuardManagerWrapper._preserve_printed_relational_guardsP  s+   é € ä),«ˆÔ&ð	3Ûä-0«UˆDÖ*ø¬S«UˆDÕ*üs   ‚<“( —<¨9¹<c               ó   € V ^8„  d   QhRR/# )r±   r´   úOrderedSet[str]r¶   )r·   s   "r¸   r¹   r  Y  s   € ÷ 2'ñ 2'¨Oñ 2'rº   c                	ó‚   a aaa€ R  V V3R lloR V V3R lloR VV3R lloS! S P                   4       S P                  # )c               ó    € V ^8„  d   QhRRRR/# )r±   Únoder   r´   rÒ   r¶   )r·   s   "r¸   r¹   ÚDGuardManagerWrapper.collect_diff_guard_sources.<locals>.__annotate__c  s   € ÷ 	&ñ 	&Ð%5ð 	&¸$ñ 	&rº   c                óx  <€ V P                  4       SP                  9   ;'       g    V P                  4       ^ 8„  p\        V P	                  4       P                  4       4       F$  w  pw  r4VS! V4      S! V4      ,          ,          pK&  	  V'       d*   SP                  P                  V P                  4       4       V# ©é    )Ú
get_sourcer  Ú
fail_countÚsortedÚget_key_value_managersÚitemsÚadd)r   Úis_diff_guard_nodeÚ_idxÚkey_mgrÚval_mgrrí   Úvisits   &    €€r¸   Úvisit_dict_managerÚJGuardManagerWrapper.collect_diff_guard_sources.<locals>.visit_dict_managerc  s    ø€ à—‘Ó! T×%<Ñ%<Ñ<×UÐUÀÇÁÓ@QÐTUÑ@Uð ô -3Ø×+Ñ+Ó-×3Ñ3Ó5ö-Ñ(�Ñ(�wð #¡e¨G£n±u¸W³~Õ&EÕEÒ"ñ-÷
 "Ø×'Ñ'×+Ñ+¨D¯O©OÓ,=Ô>à%Ð%rº   c               ó    € V ^8„  d   QhRRRR/# ©r±   r   r   r´   rÒ   r¶   )r·   s   "r¸   r¹   r!  q  s   € ÷ 	&ñ 	& ð 	&°ñ 	&rº   c                ó€  <€ \        V \        4      '       d   \        R \        V 4       24      hV P	                  4       SP
                  9   ;'       g    V P                  4       ^ 8„  pV P                  4        F  pVS! V4      ,          pK  	  V'       d*   SP
                  P                  V P	                  4       4       V# )ú(Expected non-DictGuardManager node, got )	r¼   r   ÚAssertionErrorÚtyper%  r  r&  Úget_child_managersr*  )r   r+  Ú	child_mgrrí   r/  s   &  €€r¸   Úvisit_managerÚEGuardManagerWrapper.collect_diff_guard_sources.<locals>.visit_managerq  s¨   ø€ Ü˜$Ô 0×1Ò1Ü$Ø>¼tÀD»z¸lÐKóð ð
 —‘Ó! T×%<Ñ%<Ñ<×UÐUÀÇÁÓ@QÐTUÑ@Uð ð "×4Ñ4Ö6�	Ø"¡e¨IÓ&6Õ6Ò"ñ 7÷ "Ø×'Ñ'×+Ñ+¨D¯O©OÓ,=Ô>à%Ð%rº   c               ó    € V ^8„  d   QhRRRR/# r3  r¶   )r·   s   "r¸   r¹   r!  ‚  s   € ÷ 	'ñ 	'˜ð 	'¨ñ 	'rº   c                ó\   <€ V f   R# \        V \        4      '       d	   S! V 4      # S! V 4      # )NF©r¼   r   ©r   r0  r:  s   &€€r¸   r/  Ú=GuardManagerWrapper.collect_diff_guard_sources.<locals>.visit‚  s/   ø€ ØŠ|ÙÜ˜$Ô 0×1Ò1Ù)¨$Ó/Ð/Ù  Ó&Ð&rº   )r  r  )rí   r/  r0  r:  s   f@@@r¸   Úcollect_diff_guard_sourcesÚ.GuardManagerWrapper.collect_diff_guard_sourcesY  s;   û€ ÷	&ñ 	&÷	&ñ 	&÷"	'ñ 	'ñ 	ˆd�i‰iÔà×&Ñ&Ð&rº   c               ó   € V ^8„  d   QhRR/# ©r±   r´   ró   r¶   )r·   s   "r¸   r¹   r  �  s   € ÷ *ñ *˜$ñ *rº   c                	ó”   € \         P                  '       d"   \        R 4      '       d   V P                  4        V P	                  4        R# )z3pytorch/compiler:use_recursive_dict_tags_for_guardsN)rQ   Ú"use_recursive_dict_tags_for_guardsrD   Úfind_tag_safe_rootsÚprepare_diff_guard_managerrì   s   &r¸   ÚfinalizeÚGuardManagerWrapper.finalize�  s7   € Ü×4×4Ð4¼ØA÷:
ò :
ð ×$Ñ$Ô&Ø×'Ñ'Ö)rº   c               ó   € V ^8„  d   QhRR/# rD  r¶   )r·   s   "r¸   r¹   r  ”  s   € ÷ +ñ +¨Dñ +rº   c                	óF   € V P                  4        V P                  4        R # rÅ   )rA  Úpopulate_diff_guard_managerrì   s   &r¸   rH  Ú.GuardManagerWrapper.prepare_diff_guard_manager”  s   € Ø×'Ñ'Ô)Ø×(Ñ(Ö*rº   c               ó   € V ^8„  d   QhRR/# rD  r¶   )r·   s   "r¸   r¹   r  ˜  s   € ÷ g*ñ g* Tñ g*rº   c                ó  aaaa€ R R loR V3R lloR VV3R lloR VV3R lloS! V P                   4      pV FM  p\        VP                  4       \        P                  P
                  4      '       g   K=  VP                  4        KO  	  R	# )
uÒ	  
Identify ``tag safe nodes`` and ``tag safe roots`` within a guard tree.

-----------------------------------------------------------------------
tag safe node
-----------------------------------------------------------------------
A *tag safe node* is a ``GuardManager`` whose guarded value satisfies one
of the following conditions:

1. Immutable value - The value is intrinsically immutable according to
``is_immutable_object``. Tensors are considered immutable. To ensure
that symbolic guards run, we also check that the GuardManager has no
accessors.

2. Nested tag safe dictionary - The value is a ``dict`` whose keys and
values are all tag safe nodes  (checked recursively).  Such dictionaries
allow entire nested structures to be skipped once their identity tag
matches.

3. Pure ``nn.Module`` - The value is an ``nn.Module`` whose sole
accessor is ``GetGenericDictGuardAccessor``â€”i.e., it only exposes its
``__dict__`` and nothing else that could mutate between runs.

For every tag safe node, verifying the identity/tag of just the top-level
dictionary is enough to guarantee the entire subtree is unchanged, enabling
a *fast-path* guard check.

-----------------------------------------------------------------------
tag safe root
-----------------------------------------------------------------------
A ``tag safe root`` is a tag safe node whose parent is not tag safe.
These boundary nodes mark the points where guard evaluation can safely
prune traversal: if a tag-safe root's dictionary tag matches, the entire
subtree beneath it is skipped.

One strong requirement for tag safe root is for the guarded object to
support weakref. Refer to more details in the Recursive dict tag
matching note. In short, we need to save the weakref of the object on
first invocation, and check if it is still valid in later iterations, to
apply recursive dict tag optimizations. `dict` objects do NOT support
weakref. Therefore, as of now, we only mark nn module related guard
managers as tag safe roots.

Algorithm
---------
The search runs in post-order traversal

1. Visit leaves and classify them as tag safe or not.
2. Propagate tag-safety upward: a parent dictionary becomes tag safe only if
all of its children are already tag-safe.
3. Propagate tag-safe-rootness upward: if the whole subtree is tag safe,
the current node becomes the new tag safe root, otherwise propagate the
subtree tag safe roots.
4. Collect every tag safe node and, by inspecting parent tags, label the
subset that are tag safe roots.
c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r   r   Úaccepted_accessorsztuple[type[GuardAccessor], ...]r´   rÒ   r¶   )r·   s   "r¸   r¹   Ú=GuardManagerWrapper.find_tag_safe_roots.<locals>.__annotate__Ò  s$   € ÷ 	ñ 	Øð	Ø4Sð	àñ	rº   c                óÜ   a€ V P                  4       pV P                  4       p\        ;QJ d(    V3R  l\        W#4       4       F  '       d   K   R# 	  R# ! V3R  l\        W#4       4       4      # )c              3  óp   <"  € T F+  w  r\        VS4      ;'       d    VP                  4       x € K-  	  R # 5irÅ   )r¼   Úis_tag_safe)Ú.0ÚaccessorÚmgrrR  s   &  €r¸   Ú	<genexpr>ÚTGuardManagerWrapper.find_tag_safe_roots.<locals>.check_tag_safety.<locals>.<genexpr>×  s4   øé € ð á%?‘M�Hô ˜8Ð%7Ó8×NÐN¸S¿_¹_Ó=NÔNÛ%?ùs   ƒ6�6FT)Úget_accessorsr8  ÚallÚzip)r   rR  Ú	accessorsÚ
child_mgrss   &f  r¸   Úcheck_tag_safetyÚAGuardManagerWrapper.find_tag_safe_roots.<locals>.check_tag_safetyÒ  sf   ø€ ð ×*Ñ*Ó,ˆIØ×0Ñ0Ó2ˆJß“3ô ä%(¨Ô%?ó—3”3ð ’3ð �3ô ä%(¨Ô%?óó ð rº   c               ó    € V ^8„  d   QhRRRR/# )r±   r   r   r´   úlist[GuardManager]r¶   )r·   s   "r¸   r¹   rS  Ü  s   € ÷ 	"ñ 	"Ð%5ð 	"Ð:Lñ 	"rº   c                óB  <€ \        V P                  4       \        4      '       g   \        R V P                  4        24      h. pRp\	        V P                  4       P                  4       4       F1  w  pw  rEVe	   S! V4       Vf   K  VP                  S! V4      4       K3  	  V P                  4       P                  4        FC  w  rEV'       d   W$P                  4       ,          pV'       g   K-  W%P                  4       ,          pKE  	  V'       d   V P                  4        V# )zExpected dict subclass, got T)Ú
issubclassÚget_type_of_guarded_valueÚdictr6  r'  r(  r)  ÚextendÚvaluesrV  Úmark_tag_safe)r   Útag_safe_rootsÚis_subtree_tag_safer,  r-  r.  r/  s   &     €r¸   r0  ÚCGuardManagerWrapper.find_tag_safe_roots.<locals>.visit_dict_managerÜ  s  ø€ ô ˜d×<Ñ<Ó>Ä×EÒEÜ$Ø2°4×3QÑ3QÓ3SÐ2TÐUóð ð  ˆNØ"&Ðô -3Ø×+Ñ+Ó-×3Ñ3Ó5ö-Ñ(�Ñ(�wð Ò&Ù˜'”NØÔ&Ø"×)Ñ)©%°«.Ö9ñ-ð %)×$?Ñ$?Ó$A×$HÑ$HÖ$JÑ �ßØ'×+>Ñ+>Ó+@Õ@Ð'ç‘7Ø'×+>Ñ+>Ó+@Õ@Ò'ñ %K÷ #Ø×"Ñ"Ô$Ø!Ð!rº   c               ó    € V ^8„  d   QhRRRR/# ©r±   r   r   r´   rd  r¶   )r·   s   "r¸   r¹   rS  û  s   € ÷ x	"ñ x	" ð x	"Ð1Cñ x	"rº   c                ó~	  <€ \        V \        4      '       d   \        R \        V 4       24      h. pV P	                  4        F  pVP                  S! V4      4       K  	  V P                  4       '       dÙ   \        V P                  4       \        P                  4      '       d?   V P                  4       '       d'   V P                  4       '       g   V P                  4        V# \        ;QJ d*    R V P                  4        4       F  '       g   K   RM	  RM! R V P                  4        4       4      '       d    V# V P                  4         V# \        V P                  4       \         4      '       d�   V P                  4       pV P	                  4       p\"        ;QJ d%    R \%        W44       4       F  '       d   K   RM	  RM! R \%        W44       4       4      pV'       d   V P                  4        V# \        V P                  4       \        P&                  P(                  4      '       d2   S! V \*        \,        34      pV'       d   V P                  4        V .#  V# V P                  4       \.        P0                  \.        P2                  \4        \6        39   d    \8        P:                  '       dŠ   S! V \<        \>        \@        \B        \D        34      pV P                  4        F9  p\        V\D        4      '       g   K  VVPG                  4       \H        9   ,          pK;  	  V'       d   V P                  4        V# \        V P                  4       \.        PJ                  4      '       d€   S! V \D        34      pT\"        ;QJ d*    R V P                  4        4       F  '       d   K   RM	  RM! R V P                  4        4       4      ,          pV'       d   V P                  4        V# \        V P                  4       \L        4      '       dh   V PO                  4       PQ                  \H        4      '       d?   \8        P:                  '       d)   S! V \R        34      pV'       d   V P                  4        V# \        V P                  4       \        4      '       d,   S! V \T        \V        34      pV'       d   V P                  4        V# )r5  c              3  óH   "  € T F  pVP                  4       R 8H  x € K  	  R# 5i)ÚPythonLambdaGuardAccessorN)Úrepr)rW  Úas   & r¸   rZ  ÚQGuardManagerWrapper.find_tag_safe_roots.<locals>.visit_manager.<locals>.<genexpr>  s#   é € ð á1˜ð —F‘F“HÐ ;Ö;Û1ùs   ‚ "TFc              3  óv   "  € T F/  w  r\        V\        4      ;'       d    VP                  4       x € K1  	  R # 5irÅ   )r¼   r   rV  )rW  rX  rY  s   &  r¸   rZ  rv    s3   é € ð *á)C™˜ô ˜xÔ)AÓB×XÐXÀsÇÁÓGXÔXÛ)Cùs   ‚9 9c              3  óx   "  € T F0  p\        V\        4      ;'       d    VP                  4       R 8H  x € K2  	  R# 5i)Úcell_contentsN)r¼   r   Úget_attr_name)rW  rX  s   & r¸   rZ  rv  R  sD   é € ð +ñ %9˜ô ˜xÔ)=Ó>÷ Dð DØ ×.Ñ.Ó0°OÑCôDã$8ùs   ‚:ž:),r¼   r   r6  r7  r8  ri  Úis_guarded_value_immutablerf  rg  rÆ   rÇ   Úhas_no_accessorsÚhas_object_aliasing_guardrk  Úanyr\  rh  r]  r^  ÚnnÚModuler   r)   ÚtypesÚFunctionTypeÚ
MethodTypeÚstaticmethodÚclassmethodrQ   Ú)assume_dunder_attributes_remain_unchangedr   r   r   r   r   rz  Údunder_attrs_assumed_constantsÚCellTypeÚtupler%  Úendswithr'   r(   r*   )	r   rl  r9  r_  r`  rm  rX  ra  r/  s	   &      €€r¸   r:  Ú>GuardManagerWrapper.find_tag_safe_roots.<locals>.visit_managerû  s  ø€ Ü˜$Ô 0×1Ò1Ü$Ø>¼tÀD»z¸lÐKóð ð
  ˆNØ!×4Ñ4Ö6�	Ø×%Ñ%¡e¨IÓ&6Ö7ñ 7ð ×.Ñ.×0Ò0ô ˜d×<Ñ<Ó>ÄÇÁ×MÒMØ×,Ñ,×.Ò.°t×7UÑ7U×7WÒ7WØ×*Ñ*Ô,ðN "Ð!÷M “Sñ à!×/Ñ/Ô1ó—S—S’Sñ à!×/Ñ/Ô1ó÷ ò ð ð| "Ð!ðy ×&Ñ&Õ(ðx "Ð!ôw ˜D×:Ñ:Ó<¼d×CÒCØ ×.Ñ.Ó0�	Ø!×4Ñ4Ó6�
ß&)£cñ *ä),¨YÔ)Có*§c§c¢cñ *ä),¨YÔ)Có*ó 'Ð#÷ 'Ø×&Ñ&Ô(ðf "Ð!ôe ˜D×:Ñ:Ó<¼e¿h¹h¿o¹o×NÒNÙ&6ØÔ6Ô8IÐJó'Ð#÷ 'Ø×&Ñ&Ô(ð ðð ð	 'ð\ "Ð!ðM ×.Ñ.Ó0ä×&Ñ&Ü×$Ñ$Ü Üð	ôô ×D×DÐDñ '7Øä)Ü,Ü1Ü3Ü,ðó	'Ð#ð !%× 2Ñ 2Ö 4�HÜ! (Ô,@×AÔAØ+Ø$×2Ñ2Ó4Ô8VÑVõÒ+ñ !5÷ 'Ø×&Ñ&Ô(ðJ "Ð!ôI ˜D×:Ñ:Ó<¼e¿n¹n×MÒMÙ&6°tÔ>RÐ=TÓ&UÐ#à#§s£sñ +ð %)×$6Ñ$6Ô$8ó+§s§s¢sñ +ð %)×$6Ñ$6Ô$8ó+ó (õ Ð#÷
 'Ø×&Ñ&Ô(ð6 "Ð!ô3 ˜4×9Ñ9Ó;¼U×CÒCØ—O‘OÓ%×.Ñ.Ô/M×NÒNÜ×D×DÐDñ '7ØÔ4Ð6ó'Ð#÷ 'Ø×&Ñ&Ô(ð "Ð!ô ˜D×:Ñ:Ó<¼d×CÒCÙ&6ØÔ0Ô2FÐGó'Ð#÷ 'Ø×&Ñ&Ô(à!Ð!rº   c               ó    € V ^8„  d   QhRRRR/# rp  r¶   )r·   s   "r¸   r¹   rS  u  s   € ÷ 	'ñ 	'˜ð 	'Ð);ñ 	'rº   c                ó\   <€ V f   . # \        V \        4      '       d	   S! V 4      # S! V 4      # rÅ   r>  r?  s   &€€r¸   r/  Ú6GuardManagerWrapper.find_tag_safe_roots.<locals>.visitu  s1   ø€ ØŠ|Ø�	Ü˜$Ô 0×1Ò1Ù)¨$Ó/Ð/Ù  Ó&Ð&rº   N)r  rf  rg  rÆ   r  r€  Úmark_tag_safe_root)rí   rl  r   ra  r/  r0  r:  s   &  @@@@r¸   rG  Ú'GuardManagerWrapper.find_tag_safe_roots˜  sn   û€ õt	÷	"ð 	"÷>x	"ñ x	"÷t	'ñ 	'ñ ˜tŸy™yÓ)ˆÛ"ˆDÜ˜$×8Ñ8Ó:¼E¿H¹H¿O¹O×LÔLØ×'Ñ'Ö)ó #rº   c               ó   € V ^8„  d   QhRR/# rD  r¶   )r·   s   "r¸   r¹   r  �  s   € ÷ >ñ >¨Tñ >rº   c                	ó¢   € V P                  V P                  4      V n        V P                  '       d   V P                  P	                  4        R # R # rÅ   )Úclone_with_chosen_sourcesr  r	  r  Úupdate_diff_guard_root_managerrì   s   &r¸   rM  Ú/GuardManagerWrapper.populate_diff_guard_manager�  s@   € Ø#×=Ñ=¸d×>UÑ>UÓVˆÔð ××ÐØ×Ñ×;Ñ;Ö=ñ rº   c               ó    € V ^8„  d   QhRRRR/# )r±   Úchosen_sourcesr  r´   r&   r¶   )r·   s   "r¸   r¹   r  Ž  s   € ÷ 2ñ 2Ø-ð2à	ñ2rº   c                	óL   a€ R  V3R llpV P                   P                  V4      # )c               ó    € V ^8„  d   QhRRRR/# )r±   Únode_mgrr   r´   rÒ   r¶   )r·   s   "r¸   r¹   ÚCGuardManagerWrapper.clone_with_chosen_sources.<locals>.__annotate__‘  s   € ÷ 	;ñ 	; ð 	;°ñ 	;rº   c                ó*   <€ V P                  4       S9   # rÅ   )r%  )rš  r—  s   &€r¸   Ú	filter_fnÚ@GuardManagerWrapper.clone_with_chosen_sources.<locals>.filter_fn‘  s   ø€ Ø×&Ñ&Ó(¨NÑ:Ð:rº   )r  Úclone_manager)rí   r—  r�  s   &f r¸   r“  Ú-GuardManagerWrapper.clone_with_chosen_sourcesŽ  s$   ø€ ÷	;ð 	;ð �y‰y×&Ñ& yÓ1Ð1rº   c               ó    € V ^8„  d   QhRRRR/# )r±   Úguardr#   r´   ú	list[str]r¶   )r·   s   "r¸   r¹   r  –  s   € ÷ ñ  Yð °9ñ rº   c                	ó˜   € VP                   P                  pVP                  4       pV Uu. uF  qBR ,           V,           NK  	  ppV# u upi )ú: )r÷   rù   r  )rí   r¢  Ú
guard_nameÚpartsÚparts   &&   r¸   Úget_guard_linesÚ#GuardManagerWrapper.get_guard_lines–  sH   € Ø—_‘_×-Ñ-ˆ
Ø×(Ñ(Ó*ˆÙ6;Ó<±e¨d˜dÕ" T×)Ð)±eˆÐ<Øˆùò =s   «Ac               ó$   € V ^8„  d   QhRRRRRR/# )r±   Úguard_managerr   Úaccessor_strú
str | Noner´   rÛ   r¶   )r·   s   "r¸   r¹   r  œ  s$   € ÷ 
ñ 
Ø)ð
Ø9Cð
à	ñ
rº   c                	ó.  € VP                  4       pVP                  P                  pVR ,           V,           pV'       d   VRV,           ,          pVRVP                  4        2,          pVRVP	                  4        RVP                  4        R2,          pV# )z	: source=ú, z, type=z, tag_safe=(Ú))r%  r÷   rù   rg  rV  Úis_tag_safe_root)rí   r¬  r­  ÚsourceÚtÚss   &&&   r¸   Úget_manager_lineÚ$GuardManagerWrapper.get_manager_lineœ  s‘   € ð ×)Ñ)Ó+ˆØ×#Ñ#×,Ñ,ˆØ��O˜fÕ$ˆßØ�˜Õ$Õ$ˆAØ	ˆw�}×>Ñ>Ó@ÐAÐBÕBˆØ	ˆ|˜M×5Ñ5Ó7Ð8¸¸=×;YÑ;YÓ;[Ð:\Ð\]Ð^Õ^ˆØˆrº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   rY  r   Úbodyrå   r´   ró   r¶   )r·   s   "r¸   r¹   r  ¨  s)   € ÷ Añ AØ#ðAØ+CðAà	ñArº   c           	     	óî  € \        VP                  4       P                  4       4       Fµ  w  pw  rEVP                  R V 24       VP	                  4       ;_uu_ 4        V'       d5   VP                  RV P                  V4       24       V P                  WB4       V'       d5   VP                  RV P                  V4       24       V P                  WR4       RRR4       K·  	  R#   + '       g   i     KÌ  ; i)zKeyValueManager pair at index=zKeyManager: zValueManager: N)r'  r(  r)  rö   Úindentr¶  Úconstruct_manager_string)rí   rY  r¹  Úidxr-  r.  s   &&&   r¸   Úconstruct_dict_manager_stringÚ1GuardManagerWrapper.construct_dict_manager_string¨  s¼   € ô (.¨c×.HÑ.HÓ.J×.PÑ.PÓ.RÖ'SÑ#ˆCÑ#�'Ø�N‰NÐ;¸C¸5ÐAÔBØ—‘—•ßØ—N‘N \°$×2GÑ2GÈÓ2PÐ1QÐ#RÔSØ×1Ñ1°'Ô@çØ—N‘N ^°D×4IÑ4IÈ'Ó4RÐ3SÐ#TÔUØ×1Ñ1°'Ô@÷ ‘ó (Tç—�ús   ÁAC#Â!4C#Ã#C4c               ó$   € V ^8„  d   QhRRRRRR/# )r±   rY  r   r¹  rå   r´   ró   r¶   )r·   s   "r¸   r¹   r  ¶  s$   € ÷ ?ñ ?Øð?Ø'?ð?à	ñ?rº   c                	ó*  € VP                  4       ;_uu_ 4        VP                  4        F®  p\        V\        4      '       dv   W0P                  9  d>   V P                  P                  V4       VP                  V P                  V4      4       Kf  VP                  VP                  P                  .4       KŽ  VP                  V P                  V4      4       K°  	  \        V\        4      '       d   V P                  W4       \        VP                  4       VP                  4       4       FH  w  rEVP                  V P!                  VR VP#                  4        24      4       V P%                  WR4       KJ  	  RRR4       R#   + '       g   i     R# ; i)zaccessed_by=N)r»  Úget_leaf_guardsr¼   r%   r  r*  Ú
writelinesr©  r÷   rù   r   r¾  r^  r\  r8  rö   r¶  rt  r¼  )rí   rY  r¹  r¢  rX  r9  s   &&&   r¸   r¼  Ú,GuardManagerWrapper.construct_manager_string¶  s.  € ð �[‰[�]�]Ø×,Ñ,Ö.�Ü˜e¤_×5Ò5Ø×$BÑ$BÔBØ×6Ñ6×:Ñ:¸5ÔAàŸ™¨×(<Ñ(<¸UÓ(CÖDàŸ™à %§¡× 8Ñ 8ðöð —O‘O D×$8Ñ$8¸Ó$?Ö@ñ /ô  ˜#Ô/×0Ò0Ø×2Ñ2°3Ô=ô (+Ø×!Ñ!Ó# S×%;Ñ%;Ó%=ö(Ñ#�ð —‘Ø×)Ñ)¨)°|ÀHÇMÁMÃOÐCTÐ5UÓVôð ×-Ñ-¨iÖ>ñ(÷+ �]�]Š]ús   ™EFÆF	c               ó   € V ^8„  d   QhRR/# rç   r¶   )r·   s   "r¸   r¹   r  Ö  s   € ÷ #ñ #˜ñ #rº   c                	ó  € V P                  4       ;_uu_ 4        \        4       p^Vn        VP                  RRR7       VP                  RRR7       VP                  R4       V P	                  V P
                  V4       \        V P
                  R4      '       dB   V P
                  P                  4        F#  pVP                  V P                  V4      4       K%  	  VP                  4       uuRRR4       #   + '       g   i     R# ; i)rÞ   Ú T)rò   zTREE_GUARD_MANAGER:r&   Úget_epilogue_lambda_guardsN)r  rå   rë   rö   r¼  r  ÚhasattrrÈ  rÃ  r©  Úgetvalue)rí   r¹  r¢  s   &  r¸   Ú__str__ÚGuardManagerWrapper.__str__Ö  s»   € Ø×5Ñ5×7Õ7Ü+Ó-ˆDØˆDŒMØ�N‰N˜2¨4ˆNÔ0Ø�N‰NÐ0¸dˆNÔCØ�N‰NÐ-Ô.Ø×)Ñ)¨$¯)©)°TÔ:Ü�t—y‘yÐ">×?Ò?Ø!ŸY™Y×AÑAÖC�EØ—O‘O D×$8Ñ$8¸Ó$?Ö@ñ Dà—=‘=“?÷ 8×7×7Ó7ús   ™CC5Ã5D	c               ó    € V ^8„  d   QhRRRR/# )r±   Úxr   r´   rÒ   r¶   )r·   s   "r¸   r¹   r  ã  s   € ÷ "ñ "�sð "˜tñ "rº   c                	ó8   € V P                   P                  V4      # rÅ   )r  Úcheck©rí   rÎ  s   &&r¸   rÐ  ÚGuardManagerWrapper.checkã  s   € à�y‰y�‰˜qÓ!Ð!rº   c               ó    € V ^8„  d   QhRRRR/# )r±   rÎ  r   r´   r   r¶   )r·   s   "r¸   r¹   r  ç  s   € ÷ *ñ *˜sð * ~ñ *rº   c                	ó8   € V P                   P                  V4      # rÅ   )r  Úcheck_verboserÑ  s   &&r¸   rÕ  Ú!GuardManagerWrapper.check_verboseç  s   € à�y‰y×&Ñ& qÓ)Ð)rº   c               ó   € V ^8„  d   QhRR/# rD  r¶   )r·   s   "r¸   r¹   r  ë  s   € ÷ ñ °4ñ rº   c                	ój   a aaa€ \        4       oR  R loR VVV V3R lloS! S P                  4       R# )c               ó    € V ^8„  d   QhRRRR/# )r±   Ú
leaf_guardr#   r´   r£  r¶   )r·   s   "r¸   r¹   ÚKGuardManagerWrapper.populate_code_parts_for_debugging.<locals>.__annotate__ï  s   € ÷ 	ñ 	 yð 	°Yñ 	rº   c                ó¦   € . pV P                  4        F:  pVP                  R 4      ^ ,          P                  4       pVP                  V4       K<  	  V# )Ú#)r  ÚsplitÚrstripÚappend)rÚ  r  Úverbose_code_partÚ	code_parts   &   r¸   Úget_code_partsÚMGuardManagerWrapper.populate_code_parts_for_debugging.<locals>.get_code_partsï  sP   € ØˆJØ%/×%BÑ%BÖ%DÐ!Ø-×3Ñ3°CÓ8¸Õ;×BÑBÓD�	Ø×!Ñ! )Ö,ñ &Eð Ðrº   c               ó    € V ^8„  d   QhRRRR/# )r±   rY  r   r´   ró   r¶   )r·   s   "r¸   r¹   rÛ  ö  s   € ÷ 	!ñ 	!�|ð 	!¨ñ 	!rº   c                ó\  <€ V P                  4        Fw  p\        V\        4      '       d>   VS9  d5   SP                  P	                  S! V4      4       SP                  V4       KT  KV  SP                  P	                  S! V4      4       Ky  	  V P                  4        F  pS! V4       K  	  R # rÅ   )rÂ  r¼   r%   r  ri  r*  r8  )rY  r¢  r9  rã  Úrelational_guards_seenrí   r/  s   &  €€€€r¸   r/  ÚDGuardManagerWrapper.populate_code_parts_for_debugging.<locals>.visitö  sŒ   ø€ à×,Ñ,Ö.�Ü˜e¤_×5Ò5ØÐ$:Ô:ØŸ™×.Ñ.©~¸eÓ/DÔEØ.×2Ñ2°5Ö9ñ ;ð —O‘O×*Ñ*©>¸%Ó+@ÖAñ /ð !×3Ñ3Ö5�	Ù�iÖ ó 6rº   N)r½   r  )rí   rã  rç  r/  s   f@@@r¸   Ú!populate_code_parts_for_debuggingÚ5GuardManagerWrapper.populate_code_parts_for_debuggingë  s(   û€ ä!$£Ðõ	÷	!ó 	!ñ 	ˆd�i‰iÖrº   )r  r  r
  r  r	  r  r  r  r  r  r  r  r  r  ©NNrÅ   )rù   rú   rû   rü   Ú__doc__r  r   r  rA  rI  rH  rG  rM  r“  r©  r¶  r¾  r¼  rË  rÐ  rÕ  ré  rý   r¶   rº   r¸   r  r  +  sq   † ñ÷@ð: ô3ó ð3õ2'õh*õ+õg*õR>õ2õ÷
õAõ?õ@#õ"õ*÷ñ rº   r  c               ó    € V ^8„  d   QhRRRR/# )r±   ru  r   r´   útorch.Tensorr¶   )r·   s   "r¸   r¹   r¹     s   € ÷ Tñ T�#ð T˜,ñ Trº   c                ó  € \         P                  P                  4       ;_uu_ 4        \        V \        P
                  \        P                  34      '       d   \         P                  ! V 4      MT uuR R R 4       #   + '       g   i     R # ; irÅ   )rÆ   Ú	overridesÚ_enable_torch_functionr¼   ÚnpÚgenericÚndarrayÚ	as_tensor)ru  s   &r¸   Ú
from_numpyrö    sN   € ô 
�‰×	/Ñ	/×	1Õ	1ä%/°´B·J±JÄÇ
Á
Ð3K×%LÒ%LŒu�Š˜qÔ!ÐRS÷ 
2×	1×	1Ó	1ús   §AA:Á:B	ztype | NoneÚ_async_collective_tensor_typec               ó    € V ^8„  d   QhRRRR/# )r±   rÎ  rî  r´   r¶   )r·   s   "r¸   r¹   r¹     s   € ÷ ñ  lð °|ñ rº   c                ó~   € \         f   ^ RIHp V! 4       s \         e    \        V 4      \         J d   V P                  # V # )N)Ú'get_loaded_async_collective_tensor_type)r÷  Ú$torch._functorch._aot_autograd.utilsrú  r7  Úelem)rÎ  rú  s   & r¸   Úunwrap_async_collective_tensorrý    s<   € ô %Ò,õ	
ñ )PÓ(QÐ%ä%Ò1Ü�‹GÔ4Ó4à�v‰vˆØ€Hrº   c               ó   € V ^8„  d   QhRR/# )r±   r´   zset[str]r¶   )r·   s   "r¸   r¹   r¹   (  s   € ÷ .ñ .˜Xñ .rº   c                 óî   € ^ RI p ^ RIp V P                  P                  V P                  P                  .p^ RIHp VP                  V4       V Uu0 uF  p\        P                  ! V4      kK  	  up# u upi )r$  N)ÚPOLYFILLED_MODULES)
Útorch._dynamo.external_utilsÚtorch._dynamo.polyfillsÚ_dynamoÚexternal_utilsÚ	polyfillsÚtorch._dynamo.polyfills.loaderr   ri  ÚinspectÚgetfile)rÆ   Úmodsr   Úms       r¸   Úuninteresting_filesr  '  sY   € ã'Û"à�M‰M×(Ñ(¨%¯-©-×*AÑ*AÐB€DåAð 	‡K�KÐ"Ô#á(,Ó-© 1ŒG�OŠO˜AÖ©Ñ-Ð-ùÒ-s   ÁA2údict[str, object] | NoneÚ_CLOSURE_VARSc               ó   € V ^8„  d   QhRR/# )r±   r´   údict[str, object]r¶   )r·   s   "r¸   r¹   r¹   9  s   € ÷  ñ  Ð,ñ  rº   c                 óT  € \         Ef   / R\        bR\        bR\        P                  P
                  bR\        bR\        bRR bR\        bR	\        bR
\        bR\        bR\        bR\        bRR bR\        bR\        bR\         bR\"        P$                  bR\&        f   R M\&        P$                  R\)        R4      R\*        P,                  R\.        P0                  P2                  R\.        P4                  R\6        R\8        R\.        P:                  R\.        R\<        /
Cs \         # )NÚ___check_type_idÚ___check_obj_idÚ___odict_getitemÚ___key_to_idÚ___dict_versionÚ___dict_containsc                ó,   € \         P                  W4      # rÅ   )rh  Ú__contains__)ru  Úbs   &&r¸   Ú<lambda>Ú#_get_closure_vars.<locals>.<lambda>B  s   € ¬T×->Ñ->¸qÔ-Drº   Ú___tuple_iterator_lenÚ___normalize_count_iterÚ___normalize_range_iterÚ___tuple_iterator_getitemÚ___set_getitemÚ___dataclass_fieldsÚ___namedtuple_fieldsc                ó   € V P                   # rÅ   ©Ú_fields©rÎ  s   &r¸   r  r  I  s   € ¨a¯iªirº   Ú#___get_torch_function_mode_stack_atÚ___get_current_streamÚ___cow_tensor_matchesÚ__math_isnanÚ__numpy_isnanÚinfÚ__load_moduleÚutils_deviceÚdeviceÚ___from_numpyÚ!___unwrap_async_collective_tensorÚ___as_tensorrÆ   r  )r  r   r   ÚcollectionsÚOrderedDictÚ__getitem__r•   r   r›   r–   r—   rš   r™   r�   r‘   r�   rÖ   ÚmathÚisnanrò  ÚfloatÚ	importlibÚimport_modulerÆ   ÚutilsÚ_devicer/  rö  rý  Ú_as_tensor_fullprecr  r¶   rº   r¸   Ú_get_closure_varsr>  9  s[  € äÓð
Ø¤ð
àœ|ð
ð ¤× 7Ñ 7× CÑ Cð
ð œIð	
ð
 œ|ð
ð Ñ Dð
ð $Ô%7ð
ð &Ô';ð
ð &Ô';ð
ð (Ô)?ð
ð œkð
ð "Ô#3ð
ð #Ñ$7ð
ð 2Ô3Sð
ð $Ô%7ð
ð  $Ô%8ð!
ð" œDŸJ™Jð#
ð$ ¤R¢Z™T´R·X±XØ”5˜“<ØœY×4Ñ4ØœEŸK™K×/Ñ/Ø”e—l‘lØœZØ/Ô1OØœE×5Ñ5Ø”UØ”wñ7
ˆô: Ðrº   c               ó    € V ^8„  d   QhRRRR/# )r±   r   úast.ASTr´   rÛ   r¶   )r·   s   "r¸   r¹   r¹   \  s   € ÷ /ñ /�wð / 3ñ /rº   c                óN   € \         P                  ! V 4      P                  R R4      # )Ú
rÇ  )ÚastÚunparseÚreplace)r   s   &r¸   Ú_ast_unparserF  \  s   € Ü�;Š;�tÓ×$Ñ$ T¨2Ó.Ð.rº   c               ó    € V ^8„  d   QhRRRR/# )r±   r´  ú	type[Any]r´   rÛ   r¶   )r·   s   "r¸   r¹   r¹   c  s   € ÷ ñ �yð  Sñ rº   c                ó,   € \         P                  V 4      # rÅ   )r7  Ú__repr__©r´  s   &r¸   Ú_safe_type_reprrL  c  s   € Ü�=‰=˜ÓÐrº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   râ  rÛ   r¢  úGuard | Noner´   r¶   )r·   s   "r¸   r¹   r¹   g  s!   € ÷ %ñ % Sð %°ð %À#ñ %rº   c                ó´  € R pVeÍ   VP                   '       dg   \        VP                   4       FL  pVP                  \        4       9  g   K  R\	        VRR7       2p\        V4      R8”  d   R\	        V4       2p MW	  MTVP                  '       dC   VP                  P                  4       p\        V4      ^ 8”  d   R\	        VR,          4       2pMRpV R V 2# )rÇ  z  # T)rñ   i   z  # <unknown>z<60éÿÿÿÿ)Ú
user_stackÚreversedÚfilenamer  rN   rÀ   ÚstackÚsummary)râ  r¢  ÚextraÚfsrU  s   &&   r¸   Úget_verbose_code_partrX  g  sÊ   € Ø€EØÒØ××ÐÜ˜u×/Ñ/Ö0�Ø—;‘;Ô&9Ó&;Ö;Ø"¤<°¸Ô#>Ð"?Ð@�EÜ˜5“z DÔ(ð #'¤|°BÓ'7Ð&8Ð 9˜Ùò 1ð �[�[ˆ[Ø—k‘k×)Ñ)Ó+ˆGÜ�7‹|˜aÔØœ|¨G°B­KÓ8Ð9Ð:‘à'�Ø˜ˆ_˜U˜GÐ$Ð$rº   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r±   r  zstr | list[str]r¢  rN  Úrecompile_hintr®  r´   r£  r¶   )r·   s   "r¸   r¹   r¹     s0   € ÷ ñ Øðàðð ðð ñ	rº   c                ó   € \        V \        4      '       g   V .p V  Uu. uF  p\        W14      NK  	  ppVe/   \        VP                  4      pV'       d   V'       d   V RV 2MTpV'       d   V Uu. uF
  qf RV R2NK  	  ppV# u upi u upi )Nr°  ú (HINT: r±  )r¼   ÚlistrX  Ú_get_closure_var_hintÚoriginating_source)r  r¢  rZ  râ  r  Úclosure_hintr¨  s   &&&    r¸   Úget_verbose_code_partsra    s±   € ô
 �j¤$×'Ò'Ø �\ˆ
ñ BLóÙAK°IÔ˜iÖ/Áð ð ð ÒÜ,¨U×-EÑ-EÓFˆßç7E�<�.  >Ð"2Ñ3È<ð ÷ á;Mó
Ù;M°4ˆf�H˜^Ð,¨AÓ.Ñ;Mð 	ð 
ð Ðùò'ùò
s   žBÁ2Bc               ó    € V ^8„  d   QhRRRR/# )r±   r³  úSource | Noner´   r®  r¶   )r·   s   "r¸   r¹   r¹   �  s   € ÷ ñ  -ð °Jñ rº   c                ó&  € V f   R# V P                   pT pVey   \        V\        4      '       d=   VP                  '       d+   V\	        VP                   4      R pRVP                   RV 2# \        V\
        4      '       d   VP                  MRpK|  R# )z…
Walk up the source chain to find a CellContentsSource ancestor.
Returns a hint like 'guard on "varname".attr' or None if not found.
Nz
guard on "Ú")Únamer¼   rY   Úfreevar_namerÀ   rZ   Úbase)r³  Ú	full_nameÚcurrentÚpath_suffixs   &   r¸   r^  r^  �  s…   € ð
 ‚~Ùà—‘€IØ#€GØ
Ò
Ü�gÔ1×2Ò2°w×7K×7KÐ7Kð
 $¤C¨¯©Ó$5Ð$7Ð8ˆKØ × 4Ñ 4Ð5°Q°{°mÐDÐDÜ",¨W´m×"DÒ"D�'—,’,È$ŠÙrº   c               ó    € V ^8„  d   QhRRRR/# )r±   Údimr   r´   z
int | Noner¶   )r·   s   "r¸   r¹   r¹   ³  s   € ÷ 'ñ '¨ð '°
ñ 'rº   c                óÖ   € V f   R # \        V 4      '       g   V # \        V \        P                  4      '       g   \	        R\        V 4       24      hV P                  P                  4       # )NzExpected torch.SymInt, got )rH   r¼   rÆ   ÚSymIntr6  r7  r   Úmaybe_as_int)rm  s   &r¸   Úconvert_int_to_concrete_valuesrq  ³  sU   € Ø
‚{ÙÜ�s×ÒØˆ
ä˜#œuŸ|™|×,Ò,Ü Ð#>¼tÀC»y¸kÐ!JÓKÐKØ�x‰x×$Ñ$Ó&Ð&rº   c               ó    € V ^8„  d   QhRRRR/# )r±   Úsize_or_stridezSequence[Any]r´   úlist[int | None]r¶   )r·   s   "r¸   r¹   r¹   ¾  s   € ÷ Kñ K¨}ð KÐAQñ Krº   c                óB   € V  Uu. uF  p\        V4      NK  	  up# u upi rÅ   )rq  )rs  rm  s   & r¸   Úconvert_to_concrete_valuesrv  ¾  s    € Ù;IÓJ¹>°CÔ*¨3Ö/¹>ÑJÐJùÒJs   …c               ó4   € V ^8„  d   QhRRRRRRRRRR	R
RRR/# )r±   r²   rî  rf  rÛ   Úsizesrt  ÚstridesÚpytyper7  Údispatch_keysr¤   r´   r¶   )r·   s   "r¸   r¹   r¹   Â  sN   € ÷ ñ Øðà
ðð ðð ð	ð
 ðð "ðð 	ñrº   c                ó<  € V\         P                  P                  4       ,          \         P                  P                  4       ,
          pV P                  pV P
                  P                  pV P                  p	R V RVP                   RV RV RV RV	 RV RV R2p
V
# )zcheck_tensor(r°  z	, device=z, requires_grad=z, size=z	, stride=r±  )	rÆ   rÉ   Ú_dispatch_tls_local_include_setÚ_dispatch_tls_local_exclude_setÚdtyper/  rà   Úrequires_gradrû   )r²   rf  rx  ry  rz  r{  Údispatch_keyr  Údevice_indexr€  Ú	guard_strs   &&&&&&     r¸   Úget_tensor_guard_code_partr„  Â  s«   € ð 	œŸ™×@Ñ@ÓBÕBÜ�‰×0Ñ0Ó2õ3€Lð �K‰K€EØ—<‘<×%Ñ%€LØ×'Ñ'€Mà
˜�v˜R × 3Ñ 3Ð4°B°|°nÀBÀuÀgð NØ�Ð/°¨¸gÀeÀWÈIÐV]ÐU^Ð^_ð	að ð Ðrº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   Údctúdict[Any, Any]Úkeyr³   r´   rµ   r¶   )r·   s   "r¸   r¹   r¹   ×  s!   € ÷ 3ñ 3�~ð 3¨Fð 3°sñ 3rº   c                óH   € \        \        V 4      4      P                  V4      # rÅ   )r]  r‹   rà   )r†  rˆ  s   &&r¸   Úget_key_indexrŠ  ×  s    € ô
 Ô! #Ó&Ó'×-Ñ-¨cÓ2Ð2rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r³  r   rà   r´   rÛ   r¶   )r·   s   "r¸   r¹   r¹   ß  s!   € ÷ 1ñ 1 ð 1¨Sð 1°Sñ 1rº   c                ó   € R V  RV R2# )úlist(dict.keys(ú))[Ú]r¶   )r³  rà   s   &&r¸   Úget_key_index_sourcer�  ß  s   € Ø˜V˜H C¨ w¨aÐ0Ð0rº   c               ó    € V ^8„  d   QhRRRR/# )r±   Úobjr³   r´   r
   r¶   )r·   s   "r¸   r¹   r¹   ã  s   € ÷ ñ  ð ¨8ñ rº   c                óT   € \        R \        V 4       RV  R2R,           R,           4      h)úType ú for object ú cannot be saved ú@into torch.compile() package since it's defined in local scope. ú@Please define the class at global scope (top level of a module).)Ú	TypeErrorr7  )r’  s   &r¸   Úraise_local_type_errorrš  ã  s8   € Ü
Ø
”�S“	ˆ{˜, s eÐ+<Ð=Ø
Lõ	Mà
Lõ	Móð rº   c               ó    € V ^8„  d   QhRRRR/# )r±   r²   r³   r´   rÒ   r¶   )r·   s   "r¸   r¹   r¹   ë  s   € ÷ .ñ .°ð .¸4ñ .rº   c                óJ   € \        V \        P                  P                  4      # rÅ   )r¼   rÆ   r  r€  rÁ   s   &r¸   Ú$should_optimize_getattr_on_nn_moduler�  ë  s   € Ü�eœUŸX™XŸ_™_Ó-Ð-rº   T)Úfrozenc                  óB   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   R	tR# )
ÚNNModuleAttrAccessorInfoiï  FrÒ   Úpresent_in_generic_dictNr®  Úl1_keyÚl2_keyr¶   )	rù   rú   rû   rü   r¡  Ú__annotations__r¢  r£  rý   r¶   rº   r¸   r   r   ï  s'   ‡ ð %*Ð˜TÓ)ð €FˆJÓð €FˆJ×rº   r   c               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R/# )r±   r³  z-DictGetItemSource | DictSubclassGetItemSourceÚbase_guard_managerr   Úbase_example_valuer   Úexample_valueÚguard_manager_enumÚGuardManagerTyper´   r   r¶   )r·   s   "r¸   r¹   r¹   þ  sD   € ÷ +ñ +Ø9ð+à(ð+ð ð+ð ð	+ð
 )ð+ð ñ+rº   c                óÐ  € V P                   P                  p\        V P                  \        4      '       d   V P                  P                  pMB\        V\
        4      '       g   \        R \        V4       24      h\        W P                  4      p\        WV4      p\        \        V4      4      V,          p\        V\        \        34      '       d   V RV: R2p	MV RV R2p	\        V P                  \        4      '       gP   VP                  VVV P                  \        P                   R7      P#                  V P                  V RV: 2.R4       VP%                  VV	VVR7      # )úExpected dict, got Ú[r�  ©rà   r³  r¨  r©  ú == N)rh  rf  r¼   rà   r^   rh  r6  r7  rŠ  r�  r]  r‹   rµ   rÛ   Úget_key_managerrª  ÚGUARD_MANAGERÚadd_equals_match_guardÚget_value_manager)
r³  r¦  r§  r¨  r©  Úbase_source_namerà   Ú
key_sourceÚkey_example_valueÚvalue_sources
   &&&&&     r¸   Úgetitem_on_dict_managerr¸  þ  sU  € ð —{‘{×'Ñ'ÐÜ�&—,‘,Ô 2×3Ò3Ø—‘×"Ñ"‰äÐ,¬d×3Ò3Ü Ð#6´tÐ<NÓ7OÐ6PÐ!QÓRÐRÜÐ0·,±,Ó?ˆä%Ð&6Ó>€Jô Ô.Ð/AÓBÓCÀEÕJÐÜÐ#¤c¬3 Z×0Ò0Ø*Ð+¨1Ð->Ñ,AÀÐC‰à*Ð+¨1¨Z¨L¸Ð:ˆÜ�f—l‘lÔ$6×7Ò7ð 	×*Ñ*ØØØ Ÿ,™,Ü/×=Ñ=ð	 	+ó 	
÷
 !Ñ
 Ø�L‰L˜j˜\¨Ð.?Ñ-BÐCÐDÀdô
ð ×/Ñ/ØØØ#Ø-ð	 0ó ð rº   c               ó    € V ^8„  d   QhRRRR/# ©r±   r¢  r:   r´   rÒ   r¶   )r·   s   "r¸   r¹   r¹   ,  s   € ÷ 
Gñ 
G %ð 
G¨Dñ 
Grº   c                óÔ   € V P                   p\        V\        4      '       d   R # V P                  4       '       d   R# VP	                  4       ;'       d    \        V\
        4      '       * # ©FT)r_  r¼   ru   Úis_specialized_nn_moduleÚis_dict_keyrn   )r¢  r³  s   & r¸   Úmatch_on_id_for_tensorr¿  ,  sS   € Ø×%Ñ%€Fô �&Ô+×,Ò,Ùà×%Ñ%×'Ò'Ùà×ÑÓ×FÐF¬
°6¼:Ó(FÔ$FÐFrº   c                  ó,   € ] tR tRt$ R]R&   R]R&   RtR# )ÚGuardCodeListi;  r£  Ú	code_listr:   r¢  r¶   N©rù   rú   rû   rü   r¤  rý   r¶   rº   r¸   rÁ  rÁ  ;  s   ‡ àÓØ‡Lrº   rÁ  c                  ó   € ] tR tRt^t^tRtR# )rª  iA  r¶   N)rù   rú   rû   rü   r±  ÚDICT_GUARD_MANAGERrý   r¶   rº   r¸   rª  rª  A  s   † Ø€MØÔrº   rª  c               ó    € V ^8„  d   QhRRRR/# )r±   rØ   rÙ   r´   r£  r¶   )r·   s   "r¸   r¹   r¹   G  s   € ÷ 8ñ 8°ð 8ÀIñ 8rº   c                ó<   € \        \        \        V 4      4      4      # rÅ   )r]  rR  r   )rØ   s   &r¸   rß   rß   F  s   € ä”Ô/°Ó5Ó6Ó7Ð7rº   c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )	ÚGuardCheckSpeciK  u  Lightweight guard evaluation for subgraph reuse during tracing.

WHY IS THIS NEEDED?
Normal guards are collected during tracing, installed via GuardBuilder, and
evaluated in C++ at runtime. GuardCheckSpec serves a different purpose: we
want to evaluate a guard *during tracing* to check whether a previously
traced partial subgraph can be reused. The guard is collected during the
first trace of subgraph and then evaluated with a new source value before we
begin tracing the second subgraph.

Existing C++ guards don't satisfy this need because they're designed for
runtime evaluation, not mid-trace comparisons with different source values.

NB - This separate spec table *increases maintenance burden*, but each
handler is small and the number of guard types is finite, so it's tractable.

get_metadata_fn: (guard, value) -> metadata  â€” captures the minimum
    information from the guarded value at build time.
eval_fn: (value, metadata) -> bool  â€” re-evaluates the guard at lookup
    time using a fresh value and the previously saved metadata.
ÚGuardCheckGetMetadataFnÚget_metadata_fnÚGuardCheckEvalFnÚeval_fnr¶   N)rù   rú   rû   rü   rì  r¤  rý   r¶   rº   r¸   rÉ  rÉ  K  s   ‡ ñð, -Ó,Ø×rº   rÉ  c               ó    € V ^8„  d   QhRRRR/# )r±   r´  rî  r´   útuple[Any, ...]r¶   )r·   s   "r¸   r¹   r¹   j  s   € ÷ Eñ E˜|ð E°ñ Erº   c                ó|   € V P                   V P                  4       V P                  V P                  V P                  3# rÅ   )ÚshapeÚstrider  r/  r€  rK  s   &r¸   Úextract_tensor_metadatarÓ  j  s)   € Ø�G‰G�Q—X‘X“Z §¡¨!¯(©(°A·O±OÐDÐDrº   c               ó    € V ^8„  d   QhRRRR/# )r±   Úmetadatar   r´   rÒ   r¶   )r·   s   "r¸   r¹   r¹   n  s   € ÷ ñ °ð ¸ñ rº   c                ó¼  € \        V \        P                  4      '       d   R # \        P                  ! V 4      pV\        P
                  9  d   R# \        V \        P                  P                  4      '       d   V  F  p\        V4      '       g   K   R # 	  \        P
                  V,          P                  V 4      w  r4V F  p\        V4      '       g   K   R # 	  R# )TF)r¼   rÆ   rÇ   ÚpytreeÚ_get_node_typeÚSUPPORTED_NODESr3  ÚabcÚMappingÚ"_subclass_metadata_contains_tensorÚ
flatten_fn)rÕ  Ú	node_typerˆ  ÚchildrenÚ_Úchilds   &     r¸   rÜ  rÜ  n  s¢   € Ü�(œEŸL™L×)Ò)Ùä×%Ò% hÓ/€IØœ×.Ñ.Ô.Ùä�(œKŸO™O×3Ñ3×4Ò4ÛˆCÜ1°#×6Ô6Úñ ô ×(Ñ(¨Õ3×>Ñ>¸xÓH�K€HÛˆÜ-¨e×4Ô4Úñ ñ rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   rÕ  r   ÚclsrH  r´   ró   r¶   )r·   s   "r¸   r¹   r¹   ‚  s"   € ÷ ñ ¸ð À)ð ÐPTñ rº   c                óŠ   € \        V 4      '       g   R # \        P                  ! RVP                   RVP                   R24      h)NzTensor subclass Ú.a�   returned Tensor metadata from __tensor_flatten__() but does not define __metadata_guard__. Dynamo's default tensor subclass metadata guard uses Python equality, which is not valid for Tensor metadata. Move tensor values to the inner tensor names returned by __tensor_flatten__(), or define a classmethod __metadata_guard__(original_metadata, current_metadata) to compare tensor metadata explicitly.)rÜ  rS   ÚInternalTorchDynamoErrorrú   rû   )rÕ  rã  s   &&r¸   Ú)_validate_default_subclass_metadata_guardrç  ‚  sF   € Ü-¨h×7Ò7Ùä
×
&Ò
&Ø
˜3Ÿ>™>Ð*¨!¨C×,<Ñ,<Ð+=ð >ð 	ó	ð 	rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r¢  r   r²   r³   r´   rÏ  r¶   )r·   s   "r¸   r¹   r¹   –  s!   € ÷ -ñ - Sð -°ð -¸Oñ -rº   c                ó¶   € \        V4      p\        VR 4      p\        RV4      P                  4       ^,          pV'       g   \	        WB4       \        V4      pWBV3# )Ú__metadata_guard__rª   )r7  rÉ  r   Ú__tensor_flatten__rç  r   )r¢  r²   rã  Úhas_custom_guardrÕ  s   &&   r¸   Úextract_subclass_metadatarí  –  sU   € Ü
ˆu‹+€CÜ˜uÐ&:Ó;ÐÜÐ.°Ó6×IÑIÓKÈAÕN€HßÜ1°(Ô@Ü˜Ó!€HØÐ+Ð,Ð,rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r²   r³   rÕ  rÏ  r´   rÒ   r¶   )r·   s   "r¸   r¹   r¹   ¡  s!   € ÷ /ñ / 6ð /°_ð /Èñ /rº   c                óˆ   € Vw  r#p\        R V 4      P                  4       ^,          pV'       d   VP                  W%4      # WR8H  # r©   )r   rë  rê  )r²   rÕ  Úsaved_metadatarã  rì  Úsubclass_metadatas   &&    r¸   Úcheck_subclass_metadatarò  ¡  sG   € Ø,4Ñ)€NÐ)ÜÐ7¸Ó?×RÑRÓTÐUVÕWÐßØ×%Ñ% nÓHÐHØÑ.Ð.rº   c               ó$   € V ^8„  d   QhRRRRRR/# ©r±   r¢  r   r²   r³   r´   r¶   )r·   s   "r¸   r¹   r¹   ª  s!   € ÷ ñ  ð ¨Fð °sñ rº   c                ó   € \        V4      # rÅ   r   ©r¢  r²   s   &&r¸   Úextract_dtensor_specr÷  ª  s   € Ü�E‹?Ðrº   c               ó$   € V ^8„  d   QhRRRRRR/# ©r±   r²   r³   rÕ  r   r´   rÒ   r¶   )r·   s   "r¸   r¹   r¹   ¯  s!   € ÷ ;ñ ;˜fð ;°ð ;¸ñ ;rº   c                ó(   € V P                  VR R7      # )T)Úskip_shapes)Ú_check_equals©r²   rÕ  s   &&r¸   Úcheck_dtensor_specrþ  ¯  s   € ð
 ×Ñ˜x°TÐÓ:Ð:rº   c               ó$   € V ^8„  d   QhRRRRRR/# rô  r¶   )r·   s   "r¸   r¹   r¹   ¸  s!   € ÷ 1ñ 1˜cð 1¨&ð 1°Sñ 1rº   c                ó–   € \        \        V4      4      pV'       d   VP                  '       g   R # \        VP                  V4      4      # rÅ   )rA   r7  Úguard_fnr   )r¢  r²   Úopaque_infos   && r¸   Úextract_opaque_objr  ¸  s7   € Ü%¤d¨5£kÓ2€Kß˜k×2×2Ð2ÙÜ�K×(Ñ(¨Ó/Ó0Ð0rº   c               ó$   € V ^8„  d   QhRRRRRR/# rù  r¶   )r·   s   "r¸   r¹   r¹   À  s!   € ÷ 3ñ 3˜Fð 3¨cð 3°dñ 3rº   c                óš   € Vf   R# \        \        V 4      4      pV'       d   VP                  '       g   VR J # VP                  V 4      V8H  # ©NT)rA   r7  r  )r²   rÕ  r  s   && r¸   Úcheck_opaque_objr  À  sH   € ØÒÙÜ%¤d¨5£kÓ2€Kß˜k×2×2Ð2Ø˜4ÐÐØ×Ñ Ó&¨(Ñ2Ð2rº   c               ó$   € V ^8„  d   QhRRRRRR/# rô  r¶   )r·   s   "r¸   r¹   r¹   Ê  s!   € ÷ ñ ˜3ð  vð °#ñ rº   c                óŽ   € \        V4      \        P                  J d   \        VR 4      '       d   VP                  # \        V4      # ©Ú__code__©r7  r�  r‚  rÉ  r  Úidrö  s   &&r¸   Úextract_closurer  Ê  s4   € ÜˆEƒ{”e×(Ñ(Ó(¬W°U¸J×-GÒ-GØ�~‰~ÐÜˆe‹9Ðrº   c               ó$   € V ^8„  d   QhRRRRRR/# rù  r¶   )r·   s   "r¸   r¹   r¹   Ñ  s!   € ÷ !ñ !˜ð !¨3ð !°4ñ !rº   c                ó˜   € \        V 4      \        P                  J d!   \        V R 4      '       d   V P                  VJ # \        V 4      V8H  # r
  r  rý  s   &&r¸   Úcheck_closurer  Ñ  s>   € ÜˆEƒ{”e×(Ñ(Ó(¬W°U¸J×-GÒ-GØ�~‰~ Ð)Ð)Üˆe‹9˜Ñ Ð rº   c               ó    € V ^8„  d   QhRRRR/# )r±   r²   r³   r´   r   r¶   )r·   s   "r¸   r¹   r¹   ×  s   € ÷ ?ñ ?¨ð ?°Cñ ?rº   c                ó„   € ^RI Hp V F  p\        W4      '       g   K  V! V 4      u # 	  \        R\	        V 4       24      h)zBExtract the base constant value from a constant subclass instance.©Ú_CONSTANT_BASE_TYPESzNot a constant subclass: )Úvariables.user_definedr  r¼   r™  r7  )r²   r  r´  s   &  r¸   Ú_constant_subclass_base_valuer  ×  s<   € å<ã!ˆÜ�e×ÔÙ�U“8ŠOñ "ô Ð/´°U³¨}Ð=Ó
>Ð>rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r¢  r:   rf  rÛ   r´   r   r¶   )r·   s   "r¸   r¹   r¹   á  s!   € ÷ $ñ $ Eð $°ð $¸ñ $rº   c                óœ   € V P                   p\        V\        P                  4      '       g   \	        RV 24      hVP
                  V,          # )z@Read a keyword bound into a guard's create_fn functools.partial.z,Guard create_fn is not a functools.partial: )Ú	create_fnr¼   Ú	functoolsÚpartialr™  Úkeywords)r¢  rf  r  s   && r¸   Ú_guard_create_fn_keywordr  á  sB   € à—‘€IÜ�i¤×!2Ñ!2×3Ò3ÜÐFÀyÀkÐRÓSÐSØ×Ñ˜dÕ#Ð#rº   c               ó    € V ^8„  d   QhRRRR/# )r±   rË  rÊ  rÍ  rÌ  r¶   )r·   s   "r¸   r¹   r¹   é  s   € ÷ ñ Ø,ðàñrº   c                ó,   a€ \        WR7      oV3R lpV# )z<Attach a GuardCheckSpec to a guard method for auto-dispatch.©rË  rÍ  c                ó   <€ SV n         V # rÅ   )Úguard_check_spec)ÚfnÚhandlers   &€r¸   Ú	decoratorÚ,register_guard_check_spec.<locals>.decoratorð  s   ø€ Ø%ˆÔØˆ	rº   )rÉ  )rË  rÍ  r&  r%  s   && @r¸   Úregister_guard_check_specr(  é  s   ø€ ô
 ¨_ÔN€Gõð Ðrº   c                ó   € \         V n        V # )z:Mark a guard method as skipped during auto-cache dispatch.)Ú
SKIP_GUARDr#  ©r$  s   &r¸   Úskip_guard_check_specr,  ÷  s   € ä$€BÔØ€Irº   c                  óF   € ] tR tRtRtR R lt]R 4       t]R 4       tRt	R# )	ÚUnsupportedGuardCheckSpeciý  z|Sentinel for guards with no check spec yet.

Raises NotImplementedError if get_metadata_fn/eval_fn are accidentally called.
c               ó    € V ^8„  d   QhRRRR/# )r±   rf  rÛ   r´   ró   r¶   )r·   s   "r¸   r¹   Ú&UnsupportedGuardCheckSpec.__annotate__  s   € ÷ ñ ˜Sð  Tñ rº   c                	ó   € Wn         R # rÅ   ©Ú_name)rí   rf  s   &&r¸   r  Ú"UnsupportedGuardCheckSpec.__init__  s   € ØŽ
rº   c                	ó2   € \        R V P                   24      h©z%Guard check spec not implemented for ©ÚNotImplementedErrorr3  rì   s   &r¸   rË  Ú)UnsupportedGuardCheckSpec.get_metadata_fn  ó   € ä!Ð$IÈ$Ï*É*ÈÐ"VÓWÐWrº   c                	ó2   € \        R V P                   24      hr6  r7  rì   s   &r¸   rÍ  Ú!UnsupportedGuardCheckSpec.eval_fn
  r:  rº   r2  N)
rù   rú   rû   rü   rì  r  ÚpropertyrË  rÍ  rý   r¶   rº   r¸   r.  r.  ý  s8   † ñõ
ð ñXó ðXð ñXó ôXrº   r.  c                ó:   € \        V P                  4      V n        V # )z;Mark a guard method as unsupported for auto-cache dispatch.)r.  rù   r#  r+  s   &r¸   Úunsupported_guard_check_specr?    s   € ä3°B·K±KÓ@€BÔØ€Irº   c                  óÎ  € ] tR tRtRÃR R lltR R ltR R lt]R	 R
 l4       tR R lt	R R lt
R R ltR R ltR R ltR R ltR R ltRÄR R lltRÅR R lltR R ltR R  lt]! R! R" R#7      RÅR$ R% ll4       t]! R& R' R#7      RÅR( R) ll4       t]! R* R+ R#7      R, R- l4       t]! R. R/ R#7      R0 R1 l4       t]R2 R3 l4       t]! R4 R5 R#7      R6 R7 l4       t]! R8 R9 R#7      R: R; l4       t]! R< R= R#7      R> R? l4       t]! R@ RA R#7      RB RC l4       t]! RD RE R#7      RF RG l4       t]! RH RI R#7      RJ RK l4       t ]! RL RM R#7      RN RO l4       t!]! RP RQ R#7      RÅRR RS ll4       t"RÅRT RU llt#]! RV RW R#7      RÅRX RY ll4       t$]! RZ R[ R#7      R\ R] l4       t%]&R^ R_ l4       t']&R` Ra l4       t(]&Rb Rc l4       t)]! ]*]+R#7      Rd Re l4       t,]! ]-].R#7      Rf Rg l4       t/]! ]0]1R#7      Rh Ri l4       t2]! Rj Rk R#7      RÅRl Rm ll4       t3]! Rn Ro R#7      Rp Rq l4       t4]! Rr Rs R#7      Rt Ru l4       t5]! Rv Rw R#7      Rx Ry l4       t6]! Rz R{ R#7      R| R} l4       t7]! R~ R R#7      R€ R� l4       t8]! R‚ Rƒ R#7      R„ R… l4       t9]! ]:];R#7      R† R‡ l4       t<]! Rˆ R‰ R#7      RŠ R‹ l4       t=]! RŒ R� R#7      RŽ R� l4       t>]! R� R‘ R#7      R’ R“ l4       t?]! R” R• R#7      R– R— l4       t@]! R˜ R™ R#7      Rš R› l4       tA]&Rœ R� l4       tB]! Rž RŸ R#7      R  R¡ l4       tC]! R¢ R£ R#7      R¤ R¥ l4       tD]! R¦ R§ R#7      R¨ R© l4       tE]! Rª R« R#7      R¬ R­ l4       tF]&R® R¯ l4       tG]&R° R± l4       tH]&R² R³ l4       tI]&R´ Rµ l4       tJ]&R¶ R· l4       tK]&R¸ R¹ l4       tL]&Rº R» l4       tM]! R¼ R½ R#7      RÅR¾ R¿ ll4       tNRÆRÀ RÁ lltORÂtPR# )ÇÚGuardBuilderi  Nc               óH   € V ^8„  d   Qh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±   Úf_coderÙ   Úid_refzCallable[[object, str], int]Ú
source_refzCallable[[Source], str]Úlookup_weakrefsz.Callable[[object], weakref.ref[object] | None]Úlocal_scoper  r  r¬  r  Úcheck_fn_managerÚCheckFunctionManagerÚsave_guardsrÒ   Úruntime_global_scoper  Úguard_filter_fnú=Callable[[Sequence[GuardFilterEntry]], Sequence[bool]] | Noner´   ró   r¶   )r·   s   "r¸   r¹   ÚGuardBuilder.__annotate__  sŸ   € ÷ MFñ MFàðMFð -ðMFð ,ð	MFð
 HðMFð 'ðMFð (ðMFð +ðMFð /ðMFð ðMFð 7ðMFððMFð 
ñMFrº   c                	óJ  € Wn         W n        W0n        W@n        R VRV/V n        / V n        T
;'       g    TV n        \        P                  P                  4       V P                  R&   \        P                  P                  P                  P                  4        F[  w  ppVP                  RR4      P                  RR4      P                  RR4      pWÐP                  R,          V&   WÐP                  V&   K]  	  Wpn        . V n        . V n        . V n        . V n        . V n        W€n        / V n        W�n        W°n        \5        4       V n        V P,                  P8                  f   \;        R	4      hV P,                  P8                  P<                   F8  pV P?                  V4      pV P6                  PA                  \C        V4      4       K:  	  / V n"        / V n#        \5        4       V n$        . V n%        \L        PN                  ;'       d    \Q        R
4      V n'        \S        4       V n*        R# )ÚLÚGÚ__builtins__Ú>rà  Ú<rå  Ú_dot_Nú.check_fn_manager.output_graph must not be Noneú!pytorch/compiler:guard_nn_modules)+rC  rD  rE  rF  ÚscopeÚsrc_get_value_cacherK  ÚbuiltinsÚ__dict__ÚcopyrÆ   ÚpackageÚpackage_importerÚ_package_imported_modulesr)  rE  r¬  ÚargnamesrØ   Úshape_env_codeÚno_tensor_aliasing_namesÚ!no_tensor_aliasing_guard_managersrH  Úguard_tree_valuesrJ  rL  r½   Úkey_order_guarded_dict_idsÚoutput_graphr6  Úguard_on_key_orderÚgetr*  r  r  Ú_cached_guard_managersÚ_cached_duplicate_input_guardsÚobject_aliasing_guard_codesrQ   Úguard_nn_modulesrD   rM   Úalready_added_code_parts)rí   rC  rD  rE  rF  rG  r  r¬  rH  rJ  rK  rL  rf  Úpackage_moduler³  Údict_objs   &&&&&&&&&&&&    r¸   r  ÚGuardBuilder.__init__  sæ  € ð ŒØŒØ$ŒØ.ÔØ47¸ÀcÈ<Ð3XˆŒ
Ø9;ˆÔ Ø$8×$HÐ$H¸LˆÔ!Ü%-×%6Ñ%6×%;Ñ%;Ó%=ˆ�
‰
�>Ñ"ô �]‰]×+Ñ+×EÑE×KÑKÖMñ
ØØà—<‘<  SÓ)×1Ñ1°#°sÓ;×CÑCÀCÈÓQˆDà/=�J‰J�~Õ& tÑ,à-�J‰J�tÓñ Nð +Ôà#%ˆŒà)+ˆŒ	ð
 46ˆÔð 46ˆÔ%ØEGˆÔ.à6FÔà13ˆÔØ&ÔØ.Ôô +.«%ˆÔ'Ø× Ñ ×-Ñ-Ò5Ü Ð!QÓRÐRØ×+Ñ+×8Ñ8×KÔKˆFØ—x‘x Ó'ˆHØ×+Ñ+×/Ñ/´°8³Ö=ñ Lð BDˆÔð @BˆÔ#ÜDGÃEˆÔ+ØBDˆÔ(Ü &× 7Ñ 7÷ !
ð !
¼OØ/ó=
ˆÔô :D»ˆÖ%rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r¨  r‡  r¢  r:   r´   ró   r¶   )r·   s   "r¸   r¹   rN  e  s$   € ÷ ñ Ø+ðØ49ðà	ñrº   c                	ól  € V P                  V4      p\        V\        4      '       d   \        R VP                   24      hVP
                  P                  p\        V4       FO  pW,          p\        VP
                  VR7      pV P                  Wq4      pVP                  VV RV: R2VVR7       KQ  	  R# )zsNot expecting a DictGuardManager. Seems like Dynamo incorrectly added the dict to tx.output.guard_on_key_order for )rà   r­  r�  ©rˆ  r³  r¨  r©  N)
Úget_guard_managerr¼   r   r8  rf  r_  r‹   rc   Úget_guard_manager_typeÚdict_getitem_manager)	rí   r¨  r¢  Údict_mgrÚdict_sourcerˆ  r²   r·  r©  s	   &&&      r¸   Ú#guard_on_dict_keys_and_ignore_orderÚ0GuardBuilder.guard_on_dict_keys_and_ignore_ordere  sÄ   € ð ×)Ñ)¨%Ó0ˆÜ�hÔ 0×1Ò1Ü%ðFØFKÇjÁjÀ\ðSóð ð ×.Ñ.×3Ñ3ˆô % ]Ö3ˆCØ!Õ&ˆEÜ,¨U×-EÑ-EÈSÔQˆLØ!%×!<Ñ!<Øó"Ðð ×)Ñ)ØØ%˜ a¨¡w¨aÐ0Ø#Ø#5ð	 *ö ó 4rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r²   r‡  r¢  r:   r´   ró   r¶   )r·   s   "r¸   r¹   rN  ƒ  s"   € ÷ (ñ (°.ð (Èð (ÐSWñ (rº   c                	óˆ  € V P                  V4      p\        V\        4      '       g   \        R VP                   24      h\        V\        4      '       g   \        R\        V4       24      h\        \        V4      4       F½  w  rE\        VP                  V4      pVP                  VVV\        P                  R7      p\        V4      '       dB   V P                  WV4      pVP                  V\!        RV RV R2V4      VP"                  4       K�  VP%                  V\!        V RV: 2V4      VP"                  4       K¿  	  R# )z_Expecting a DictGuardManager. Seems like Dynamo forgot to set the right guard manager enum for zExpected DictGuardManager, got r®  z__check_obj_id(r°  r±  r¯  N)rt  r¼   r   r8  rf  r6  r7  Ú	enumerater‹   r�  r°  rª  r±  r”   rD  Úadd_id_match_guardra  rQ  r²  )	rí   r²   r¢  rw  r½  rˆ  rµ  Úkey_managerÚid_vals	   &&&      r¸   Úguard_on_dict_keys_and_orderÚ)GuardBuilder.guard_on_dict_keys_and_orderƒ  s=  € ð ×)Ñ)¨%Ó0ˆÜ˜(Ô$4×5Ò5Ü%ð;Ø;@¿:¹:¸,ðHóð ô ˜(Ô$4×5Ò5Ü Ð#BÄ4ÈÃ>ÐBRÐ!SÓTÐTô "Ô"3°EÓ":Ö;‰HˆCÜ-¨e¯j©j¸#Ó>ˆJØ"×2Ñ2ØØ!Ø!Ü#3×#AÑ#Að	 3ó ˆKô ˜�~Š~àŸ™ SÓ5�Ø×.Ñ.ØÜ*Ø)¨*¨°R¸°x¸qÐAÀ5óð ×$Ñ$öð ×2Ñ2ØÜ*¨j¨\¸¸c¹WÐ+EÀuÓMØ×$Ñ$öó) <rº   c               ó    € V ^8„  d   QhRRRR/# )r±   r¨  r   r´   r  r¶   )r·   s   "r¸   r¹   rN  ®  s   € ÷ ñ ¸sð Àzñ rº   c                	óÀ   € \         P                  '       dH   \        P                  R8¼  d3   \        P                  R8  d   \        P
                  ! R\        4       R# V # )é   zMGuards may run slower on Python 3.13.0. Consider upgrading to Python 3.13.1+.N)r…  é   )r…  r†  rÞ   )rQ   Úissue_3_13_0_warningÚsysÚversion_infoÚwarningsÚwarnÚRuntimeWarning)r¨  s   &r¸   Ú'_get_generic_dict_manager_example_valueÚ4GuardBuilder._get_generic_dict_manager_example_value­  sI   € ô ×'×'Ð'Ü× Ñ  GÔ+Ü× Ñ  :Ô-ä�MŠMØ_Üôñ ØÐrº   c               ó8   € V ^8„  d   QhRRRRRRRRRR	R
R	RRRR/# )r±   r³  rV   r¦  r   r§  r   r¨  r´  rÛ   Úsource_namer©  rª  r´   r¶   )r·   s   "r¸   r¹   rN  ¿  sd   € ÷ ]ñ ]àð]ð )ð]ð  ð	]ð
 ð]ð ð]ð ð]ð -ð]ð 
ñ]rº   c           	     óª  € R R lpVP                   p	VP                  p
\        4       p\        P                  ! VP
                  4       F,  pVP                  VP                  P                  4       4       K.  	  \        RRR4      pWš9   d   \        RV	R4      pMkRV
9   d   WšR,          9   d   \        RRV	4      pMIRV
9   d   WšR,          9   d   \        RRV	4      pM'W›9  d"   RV
9   d   WšR,          9   d   \        RRV	4      pVP                  '       g    VP                  VP                   VVVR	7      # VP                  '       g   \        R
4      hVP                  pVP                  pV R2pR;ppR;ppR;ppV'       dS   \        VP                  V4      pVP                   pW®,          pV P#                  VV4      pTpTpV P#                  W4      pMTpTpV P#                  W4      pVP%                  VV P'                  V
4      \(        P*                  R7      pV! VVVV
VVR7      pV'       d"   Ve   Vf   \        R4      hV! VVVVVVR7      # V# )aÀ  
This tries to avoid calling the expensive nn module custom getattr method by
checking if the attribute is accessible via __dict__. For attributes that
are not accessible via __dict__ (like descriptors), we fallback to
PyObject_GetAttr.

There are two cases that we optimize for
1) attributes present directly in __dict__, e.g training.
2) parameters/buffers/modules - they can be accessed via _parameters,
_buffers, _modules keys in __dict__. For example, mod.linear can be
accessed as mod.__dict__["_parameters"]["linear"]

The most common and expensive case for nn module guards is of type
mod.submod1.submod2.submod3.training. We avoid the python getattr of nn
modules by going through the __dict__.
c               ó4   € V ^8„  d   QhRRRRRRRRRRR	R
RR/# )r±   rY  r   rˆ  r   r�  rÛ   r§  r¨  r©  rª  r´   r¶   )r·   s   "r¸   r¹   Ú7GuardBuilder.getattr_on_nn_module.<locals>.__annotate__Ú  sN   € ÷ #	ñ #	Øð#	àð#	ð ð#	ð !$ð	#	ð
 ð#	ð !1ð#	ð ñ#	rº   c                ó   € \        V \        4      '       de   \        W14      pR V RV: R2pV P                  VVV\        P
                  R7      P                  W RV: 2.R4       V P                  VVVVR7      # V P                  VVVVR7      # )r�  rŽ  r�  r®  r¯  Nrs  )	r¼   r   rŠ  r°  rª  r±  r²  r³  rv  )rY  rˆ  r�  r§  r¨  r©  rà   rµ  s   &&&&&&  r¸   Úgetitem_on_dict_mgrÚ>GuardBuilder.getattr_on_nn_module.<locals>.getitem_on_dict_mgrÚ  sÃ   € ô ˜#Ô/×0Ò0ô &Ð&8Ó>�ð  /¨{¨m¸3¸u¹iÀqÐI�
Ø×#Ñ#ØØ%Ø"%Ü'7×'EÑ'Eð	 $ó ÷
 )Ñ(¨°¸TÀ#ÁÐ/IÐ.JÈDÔQð ×,Ñ,ØØ&Ø"/Ø'9ð	 -ó ð ð ×/Ñ/ØØ&Ø"/Ø'9ð	 0ó ð rº   FNTÚ_parametersÚ_buffersÚ_modules©Úattrr³  r¨  r©  z&accessor_info.l1_key must not be emptyú	.__dict__©r³  r¨  r©  )rY  rˆ  r�  r§  r¨  r©  z9l2_source_name and l2_guard_manager_enum must not be None)Úmemberr[  r½   r  Úgetmror÷   ÚupdateÚkeysr   r¡  Úgetattr_managerr¢  r6  r£  rV   rh  rf  ru  Úget_generic_dict_managerr�  rª  r±  )rí   r³  r¦  r§  r¨  r´  r�  r©  r•  Ú	attr_nameÚmod_dictÚall_class_attribute_namesrÎ  Úaccessor_infor¢  r£  Úmod_dict_sourceÚl1_source_nameÚl2_source_nameÚl1_valueÚl2_valueÚl1_guard_manager_enumÚl2_guard_manager_enumÚ	l1_sourceÚmod_generic_dict_managerÚl1_mgrs   &&&&&&&&                  r¸   Úgetattr_on_nn_moduleÚ!GuardBuilder.getattr_on_nn_module¿  sŒ  € õ6#	ðJ —M‘Mˆ	Ø%×.Ñ.ˆä.1«eÐ!Ü—’Ð 2× <Ñ <Ö=ˆAØ%×,Ñ,¨Q¯Z©Z¯_©_Ó->Ö?ñ >ô 1°¸¸dÓCˆàÔ Ü4°T¸9ÀdÓK‰MØ˜hÔ&¨9ÀÕ8OÔ+OÜ4°T¸=È)ÓT‰MØ˜8Ô#¨	¸jÕ5IÔ(IÜ4°T¸:ÀyÓQ‰MàÔ6Ø˜hÔ&Ø jÕ1Ô1ô 5°T¸:ÀyÓQˆMà×4×4Ð4ð &×5Ñ5Ø—]‘]Ø"Ø+Ø#5ð	 6ó ð ð !×'×'Ð'Ü$Ð%MÓNÐNØ"×)Ñ)ˆFØ"×)Ñ)ˆFð "2Ð 2°)Ð<ˆOØ.2Ð2ˆN˜^Ø"&Ð&ˆH�xØ<@Ð@Ð!Ð$9ßÜ& v§{¡{°FÓ;�	Ø!*§¡�Ø#Õ+�ð )-×(CÑ(CÀIÈxÓ(XÐ%à!,�Ø(�Ø(,×(CÑ(CØó)Ñ%ð "-�Ø(�Ø(,×(CÑ(CØó)Ð%ð (:×'RÑ'RØ&Ø"×JÑJÈ8ÓTÜ#3×#AÑ#Að (Só (Ð$ñ )Ø,ØØ*Ø#+Ø&Ø#8ôˆF÷ Ø!Ò)Ð-BÒ-JÜ(ØSóð ñ +ØØØ .Ø'/Ø"*Ø'<ôð ð ˆMrº   c               ó    € V ^8„  d   QhRRRR/# )r±   r³  r>   r´   rÒ   r¶   )r·   s   "r¸   r¹   rN  ^  s   € ÷ 9ñ 9°&ð 9¸Tñ 9rº   c                	ó|   € VP                   pVR 8X  d   R# \        V P                  V4      4      pW0P                  9   # )rÇ  F)rf  r  rh  re  )rí   r³  r�  Úobj_ids   &&  r¸   Úrequires_key_order_guardingÚ(GuardBuilder.requires_key_order_guarding^  s8   € Ø—k‘kˆØ˜"ÔÙÜ�D—H‘H˜VÓ$Ó%ˆØ×8Ñ8Ñ8Ð8rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r³  r>   r¨  zAKeysView[Any] | set[Any] | frozenset[Any] | dict[Any, Any] | Noner´   rª  r¶   )r·   s   "r¸   r¹   rN  e  s(   € ÷ "ñ "àð"ðð"ð 
ñ"rº   c                	óz  € \         P                  pV P                  V4      '       d”   \        V\        4      '       d   \         P
                  pV# \        V\        \        34      '       d   \         P                  pV# \        V\        4      '       g   \        R \        V4       24      h\         P
                  pV# )r¬  )rª  r±  r·  r¼   rŽ   rÅ  r½   r¿   rh  r6  r7  )rí   r³  r¨  r©  s   &&& r¸   ru  Ú#GuardBuilder.get_guard_manager_typee  s¦   € ô .×;Ñ;ÐØ×+Ñ+¨F×3Ò3ä˜-¬×3Ò3Ü%5×%HÑ%HÐ"ð "Ð!ô ˜M¬C´Ð+;×<Ò<ô &6×%CÑ%CÐ"ð
 "Ð!ô " -´×6Ò6Ü(Ð+>¼tÀMÓ?RÐ>SÐ)TÓUÐUÜ%5×%HÑ%HÐ"Ø!Ð!rº   c               ó    € V ^8„  d   QhRRRR/# )r±   Úmgr_enumrª  r´   rÒ   r¶   )r·   s   "r¸   r¹   rN  ~  s   € ÷ ?ñ ?Ð/?ð ?ÀDñ ?rº   c                	ó(   € V\         P                  8H  # rÅ   )rª  rÅ  )rí   r½  s   &&r¸   Úmanager_guards_on_keysÚ#GuardBuilder.manager_guards_on_keys~  s   € ØÔ+×>Ñ>Ñ>Ð>rº   c               ó   € V ^8„  d   QhRR/# )r±   r´   r   r¶   )r·   s   "r¸   r¹   rN  �  s   € ÷ 
ñ 
¨,ñ 
rº   c                	ó¦   € V P                   P                  P                  V P                  R V P                  R ,          \
        P                  R7      # )rQ  )Ú	f_globalsr³  r¨  r©  )r¬  r  Úglobals_dict_managerrK  rX  rª  r±  rì   s   &r¸   Úget_global_guard_managerÚ%GuardBuilder.get_global_guard_manager�  sF   € Ø×!Ñ!×&Ñ&×;Ñ;Ø×/Ñ/ØØŸ*™* S�/Ü/×=Ñ=ð	 <ó 
ð 	
rº   c               ó    € V ^8„  d   QhRRRR/# )r±   r³  r>   r´   r   r¶   )r·   s   "r¸   r¹   rN  ‰  s   € ÷ _ñ _°Fð _¸|ñ _rº   c           	     	óZ  a€ V P                   P                  pR pSP                  pVR8w  d$   W@P                  9   d   V P                  V,          # VR8w  d)   V P	                  S4      pW0P
                  \        V4      &   V P                  SV4      pR pR pR p\        P                  p	\        S\        4      '       di   SP                  P                  pV P	                  SP                  4      pV P                  SP                  4      pV P                  SP                  V4      p	\        S\        4      '       dD   \!        V P"                  SP$                  4      p
VP'                  SP$                  V
3VVVR7      pEM•\        S\(        4      '       d0   V P+                  4       P-                  SP.                  VVVR7      pEMP\        S\0        4      '       d0   V P+                  4       P3                  SP.                  VVVR7      pEM\        S\4        4      '       d   V# \        S\6        4      '       d   V# \        S\8        4      '       d*   V'       g   \;        R4      hVP=                  VVVR7      pEMœ\        S\>        4      '       d*   V'       g   \;        R4      hVPA                  VVVR7      pEM]\        S\B        4      '       d*   V'       g   \;        R4      hVPE                  VVVR7      pEM\        S\F        \H        \J        \L        \N        34      '       d   V'       g   \;        R4      hTpEMÜ\        S\P        4      '       d<   \R        PT                  ! SPV                  4      pVPY                  V3R lVVVR7      pEM‹\        S\Z        4      '       d   VPY                  V3R lVVVR7      pEMZ\        S\\        4      '       d   VPY                  V3R	 lVVVR7      pEM)\        S\^        4      '       d*   V'       g   \;        R4      hVPa                  VVVR7      pE
Mê\        S\b        4      '       d5   V'       g   \;        R4      hVPe                  SPf                  VVVR
7      pE
M \        S\h        \j        \l        34      '       dŸ   V'       g   \;        R4      h\        S\h        4      '       g   \;        R\o        S4       24      h\q        V4      '       d-   V'       g   \;        R4      hV Ps                  SVVVVVV4      pE
MVPu                  SPf                  VVVR
7      pE	Má\        S\v        \x        34      '       Ed   V'       g   \;        R4      h\        V\z        \|        P~                  34      '       g   \;        R\o        V4       24      h\        S\v        \x        34      '       g   \;        R\o        S4       24      h\        V\€        4      '       d4   V Pƒ                  V	4      '       g   \;        R4      h\…        SVVVV4      pEMø\        SP†                  \ˆ        4      '       d   \‹        R4      hVP-                  SP†                  VVVR7      pEM¬\        S\Œ        4      '       dI   \�        VRSP�                  P                  P“                  4        R24      ! SP”                  VVVR7      pEMN\        S\–        4      '       d5   V'       g   \;        R4      hVP™                  SP”                  VVVR7      pEM\        S\š        4      '       d5   V'       g   \;        R4      hVP�                  SP†                  VVVR7      pEMº\        S\ž        4      '       Ed   V'       g   \;        R4      h\        V\z        \|        P~                  34      '       d   \;        R4      h\        V\         4      '       d4   SP¢                  '       g"   VP�                  SP†                  VVVR7      pEM\        V\¤        4      '       d4   SP¢                  '       g"   VP§                  SP†                  VVVR7      pEMÍSP†                  pSP¢                  '       d   SP©                  4       pVP«                  VVVVR7      pEMˆ\        S\¬        4      '       Ed(   V'       g   \;        R4      hV'       g   \;        R4      h\¯        V4      '       g   \;        R4      hSP°                  '       gL   VP³                  VVP´                  \        P                  R7      P«                  SP¶                  VVVR7      pEMÒVP¸                  pVf   \;        R4      hVR,           pVP»                  VV\        P                  R7      p\        V\€        4      '       d   \;        R4      hVP-                  SP¶                  VVVR7      pEMJ\        S\¼        4      '       d/   V'       g   \;        R4      hVPY                  \¾        VVVR7      pEM\        S\À        4      '       d,   V'       g   \;        R4      hVPY                  R VVVR7      pEMÅ\        S\Â        4      '       d/   V'       g   \;        R4      hVPY                  \Ä        VVVR7      pEM�\        S\Æ        4      '       d,   V'       g   \;        R4      hVPY                  R VVVR7      pEM@\        S\È        4      '       d,   V'       g   \;        R4      hVPY                  R VVVR7      pEMÿ\        S\Ê        4      '       d,   V'       g   \;        R4      hVPY                  R VVVR7      pEM¾\        S\Ì        4      '       d,   V'       g   \;        R4      hVPY                  R VVVR7      pEM}\        S\Î        4      '       de   V'       g   \;        R4      hSPÐ                  '       d(   SPÒ                  pVPY                  V3R lVVVR7      pEMVPY                  R VVVR7      pEM\        S\Ô        4      '       d,   V'       g   \;        R4      hVPY                  R  VVVR7      pEMÂ\        S\Ö        4      '       d5   V'       g   \;        R4      hVPÙ                  SP†                  VVVR!7      pEMx\        S\ˆ        4      '       dC   \        V\€        4      '       g   \;        R"4      hVPÛ                  SP†                  VVVR!7      pEM \        S\Ü        4      '       d5   V'       g   \;        R4      hVPß                  SP†                  VVVR!7      pEMÖ\        S\à        4      '       d*   V'       g   \;        R4      hVPã                  VVVR7      pEM—\        S\ä        4      '       d*   V'       g   \;        R4      hVPç                  VVVR7      pEMX\        S\è        4      '       d,   V'       g   \;        R4      hVPY                  R# VVVR7      pEM\        S\ê        4      '       d+   V'       g   \;        R4      hVPY                  R$ VVVR7      pM×\        S\ì        4      '       d)   V'       g   \;        R4      hVPï                  VVVR7      pM™\        S\ð        4      '       d)   V'       g   \;        R4      hVPó                  VVVR7      pM[\        S\ô        4      '       d+   V'       g   \;        R4      hVPY                  R% VVVR7      pM\;        R&S R'SP                   24      hW°P                  SP                  &   V# )(NrÇ  rs  )Úglobal_namer³  r¨  r©  z#base_guard_manager must not be Noner�  c                ó   € V# rÅ   r¶   )rà  r
  s   &&r¸   r  Ú<GuardBuilder.get_guard_manager_from_source.<locals>.<lambda>í  s   € ±!rº   )Úpython_lambdar³  r¨  r©  c                ó6   <€ \        SP                  4       4      # rÅ   )r‘   Ú
_get_index©rà  r³  s   &€r¸   r  rË  ô  s   ø€ Ô(HØ×%Ñ%Ó'ô)rº   c                ó.   <€ \        SP                  4      # rÅ   )r�   r/  rÏ  s   &€r¸   r  rË  ý  s   ø€ Ô(:¸6¿=¹=Ô(Irº   rš  zExpected AttrSource, got z"base_source_name must not be emptyz"Expected dict or OrderedDict, got z=Expected DictGetItemSource or DictSubclassGetItemSource, got z#DictGuardManager must guard on keyszUExpecting clean index here. Likely Dynamo forgot to mark a dict as guard_on_key_orderÚtensor_property_Ú_manager)r½  r³  r¨  r©  zUse DictGetItemSourcez#base_example_value must be callablez!base_source_name must not be Nonez.__kwdefaults__z,Expected non-DictGuardManager for kwdefaultsc                ó0   € V P                  4       ^ ,          # r#  ©rë  r&  s   &r¸   r  rË  ½  s   € ¨×(<Ñ(<Ó(>¸qÖ(Arº   c                ó"   € V P                  4       # rÅ   )Ú__obj_flatten__r&  s   &r¸   r  rË  Ï  s   € ¨×(9Ñ(9Ô(;rº   c                ó>   € V P                  4       P                  4       # rÅ   )Ú_typeÚqualified_namer&  s   &r¸   r  rË  Ø  s   € ¨¯©«	×(@Ñ(@Ô(Brº   c                ó"   € V P                  4       # rÅ   )Úget_baser&  s   &r¸   r  rË  á  s
   € ¨¯
©
¬rº   c                ó"   € V P                  4       # rÅ   )Úitemr&  s   &r¸   r  rË  ê  s
   € ¨¯©¬rº   c                ó$   € V P                  V4      # rÅ   ©rh  )rÎ  Úds   &&r¸   r  rË  õ  s   € ¸1¿5¹5À¼8rº   c                ó"   € V P                  4       # rÅ   rß  r&  s   &r¸   r  rË  ü  s
   € ¨A¯E©E¬Grº   c                ó.   € \         P                  ! V 4      # rÅ   )rÆ   r=  r&  s   &r¸   r  rË    s   € ¬×(AÒ(AÀ!Ô(Drº   r®  z4ConstDictKeySource can only work on DictGuardManagerc                ó   € \        V 4      # rÅ   )r�   r&  s   &r¸   r  rË  ;  s
   € Ô(8¸Ô(;rº   c                ó   € V P                   # rÅ   r$  r&  s   &r¸   r  rË  D  s   € ¨¯	ª	rº   c                ó   € \        V 4      # rÅ   )rµ   r&  s   &r¸   r  rË  ]  s   € ¬¨A¬rº   zmissing guard manager builder z - ){r¬  r  rf  ri  rh  rd  r  ru  rª  r±  r¼   rZ   rh  Úget_guard_manager_from_sourcer“   rq   rã   rC  Ú
local_nameÚframelocals_managerrk   rÅ  rv  rÉ  rm   Úglobal_weakref_managerrl   rx   r~   r6  Útype_managerr|   Útype_dict_managerr}   Útype_mro_managerrv   rs   r€   r   rh   ro   r9  r:  Úmodule_nameÚlambda_managerrz   r`   rn   Úgrad_managerri   Úgeneric_getattr_managerrž  rV   rY   r�   r7  r�  r²  r¢  rc   rd   rh  r3  r4  r   r¿  r¸  rà   r^   ÚRuntimeErrorr4   ÚgetattrÚpropÚlowerr½  r-   Úindexed_managerrp   Úlist_getitem_managerrj   r]  Úindex_is_slicer‰  Útuple_getitem_managerÚunpack_sliceÚgetitem_managerrb   ÚcallableÚis_kwÚfunc_defaults_managerÚ__defaults__Úidx_keyÚ__kwdefaults__Úfunc_kwdefaults_managerru   rö  ry   r‚   rý  rf   rw   rU   rX   r_   Úhas_defaultÚdefault_valuerg   r{   Útuple_iterator_getitem_managerr°  rt   Úset_getitem_managerrƒ   Úweakref_call_managerrW   Úcall_function_no_args_managerra   rr   r\   Úcode_managerr[   Úclosure_managerre   )rí   r³  Úroot_guard_managerr¨  r�  r©  r´  r§  r¦  Úbase_guard_manager_enumrâ   ÚoutÚmodulerà   Ú
kwdefaultsÚ	kw_sourcerw  Údefault_vals   &f                r¸   ræ  Ú*GuardBuilder.get_guard_manager_from_source‰  sV  ø€ Ø!×/Ñ/×4Ñ4ÐàˆØ—k‘kˆà˜"Ô ×0KÑ0KÔ!KØ×.Ñ.¨{Õ;Ð;à˜"ÔØ ŸH™H VÓ,ˆMØ8E×"Ñ"¤2 mÓ#4Ñ5à!×8Ñ8¸ÀÓOÐð  ÐØ!ÐØ!ÐÜ"2×"@Ñ"@ÐÜ�fœm×,Ò,Ø%Ÿ{™{×/Ñ/ÐØ!%§¡¨&¯+©+Ó!6ÐØ!%×!CÑ!CÀFÇKÁKÓ!PÐØ&*×&AÑ&AØ—‘Ð/ó'Ð#ô
 �&œ+×&Ò&Ü1°$·+±+¸v×?PÑ?PÓQˆOØ$×8Ñ8Ø×&Ñ&¨Ð8Ø"Ø+Ø#5ð	 9ó ŠCô �FœL×)Ò)ð ×/Ñ/Ó1×FÑFØ×&Ñ&Ø"Ø+Ø#5ð	 Gó ŠCô �FÔ/×0Ò0Ø×/Ñ/Ó1×HÑHØ"×.Ñ.Ø"Ø+Ø#5ð	 Ió ŠCô �FÔ-×.Ò.ð &Ð%Ü�FœN×+Ò+Ø%Ð%Ü�FœJ×'Ò'ß%Ü$Ð%JÓKÐKØ$×1Ñ1Ø"Ø+Ø#5ð 2ó ŠCô
 �FœN×+Ò+ß%Ü$Ð%JÓKÐKØ$×6Ñ6Ø"Ø+Ø#5ð 7ó ŠCô
 �FœM×*Ò*ß%Ü$Ð%JÓKÐKØ$×5Ñ5Ø"Ø+Ø#5ð 6ó ŠCô
 ØäÜÜ+Ü2Ü"ð÷	
ò 	
÷ &Ü$Ð%JÓKÐKØ$ŠCÜ�FœL×)Ò)Ü×,Ò,¨V×-?Ñ-?Ó@ˆFØ$×3Ñ3Ø*0Ó3Ø"Ø+Ø#5ð	 4ó ŠCô �FÔ8×9Ò9Ø$×3Ñ3ôð #Ø+Ø#5ð 4ó ŠCô �FÔ/×0Ò0Ø$×3Ñ3ÜIØ"Ø+Ø#5ð	 4ó ŠCô �FœJ×'Ò'ß%Ü$Ð%JÓKÐKØ$×1Ñ1Ø"Ø+Ø#5ð 2ó ŠCô
 �FÔ-×.Ò.ß%Ü$Ð%JÓKÐKØ$×<Ñ<Ø—]‘]Ø"Ø+Ø#5ð	 =ó ŠCô Ø”ZÔ!3Ô5SÐT÷
ò 
÷ &Ü$Ð%JÓKÐKÜ˜f¤j×1Ò1Ü$Ð'@ÄÀfÃÀÐ%OÓPÐPÜ3Ð4F×GÒGß'Ü(Ð)MÓNÐNØ×/Ñ/ØØ&Ø&Ø!Ø$ØØ&ó’ð )×8Ñ8ØŸ™Ø&Ø"/Ø'9ð	 9ó ’ô �FÔ.Ô0IÐJ×KÓKß%Ü$Ð%JÓKÐKÜÐ0´4¼×9PÑ9PÐ2Q×RÒRÜ$Ø8¼Ð>PÓ9QÐ8RÐSóð ô ˜fÔ'8Ô:SÐ&T×UÒUÜ$ØSÔTXÐY_ÓT`ÐSaÐbóð ô Ð,Ô.>×?Ò?Ø×2Ñ2Ð3J×KÒKÜ(Ð)NÓOÐOÜ-ØØ&Ø&Ø!Ø&ó’ô ˜fŸl™lÔ,>×?Ò?Ü&ð8óð ð )×=Ñ=ØŸ™Ø&Ø"/Ø'9ð	 >ó ’ô �FÔ0×1Ò1ÜØ"Ø" 6§;¡;×#3Ñ#3×#9Ñ#9Ó#;Ð"<¸HÐEôð —J‘JØ"Ø+Ø#5ôŠCô �FœM×*Ò*ß%Ü$Ð%JÓKÐKà$×4Ñ4Ø—J‘JØ"Ø+Ø#5ð	 5ó ŠCô �FÔ-×.Ò.ß%Ü$Ð%JÓKÐKØ$×9Ñ9Ø—L‘LØ"Ø+Ø#5ð	 :ó ŠCô �FœM×*Ó*ß%Ü$Ð%JÓKÐKÜÐ,¬t´[×5LÑ5LÐ.M×NÒNÜ$Ð%<Ó=Ð=ÜÐ,¬d×3Ò3¸F×<Q×<QÐ<QØ(×=Ñ=ØŸ™Ø&Ø"/Ø'9ð	 >ó ’ô Ð.´×6Ò6¸v×?T×?TÐ?TØ(×>Ñ>ØŸ™Ø&Ø"/Ø'9ð	 ?ó ’ð Ÿ™�Ø×(×(Ð(Ø"×/Ñ/Ó1�EØ(×8Ñ8ØØ&Ø"/Ø'9ð	 9ó ’ô �FœN×+Ó+ß%Ü$Ð%JÓKÐKß#Ü$Ð%IÓJÐJÜÐ.×/Ò/Ü$Ð%JÓKÐKØ—<—<�<Ø(×>Ñ>Ø+Ø"4×"AÑ"AÜ'7×'EÑ'Eð ?ó ÷ "‘/ØŸ™Ø&Ø"/Ø'9ð	 "ó ò	 ð 0×>Ñ>�
Ø#Ò+Ü(Ð)LÓMÐMØ,Ð/@Õ@�	ð .×EÑEØ$Ø",Ü'7×'EÑ'Eð Fó �ô
 ˜hÔ(8×9Ò9Ü(Ð)WÓXÐXà×3Ñ3ØŸ™Ø&Ø"/Ø'9ð	 4ó ’ô �FÔ-×.Ò.ß%Ü$Ð%JÓKÐKØ$×3Ñ3Ü(Ø"Ø+Ø#5ð	 4ó ŠCô �FÔ2×3Ò3ß%Ü$Ð%JÓKÐKØ$×3Ñ3ÙAØ"Ø+Ø#5ð	 4ó ŠCô �FÔ8×9Ò9ß%Ü$Ð%JÓKÐKØ$×3Ñ3Ü<Ø"Ø+Ø#5ð	 4ó ŠCô �FÔ5×6Ò6ß%Ü$Ð%JÓKÐKØ$×3Ñ3Ù;Ø"Ø+Ø#5ð	 4ó ŠCô �FÔ;×<Ò<ß%Ü$Ð%JÓKÐKØ$×3Ñ3ÙBØ"Ø+Ø#5ð	 4ó ŠCô �FœO×,Ò,ß%Ü$Ð%JÓKÐKØ$×3Ñ3Ù4Ø"Ø+Ø#5ð	 4ó ŠCô �FÔ0×1Ò1ß%Ü$Ð%JÓKÐKØ$×3Ñ3Ù0Ø"Ø+Ø#5ð	 4ó ŠCô �FÔ/×0Ò0ß%Ü$Ð%JÓKÐKØ×!×!Ð!Ø$×2Ñ2�Ø(×7Ñ7Ø.9Ó"CØ&Ø"/Ø'9ð	 8ó ’ð )×7Ñ7Ù"3Ø&Ø"/Ø'9ð	 8ó ’ô �FÔ-×.Ò.ß%Ü$Ð%JÓKÐKØ$×3Ñ3ÙDØ"Ø+Ø#5ð	 4ó ŠCô �FÔ6×7Ò7ß%Ü$Ð%JÓKÐKØ$×CÑCØ—l‘lØ"Ø+Ø#5ð	 Dó ŠCô ˜Ô 2×3Ò3ÜÐ0Ô2B×CÒCÜ$ØJóð ð %×4Ñ4Ø—l‘lØ"Ø+Ø#5ð	 5ó ŠCô �FÔ;×<Ò<ß%Ü$Ð%JÓKÐKØ$×8Ñ8Ø—l‘lØ"Ø+Ø#5ð	 9ó ŠCô �FÔ-×.Ò.ß%Ü$Ð%JÓKÐKØ$×9Ñ9Ø"Ø+Ø#5ð :ó ŠCô
 �FÔ4×5Ò5ß%Ü$Ð%JÓKÐKØ$×BÑBØ"Ø+Ø#5ð Có ŠCô
 �FÔ1×2Ò2ß%Ü$Ð%JÓKÐKØ$×3Ñ3Ù;Ø"Ø+Ø#5ð	 4ó ŠCô �FÔ2×3Ò3ß%Ü$Ð%JÓKÐKØ$×3Ñ3Ù1Ø"Ø+Ø#5ð	 4ó ‰Cô �FœJ×'Ò'ß%Ü$Ð%JÓKÐKØ$×1Ñ1Ø"Ø+Ø#5ð 2ó ‰Cô
 �FœM×*Ò*ß%Ü$Ð%JÓKÐKØ$×4Ñ4Ø"Ø+Ø#5ð 5ó ‰Cô
 �FÔ/×0Ò0ß%Ü$Ð%JÓKÐKØ$×3Ñ3Ù.Ø"Ø+Ø#5ð	 4ó ‰Cô !Ø0°°¸¸F¿K¹K¸=ÐIóð ð 47×#Ñ# F§K¡KÑ0Øˆ
rº   c               ó    € V ^8„  d   QhRRRR/# )r±   r¢  r:   r´   r   r¶   )r·   s   "r¸   r¹   rN  j  s   € ÷ Lñ L uð L°ñ Lrº   c                	ó8   € V P                  VP                  4      # rÅ   )ræ  r_  ©rí   r¢  s   &&r¸   rt  ÚGuardBuilder.get_guard_managerj  s   € Ø×1Ñ1°%×2JÑ2JÓKÐKrº   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r±   r  r£  r  r
  r  Úis_epiloguerÒ   r´   ró   r¶   )r·   s   "r¸   r¹   rN  m  sC   € ÷ Yñ YàðYð &ðYð /ð	Yð
 ðYð 
ñYrº   c                	óÐ  € Vf   \        4       pRP                  VP                  4       4      p\        W4      w  rg/ pRV P                  R,          /p	\
        P                  RV4       \        WyV4       VR,          ! VP                  4       !  p
V'       d*   V P                  P                  P                  V
VR 4       R # V P                  P                  P                  W¢R 4       R # )Nr°  rQ  zPython shape guard function:
%sÚ___make_guard_fn)r>  Újoinr¡  Úbuild_guard_functionrX  Ú
guards_logÚdebugÚexecrj  r¬  r  Úadd_epilogue_lambda_guardÚadd_lambda_guard)rí   r  r  r
  r  Úmake_guard_fn_argsÚ_guard_bodyÚpycoder  Úglobals_for_guard_fnr  s   &&&&&      r¸   Ú$add_python_lambda_leaf_guard_to_rootÚ1GuardBuilder.add_python_lambda_leaf_guard_to_rootm  sÌ   € ð ÒÜ,Ó.ˆLð "ŸY™Y |×'8Ñ'8Ó':Ó;ÐÜ2°:ÓRÑˆØ ˆØ # T§Z¡Z°¥_Ð5ÐÜ×ÑÐ;¸VÔDÜˆV¨3Ô/ØÐ)Ö*¨L×,?Ñ,?Ó,AÑBˆßð ×Ñ×#Ñ#×=Ñ=ØØ"Øöð ×Ñ×#Ñ#×4Ñ4°XÐSWÖXrº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   Úguard_or_sourcezGuard | Sourcer
  údict[str, Any] | Noner´   r   r¶   )r·   s   "r¸   r¹   rN  ’  s(   € ÷ ñ à'ðð ,ðð 
ñ	rº   c                	ó¸   € \        V\        4      '       d   TpMVP                  pVf   \        4       pVP	                  V P
                  W P                  4      pV# rÅ   )r¼   r>   r_  r>  Ú	get_valuerX  rY  )rí   r(  r
  ÚsrcÚrets   &&&  r¸   rh  ÚGuardBuilder.get’  sN   € ô
 �o¤v×.Ò.Ø!‰Cà!×4Ñ4ˆCØÒÜ,Ó.ˆLØ�m‰m˜DŸJ™J¨×6NÑ6NÓOˆØˆ
rº   c               ó    € V ^8„  d   QhRRRR/# )r±   r¢  zstr | Guardr´   rÛ   r¶   )r·   s   "r¸   r¹   rN  ¥  s   € ÷ ñ ˜[ð ¨Sñ rº   c                	óX  € \        V\        4      '       d   TpMVP                  p\        V4      pW0P                  9  dj   \
        P                  P                  P                  V4      pV'       d9   V^8X  d   \        P                  RV4       V P                  P                  V4       V# )r±   zinvalid var name: %s)r¼   rÛ   rf  Ústrip_function_callr`  rÆ   rÉ   r  Úis_valid_var_nameÚlogÚwarningrà  )rí   r¢  rf  rh  Úis_valids   &&   r¸   Úarg_refÚGuardBuilder.arg_ref¥  s{   € ä�eœS×!Ò!Ø‰Dà—:‘:ˆDÜ" 4Ó(ˆØ—}‘}Ô$Ü—x‘x×'Ñ'×9Ñ9¸$Ó?ˆHßØ˜q”=Ü—K‘KÐ 6¸Ô>Ø—‘×$Ñ$ TÔ*àˆrº   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r±   r¢  r:   r¤  rÛ   r  z(Callable[[GuardBuilderBase, Guard], Any]r´   ró   r¶   )r·   s   "r¸   r¹   rN  µ  s2   € ÷ ñ àðð ðð ;ð	ð
 
ñrº   c                	óÒ   € VR 8X  d   \        VP                  4      pM\        VP                  V4      p\        WCVP                  VP
                  R7      pVP                  V 4       R# )r  )rT  rQ  N)r\   r_  rV   r:   rT  rQ  Úcreate)rí   r¢  r¤  r  Úattr_sourceÚ	new_guards   &&&&  r¸   Ú_guard_on_attributeÚ GuardBuilder._guard_on_attributeµ  sY   € ð ˜
Ô"Ü$ U×%=Ñ%=Ó>‰Kä$ U×%=Ñ%=¸yÓIˆKäØ¨¯©À×AQÑAQô
ˆ	ð 	×Ñ˜Örº   c                	óF   € \        V R 4      \        V\        V R 4      4      3# ©r›  )r  rÉ  rö  s   &&r¸   r  ÚGuardBuilder.<lambda>È  s#   € Ü$ U¨FÓ3Ü�EÔ3°E¸6ÓBÓCñ.
rº   c                	ó:   € \        W^ ,          4      V^,          8H  # r#  )rÉ  rý  s   &&r¸   r  rA  Ì  s   € ¬°Àµ{Ó(CÀxÐPQÅ{Ò(Rrº   r!  c               ó$   € V ^8„  d   QhRRRRRR/# ©r±   r¢  r:   r›  r®  r´   ró   r¶   )r·   s   "r¸   r¹   rN  Î  s!   € ÷ 60ñ 60˜Uð 60¨*ð 60Àñ 60rº   c           	     	ój  € Vf   \        R4      hVP                  p\        V\        4      '       d   VP                  pV P                  V4      p\        V P                  V4      V4      pR pV'       d   RV RV: R2pM
RV RV: R2pW`P                  9   d   R # V P                  W.V P                  V4      R7       V P                  V4      pV'       dœ   \        W24      pV P                  V4      p	V P                  V4      p
V P                  W‰4      p\        V
4      '       d-   V P                  VVV
V	VP                  VP                  V4       MFVP!                  VVP                  V	VR7       M&VP#                  V\%        Wa4      VP&                  4       V P                  P)                  V4       R # )Nz'attr must not be None for HASATTR guardúhasattr(r°  r±  znot hasattr()Úprovided_guarded_objectrš  )r6  r_  r¼   rs   rh  r6  rÉ  rh  rm  Ú_set_guard_export_inforæ  rV   ru  r�  r²  rf  r¢  Úadd_no_hasattr_guardra  rQ  r*  )rí   r¢  r›  r³  ÚrefÚvalrØ   Úbase_managerr;  r¨  r§  r©  s   &&&         r¸   ÚHASATTRÚGuardBuilder.HASATTRÇ  s   € ð Š<Ü Ð!JÓKÐKØ×)Ñ)ˆÜ�fœn×-Ò-Ø—[‘[ˆFà�l‰l˜5Ó!ˆÜ�d—h‘h˜u“o tÓ,ˆØˆßØ˜c˜U " T¡H¨AÐ.‰Dà! #  b¨©°Ð2ˆDà×0Ñ0Ô0Ùà×#Ñ#Ø�6°4·8±8¸E³?ð 	$ô 	
ð ×9Ñ9¸&ÓAˆßô % VÓ2ˆKØ ŸH™H [Ó1ˆMØ!%§¡¨%£ÐØ!%×!<Ñ!<¸[Ó!XÐô 4Ð4F×GÒGØ×)Ñ)ØØ Ø&Ø!Ø—K‘KØ×$Ñ$Ø&õð ×,Ñ,ØØ Ÿ:™:Ø"/Ø'9ð	 -õ ð ×-Ñ-ØÔ,¨TÓ9¸5×;KÑ;Kôð 	×%Ñ%×)Ñ)¨$Ö/rº   c                	ó   € \        V R 4      # r@  ©r  rö  s   &&r¸   r  rA  	  s   € Ô-EÀeÈVÔ-Trº   c                	ó   € WP                   9  # rÅ   )r[  rý  s   &&r¸   r  rA  	  s   € ¨¿¹Ò(Frº   c               ó$   € V ^8„  d   QhRRRRRR/# rD  r¶   )r·   s   "r¸   r¹   rN  
	  s$   € ÷ 0ñ 0Øð0Ø",ð0à	ñ0rº   c                	óÚ  € Vf   \        R4      hV P                  V4      pV P                  V4      pV P                  V4      pRV: RV R2pW`P                  9   d   R # VP
                   R2pVP                  VV P                  VP                  4      \        P                  R7      pVP                  RV\        Wa4      VP                  4       V P                  P                  V4       R # )Nz;attr must not be None for NOT_PRESENT_IN_GENERIC_DICT guardúnot ___dict_contains(r°  z
.__dict__)rœ  r�  F)r6  r6  rh  rt  rm  rf  r£  r�  r[  rª  r±  Úadd_dict_contains_guardra  rQ  r*  )	rí   r¢  r›  rJ  rK  rL  rØ   r¨  r°  s	   &&&      r¸   ÚNOT_PRESENT_IN_GENERIC_DICTÚ(GuardBuilder.NOT_PRESENT_IN_GENERIC_DICT	  së   € ð Š<Ü ØMóð ð �l‰l˜5Ó!ˆØ�h‰h�u‹oˆà×-Ñ-¨eÓ4ˆà& t¡h¨b°°°ZÐ@ˆØ×0Ñ0Ô0Ùà"ŸZ™Z˜L¨	Ð2ˆØ#/×#HÑ#HØ"Ø×FÑFÀsÇ|Á|ÓTÜ/×=Ñ=ð $Ió $
Ð ð 	!×8Ñ8ØØÜ" 4Ó/Ø×Ñô		
ð 	×%Ñ%×)Ñ)¨$Ö/rº   c                	ó   € \        V4      # rÅ   ©r7  rö  s   &&r¸   r  rA  *	  s   € ¬T°%¬[rº   c                	ó   € \        V 4      VJ # rÅ   rY  rý  s   &&r¸   r  rA  +	  s   € ¬¨U«°xÑ(?rº   c               ó    € V ^8„  d   QhRRRR/# ©r±   r¢  r:   r´   ró   r¶   )r·   s   "r¸   r¹   rN  -	  s   € ÷ 
ñ 
 ð 
¨$ñ 
rº   c           	     	óJ  € V P                  V4      p\        V\        P                  P                  4      '       d    VP
                  '       d   VP
                  pM\        V4      pVP                  VP                  8w  d   R Vn	        V P                  VRVP                   R24      p\        V4      pRV P                  V4       RV RV 2pV P                  W.4       V P                  V4      P!                  V\#        WaRVP                   2R7      VP$                  4       R# )	Tútype(r±  z___check_type_id(r°  ú), type=útype ©rZ  N)rh  r¼   rÆ   Ú_subclassesÚ
FakeTensorrz  r7  rû   rù   Ú_unserializablerD  rf  rL  r6  rH  rt  Úadd_type_match_guardra  rQ  ©rí   r¢  r²   r´  r¶  Ú	type_reprrØ   s   &&     r¸   Ú
TYPE_MATCHÚGuardBuilder.TYPE_MATCH)	  sÿ   € ð —‘˜“ˆäØ”u×(Ñ(×3Ñ3÷ò ð ——�à—‘‰Aä�U“ˆAà�>‰>˜QŸZ™ZÔ'ð %)ˆEÔ!à—‘˜Q %¨¯
©
 |°1Ð 5Ó6ˆÜ# AÓ&ˆ	Ø" 4§<¡<°Ó#6Ð"7°r¸&¸ÀÈ)ÈÐUˆØ×#Ñ# E¨6Ô2à×Ñ˜uÓ%×:Ñ:ØÜ"Ø¨e°A·N±NÐ3CÐ,Dôð ×Ñö	
rº   c                	ód   € \        \        V\        4      '       d   VP                  4      # T4      # rÅ   ©r7  r¼   r@   Úreal_objrö  s   &&r¸   r  rA  M	  s%   € ¬TÜ(¨Ô0@×AÒAˆE�N‰Nô.
ØGLô.
rº   c                	ól   € \        \        V \        4      '       d   V P                  4      VJ # T 4      VJ # rÅ   rk  rý  s   &&r¸   r  rA  P	  s9   € ¬Ü(¨Ô0@×AÒAˆE�N‰Nó)
ð ñ)ØGLó)
ð ñ)rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  U	  s   € ÷ 
ñ 
¨Eð 
°dñ 
rº   c           
     	ó  € V P                  V4      p\        V\        4      '       d   \        VP                  4      pM\        V4      pVP
                  VP                  8w  d   R Vn        V P                  VRVP                   R24      p\        V4      pRV P                  V4       RV RV 2pV P                  W.4       V P                  V4      P                  \        V\        WaRVP
                   2R7      VP                   4       R# )	Tr^  r±  z___check_fake_script_type(r°  r_  r`  ra  N)rh  r¼   r@   r7  rl  rû   rù   rd  rD  rf  rL  r6  rH  rt  Ú add_fake_script_type_match_guardra  rQ  rf  s   &&     r¸   ÚFAKE_SCRIPT_TYPE_MATCHÚ#GuardBuilder.FAKE_SCRIPT_TYPE_MATCHL	  sì   € ð —‘˜“ˆÜ�eÔ-×.Ò.Ü�U—^‘^Ó$‰Aä�U“ˆAà�>‰>˜QŸZ™ZÔ'Ø$(ˆEÔ!à—‘˜Q %¨¯
©
 |°1Ð 5Ó6ˆÜ# AÓ&ˆ	Ø+¨D¯L©L¸Ó,?Ð+@ÀÀ6À(È(ÐS\ÐR]Ð^ˆØ×#Ñ# E¨6Ô2à×Ñ˜uÓ%×FÑFÜØÜ"Ø¨e°A·N±NÐ3CÐ,Dôð ×Ñö	
rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  t	  s   € ÷ 
ñ 
 %ð 
¨Dñ 
rº   c                	ó  € V P                  V4      pV P                  V4      p\        V P                  V4      4      pR V RV 2pV P                  W.4       V P	                  V4      P                  V\        WQ4      VP                  4       R# )z___dict_version(ú) == N)r6  rh  r   rH  rt  Úadd_dict_version_guardra  rQ  )rí   r¢  rJ  rK  ÚversionrØ   s   &&    r¸   ÚDICT_VERSIONÚGuardBuilder.DICT_VERSIONs	  s�   € ð �l‰l˜5Ó!ˆØ�h‰h�u‹oˆÜ˜tŸx™x¨›Ó/ˆØ! #  e¨G¨9Ð5ˆØ×#Ñ# E¨6Ô2ð 	×Ñ˜uÓ%×<Ñ<ØÔ'¨Ó4°e×6FÑ6Fö	
rº   c                	ó   € \        V R 4      # ©rˆ  rP  rö  s   &&r¸   r  rA  ƒ	  ó   € Ô-EÀeÈUÔ-Srº   c                	ó
   € W9   # rÅ   r¶   rý  s   &&r¸   r  rA  „	  ó   € ¨Ò(9rº   c               ó$   € V ^8„  d   QhRRRRRR/# ©r±   r¢  r:   rˆ  rÛ   r´   ró   r¶   )r·   s   "r¸   r¹   rN  †	  s!   € ÷ 0ñ 0 5ð 0¨sð 0°tñ 0rº   c                	ó&  € V P                  V4      pR V: RV R2pW@P                  9   d   R# V P                  W.4       V P                  V4      P	                  RV\        WA4      VP                  4       V P                  P                  V4       R# )z___dict_contains(r°  r±  NT©r6  rm  rH  rt  rU  ra  rQ  r*  ©rí   r¢  rˆ  Údict_refrØ   s   &&&  r¸   ÚDICT_CONTAINSÚGuardBuilder.DICT_CONTAINS‚	  s‹   € ð
 —<‘< Ó&ˆà" 3¡'¨¨H¨:°QÐ7ˆØ×0Ñ0Ô0ÙØ×#Ñ# E¨6Ô2à×Ñ˜uÓ%×=Ñ=ØØÜ" 4Ó/Ø×Ñô		
ð 	×%Ñ%×)Ñ)¨$Ö/rº   c                	ó   € \        V R 4      # r{  rP  rö  s   &&r¸   r  rA  —	  r|  rº   c                	ó
   € W9  # rÅ   r¶   rý  s   &&r¸   r  rA  ˜	  ó   € ¨Ò(=rº   c               ó$   € V ^8„  d   QhRRRRRR/# r€  r¶   )r·   s   "r¸   r¹   rN  š	  s!   € ÷ 0ñ 0 uð 0°3ð 0¸4ñ 0rº   c                	ó&  € V P                  V4      pR V: RV R2pW@P                  9   d   R# V P                  W.4       V P                  V4      P	                  RV\        WA4      VP                  4       V P                  P                  V4       R# )rT  r°  r±  NFr‚  rƒ  s   &&&  r¸   ÚDICT_NOT_CONTAINSÚGuardBuilder.DICT_NOT_CONTAINS–	  s‹   € ð
 —<‘< Ó&ˆà& s¡g¨R°¨z¸Ð;ˆØ×0Ñ0Ô0ÙØ×#Ñ# E¨6Ô2à×Ñ˜uÓ%×=Ñ=ØØÜ" 4Ó/Ø×Ñô		
ð 	×%Ñ%×)Ñ)¨$Ö/rº   c                	ó   € \        V R 4      # r{  rP  rö  s   &&r¸   r  rA  «	  r|  rº   c                	ó
   € W9   # rÅ   r¶   rý  s   &&r¸   r  rA  ¬	  r~  rº   c               ó$   € V ^8„  d   QhRRRRRR/# ©r±   r¢  r:   rˆ  r³   r´   ró   r¶   )r·   s   "r¸   r¹   rN  ®	  s!   € ÷ 0ñ 0 %ð 0¨fð 0¸ñ 0rº   c                	ó*  € V P                  V4      pTpR V RV: R2pWPP                  9   d   R# V P                  W.4       V P                  V4      P	                  RV\        WQ4      VP                  4       V P                  P                  V4       R# )zset.__contains__(r°  r±  NT©r6  rm  rH  rt  Úadd_set_contains_guardra  rQ  r*  ©rí   r¢  rˆ  Úset_refrÝ  rØ   s   &&&   r¸   ÚSET_CONTAINSÚGuardBuilder.SET_CONTAINSª	  s�   € ð
 —,‘,˜uÓ%ˆØˆà" 7 )¨2¨d©X°QÐ7ˆØ×0Ñ0Ô0Ùà×#Ñ# E¨6Ô2à×Ñ˜uÓ%×<Ñ<ØØÜ" 4Ó/Ø×Ñô		
ð 	×%Ñ%×)Ñ)¨$Ö/rº   c                	ó   € \        V R 4      # r{  rP  rö  s   &&r¸   r  rA  Á	  r|  rº   c                	ó
   € W9  # rÅ   r¶   rý  s   &&r¸   r  rA  Â	  r‰  rº   c               ó$   € V ^8„  d   QhRRRRRR/# r‘  r¶   )r·   s   "r¸   r¹   rN  Ä	  s!   € ÷ 0ñ 0 eð 0°&ð 0¸Tñ 0rº   c                	ó*  € V P                  V4      pTpR V RV: R2pWPP                  9   d   R# V P                  W.4       V P                  V4      P	                  RV\        WQ4      VP                  4       V P                  P                  V4       R# )znot set.__contains__(r°  r±  NFr“  r•  s   &&&   r¸   ÚSET_NOT_CONTAINSÚGuardBuilder.SET_NOT_CONTAINSÀ	  s�   € ð
 —,‘,˜uÓ%ˆØˆà& w i¨r°$±¸Ð;ˆØ×0Ñ0Ô0Ùà×#Ñ# E¨6Ô2à×Ñ˜uÓ%×<Ñ<ØØÜ" 4Ó/Ø×Ñô		
ð 	×%Ñ%×)Ñ)¨$Ö/rº   c                	ó   € V# rÅ   r¶   rö  s   &&r¸   r  rA  ×	  ó   € ©Urº   c                	ó
   € W8H  # rÅ   r¶   rý  s   &&r¸   r  rA  Ø	  ó   € ¨Ò(9rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  Ú	  s   € ÷ ñ  ð ¨$ñ rº   c                	ó¼  € V P                  V4      pV P                  V4      p\        V\        4      '       g   \	        R \        V4       24      hV RV: 2.pV P                  W4       V'       d7   V P                  V4      P                  \        WA4      VP                  4       R# V P                  V4      P                  \        WA4      VP                  4       R# )zExpected bool, got r¯  N)r6  rh  r“   rÒ   r6  r7  rH  rt  Úadd_true_match_guardra  rQ  Úadd_false_match_guard©rí   r¢  rJ  rK  rØ   s   &&   r¸   Ú
BOOL_MATCHÚGuardBuilder.BOOL_MATCHÖ	  s»   € ð �l‰l˜5Ó!ˆØ�h‰h�u‹oˆÜ�cœ4× Ò Ü Ð#6´t¸C³y°kÐ!BÓCÐCØ�%�t˜C™7Ð#Ð$ˆØ×#Ñ# EÔ0çØ×"Ñ" 5Ó)×>Ñ>Ü& tÓ3°U×5EÑ5Eöð ×"Ñ" 5Ó)×?Ñ?Ü& tÓ3°U×5EÑ5Eörº   c                	ó   € \        V4      # rÅ   )rÏ   rö  s   &&r¸   r  rA  í	  ó
   € Ô-?ÀÔ-Frº   c                	ó   € \        W4      # rÅ   ©rÖ   rý  s   &&r¸   r  rA  î	  s
   € Ô(;¸EÔ(Lrº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  ð	  s   € ÷ 
ñ 
 eð 
°ñ 
rº   c                	óP  a€ \        V P                  V4      4      o\        S\        4      '       g   \	        R 4      hR V3R llpRV P                  V4       RS: R2pV P                  W.4       V P                  V4      P                  V\        W14      VP                  4       R# )z(COW_TENSOR_MATCH requires a plain Tensorc               ó    € V ^8„  d   QhRRRR/# ©r±   rÎ  r³   r´   rÒ   r¶   )r·   s   "r¸   r¹   Ú3GuardBuilder.COW_TENSOR_MATCH.<locals>.__annotate__õ	  s   € ÷ 	4ñ 	4˜ð 	4 4ñ 	4rº   c                ó   <€ \        V S4      # rÅ   r­  ©rÎ  rÑ   s   &€r¸   r  Ú/GuardBuilder.COW_TENSOR_MATCH.<locals>.guard_fnõ	  s   ø€ Ü& q¨(Ó3Ð3rº   z___cow_tensor_matches(r°  r±  N)rÏ   rh  r¼   rÒ   r6  r6  rH  rt  r   ra  rQ  ©rí   r¢  r  rØ   rÑ   s   &&  @r¸   ÚCOW_TENSOR_MATCHÚGuardBuilder.COW_TENSOR_MATCHì	  s—   ø€ ô
 & d§h¡h¨u£oÓ6ˆÜ˜(¤D×)Ò)Ü Ð!KÓLÐL÷	4ð 	4ð (¨¯©°UÓ(;Ð'<¸B¸x¹lÈ!ÐLˆØ×#Ñ# E¨6Ô2Ø×Ñ˜uÓ%×6Ñ6ØÜ" 4Ó/Ø×Ñö	
rº   c                	ó   € R # rÅ   r¶   rö  s   &&r¸   r  rA  
  ó   € ©Trº   c                	ó
   € V R J # rÅ   r¶   rý  s   &&r¸   r  rA  
  s   € ¨°©rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  
  s   € ÷ 
ñ 
 ð 
¨$ñ 
rº   c                	ó  € V P                  V4      pV P                  V4      pVe   \        R\        V4       24      hV R2.pV P	                  W4       V P                  V4      P                  \        WA4      VP                  4       R # )NzExpected None, got z is None)	r6  rh  r6  r7  rH  rt  Úadd_none_match_guardra  rQ  r§  s   &&   r¸   Ú
NONE_MATCHÚGuardBuilder.NONE_MATCH 
  s�   € ð �l‰l˜5Ó!ˆØ�h‰h�u‹oˆØŠ?Ü Ð#6´t¸C³y°kÐ!BÓCÐCØ�%�xÐ Ð!ˆØ×#Ñ# EÔ0à×Ñ˜uÓ%×:Ñ:Ü" 4Ó/°×1AÑ1Aö	
rº   c                	ó   € V# rÅ   r¶   rö  s   &&r¸   r  rA  
  r   rº   c                	ó   € WJ # rÅ   r¶   rý  s   &&r¸   r  rA  
  ó   € ¨Ñ(9rº   c               ó$   € V ^8„  d   QhRRRRRR/# ©r±   r¢  r:   rZ  r®  r´   ró   r¶   )r·   s   "r¸   r¹   rN  
  s!   € ÷ >ñ >˜eð >°Zð >È4ñ >rº   c                	ó$   € V P                  W4      # rÅ   )Úid_match_unchecked)rí   r¢  rZ  s   &&&r¸   ÚID_MATCHÚGuardBuilder.ID_MATCH
  s   € ð ×&Ñ& uÓ=Ð=rº   c               ó$   € V ^8„  d   QhRRRRRR/# rÅ  r¶   )r·   s   "r¸   r¹   rN  
  s$   € ÷  ?ñ  ?Øð ?Ø,6ð ?à	ñ ?rº   c                	óZ  € \        VP                  \        4      '       d>   V P                  \	        VP                  P
                  \        P                  4      4      # V P                  V4      pV P                  V4      pV P                  WAP                  4      p\        \        P                  ! V4      '       d   TM
\        V4      4      pR V RV RV 2pV P                  W.RR7       V P!                  V4      P#                  V\%        WqV4      VP&                  4       \        VP                  \(        4      '       dj   \        V\*        P,                  P.                  4      '       d>   VP                  P0                  pV P3                  V4      p	V	e   W�P4                  V&   R# R# R# R# )z___check_obj_id(r°  r_  rÈ  )Úprovided_func_nameN)r¼   r_  r~   rh  r:   rh  rA  r6  rh  rD  rf  rL  r  Úisclassr7  rH  rt  r~  ra  rQ  rq   rÆ   r  r€  rç  rF  r  )
rí   r¢  rZ  rJ  rK  r€  rg  rØ   rç  Úweak_ids
   &&&       r¸   rÇ  ÚGuardBuilder.id_match_unchecked
  s]  € ô �e×.Ñ.´
×;Ò;à—?‘?Ü�e×.Ñ.×3Ñ3´\×5LÑ5LÓMóð ð �l‰l˜5Ó!ˆØ�h‰h�u‹oˆØ—‘˜S§*¡*Ó-ˆÜ#¬7¯?ª?¸3×+?Ò+?¡CÄTÈ#ÃYÓOˆ	Ø! #  b¨¨°¸¸ÐDˆØ×#Ñ# E¨6ÀjÐ#ÔQØ×Ñ˜uÓ%×8Ñ8ØÜ" 4°Ó?Ø×Ñô	
ô �e×.Ñ.´×<Ò<ô ˜#œuŸx™xŸ™×/Ò/Ø"×5Ñ5×@Ñ@�
Ø×.Ñ.¨sÓ3�ØÒ&Ø7>×(Ñ(¨Ó4ñ 'ñ 0ñ	 =rº   c                	ó   € R # rÅ   r¶   rö  s   &&r¸   r  rA  A
  rº  rº   c                	ó
   € V R J# rÅ   r¶   rý  s   &&r¸   r  rA  B
  ó	   € ¨°TÑ(9rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r¢  r:   r²   úobject | Noner´   ró   r¶   )r·   s   "r¸   r¹   rN  D
  s!   € ÷ 

ñ 

 Eð 

°-ð 

È4ñ 

rº   c                	óN  € V P                  V4      pV P                  V4      p\        V\        P                  4      '       g   \        R \        V4       24      hV R2pV P                  W.4       V P                  V4      P                  \        WQ4      VP                  4       R# )úExpected torch.Tensor, got ú is not NoneN)r6  rh  r¼   rÆ   rÇ   r6  r7  rH  rt  Úadd_not_none_guardra  rQ  )rí   r¢  r²   rJ  rK  rØ   s   &&&   r¸   ÚNOT_NONE_MATCHÚGuardBuilder.NOT_NONE_MATCH@
  sŒ   € ð
 �l‰l˜5Ó!ˆØ�h‰h�u‹oˆÜ˜#œuŸ|™|×,Ò,Ü Ð#>¼tÀC»y¸kÐ!JÓKÐKØ��lÐ#ˆØ×#Ñ# E¨6Ô2à×Ñ˜uÓ%×8Ñ8Ü" 4Ó/°×1AÑ1Aö	
rº   c                	ó"   € VP                  4       # rÅ   ©Úraw_reprrö  s   &&r¸   r  rA  Q
  s   € ¨U¯^©^Ô-=rº   c                	ó(   € V P                  4       V8H  # rÅ   rÜ  rý  s   &&r¸   r  rA  R
  s   € ¨¯©Ó(8¸HÒ(Drº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  T
  s   € ÷ 
ñ 
¨Eð 
°dñ 
rº   c                	óH  € V P                  V4      pV P                  V4      p\        V\        P                  P
                  4      '       g   \        R \        V4       24      hV RV: R2pV P                  V4      P                  V\        WA4      VP                  4       R# )zExpected DispatchKeySet, got z.raw_repr() == z.raw_repr()N)r6  rh  r¼   rÆ   rÉ   r¤   r6  r7  rt  Úadd_dispatch_key_set_guardra  rQ  )rí   r¢  rJ  rK  r  s   &&   r¸   ÚDISPATCH_KEY_SET_MATCHÚ#GuardBuilder.DISPATCH_KEY_SET_MATCHP
  sŒ   € ð
 �l‰l˜5Ó!ˆØ�h‰h�u‹oˆÜ˜#œuŸx™x×6Ñ6×7Ò7Ü Ð#@ÄÀcÃÀÐ!LÓMÐMØ�u˜O¨C©7°+Ð>ˆ
à×Ñ˜uÓ%×@Ñ@ØÜ" :Ó5Ø×Ñö	
rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  c
  s   € ÷ 
ñ 
 ð 
¨$ñ 
rº   c                	ó.  € V P                   P                  f   \        R4      hV P                   P                  P                  pRV 2.pV P	                  W4       V P
                  P                  P                  V\        W14      VP                  4       R # )NrV  z,torch.autograd.forward_ad._current_level == )
rH  rf  r6  Ú
dual_levelrH  r¬  r  Úadd_dual_level_match_guardra  rQ  )rí   r¢  ræ  rØ   s   &&  r¸   Ú
DUAL_LEVELÚGuardBuilder.DUAL_LEVELb
  s„   € ð × Ñ ×-Ñ-Ò5Ü Ð!QÓRÐRØ×*Ñ*×7Ñ7×BÑBˆ
Ø>¸z¸lÐKÐLˆØ×#Ñ# EÔ0Ø×Ñ×Ñ×:Ñ:ØÜ" 4Ó/Ø×Ñö	
rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  s
  s   € ÷ 
ñ 
¨5ð 
°Tñ 
rº   c                	óØ  aa€ V P                   P                  f   \        R4      hV P                   P                  P                  pV Uu. uF  q3P	                  4       NK  	  upoRS R2.pV P                  W4       \        P                  P                  P                  oR VV3R llpV P                  P                  P                  V\        WA4      VP                  4       R # u upi )NrV  z5torch._functorch.pyfunctorch.compare_functorch_state(r±  c               ó    € V ^8„  d   QhRRRR/# r±  r¶   )r·   s   "r¸   r¹   Ú8GuardBuilder.FUNCTORCH_STACK_MATCH.<locals>.__annotate__€
  s   € ÷ 	&ñ 	&�&ð 	&˜Tñ 	&rº   c                ó   <€ S! S4      # rÅ   r¶   )rÎ  Ú
compare_fnÚstatess   &€€r¸   r$  Ú.GuardBuilder.FUNCTORCH_STACK_MATCH.<locals>.fn€
  s   ø€ Ù˜fÓ%Ð%rº   )rH  rf  r6  Úfunctorch_layersÚ	get_staterH  rÆ   Ú
_functorchÚpyfunctorchÚcompare_functorch_stater¬  r  r   ra  rQ  )rí   r¢  ÚcisÚcirØ   r$  rï  rð  s   &&    @@r¸   ÚFUNCTORCH_STACK_MATCHÚ"GuardBuilder.FUNCTORCH_STACK_MATCHr
  sÈ   ù€ ð × Ñ ×-Ñ-Ò5Ü Ð!QÓRÐRØ×#Ñ#×0Ñ0×AÑAˆÙ+.Ó/©3 R—,‘,–.©3Ñ/ˆØGÈÀxÈqÐQÐRˆØ×#Ñ# EÔ0ô ×%Ñ%×1Ñ1×IÑIˆ
÷	&ñ 	&ð 	×Ñ×Ñ×0Ñ0ØÔ& tÓ3°U×5EÑ5Eö	
ùò 0s   Á
C'c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  ‰
  s   € ÷ 
ñ 
°%ð 
¸Dñ 
rº   c                	óª  aaaa€ \         P                  P                  P                  P                  o\         P                  P                  P                  P
                  oR  V3R lloS! S! 4       4      oRS 2.pV P                  W4       R VVV3R llpV P                  P                  P                  V\        W!4      VP                  4       R# )c               ó    € V ^8„  d   QhRRRR/# )r±   ÚhookszCtuple[Callable[[torch.Tensor], Any], Callable[[Any], torch.Tensor]]r´   ztuple[int, ...] | Noner¶   )r·   s   "r¸   r¹   Ú?GuardBuilder.AUTOGRAD_SAVED_TENSORS_HOOKS.<locals>.__annotate__�
  s   € ÷ 	)ñ 	)ØVð	)à#ñ	)rº   c                óV   <€ S! V 4      '       g   R # \        \        \        V 4      4      # rÅ   )r‰  Úmapr  )rþ  Úare_inline_hookss   &€r¸   Úhooks_ids_fnÚ?GuardBuilder.AUTOGRAD_SAVED_TENSORS_HOOKS.<locals>.hooks_ids_fn�
  s$   ø€ ñ $ E×*Ò*ÙäœœR ›Ó(Ð(rº   zCtorch._functorch.aot_autograd.utils.top_saved_tensors_hooks ids == c               ó    € V ^8„  d   QhRRRR/# r±  r¶   )r·   s   "r¸   r¹   rÿ  ž
  s   € ÷ 	@ñ 	@�&ð 	@˜Tñ 	@rº   c                ó$   <€ SS! S! 4       4      8H  # rÅ   r¶   )rÎ  Ú	get_hooksÚguard_hooks_idsr  s   &€€€r¸   r$  Ú5GuardBuilder.AUTOGRAD_SAVED_TENSORS_HOOKS.<locals>.fnž
  s   ø€ Ø"¡l±9³;Ó&?Ñ?Ð?rº   N)rÆ   rô  Ú_aot_autogradr;  Útop_saved_tensors_hooksÚ"saved_tensors_hooks_are_inlineablerH  r¬  r  r   ra  rQ  )rí   r¢  rØ   r$  r  r  r  r  s   &&  @@@@r¸   ÚAUTOGRAD_SAVED_TENSORS_HOOKSÚ)GuardBuilder.AUTOGRAD_SAVED_TENSORS_HOOKSˆ
  s¹   û€ ä×$Ñ$×2Ñ2×8Ñ8×PÑPˆ	ä×Ñ×*Ñ*×0Ñ0×SÑSð 	÷	)ð 	)ñ '¡y£{Ó3ˆð RÐRaÐQbÐcð
ˆð 	×#Ñ# EÔ0÷	@ò 	@ð 	×Ñ×Ñ×0Ñ0ØÔ& tÓ3°U×5EÑ5Eö	
rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  ©
  s   € ÷ -
ñ -
°Eð -
¸dñ -
rº   c                	ó@  aaa	€ V P                  V4      p ! R  R4      oVP                  4       ^,          p\        VR4      pV'       d   \        V4       \	        V4      oM\        V\	        V4      4       \        \        P                  ! \        P                  V3R lV4      4      o	V'       d   R VV	3R llpM	R V	3R llpR\        V4       R	\        P                  ! 4        2pV P                  V4      P                  V\!        Wa4      VP"                  4       R
# )c                  ó.   € ] tR tRtR R ltR R ltRtR# )Ú@GuardBuilder.TENSOR_SUBCLASS_METADATA_MATCH.<locals>._AnyComparei®
  c               ó    € V ^8„  d   QhRRRR/# ©r±   Úotherr³   r´   rÒ   r¶   )r·   s   "r¸   r¹   ÚMGuardBuilder.TENSOR_SUBCLASS_METADATA_MATCH.<locals>._AnyCompare.__annotate__¯
  s   € ÷ ñ  Fð ¨tñ rº   c                	ó   € R # ©Tr¶   ©rí   r  s   &&r¸   Ú__eq__ÚGGuardBuilder.TENSOR_SUBCLASS_METADATA_MATCH.<locals>._AnyCompare.__eq__¯
  s   € Ùrº   c               ó    € V ^8„  d   QhRRRR/# r  r¶   )r·   s   "r¸   r¹   r  ²
  s   € ÷ ñ  Fð ¨tñ rº   c                	ó   € R # rÔ   r¶   r  s   &&r¸   Ú__ne__ÚGGuardBuilder.TENSOR_SUBCLASS_METADATA_MATCH.<locals>._AnyCompare.__ne__²
  s   € Ùrº   r¶   N)rù   rú   rû   rü   r  r  rý   r¶   rº   r¸   Ú_AnyComparer  ®
  s   † õ÷ñ rº   r   rê  c                ó   <€ S! 4       # rÅ   r¶   )rà  r   s   &€r¸   r  Ú=GuardBuilder.TENSOR_SUBCLASS_METADATA_MATCH.<locals>.<lambda>¾
  s   ø€ ¹¼rº   c               ó    € V ^8„  d   QhRRRR/# r±  r¶   )r·   s   "r¸   r¹   ÚAGuardBuilder.TENSOR_SUBCLASS_METADATA_MATCH.<locals>.__annotate__Å
  s   € ÷ ñ  Fð ¨tñ rº   c                óR   <€ SP                  SV P                  4       ^,          4      # rÝ   )rê  rë  )rÎ  rã  Úoriginal_metadatas   &€€r¸   Úmetadata_checkerÚEGuardBuilder.TENSOR_SUBCLASS_METADATA_MATCH.<locals>.metadata_checkerÅ
  s*   ø€ Ø×-Ñ-Ø%Ø×(Ñ(Ó*¨1Õ-óð rº   c               ó    € V ^8„  d   QhRRRR/# r±  r¶   )r·   s   "r¸   r¹   r$  Í
  s   € ÷ Fñ F Fð F¨tñ Frº   c                ó8   <€ V P                  4       ^,          S8H  # rÝ   rÔ  )rÎ  r&  s   &€r¸   r'  r(  Í
  s   ø€ à×+Ñ+Ó-¨aÕ0Ð4EÑEÐErº   Ú___check_metadata_Ú_cN)rh  rë  rÉ  rœ   r7  rç  r   r×  Útree_map_onlyrÆ   ro  r  r7   Úcurrent_compile_idrt  r   ra  rQ  )
rí   r¢  r²   rÕ  rì  r'  rÉ  r   rã  r&  s
   &&     @@@r¸   ÚTENSOR_SUBCLASS_METADATA_MATCHÚ+GuardBuilder.TENSOR_SUBCLASS_METADATA_MATCH¥
  sð   ú€ ð
 —‘˜“ˆ÷	ñ 	ð ×+Ñ+Ó-¨aÕ0ˆÜ" 5Ð*>Ó?ÐßÜ% eÔ,Ü�u“+‰Cä5°hÄÀUÃÔLä$Ü× Ò ¤§¡Ô/FÈÓQó
Ð÷ ÷ò ÷Fð Fð +¬2Ð.>Ó+?Ð*@ÀÄ>×CdÒCdÓCfÐBgÐhˆØ×Ñ˜uÓ%×6Ñ6ØÜ" ;Ó6Ø×Ñö	
rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  Ü
  s   € ÷ 
ñ 
¨ð 
°$ñ 
rº   c                	óÔ   a€ \        WP                  V4      4      oR  V3R llpR\        V4       2pV P                  V4      P	                  V\        W14      VP                  4       R# )c               ó    € V ^8„  d   QhRRRR/# r±  r¶   )r·   s   "r¸   r¹   Ú5GuardBuilder.DTENSOR_SPEC_MATCH.<locals>.__annotate__á
  s   € ÷ 	3ñ 	3˜ð 	3 4ñ 	3rº   c                ó   <€ \        V S4      # rÅ   )rþ  r´  s   &€r¸   r  Ú1GuardBuilder.DTENSOR_SPEC_MATCH.<locals>.guard_fná
  s   ø€ Ü% a¨Ó2Ð2rº   Ú__dtensor_spec_N)r÷  rh  r  rt  r   ra  rQ  r¶  s   &&  @r¸   ÚDTENSOR_SPEC_MATCHÚGuardBuilder.DTENSOR_SPEC_MATCHØ
  s_   ø€ ô (¨¯x©x¸«Ó?ˆ÷	3ð 	3ð !¤ H£ Ð/ˆØ×Ñ˜uÓ%×6Ñ6ØÔ,¨TÓ9¸5×;KÑ;Kö	
rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  í
  s   € ÷ 
ñ 
¨uð 
¸ñ 
rº   c                ó  a€ V P                  V4      p\        W4      oSf   R# R V3R llpR\        V4       R\        P                  ! 4        2pV P                  V4      P                  V\        WA4      VP                  4       R# )z=Guard on the values returned by the opaque object's guard_fn.Nc               ó    € V ^8„  d   QhRRRR/# r±  r¶   )r·   s   "r¸   r¹   Ú<GuardBuilder.OPAQUE_OBJ_GUARD_FN_MATCH.<locals>.__annotate__ö
  s   € ÷ 	8ñ 	8 Fð 	8¨tñ 	8rº   c                ó   <€ \        V S4      # rÅ   )r  )rÎ  Úoriginal_valuess   &€r¸   Úopaque_guard_checkerÚDGuardBuilder.OPAQUE_OBJ_GUARD_FN_MATCH.<locals>.opaque_guard_checkerö
  s   ø€ Ü# A Ó7Ð7rº   Ú___check_opaque_guard_fn_r,  )	rh  r  r  r7   r.  rt  r   ra  rQ  )rí   r¢  r²   r@  rÉ  r?  s   &&   @r¸   ÚOPAQUE_OBJ_GUARD_FN_MATCHÚ&GuardBuilder.OPAQUE_OBJ_GUARD_FN_MATCHé
  s�   ø€ ð —‘˜“ˆÜ,¨UÓ:ˆàÒ"Ù÷	8ð 	8ð 2´"Ð5IÓ2JÐ1KÈ2Ìn×NoÒNoÓNqÐMrÐsˆØ×Ñ˜uÓ%×6Ñ6Ø Ü" ;Ó6Ø×Ñö	
rº   c                	ó   € V# rÅ   r¶   rö  s   &&r¸   r  rA    r   rº   c                	ó
   € W8H  # rÅ   r¶   rý  s   &&r¸   r  rA    r¢  rº   c               ó$   € V ^8„  d   QhRRRRRR/# rÅ  r¶   )r·   s   "r¸   r¹   rN    s&   € ÷ oñ o %ð o¸ð oÈtñ orº   c                	ó~  € V P                  V4      pV P                  V4      p\        '       d©   \        P                  \        P                  \        P
                  \        P                  \        P                  \        P                  \        P                  \        P                  \        P                  \        P                  \        P                  3pMRp\        \        3p\!        \"        \$        \         \&        \(        \*        \,        \.        P0                  \.        P2                  \.        P4                  P6                  P2                  0	VmVm,          4      p\.        P8                  P;                  4       '       d$   ^ RIHpH p	 ^ RI!H"p
H#pH$pH%p VVVVV	V
V3,           p^ RI&H'p W~3,           p^ RI(H)u H*p \W        WG4      '       gS   VPX                  ! \%        V4      4      '       g2   \[        \%        V4      4      '       g   \]        R\%        V4       24      h\_        V\`        4      '       dp   \b        Pd                  ! V4      '       dT   RV RV R2.pV Pg                  VV4       V Pi                  V4      Pk                  \m        VV4      VPn                  4       R# \_        V\p        4      '       dp   \        Pd                  ! V4      '       dT   RV R	V R2.pV Pg                  VV4       V Pi                  V4      Ps                  \m        VV4      VPn                  4       R# V R
V: 2.p\_        WF4      '       d   \u        V4      p\m        VV4      pV'       d   V Uu. uF  pV RV R2NK  	  ppV Pi                  V4      Pw                  VVVPn                  4       V Pg                  VV4       R# u upi )r$  )Ú_MeshLayoutÚ
DeviceMesh)Ú_StridedShardÚPartialÚ	ReplicateÚShard)Ú_IntWrapperNzUnexpected type z(type(z) is float and __math_isnan(z))z) is complex and __numpy_isnan(r¯  r\  r±  r¶   )<r6  rh  rò  Úint8Úint16Úint32Úint64Úuint8Úuint16Úuint32Úuint64Úfloat16Úfloat32Úfloat64r]  r½   r‰  rŒ   r7  r¿   ÚsliceÚrangerŽ   rÆ   ÚSizeÚStreamÚcudaÚstreamsÚdistributedÚis_availableÚtorch.distributed.device_meshrI  rJ  Ú(torch.distributed.tensor.placement_typesrK  rL  rM  rN  Útorch.export.dynamic_shapesrO  Útorch.utils._pytreer;  rJ   r¼   Úis_constant_classrB   r6  r“   r8  r6  r7  rH  rt  Úadd_float_is_nan_guardra  rQ  ÚcomplexÚadd_complex_is_nan_guardr   r²  )rí   r¢  rZ  rJ  rK  Únp_typesÚok_mutable_typesÚok_typesrI  rJ  rK  rL  rM  rN  rO  r×  rØ   r  r¨  s   &&&                r¸   ÚEQUALS_MATCHÚGuardBuilder.EQUALS_MATCH   s  € ð
 �l‰l˜5Ó!ˆØ�h‰h�u‹oˆß‹2ä—‘Ü—‘Ü—‘Ü—‘Ü—‘Ü—	‘	Ü—	‘	Ü—	‘	Ü—
‘
Ü—
‘
Ü—
‘
ð/‰Hð ˆHä ¤#˜;ÐäÜ!äÜÜÜÜÜÜ—
‘
Ü—‘Ü—
‘
×"Ñ"×)Ñ)ðð ðð "ðõó
ˆô" ×Ñ×)Ñ)×+Ò+ßM÷ó ð  ØØØØØØð#õ ˆHõ 	<à˜nÕ,ˆç,Ð,ô �s×%Ò%Ø×'Ò'¬¨S«	×2Ò2Ü&¤t¨C£y×1Ò1ä Ð#3´D¸³I°;Ð!?Ó@Ð@ô �#”u×Ò¤$§*¢*¨S§/¢/Ø˜S˜EÐ!=¸c¸UÀ"ÐEÐFˆDØ×'Ñ'¨¨tÔ4à×"Ñ" 5Ó)×@Ñ@Ü& t¨UÓ3Ø× Ñ ôñ ô �#”w×Ò¤B§H¢H¨S§M¢MØ˜S˜EÐ!@ÀÀÀRÐHÐIˆDØ×'Ñ'¨¨tÔ4à×"Ñ" 5Ó)×BÑBÜ& t¨UÓ3Ø× Ñ ôñ ð �%�t˜C™7Ð#Ð$ˆÜ�#×(Ò(ô ˜3“-ˆCä3°D¸%Ó@Ðßá?Qó"Ù?Q°t�4�&˜ Ð 0°Ó2Ñ?Qð ð "ð 	×Ñ˜uÓ%×<Ñ<ØÐ# U×%5Ñ%5ô	
ð 	×#Ñ# E¨4Ô0Ùùò"s   Í'N:c                	ó   € V# rÅ   r¶   rö  s   &&r¸   r  rA  v  r   rº   c                	ó
   € W8H  # rÅ   r¶   rý  s   &&r¸   r  rA  w  r¢  rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  y  s   € ÷ 	%ñ 	% Eð 	%¨dñ 	%rº   c                	ó0  € V P                  V4      p\        V\        4      '       d   V P                  V4       R # Vf   V P	                  V4       R # \        V\
        P                  4      '       d   V P                  V4       R # V P                  V4       R # rÅ   )	rh  r“   rÒ   r¨  r¿  r�  ÚCodeTyperÈ  rn  ©rí   r¢  rK  s   && r¸   ÚCONSTANT_MATCHÚGuardBuilder.CONSTANT_MATCHu  sf   € ð
 �h‰h�u‹oˆÜ�#”t×ÒØ�O‰O˜EÖ"ØŠ[Ø�O‰O˜EÖ"Ü�CœŸ™×(Ò(Ø�M‰M˜%Ö à×Ñ˜eÖ$rº   c                	ó   € \        V4      # rÅ   ©r  rö  s   &&r¸   r  rA  …  s
   € Ô-JÈ5Ô-Qrº   c                	ó   € \        V 4      V8H  # rÅ   ry  rý  s   &&r¸   r  rA  †  s   € Ô(EÀeÓ(LØò)rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  ‰  s   € ÷ !
ñ !
¨Uð !
°tñ !
rº   c                óŠ  aa	€ ^RI Hp V P                  V4      pV P                  V4      pRoV F  p\	        W54      '       g   K  Vo M	  Sf   \        R\        V4       24      hS! V4      o	SP                   RV RS	: 2.pR VV	3R llpV P                  V4      P                  V\        Wa4      VP                  4       R# )z¶Guard for subclasses of constant types (int, float, str, etc.).

Extracts the base value using the base type's converter (e.g.,
int.__int__) to avoid calling user-overridden __eq__.
r  Nz No constant base type found for Ú(ru  c               ó    € V ^8„  d   QhRRRR/# r±  r¶   )r·   s   "r¸   r¹   Ú:GuardBuilder.CONSTANT_SUBCLASS_MATCH.<locals>.__annotate__   s   € ÷ 	.ñ 	.˜ð 	. 4ñ 	.rº   c                ó   <€ S! V 4      S8H  # rÅ   r¶   )rÎ  Ú	base_typeÚ
base_values   &€€r¸   Úcheck_fnÚ6GuardBuilder.CONSTANT_SUBCLASS_MATCH.<locals>.check_fn   s   ø€ ñ ˜Q“< :Ñ-Ð-rº   )r  r  rh  r6  r¼   r6  r7  rù   rt  r   ra  rQ  )
rí   r¢  r  rK  rJ  r´  rØ   rƒ  r�  r‚  s
   &&      @@r¸   ÚCONSTANT_SUBCLASS_MATCHÚ$GuardBuilder.CONSTANT_SUBCLASS_MATCH„  sÉ   ù€ õ 	Aà�h‰h�u‹oˆØ�l‰l˜5Ó!ˆð ˆ	Û%ˆAÜ˜#×!Ô!Ø�	Ùñ &ð ÒÜ Ð#CÄDÈÃIÀ;Ð!OÓPÐPá˜s“^ˆ
Ø×%Ñ%Ð& a¨ u¨E°*±Ð@ÐAˆ÷	.ñ 	.ð 	×Ñ˜uÓ%×6Ñ6ØÜ" 4Ó/Ø×Ñö	
rº   c                	ó   € V# rÅ   r¶   rö  s   &&r¸   r  rA  ­  r   rº   c                	ó   € WJ # rÅ   r¶   rý  s   &&r¸   r  rA  ®  rÃ  rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  °  s   € ÷ ñ ˜uð ¨ñ rº   c                	ó°  € V P                  VR 4       V P                  V4      p\        VR4      '       dy   \        VP                  \
        4      '       g"   \        R\        VP                  4       24      hV P                  '       g$   V P                  VR\        P                  4       R	# R	# \        P                  ! RRR\        V4       R2R.R7       R	# )
z%[inline-inbuilt-nn-modules-candidate]Útrainingz&Expected val.training to be bool, got z-Attempted to guard on uninitialized nn.ModulerÇ  zKAttempted to setup an NN_MODULE guard on uninitialized nn.Module subclass `z`.zIEnsure the `nn.Module` subclass instance has called `super().__init__()`.)Úgb_typeÚcontextÚexplanationÚhintsN)rÈ  rh  rÉ  r“   r‹  rÒ   r6  r7  rl  r=  rA  rv  rS   Úunimplementedru  s   && r¸   Ú	NN_MODULEÚGuardBuilder.NN_MODULE¬  sÀ   € ð 	�‰�eÐDÔEØ�h‰h�u‹oˆÜ�3˜
×#Ò#Ü˜#Ÿ,™,¬×-Ò-Ü$Ø<¼TÀ#Ç,Á,Ó=OÐ<PÐQóð ð ×(×(Ð(à×(Ñ(¨°
¼L×<WÑ<WÖXñ )ô ×ÒØGØð'Ü'+¨C£y k°ð5ð `ð÷rº   c                	ó   € V# rÅ   r¶   rö  s   &&r¸   r  rA  È  r   rº   c                	ó   € WJ # rÅ   r¶   rý  s   &&r¸   r  rA  É  rÃ  rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  Ë  s   € ÷ $ñ $ Eð $¨dñ $rº   c                ó$   € V P                  V4      # )z0things like torch.add and user defined functions)rÈ  r  s   &&r¸   ÚFUNCTION_MATCHÚGuardBuilder.FUNCTION_MATCHÇ  s   € ð �}‰}˜UÓ#Ð#rº   c                	ó   € V# rÅ   r¶   rö  s   &&r¸   r  rA  Ñ  r   rº   c                	ó   € WJ # rÅ   r¶   rý  s   &&r¸   r  rA  Ò  rÃ  rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  Ô  s   € ÷ 'ñ ' ð '¨4ñ 'rº   c                ó²   € V P                  V4      p\        P                  ! V4      '       g   \        VP                   R24      hV P                  V4       R# )zNEquals ID_MATCH on classes - better readability than directly calling ID_MATCHz( is not a class, but CLASS_MATCH is usedN)rh  r  rÍ  r6  rf  rÇ  ru  s   && r¸   ÚCLASS_MATCHÚGuardBuilder.CLASS_MATCHÐ  sL   € ð �h‰h�u‹oˆÜ�Š˜s×#Ò#Ü Ø—:‘:�,ÐFÐGóð ð 	×Ñ Ö&rº   c                	ó   € V# rÅ   r¶   rö  s   &&r¸   r  rA  Þ  r   rº   c                	ó   € WJ # rÅ   r¶   rý  s   &&r¸   r  rA  ß  rÃ  rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  á  s   € ÷ 'ñ ' %ð '¨Dñ 'rº   c                ó²   € V P                  V4      p\        P                  ! V4      '       g   \        VP                   R24      hV P                  V4       R# )zNEquals ID_MATCH on modules - better readability than directly calling ID_MATCHz* is not a module, but MODULE_MATCH is usedN)rh  r  Úismoduler6  rf  rÇ  ru  s   && r¸   ÚMODULE_MATCHÚGuardBuilder.MODULE_MATCHÝ  sN   € ð �h‰h�u‹oˆÜ×Ò ×$Ò$Ü Ø—:‘:�,ÐHÐIóð ð 	×Ñ Ö&rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  î  s   € ÷ 
'ñ 
' 5ð 
'¨Tñ 
'rº   c                óî   € V P                  V4      p\        V4      \        P                  J d6   \	        VR4      '       d$   V P                  VR\        P                  4       R# V P                  V4       R# )z!matches a closure by __code__ id.r  N)	rh  r7  r�  r‚  rÉ  r=  rA  rv  r—  ru  s   && r¸   ÚCLOSURE_MATCHÚGuardBuilder.CLOSURE_MATCHê  sW   € ð �h‰h�u‹oˆä�‹9œ×*Ñ*Ó*¬w°s¸J×/GÒ/Gð ×$Ñ$ U¨J¼×8SÑ8SÖTà×Ñ Ö&rº   c                	ó   € V# rÅ   r¶   rö  s   &&r¸   r  rA  û  r   rº   c                	ó   € WJ # rÅ   r¶   rý  s   &&r¸   r  rA  ü  rÃ  rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  þ  s   € ÷ .ñ . 5ð .¨Tñ .rº   c                	óú   € V P                   '       dZ   \        VP                  \        4      '       d:   V P                  P
                  P                  VP                  P                  4       V P                  V4      # rÅ   )	rJ  r¼   r_  rc   rH  Úused_builtin_varsr*  rà   rÇ  r  s   &&r¸   ÚBUILTIN_MATCHÚGuardBuilder.BUILTIN_MATCHú  s`   € ð
 ××Ðä˜%×2Ñ2Ô4E×FÒFØ×%Ñ%×7Ñ7×;Ñ;Ø×,Ñ,×2Ñ2ôð ×&Ñ& uÓ-Ð-rº   c                	ó   € \        V4      # rÅ   ©rÂ   rö  s   &&r¸   r  rA    s
   € Ô-=¸eÔ-Drº   c                	ó   € \        V 4      V8H  # rÅ   r²  rý  s   &&r¸   r  rA  	  s   € Ô(8¸Ó(?À8Ò(Krº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN    s   € ÷ !ñ ! Uð !¨tñ !rº   c                	óö  € V P                  V4      pV P                  V4      p\        V4      p\        V\        4      '       g   V P                  V4       . p\        V\        4      '       d   VP                  R V RV 24       Ma\        V\        4      '       d   VP                  RV RV 24       M3V^ 8X  d   VP                  RV 24       MVP                  RV RV 24       V P                  W4       \        V\        4      '       d8   V P                  V4      P                  V\        WQ4      VP                  4       R# V P                  V4      P                  V\        WQ4      VP                  4       R# )zset.__len__(ru  zfrozenset.__len__(znot zlen(N)r6  rh  rÂ   r¼   rh  rh  r½   rà  r¿   rH  rt  Úadd_dict_length_check_guardra  rQ  Úadd_length_check_guard)rí   r¢  rJ  r²   ÚlengthrØ   s   &&    r¸   ÚSEQUENCE_LENGTHÚGuardBuilder.SEQUENCE_LENGTH  s=  € ð �l‰l˜5Ó!ˆØ—‘˜“ˆÜ! %Ó(ˆä˜%¤×&Ò&à�O‰O˜EÔ"àˆÜ�eœS×!Ò!Ø�K‰K˜, s e¨5°°Ð9Õ:Ü˜œy×)Ò)Ø�K‰KÐ,¨S¨E°°v°hÐ?Õ@Ø�qŒ[Ø�K‰K˜$˜s˜e˜Õ%à�K‰K˜$˜s˜e 5¨¨Ð1Ô2à×#Ñ# EÔ0Ü�eœT×"Ò"Ø×"Ñ" 5Ó)×EÑEØÜ& tÓ3Ø× Ñ öð ×"Ñ" 5Ó)×@Ñ@ØÜ& tÓ3Ø× Ñ örº   c                	ó   € \        V4      # rÅ   ©r›   rö  s   &&r¸   r  rA  /  r«  rº   c                	ó   € \        V 4      V8H  # rÅ   r¼  rý  s   &&r¸   r  rA  0  s   € Ô(:¸5Ó(AÀXÒ(Mrº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  2  s   € ÷ 
ñ 
¨ð 
°$ñ 
rº   c                	óš  € V P                  V4      pV P                  V4      p\        V4      p. pVP                  R V R\	        V4       24       V P                  W4       \        V4      pV P                  VRVP                   R24      pV P                  V4      P                  \	        V4      V\        WQ4      VP                  4       R# )z___tuple_iterator_len(ru  r^  r±  N)r6  rh  r7  rà  r›   rH  rD  rf  rt  Úadd_tuple_iterator_length_guardra  rQ  )rí   r¢  rJ  r²   r´  rØ   r¶  s   &&     r¸   ÚTUPLE_ITERATOR_LENÚGuardBuilder.TUPLE_ITERATOR_LEN.  s·   € ð
 �l‰l˜5Ó!ˆØ—‘˜“ˆÜ�‹KˆàˆØ�‰Ð,¨S¨E°Ô7IÈ%Ó7PÐ6QÐRÔSØ×#Ñ# EÔ0ä�‹KˆØ—‘˜Q %¨¯
©
 |°1Ð 5Ó6ˆà×Ñ˜uÓ%×EÑEÜ˜uÓ%ØÜ" 4Ó/Ø×Ñö		
rº   c                	ó   € \        V4      # rÅ   ©r—   rö  s   &&r¸   r  rA  F  s
   € Ô-AÀ%Ô-Hrº   c                	ó   € \        V 4      V8H  # rÅ   rÄ  rý  s   &&r¸   r  rA  G  s   € Ô(<¸UÓ(CÀxÒ(Orº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  I  s   € ÷ 
ñ 
¨%ð 
°Dñ 
rº   c           
     	óš  € V P                  V4      pV P                  V4      p\        V4      p. p\        V4      pVP	                  R V RV 24       V P                  W4       \        V4      pV P                  VRVP                   R24      pVw  r‰p
V P                  V4      P                  VV	V
V\        WQ4      VP                  4       R# )z___normalize_range_iter(ru  r^  r±  N)r6  rh  r7  r—   rà  rH  rD  rf  rt  Úadd_range_iterator_match_guardra  rQ  )rí   r¢  rJ  r²   r´  rØ   Únormalized_range_iterr¶  ÚstartÚstopÚsteps   &&         r¸   ÚRANGE_ITERATOR_MATCHÚ!GuardBuilder.RANGE_ITERATOR_MATCHE  sÈ   € ð
 �l‰l˜5Ó!ˆØ—‘˜“ˆÜ�‹KˆàˆÜ 4°UÓ ;ÐØ�‰Ð.¨s¨e°5Ð9NÐ8OÐPÔQØ×#Ñ# EÔ0ä�‹KˆØ—‘˜Q %¨¯
©
 |°1Ð 5Ó6ˆà1Ñˆ�TØ×Ñ˜uÓ%×DÑDØØØØÜ" 4Ó/Ø×Ñö	
rº   c                	ó.   € \        V4      \        V4      3# rÅ   ©r7  r–   rö  s   &&r¸   r  rA  a  s   € ¬d°5«kÔ;OÐPUÓ;VÑ-Wrº   c                	ód   € \        V 4      V^ ,          J ;'       d    \        V 4      V^,          8H  # r#  rÐ  rý  s   &&r¸   r  rA  b  s-   € Ü�‹K˜8 A�;Ð&×UÐUÔ+?ÀÓ+FÈ(ÐSTÍ+Ñ+UÐUrº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  f  s   € ÷ 
ñ 
¨%ð 
°Dñ 
rº   c                	ó,  aa€ V P                  V4      pV P                  V4      p\        V4      o\        V4      oR  VV3R llpRV RS 2.pV P	                  W4       V P                  V4      P                  V\        WQ4      VP                  4       R# )c               ó    € V ^8„  d   QhRRRR/# r±  r¶   )r·   s   "r¸   r¹   Ú7GuardBuilder.COUNT_ITERATOR_MATCH.<locals>.__annotate__l  s   € ÷ 	ñ 	˜ð 	 4ñ 	rº   c                óJ   <€ \        V 4      SJ ;'       d    \        V 4      S8H  # rÅ   rÐ  )rÎ  Ú
count_typeÚnormalized_count_iters   &€€r¸   r  Ú3GuardBuilder.COUNT_ITERATOR_MATCH.<locals>.guard_fnl  s.   ø€ ä�Q“˜:Ð%÷ Eð EÜ(¨Ó+Ð/DÑDðrº   z___normalize_count_iter(ru  N)	r6  rh  r7  r–   rH  rt  r   ra  rQ  )rí   r¢  rJ  r²   r  rØ   r×  rØ  s   &&    @@r¸   ÚCOUNT_ITERATOR_MATCHÚ!GuardBuilder.COUNT_ITERATOR_MATCH`  s‘   ù€ ð �l‰l˜5Ó!ˆØ—‘˜“ˆÜ˜%“[ˆ
Ü 4°UÓ ;Ð÷	ñ 	ð +¨3¨%¨uÐ5JÐ4KÐLÐMˆØ×#Ñ# EÔ0Ø×Ñ˜uÓ%×6Ñ6ØÔ,¨TÓ9¸5×;KÑ;Kö	
rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r¢  r:   Úsource_br>   r´   ró   r¶   )r·   s   "r¸   r¹   rN  |  s!   € ÷ ,ñ , Uð ,°fð ,Àñ ,rº   c                	ó  € \        VP                  4      '       g   \        V4      '       d   R # V P                  '       dq   \        V4      ;p'       d&   V P                  P
                  P                  V4       \        V4      ;p'       d&   V P                  P                  P                  V4       V P                  V4      pV P                  VP                  4      p\        VP                  4      '       g   \        V4      '       d   R # WE3pW`P                  9   d   R # V P                  P                  WE34       V P                  P                  WT34       V RV 2.pV P                  W4       \        P                  '       d:   V^ ,          p\!        W�4      ^ ,          p	V P"                  P%                  W‰34       R # \'        V P)                  V4      V P+                  V4      \!        Wq4      VP,                  4       R # )Nú is )r1   r_  rJ  r,   rH  Úadditional_used_local_varsr*  r+   Úadditional_used_global_varsr6  rf  r0   rj  rH  rQ   Ú#use_lamba_guard_for_object_aliasingra  rk  rà  r    rt  ræ  rQ  )
rí   r¢  rÝ  rf  Úref_aÚref_brˆ  rØ   râ  rá  s
   &&&       r¸   ÚDUPLICATE_INPUTÚGuardBuilder.DUPLICATE_INPUT{  s¢  € ä$Ø×$Ñ$÷
ò 
ä& x×0Ò0Ùà××ÐÜ,¨XÓ6Ð6ˆtÖ6Ø×%Ñ%×@Ñ@×DÑDÀTÔJÜ-¨hÓ7Ð7ˆtÖ7Ø×%Ñ%×AÑA×EÑEÀdÔKà—‘˜UÓ#ˆØ—‘˜XŸ]™]Ó+ˆä#Ø×$Ñ$÷
ò 
ä% h×/Ò/Ùð ˆnˆØ×5Ñ5Ô5Ùà×+Ñ+×/Ñ/°°Ô?Ø×+Ñ+×/Ñ/°°Ô?à�'˜˜e˜WÐ%Ð&ˆØ×#Ñ# EÔ0ä×5×5Ð5ð ˜Q�ˆIÜ 6°yÓ HÈÕ KÐØ×,Ñ,×3Ñ3°YÐ4RÖSä)Ø×&Ñ& uÓ-Ø×2Ñ2°8Ó<Ü& tÓ3Ø× Ñ ö	rº   c                	ó   € R # rÅ   r¶   rö  s   &&r¸   r  rA  «  rº  rº   c                	ó
   € V R J# rÅ   r¶   rý  s   &&r¸   r  rA  ¬  rÒ  rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  ®  s   € ÷ 
ñ 
 5ð 
¨Tñ 
rº   c                	óº   € V P                  V4       R 2.pV P                  W4       V P                  V4      P                  \	        W!4      VP
                  4       R# )r×  N)r6  rH  rt  rØ  ra  rQ  ©rí   r¢  rØ   s   && r¸   ÚWEAKREF_ALIVEÚGuardBuilder.WEAKREF_ALIVEª  sT   € ð
 —<‘< Ó&Ð' |Ð4Ð5ˆà×#Ñ# EÔ0Ø×Ñ˜uÓ%×8Ñ8Ü" 4Ó/°×1AÑ1Aö	
rº   c                	ó4   € \        VP                  4       4      # rÅ   ©r]  r¡  rö  s   &&r¸   r  rA  ·  s   € ¬T°%·*±*³,Ô-?rº   c                	ó:   € \        V P                  4       4      V8H  # rÅ   rï  rý  s   &&r¸   r  rA  ¸  s   € ¬¨U¯Z©Z«\Ó(:¸hÒ(Frº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  º  s   € ÷ 

ñ 

¨ð 

°$ñ 

rº   c           	     ó"  € V P                  V4      pV P                  V4      p. pVP                  RV R\        VP	                  4       4       24       V P                  W4       V P                  V4      P                  W4VP                  4       R# )z7Guard on the key order of types.MappingProxyType objectzlist(z.keys()) == N)	r6  rh  rà  r]  r¡  rH  rt  Úadd_mapping_keys_guardrQ  ©rí   r¢  rJ  r²   rØ   s   &&   r¸   ÚMAPPING_KEYS_CHECKÚGuardBuilder.MAPPING_KEYS_CHECK¶  s{   € ð �l‰l˜5Ó!ˆØ—‘˜“ˆàˆØ�‰�e˜C˜5 ¬T°%·*±*³,Ó-?Ð,@ÐAÔBØ×#Ñ# EÔ0Ø×Ñ˜uÓ%×<Ñ<Ø˜×)Ñ)ö	
rº   c                	ó>   € \        \        P                  V4      4      # rÅ   ©r]  rh  r¡  rö  s   &&r¸   r  rA  Ç  s   € ¬T´$·)±)¸EÓ2BÔ-Crº   c                	óD   € \        \        P                  V 4      4      V8H  # rÅ   rø  rý  s   &&r¸   r  rA  È  s   € ¬¬T¯Y©Y°uÓ-=Ó(>À(Ò(Jrº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  Ê  s   € ÷ Cñ C Uð C¨tñ Crº   c           
     ó<  € V P                  V4      pV P                  V4      pV\        P                  P                  P
                  J d?   V P                  '       d   RVn        VP                  '       g   V P                  V4       R# V P                  V4       . pVP                  RV R\        \        V4      4      : 24       V P                  W4       V P                  VP                  4      '       d   V P!                  W14       R# V P#                  W14       R# )z6Insert guard to check that the keys of a dict are sameTNr�  z)) == )r6  rh  rÆ   r;  rJ   rÙ  rJ  Ú_force_dict_keys_matchrx  r¹  rà  r]  r‹   rH  r·  r_  r�  ry  rô  s   &&   r¸   ÚDICT_KEYS_MATCHÚGuardBuilder.DICT_KEYS_MATCHÆ  så   € ð �l‰l˜5Ó!ˆØ—‘˜“ˆð ”E—K‘K×'Ñ'×7Ñ7Ó7Ø××ÐØ/3�Ô,Ø×/×/Ð/Ø×!Ñ! %Ô(Ùà×Ñ˜UÔ#àˆð
 	�‰�o c U¨&´Ô6GÈÓ6NÓ1OÑ0RÐSÔTØ×#Ñ# EÔ0à×+Ñ+¨E×,DÑ,D×EÒEØ×-Ñ-¨eÖ;à×4Ñ4°UÖBrº   c                	ó   € R # rÅ   r¶   rö  s   &&r¸   r  rA  ë  rº  rº   c                	ó   € \        V 4      ^ 8H  # r#  ©rÀ   rý  s   &&r¸   r  rA  ì  s   € ¬¨E«
°aªrº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  î  s   € ÷ $ñ $°ð $¸$ñ $rº   c                óX   € \         P                  '       d   R# V P                  V4       R# )z\Special guard to skip guards on empty hooks. This is controlled by skip_nnmodule_hook_guardsN)rQ   Úskip_nnmodule_hook_guardsr¹  r  s   &&r¸   ÚEMPTY_NN_MODULE_HOOKS_DICTÚ'GuardBuilder.EMPTY_NN_MODULE_HOOKS_DICTê  s!   € ô ×+×+Ð+áØ×Ñ˜UÖ#rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  ÷  s   € ÷ ñ ˜uð ¨ñ rº   c                	ó   € R # rÅ   r¶   r  s   &&r¸   Ú	GRAD_MODEÚGuardBuilder.GRAD_MODEö  ó   € árº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  ü  s   € ÷ ñ ¨eð ¸ñ rº   c                	ó   € R # rÅ   r¶   r  s   &&r¸   ÚDETERMINISTIC_ALGORITHMSÚ%GuardBuilder.DETERMINISTIC_ALGORITHMSû  r  rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN    s   € ÷ ñ ¨ð °4ñ rº   c                	ó   € R # rÅ   r¶   r  s   &&r¸   ÚFSDP_TRAINING_STATEÚ GuardBuilder.FSDP_TRAINING_STATE   r  rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN    s   € ÷ 
ñ 
 %ð 
¨Dñ 
rº   c                	ó8  € V P                   P                  pVf   \        R4      hVP                  pW0P                   n        RV P                   P                  P                  4        2.pV P                  P                  P                  W4VP                  4       R # )Núoutput_graph must not be Nonez ___check_global_state() against )
rH  rf  r6  Úglobal_state_guardÚglobal_stateÚ__getstate__r¬  r  Úadd_global_state_guardrQ  )rí   r¢  rf  r  rØ   s   &&   r¸   ÚGLOBAL_STATEÚGuardBuilder.GLOBAL_STATE  sŒ   € à×,Ñ,×9Ñ9ˆØÒÜ Ð!@ÓAÐAØ#×6Ñ6ˆØ-9×ÑÔ*ð /¨t×/DÑ/D×/QÑ/Q×/^Ñ/^Ó/`Ð.aÐbð
ˆð 	×Ñ×Ñ×6Ñ6Ø × 0Ñ 0ö	
rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN    s   € ÷ 
ñ 
¨%ð 
°Dñ 
rº   c                	ó4  € V P                   P                  f   \        R4      h\        V P                   P                  4      V P                   n        V P
                  P                  P                  V P                   P                  R.VP                  4       R # )Nz*torch_function_mode_stack must not be Nonez$___check_torch_function_mode_stack())	rH  Útorch_function_mode_stackr6  Ú$make_torch_function_mode_stack_guardÚ"torch_function_mode_stack_check_fnr¬  r  Ú#add_torch_function_mode_stack_guardrQ  r  s   &&r¸   ÚTORCH_FUNCTION_STATEÚ!GuardBuilder.TORCH_FUNCTION_STATE  s   € à× Ñ ×:Ñ:ÒBÜ Ð!MÓNÐNä0Ø×%Ñ%×?Ñ?óð 	×ÑÔ@ð
 	×Ñ×Ñ×CÑCØ×!Ñ!×;Ñ;Ø3Ð4Ø×Ñö	
rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  '  s   € ÷ 
ñ 
 Eð 
¨dñ 
rº   c                óŒ  € VP                   \        P                  Jd   \        RVP                    24      hV P                  P
                  f   \        R4      hRV P                  P
                  P                  : 2.pV P                  W4       V P                  V4      P                  \        W!4      VP                  4       R# )z/Guard on CURRENT_DEVICE per torch.utils._devicez!Expected GuardSource.GLOBAL, got NrV  zutils_device.CURRENT_DEVICE == )r³  r=   ÚGLOBALr6  rH  rf  Úcurrent_devicerH  rt  Úadd_default_device_guardra  rQ  rë  s   && r¸   ÚDEFAULT_DEVICEÚGuardBuilder.DEFAULT_DEVICE&  s¨   € ð �<‰<œ{×1Ñ1Ó1Ü Ð#DÀUÇ\Á\ÀNÐ!SÓTÐTà× Ñ ×-Ñ-Ò5Ü Ð!QÓRÐRà-¨d×.CÑ.C×.PÑ.P×._Ñ._Ñ-bÐcð
ˆð 	×#Ñ# EÔ0à×Ñ˜uÓ%×>Ñ>Ü" 4Ó/°×1AÑ1Aö	
rº   c               ó    € V ^8„  d   QhRRRR/# r\  r¶   )r·   s   "r¸   r¹   rN  8  s   € ÷ Gñ G˜uð G¨ñ Grº   c                	óÚ  a a%a&a'a(€ ^ RI Hp VP                  R8w  d   \        RVP                  : 24      hS P                  P
                  o(S(f   \        R4      hS P                  P                  eW   S P                  P                  pVP                  pVP                  pVP                  e   VP                  pVP                  pEM½\        S(V4      '       g   \        R\        S(4       24      hS(P                  f   \        R4      hS(P                  P                  ;'       g    . o&S& Uu. uF  qˆP                  NK  	  upo'R V(3R	 llp	S(P                   '       dº   / p
. p. p/ p\#        4       pS(P                    Fo  pVP$                  S(P&                  9   d=   \(        P*                  P,                  P/                  VV	S(P                  V
VVVV4       KZ  \0        P3                  R
4       Kq  	  \5        VV\7        VP9                  4       4      VRR7      o%MRo%R V%V&V'V(V 3R llp\:        P<                  '       d    V! R#4      w  rEpRpMRpV! R$4      w  rES(P*                  '       g   S(P                  PA                  4        S PB                  '       d“   \E        4       PG                  R4      pVe.   \        V\H        4      '       g   \        R\        V4       24      hVf   . M"\7        VPJ                  PM                  4       4      p\O        VVVVVR7      S P                  n        VPP                   F  pS PS                  VV.4       K  	  \T        PV                  ! 4       ;p'       d&   VPX                  P[                  VPP                  4       . p. pV'       gå   X'       g   \        R4      hVPP                  VPJ                  ppV'       g   R# VP]                  4        F›  w  pp\        V\^        4      '       d   RpK   S PG                  V/ \`        C\c        4       CR7      p\        V\d        4      '       d   VPg                  VV34       Kn  \        V\h        4      '       d   VPg                  VV34       K™  RpK�  	  V'       Eg½   ^ RI5p^ RI6H7p X'       g   \        R4      hVPP                  VPJ                  pp\q        VV,           4      p \s        V4       UUu. uF!  w  ppS Pu                  \w        VV4      4      NK#  	  pppRPy                  R \s        V4       4       4      p RPy                  R \s        V4       4       4      p!V '       d   RV  R2p V!'       d   RV! R2p!\z        P|                  ! RV  RV! RRPy                  V4       R 24      p"\~        P�                  R!V"VPP                  4       VPƒ                  V"4      p#VP…                  V#P†                  VPˆ                  4      PŠ                  p$V$'       g   \        R"4      h \�        V\�        V4      \�        V4      V$V#VPP                  VP�                  4       R# VPP                  '       d;   S P™                  VPP                  VPP                  / \`        C\c        4       CR7       R# R# u upi   \>         d    RpT! R$4      w  rE ELZi ; iu uppi   \(        P’                  P”                  P–                   d     L¢i ; i)%r$  ©r¥   rÇ  zExpected empty guard name, got Nr  ú Expected OutputGraphCommon, got z'output_graph.shape_env must not be Nonec               ó$   € V ^8„  d   QhRRRRRR/# )r±   Út_idrµ   rm  r´   úlist[Source]r¶   )r·   s   "r¸   r¹   Ú,GuardBuilder.SHAPE_ENV.<locals>.__annotate__U  s!   € ÷ ñ  #ð ¨Cð °Lñ rº   c                ó†   <€ SP                   V ,           Uu. uF  p\        V\        P                  V4      NK   	  up# u upi rÅ   )Útracked_fakes_id_to_sourcer4   r3   ÚSIZE)r1  rm  r³  rf  s   && €r¸   Úget_sourcesÚ+GuardBuilder.SHAPE_ENV.<locals>.get_sourcesU  sG   ø€ ð #/×"IÑ"IÈ$Ö"Oóñ #P˜ô )¨´×1DÑ1DÀcÖJá"Oñð ùò s   —$>z+Untracked tensor used in export constraintsF)Úsource_pairsÚderived_equalitiesÚphantom_symbolsÚrelaxed_sourcesÚ	warn_onlyc               ó    € V ^8„  d   QhRRRR/# )r±   Úlangsútuple[str, ...]r´   zlist[_ShapeGuardsHelper]r¶   )r·   s   "r¸   r¹   r3    s   € ÷ ñ  ð Ð;Sñ rº   c           
     óò   <€ SP                   P                  S Uu. uF  qP                  NK  	  upS Uu. uF  qP                  NK  	  upSSSP                  SP
                  '       * V R 7      # u upi u upi ))Úinput_contextsÚequalities_inputsrE  Úignore_staticr?  )Ú	shape_envÚproduce_guards_verboseÚfaker³  rE  Úexport)r?  ru  rC  rW  rB  rf  rí   s   & €€€€€r¸   Ú_get_code_partsÚ/GuardBuilder.SHAPE_ENV.<locals>._get_code_parts  sn   ø€ à#×-Ñ-×DÑDÙ%'Ó(¡R —V”V¡RÑ(Ù')Ó*¡r !—X”X¡rÑ*Ø#1Ø&7Ø#Ÿ™ð (4×':Ñ':Ô#:Øð Eó 
ð 
ùÚ(ùÚ*s
   ›A/µA4
TÚcpp_code_partsz,Expected None or _CppShapeGuardsHelper, got )Úpython_code_partsr  rK  Úpython_fallbackÚshape_env_sourcesz9cpp_code_parts must be set when not using python_fallback)r
  )ÚCppCodeCacher°  c              3  ó<   "  € T F  w  pw  r#V R V R2x € K  	  R# 5i)z = int_values[r�  Nr¶   ©rW  Úirà  Úsymbols   &   r¸   rZ  Ú)GuardBuilder.SHAPE_ENV.<locals>.<genexpr>ý  s*   é € ð ,á*I™˜™;˜Að �h˜n¨Q¨C¨qÕ1Û*Iùó   ‚c              3  ó<   "  € T F  w  pw  r#V R V R2x € K  	  R# 5i)z = float_values[r�  Nr¶   rQ  s   &   r¸   rZ  rT    s+   é € ð .á*K™˜™;˜Að �hÐ.¨q¨c°Õ3Û*KùrU  zint64_t Ú;zdouble aä  
                #include <algorithm>
                #include <cstdint>
                #include <cmath>
                #include <c10/util/generic_math.h>

                #if defined(_MSC_VER)
                #  define EXTERN_DLL_EXPORT extern "C" __declspec(dllexport)
                #else
                #  define EXTERN_DLL_EXPORT extern "C"
                #endif

                EXTERN_DLL_EXPORT int8_t guard(int64_t *int_values, double *float_values) {
                  z
                  z
                  return (z) && (z%);
                }
                zC++ shape guard function: %s %sz'Failed to load C++ shape guard function)ÚpythonÚverbose_pythonÚcpp)rX  rY  )MÚtorch._dynamo.output_graphr¥   rf  r6  rH  rf  Úshape_code_partsrL  r  rK  rM  r¼   r7  rE  Útracked_fakesÚsymbolic_contextÚexport_constraintsr½   r1  r5  rÆ   rH  Údynamic_shapesÚ_process_equalitiesr3  r4  rG   r]  rj  rQ   Ú enable_cpp_symbolic_shape_guardsÚOverflowErrorÚfreezerJ  Úlocalsrh  rE   Úsource_to_symbolr¡  ÚShapeCodePartsÚexprsrH  r7   Útry_getÚshape_env_guardsri  r)  r]   rI   r>  rµ   rà  r8  ÚctypesÚtorch._inductor.codecacherO  rh  r}  ræ  r-   r  ÚtextwrapÚdedentr  r  Úloadr   r¢  Úc_void_pr²   r"   rÀ   rQ  Ú	_inductorrS   ÚInvalidCxxCompilerr%  ))rí   r¢  r¥   r\  rL  r  rK  rM  ru  r7  Únamesr9  r:  r;  r<  Ú
constraintrI  Úmaybe_cpp_code_partsÚmaybe_shape_env_sourcesrØ   Úcompile_contextÚint_source_to_symbolÚfloat_source_to_symbolr  rf  r³  rS  r¨  rk  rO  rR  Úguard_managersÚint_symbols_strÚfloat_symbols_strÚfunc_strÚclibÚcguardrC  rW  rB  rf  s)   f&                                   @@@@r¸   Ú	SHAPE_ENVÚGuardBuilder.SHAPE_ENV7  sÊ  ü€ å@à�:‰:˜ÔÜ Ð#BÀ5Ç:Á:Á.Ð!QÓRÐRØ×,Ñ,×9Ñ9ˆØÒÜ Ð!@ÓAÐAØ× Ñ ×1Ñ1Ò=Ø#×4Ñ4×EÑEÐØ 0× BÑ BÐØ!1×!DÑ!DÐØ×.Ñ.Ò:Ø!1×!@Ñ!@�Ø.×>Ñ>ŠOô ˜lÐ,=×>Ò>Ü$Ø6´t¸LÓ7IÐ6JÐKóð ð ×%Ñ%Ò-Ü$Ð%NÓOÐOØ×'Ñ'×5Ñ5×;Ð;¸ˆBÙ:<Ó=¹"°Q×0Ô0¹"Ñ=ˆN÷ð ð ×.×.Ð.Ø46�Ø<>�ð ð #ð 68�Ü/2«u�Ø".×"AÔ"A�JØ!—‘¨,×*QÑ*QÔQÜŸ™×3Ñ3×GÑGØ&Ø'Ø(×2Ñ2Ø!Ø(Ø.Ø+Ø+ö	ô Ÿ™Ð$QÖRñ #Bô %7Ø!-Ø'9Ü$(¨×)?Ñ)?Ó)AÓ$BØ$3Ø#ô%Ñ!ð %)Ð!÷ô ô ×6×6Ð6ðñ (Ð(KÓLñ JÐ%¸>ð ',‘Oð #'�Ù8GØ0ó9Ñ5Ð!ð  ×&×&Ð&Ø×&Ñ&×-Ñ-Ô/à××Ðô $*£8§<¡<Ð0@Ó#AÐ Ø#Ò/¼
Ø$Ô&;÷9ò 9ô %ØBÄ4ÐH\ÓC]ÐB^Ð_óð ð
 (Ò/ñ äÐ.×?Ñ?×DÑDÓFÓGð $ô
 6DØ"3Ø#5Ø3Ø /Ø"9ô6ˆD×!Ñ!Ô2ð &×+Ô+ˆDØ×'Ñ'¨°¨vÖ6ñ ,ô -×4Ò4Ó6Ð6ˆ?Ö6Ø×,Ñ,×3Ñ3Ð4F×4LÑ4LÔMà!ÐØ!#Ðçß!Ü$ØOóð ð
 ×$Ñ$à×/Ñ/ð	 )ˆJ÷ Ùà"2×"8Ñ"8Ö":‘�˜Ü˜f¤n×5Ò5Ø&*’Oà$(§H¡HØØ%L¬Ð%LÔ8IÓ8KÐ%Lð %-ó %�Mô " -´×5Ò5Ø,×3Ñ3°V¸VÐ4DÖEÜ# M´5×9Ò9Ø.×5Ñ5°v¸vÐ6FÖGð +/šñ #;÷" ˆÛå>ç!Ü$ØOóð ð
 ×$Ñ$à×/Ñ/ð	 )ˆJô  $Ð$8Ð;QÕ$QÓRÐð>ô &/Ð/?Ô%@ô"á%@™	˜˜6ð ×6Ñ6´}ÀVÈQÓ7OÖPÙ%@ð ñ "ð
 #'§)¡)ñ ,ä*3Ð4HÔ*Ió,ó #�ð %)§I¡Iñ .ä*3Ð4JÔ*Kó.ó %Ð!÷
 #Ø(0°Ð0AÀÐ&C�Oß$Ø*1Ð2CÐ1DÀAÐ(FÐ%ä#Ÿ?š?ðð #Ð#ð $Ø$Ð%ð &Ø#Ÿ=™=¨Ó4Ð5ð 6ðó�ô( × Ñ Ø5ØØ&×,Ñ,ôð
 $×(Ñ(¨Ó2�ØŸ™ T§Z¡Z°·±ÓA×GÑG�ßÜ(Ð)RÓSÐSð ô -Ø"ÜÐ,Ó-ÜÐ.Ó/ØØØ&×,Ñ,Ø×$Ñ$ôñ ð
 ×"×"Ð"Ø×5Ñ5Ø!×'Ñ'Ø"×(Ñ(ØD¤ÐDÔ0AÓ0CÐDð 6ö ñ #ùòO >øôB %ô à&*�OÙ<KØ4ó=Ñ9Ð%Ò'9ðüóH"øô` —?‘?×&Ñ&×9Ñ9ô áðúsJ   Ä/ZÉ Z ÓZ> Ó!'Z8ÔAZ> Õ#BZ> ØZ> ÚZ5Ú4Z5Ú8Z> Ú>)[*Û)[*c                	ó   € \        V4      # rÅ   )rÓ  rö  s   &&r¸   r  rA  B  s
   € Ô-DÀUÔ-Krº   c                	ób   € \        V \        P                  4      ;'       d    \        V 4      V8H  # rÅ   )r¼   rÆ   rÇ   rÓ  rý  s   &&r¸   r  rA  C  s,   € Ü�uœeŸl™lÓ+÷ ;ð ;Ü'¨Ó.°(Ñ:ð;rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r¢  r:   r²   r  r´   ró   r¶   )r·   s   "r¸   r¹   rN  H  s&   € ÷ ]9ñ ]9 %ð ]9°
ð ]9Àdñ ]9rº   c                	óv  € \         P                  '       d   VP                  4       '       d   R # \        V4      '       d   V P	                  V4       R # \        V\        4      '       d   V! 4       pVe   TMV P                  V4      p\        V4      p\        P                  P                  V4      p\        V\        P                  P                  4      '       d5   VP                  e   VP                  pVP                  e   VP                  p\        V\        P                   4      '       g   \#        R\        V4       24      h\         P$                  '       d™   \        V\        P&                  P(                  4      '       do   \+        4       pVP-                  4       '       dO   VP/                  RVP1                  4       4       VP/                  RVP2                  4       VP/                  R^4       V P5                  V4      p. pV P6                  P8                  f   \#        R4      hV P6                  P8                  P:                  '       dË   V P=                  V4       . ROpV F­  p	\?        VP@                  V	4      p
V	R8X  d   Rp	\C        V
4      p
V P                  V
4      p\E        V\        PF                  \        PH                  34      '       d'   VPK                  RV R	V	 R
\M        V4      : 24       K”  VPK                  V R	V	 RV 24       K¯  	  EM°V PO                  V4      p\         PP                  '       dF   \E        V\        P&                  P(                  4      '       gr   \S        VP@                  4      '       gW   \        VP@                  \T        4      '       g7   V PV                  PK                  V4       V PX                  PK                  V4       V P6                  P8                  pVPZ                  VP@                  ,          p\]        VR,          4      p\]        VR,          4      p\_        \a        VVVVVV4      V4      pVPb                  pVPe                  VVVVVVVV4       \        V\        P&                  P(                  4      '       g0   V Pf                  Ph                  Pk                  VPl                  4       VPn                  f   \#        R4      hRp/ p. pV F  p\q        VV4      '       d@   \s        VV4      VV&   RV RV R\s        VV4      : RV RV R2pVPK                  V4       KT  VPK                  V4       RV RV R2pVPK                  V4       K�  	  / pRpRp\q        VV4      '       dB   V F;  p\s        VVR 4      pVV3VV&   RV RV RV: RV RV R2pVPK                  V4       K=  	  V'       g   V'       g	   V'       d8   V PO                  V4      Pu                  VVV\_        Wq4      VPb                  4       \w        V4      ^ 8”  d   V Py                  W4       R # R # )NrÖ  Úparam_numelÚparam_bytesÚparam_countrV  Ú
ndimensionzndimension()zstr(rå  ru  r¯  ÚsizerÒ  zguard.source must not be NoneÚ_dynamo_unbacked_indicesz
((getattr(z, 'z', set()).issubset(z)) if hasattr(z') else True)rF  z') == Falsez', None) == z) if hasattr()r  r/  r€  r‰  )Ú_dynamo_dynamic_indicesÚ_dynamo_weak_dynamic_indicesr‹  Ú_dynamo_strict_unbacked_indicesÚ_dynamo_static_indices)Ú_dynamo_shape_idsÚ_dynamo_unbacked_bounds)=rQ   Ú_unsafe_skip_fsdp_module_guardsÚis_fsdp_moduler¿  rÈ  r¼   rP   rh  r7  rÆ   rÉ   rÊ   rb  rc  rz  r{  rÇ   r6  Úlog_compilation_metricsr  Ú	Parameterr6   Úin_progressÚ	incrementÚnumelÚnbytesr6  rH  rf  rH  rh  rV   r_  rW   r“   r/  r  rà  rÛ   rt  Ú,skip_no_tensor_aliasing_guards_on_parametersr2   ru   rb  rc  Úinput_source_to_sizes_stridesrv  ra  r„  rQ  Úadd_tensor_match_guardr¬  r  r*  rf  r³  rÉ  rò  Úadd_dimension_marking_guardrÀ   rH  )rí   r¢  r²   rz  r{  Úmetrics_contextÚtensor_namerØ   ÚtermsÚtermÚterm_srcÚ
real_valuer¬  rf  rÕ  rŠ  rÒ  r  rQ  Údim_marking_attrsÚexpected_attrsÚabsent_attrsr¤  râ  Údependent_attrsÚdep_attr_namesÚ	gate_attrÚ
attr_values   &&&                         r¸   ÚTENSOR_MATCHÚGuardBuilder.TENSOR_MATCHA  s�  € ô ×1×1Ð1°e×6JÑ6J×6LÒ6LÙô " %×(Ò(Ø�M‰M˜%Ö ä˜%¤×/Ò/Ù›�à"Ò.‘E°D·H±H¸U³OˆEä˜%“[ˆFÜ!ŸH™H×3Ñ3°EÓ:ˆMÜØ”u×(Ñ(×3Ñ3÷ò ð —<‘<Ò+Ø"Ÿ\™\�FØ×&Ñ&Ò2Ø$)×$7Ñ$7�Mä˜e¤U§\¡\×2Ò2Ü$Ð'BÄ4ÈÃ;À-Ð%PÓQÐQä×-×-Ð-´*¸UÄEÇHÁH×DVÑDV×2WÒ2WÜ"5Ó"7�Ø"×.Ñ.×0Ò0Ø#×-Ñ-¨m¸U¿[¹[»]ÔKØ#×-Ñ-¨m¸U¿\¹\ÔJØ#×-Ñ-¨m¸QÔ?àŸ,™, uÓ-ˆKð, !ˆDØ×$Ñ$×1Ñ1Ò9Ü$Ð%UÓVÐVØ×$Ñ$×1Ñ1×8×8Ð8Ø—‘ Ô&ò�ó "�DÜ)¨%×*BÑ*BÀDÓI�HØ˜|Ô+Ø-˜Ü#;¸HÓ#E˜Ø!%§¡¨(Ó!3�JÜ˜j¬5¯<©<¼¿¹Ð*E×FÒFàŸ™ d¨;¨-°q¸¸¸eÄCÈ
ÃOÑCVÐ$WÖXàŸ™ { m°1°T°F¸$¸z¸lÐ$KÖLó "ð !%× 6Ñ 6°uÓ =�ô ×G×GÐGä˜u¤e§h¡h×&8Ñ&8×9Ò9ÜIØ!×4Ñ4÷ò ô % U×%=Ñ%=Ô?P×QÒQð ×1Ñ1×8Ñ8¸ÔEØ×:Ñ:×AÑAÀ-ÔPà#×4Ñ4×AÑA�Ø'×EÑEØ×,Ñ,õ�ô 2°(¸6Õ2BÓC�Ü3°H¸XÕ4FÓG�ä%;Ü.ØØ#ØØØØ%óð ó
&Ð"ð #×-Ñ-�
Ø×4Ñ4ØØØØØ&ØØØ!ô	ô " %¬¯©×);Ñ);×<Ò<Ø×&Ñ&×9Ñ9×=Ñ=¸e¿j¹jÔIà�|‰|Ò#Ü$Ð%DÓEÐEðN!Ðð 35ˆNØ&(ˆLÛ.�	Ü˜5 )×,Ò,Ü07¸¸yÓ0I�N 9Ñ-Ø",¨[¨M¸¸Y¸KÐGZÔ[bÐchÐjsÓ[tÑZwð  xFð  GRð  FSð  SVð  W`ð  Vað  anð  !o�IØ—K‘K 	Ö*à ×'Ñ'¨	Ô2Ø"*¨;¨-°s¸9¸+À[Ð Q�IØ—K‘K 	Ö*ñ /ð MOˆOØMˆNØ2ˆIÜ�u˜i×(Ò(Û!/�IÜ!(¨°	¸4Ó!@�JØ2<¸iÐ1H�O IÑ.Ø",¨[¨M¸¸Y¸KÀ|ÐT^ÑSaÐanÐozÐn{Ð{~ð  @Ið  Jð  JWð  !X�IØ—K‘K 	Ö*ñ	 "0÷ §·Ø×&Ñ& uÓ-×IÑIØ"Ø Ø#Ü*¨4Ó7Ø×$Ñ$ôô �4‹y˜1Œ}Ø×+Ñ+¨EÖ8ñ rº   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r±   r¢  r:   rÂ  r£  rG  rÔ  rÌ  r®  r´   ró   r¶   )r·   s   "r¸   r¹   rN  (  s<   € ÷ 4
ñ 4
àð4
ð ð4
ð "/ð	4
ð
 'ð4
ð 
ñ4
rº   c                	ó®  € \        4       pVf   \        R4      hVP                  p?Vf   \        R4      hT;'       g    VP                  P                  p?WpP
                  P                  9  d   \        RV 24      hVf)   VP                  pV'       g   R MV P                  V4      p	MTp	V	e    \        P                  ! \        V	4      4      MR p
R p\        V	P
                  R^ 4      ^ 8g  pV'       dL   \        V	\        P                  \         \        P"                  34      '       g   \        P                  ! V	4      pVP%                  VV
VV4       R # )Nzcurrentframe() returned Nonezcaller frame must not be NonezH_produce_guard_code must be called from inside GuardedCode. Called from Ú__weakrefoffset__)r   r6  Úf_backrC  Úco_namer÷   r[  rf  rh  ÚweakrefrJ  r7  rò  r¼   ÚenumÚEnumr‰  Ú
ProxyTypesÚset_export_info)rí   r¢  rÂ  rG  rÌ  Ú	cur_frameÚcallerÚ	func_namerf  Úguarded_objectÚguarded_object_typeÚobj_refÚsupports_weakrefs   &&&&&        r¸   rH  Ú#GuardBuilder._set_guard_export_info(  s>  € ô !“Nˆ	ØÒÜ Ð!?Ó@Ð@Ø×!Ñ!ˆØØŠ>Ü Ð!@ÓAÐAØ&×?Ð?¨&¯-©-×*?Ñ*?ˆ	ØàŸN™N×3Ñ3Ô3Ü ØZÐ[dÐZeÐfóð ð
 #Ò*Ø—:‘:ˆDß)-™T°4·8±8¸E³?‰Nà4ˆNð 2@Ò1KŒG�KŠKœ˜^Ó,Ô-ÐQUð 	ð ˆô �N×,Ñ,Ð.AÀ1ÓEÈÑJð 	÷ ¤JØœTŸY™Y¬¬w×/AÑ/AÐB÷%
ò %
ô —k’k .Ó1ˆGà×ÑØØØØö		
rº   )rj  ri  rm  r`  rH  rØ   rC  rL  r¬  rl  rd  r  rD  re  rF  rc  rb  rk  rK  rJ  rX  ra  rE  rY  )FNNr  rÅ   rë  )Qrù   rú   rû   rü   r  ry  r�  r„  r�  r²  r·  ru  r¿  rÅ  ræ  rt  r%  rh  r6  r=  r(  rM  rV  rh  rq  r?  rx  r…  rŒ  r—  r�  r¨  r·  r¿  rÈ  rÇ  rÙ  râ  r,  rè  rù  r  rí  rò  r/  r÷  rþ  r8  r  r  rC  rn  rv  r…  r‘  r—  r�  r¤  r  r  r¨  r¯  r¹  rÁ  rÍ  rÚ  rå  rì  rõ  rý  r  r	  r  r  r  r#  r*  r€  r«  rH  rý   r¶   rº   r¸   rA  rA    sÄ  † ÷MFõ^õ<(ðT ôó ðõ"]õ~9õ"õ2?õ
õ_õBL÷Y÷Jõ&õ ñ$ ñ
ñ Sôö60óð60ñp ÙTÙFôö0ó	ð0ñ> Ù8Ù?ôô
ó	ð
ñ> ñ
ñô	ô
óð
ð< "ô
ó "ð
ñ ÙSÙ9ôô0ó	ð0ñ  ÙSÙ=ôô0ó	ð0ñ  ÙSÙ9ôô0ó	ð0ñ$ ÙSÙ=ôô0ó	ð0ñ$ Ù2Ù9ôôó	ðñ$ ÙFÙLôô
ó	ð
ñ  Ù1Ù5ôô
ó	ð
ñ Ù2Ù9ôö>ó	ð>÷ ?ñD Ù1Ù9ôö

ó	ð

ñ Ù=ÙDôô
ó	ð
ð ô
ó ð
ð ô
ó ð
ð* ô
ó ð
ñ8 Ø1Ø'ôô-
ó	ð-
ñ^ Ø,Ø"ôô
ó	ð
ñ Ø*Ø ôô
ó	ð
ñ& Ù2Ù9ôöoó	ðoñb Ù2Ù9ôô	%ó	ð	%ñ ÙQñôô
!
óð
!
ñF Ù2Ù9ôôó	ðñ. Ù2Ù9ôô$ó	ð$ñ
 Ù2Ù9ôô'ó	ð'ñ Ù2Ù9ôô'ó	ð'ñ Ø'Øôô
'ó	ð
'ñ Ù2Ù9ôô.ó	ð.ñ ÙDÙKôô!ó	ð!ñF ÙFÙMôô
ó	ð
ñ& ÙHÙOôô
ó	ð
ñ. ÙWñ
ôô
óð
ð* ô,ó ð,ñ\ Ù1Ù9ôô
ó	ð
ñ Ù?ÙFôô

ó	ð

ñ ÙCÙJôôCó	ðCñ@ Ù1Ù7ôô$ó	ð$ð ôó ðð ôó ðð ôó ðð ô
ó ð
ð  ô
ó ð
ð ô
ó ð
ð  ôGó ðGñR ÙKñ
ôö]9óð]9÷@4
ó 4
rº   rA  c                  ó  € ] tR tRt^t]P                  ]P                  ]P                  3t	]
P                   ! R R4      4       t ! R R]P                  4      t ! R R]P                  4      tR R	 ltRR
 R lltR R ltR R ltRtR# )ÚPyExprCSEPassip  c                  ó,   € ] tR tRt$ R]R&   R]R&   RtR# )ÚPyExprCSEPass.Configix  zdict[str, int]Ú
expr_countzdict[str, str]Úexpr_to_namer¶   NrÃ  r¶   rº   r¸   ÚConfigrÂ  x  s   ‡ à"Ó"Ø$×$rº   rÅ  c                  ó:   a € ] tR tRtR R ltR V 3R lltRtV ;t# )ÚPyExprCSEPass.ExprCounteri}  c               ó    € V ^8„  d   QhRRRR/# )r±   rQ   rÂ  r´   ró   r¶   )r·   s   "r¸   r¹   Ú&PyExprCSEPass.ExprCounter.__annotate__~  s   € ÷ 	"ñ 	"Ð#7ð 	"¸Dñ 	"rº   c                	ó   € Wn         R # rÅ   ©Ú_config)rí   rQ   s   &&r¸   r  Ú"PyExprCSEPass.ExprCounter.__init__~  s   € Ø!ŽLrº   c               ó    € V ^8„  d   QhRRRR/# )r±   r   r@  r´   ró   r¶   )r·   s   "r¸   r¹   rÉ  �  s   € ÷ 	 ñ 	 ˜gð 	 ¨$ñ 	 rº   c                	óÊ   <€ \        V\        P                  4      '       d3   V P                  P                  \        V4      ;;,          ^,          uu&   \        SV `  V4       R# )rÞ   N)r¼   rÀ  ÚALLOWED_NODE_TYPESrÌ  rÃ  rF  rõ   r/  )rí   r   r÷   s   &&€r¸   r/  ÚPyExprCSEPass.ExprCounter.visit�  sA   ø€ Ü˜$¤× @Ñ @×AÒAØ—‘×'Ñ'¬°TÓ(:×;¸qÕ@Ó;Ü‰G‰M˜$Örº   rË  ©rù   rú   rû   rü   r  r/  rý   rþ   rÿ   s   @r¸   ÚExprCounterrÇ  }  s   ø† õ	"÷	 ö 	 rº   rÓ  c                  ó@   a € ] tR tRtR V 3R lltR V 3R lltRtV ;t# )ÚPyExprCSEPass.Replaceri†  c               ó$   € V ^8„  d   QhRRRRRR/# )r±   rQ   rÂ  Úgen_namezCallable[[], str]r´   ró   r¶   )r·   s   "r¸   r¹   Ú#PyExprCSEPass.Replacer.__annotate__‡  s(   € ÷ 	)ñ 	)à(ð	)ð (ð	)ð ñ		)rº   c                	óJ   <€ \         SV `  4        Wn        W n        . V n        R # rÅ   )rõ   r  rÌ  Ú	_gen_nameÚpreface)rí   rQ   r×  r÷   s   &&&€r¸   r  ÚPyExprCSEPass.Replacer.__init__‡  s!   ø€ ô
 ‰GÑÔØ!ŒLØ%ŒNØ&(ˆDŽLrº   c               ó    € V ^8„  d   QhRRRR/# )r±   r   r@  r´   r   r¶   )r·   s   "r¸   r¹   rØ  ‘  s   € ÷ 	'ñ 	'˜gð 	'¨#ñ 	'rº   c                	ób  <€ \        V\        P                  4      '       Ed    \        V4      pV P                  P
                  V,          \        P                  8”  dÅ   W P                  P                  9  dd   \        SV `%  V4      p\        V4      pV P                  4       pV P                  P                  V R V 24       WPP                  P                  V&   MV P                  P                  V,          p\        P                  ! V\        P                  ! 4       4      # \        SV `%  V4      # )z = )r¼   rÀ  rÐ  rF  rÌ  rÃ  ÚUSE_THRESHOLDrÄ  rõ   r/  rÚ  rÛ  rà  rC  ÚNameÚLoad)rí   r   ÚexprÚnode_Úexpr_rÚ   r÷   s   &&    €r¸   r/  ÚPyExprCSEPass.Replacer.visit‘  sÞ   ø€ Ü˜$¤× @Ñ @×AÓAÜ# DÓ)�ð —<‘<×*Ñ*¨4Õ0´=×3NÑ3NÔNØ§<¡<×#<Ñ#<Ô<ô !&¡¡¨dÓ 3˜Ü ,¨UÓ 3˜Ø#'§>¡>Ó#3˜ØŸ™×+Ñ+¨x¨j¸¸E¸7Ð,CÔDØ:BŸ™×1Ñ1°$Ò7à#'§<¡<×#<Ñ#<¸TÕ#B˜ÜŸ8š8 H¬c¯hªh«jÓ9Ð9ä‘7‘= Ó&Ð&rº   )rÌ  rÚ  rÛ  rÒ  rÿ   s   @r¸   ÚReplacerrÕ  †  s   ø† ÷	)ð 	)÷	'ö 	'rº   ræ  c               ó   € V ^8„  d   QhRR/# rD  r¶   )r·   s   "r¸   r¹   ÚPyExprCSEPass.__annotate__«  s   € ÷ 
ñ 
˜$ñ 
rº   c                	ón   € ^ V n         V P                  \        P                  ! R 4      / R7      V n        R# )r$  c                 ó   € ^ # r#  r¶   r¶   rº   r¸   r  Ú(PyExprCSEPass.__init__.<locals>.<lambda>®  s   € ±qrº   )rÃ  rÄ  N)Ú_counterrÅ  r3  ÚdefaultdictrÌ  rì   s   &r¸   r  ÚPyExprCSEPass.__init__«  s.   € ØˆŒØ—{‘{Ü"×.Ò.©yÓ9Èð #ó 
ˆŽrº   c               ó    € V ^8„  d   QhRRRR/# )r±   rî   rÛ   r´   r¶   )r·   s   "r¸   r¹   rè  ±  s   € ÷ ñ ˜sð °ñ rº   c                	óX   € V V P                    2pV ;P                   ^,          un         V# rÝ   )rì  )rí   rî   rf  s   && r¸   Ú_new_varÚPyExprCSEPass._new_var±  s'   € Ø�˜$Ÿ-™-˜Ð)ˆØ�Š˜Õ�Øˆrº   c               ó    € V ^8„  d   QhRRRR/# )r±   rh  r£  r´   ró   r¶   )r·   s   "r¸   r¹   rè  ¶  s   € ÷ ñ ˜9ð ¨ñ rº   c                	ó  € V P                  V P                  4      pV F)  p VP                  \        P                  ! V4      4       K+  	  R#   \
         d(   p\        P                  R TP                  T4       h Rp?ii ; i)z#Failed to visit expr at line %s.
%sN)	rÓ  rÌ  r/  rC  ÚparseÚSyntaxErrorr3  Ú	exceptionÚlineno)rí   rh  ÚcounterÚeÚexs   &&   r¸   ÚcountÚPyExprCSEPass.count¶  sd   € Ø×"Ñ" 4§<¡<Ó0ˆÛˆAðØ—‘œcŸiši¨›lÖ+ó øô ô Ü—‘ÐDÀbÇiÁiÐQRÔSØûðús   ¢%AÁA?Á"A:Á:A?c               ó    € V ^8„  d   QhRRRR/# ©r±   râ  rÛ   r´   ztuple[list[str], str]r¶   )r·   s   "r¸   r¹   rè  ¿  s   € ÷ 8ñ 8˜Cð 8Ð$9ñ 8rº   c                	óÆ   € V P                  V P                  V P                  4      pVP                  \        P
                  ! V4      4      pVP                  \        V4      3# rÅ   )ræ  rÌ  rñ  r/  rC  rõ  rÛ  rF  )rí   râ  ÚreplacerÚnew_nodes   &&  r¸   rE  ÚPyExprCSEPass.replace¿  sF   € Ø—=‘= §¡¨t¯}©}Ó=ˆØ—>‘>¤#§)¢)¨D£/Ó2ˆØ×Ñ¤¨hÓ!7Ð7Ð7rº   )rÌ  rì  N)Ú_var)rù   rú   rû   rü   rß  rC  Ú	AttributeÚCallÚ	SubscriptrÐ  ÚdataclassesÚ	dataclassrÅ  ÚNodeVisitorrÓ  ÚNodeTransformerræ  r  rñ  rü  rE  rý   r¶   rº   r¸   rÀ  rÀ  p  s}   † ð €Mð Ÿ-™-¨¯©°3·=±=ÐAÐà×Ñ÷%ð %ó ð%ô �c—o‘oô  ô#'�3×&Ñ&ô #'õJ
÷õ
÷8ñ 8rº   rÀ  c               ó    € V ^8„  d   QhRRRR/# rº  r¶   )r·   s   "r¸   r¹   r¹   Å  s   € ÷ ñ  Uð ¨tñ rº   c                ó®   € \        V P                  \        4      ;'       g5    \        P                  ;'       d    V P
                  \        P                  J # rÅ   )r¼   r_  rb   rQ   Ú guard_nn_modules_using_dict_tagsr  rA  r‘  )r¢  s   &r¸   Úmust_add_nn_module_guardsr  Å  sJ   € ô
 	�5×+Ñ+¬^Ó<÷ 	
ð 	
ô ×3Ñ3÷ :ð :Ø—‘¤<×#9Ñ#9Ð9ðrº   c                  ó:   a € ] tR tRtR V 3R lltR R ltRtV ;t# )ÚDeletedGuardManagerWrapperiÓ  c               ó    € V ^8„  d   QhRRRR/# )r±   ÚreasonrÛ   r´   ró   r¶   )r·   s   "r¸   r¹   Ú'DeletedGuardManagerWrapper.__annotate__Ô  s   € ÷ *ñ *˜sð * tñ *rº   c                	ó0   <€ \         SV `  4        Wn        R # rÅ   )rõ   r  Úinvalidation_reason)rí   r  r÷   s   &&€r¸   r  Ú#DeletedGuardManagerWrapper.__init__Ô  s   ø€ Ü‰ÑÔØ#)Ö rº   c               ó   € V ^8„  d   QhRR/# rD  r¶   )r·   s   "r¸   r¹   r  Ø  s   € ÷ $ñ $¨Tñ $rº   c                	ó   € R V n         R # rÅ   )r	  rì   s   &r¸   rM  Ú6DeletedGuardManagerWrapper.populate_diff_guard_managerØ  s
   € Ø#ˆÖrº   )r	  r  )rù   rú   rû   rü   r  rM  rý   rþ   rÿ   s   @r¸   r  r  Ó  s   ø† ÷*ð *÷$ó $rº   r  c                  óJ   € ] tR tRt$ R]R&   R]R&   R]R&   R]R&   R	]R
&   RtR# )rg  iÜ  rF   rL  r  z_CppShapeGuardsHelper | NonerK  rÒ   rM  r2  rN  r¶   NrÃ  r¶   rº   r¸   rg  rg  Ü  s    ‡ à)Ó)Ø*Ó*Ø0Ó0ØÓØ#×#rº   rg  c                  ó:   € ] tR tRt$ R]R&   R]R&   RtR]R&   R	tR# )
ÚGuardsStateiå  r¦   rf  úShapeCodeParts | Noner\  Nr  r  r¶   )rù   rú   rû   rü   r¤  r  rý   r¶   rº   r¸   r  r  å  s   ‡ à(Ó(Ø+Ó+Ø"€K�×"rº   r  c                  óJ   € ] tR tRtRR R lltR R ltR R ltR	 R
 ltRtR# )Ú_Missingiì  Nc               ó    € V ^8„  d   QhRRRR/# )r±   r  r®  r´   ró   r¶   )r·   s   "r¸   r¹   Ú_Missing.__annotate__í  s   € ÷ ñ ˜zð °Tñ rº   c                	ó   € Wn         R # rÅ   ©Ú_reason)rí   r  s   &&r¸   r  Ú_Missing.__init__í  s   € ØŽrº   c               ó   € V ^8„  d   QhRR/# rç   r¶   )r·   s   "r¸   r¹   r"  ð  s   € ÷ +ñ +˜#ñ +rº   c                	ó"   € R V P                    R2# ©z	_Missing(r±  r$  rì   s   &r¸   rJ  Ú_Missing.__repr__ð  ó   € Ø˜4Ÿ<™<˜.¨Ð*Ð*rº   c               ó   € V ^8„  d   QhRR/# rç   r¶   )r·   s   "r¸   r¹   r"  ó  s   € ÷ +ñ +˜ñ +rº   c                	ó"   € R V P                    R2# r)  r$  rì   s   &r¸   rË  Ú_Missing.__str__ó  r+  rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r  r   Úkwargsr´   r¶   )r·   s   "r¸   r¹   r"  ø  s!   € ÷ ñ ˜cð ¨Sð °Sñ rº   c                	ó   € \        4       # rÅ   )r   )rí   r  r0  s   &*,r¸   Ú__call__Ú_Missing.__call__ø  s
   € Ü‹zÐrº   r$  rÅ   )	rù   rú   rû   rü   r  rJ  rË  r2  rý   r¶   rº   r¸   r   r   ì  s   † ÷õ+õ+÷
ñ rº   r   c               ó   € V ^8„  d   QhRR/# )r±   r´   ztuple[type, ...]r¶   )r·   s   "r¸   r¹   r¹   ý  s   € ÷ 
ñ 
Ð 0ñ 
rº   c                 óØ   € \         P                  P                  \        P                  3p  V \         P                  P
                  P                  3,          p V #   \         d     T # i ; irÅ   )rÆ   rÉ   r^  r²  r   Ú_distributed_c10dÚProcessGroupÚAttributeError)r-  s    r¸   Ú_get_unsupported_typesr9  ü  sa   € ô 	�‰�‰Ü×Ñð€CðØ”—‘×*Ñ*×7Ñ7Ð9Õ9ˆð €Jøô ô ØØ€Jðús   ¬,A ÁA)Á(A)c                  óÜ  a € ] tR tRtR V 3R llt]R R l4       t]R R l4       t]R R	 l4       t]R
 R l4       t	]R R l4       t
]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R  R! l4       t]R" R# l4       t]R$ R% l4       t]R& R' l4       t]R( R) l4       tR* R+ ltR,tV ;t# )-ÚGuardsStatePickleri
  c               ó0   € V ^8„  d   QhRRRRRRRRRRRR	/# )
r±   rd  zdict[int, Any]Úempty_valuesÚmissing_valuesr  r   r0  r´   ró   r¶   )r·   s   "r¸   r¹   ÚGuardsStatePickler.__annotate__  sF   € ÷ -ñ -à)ð-ð %ð-ð 'ð	-ð
 ð-ð ð-ð 
ñ-rº   c                	óì   <€ \         SV `  ! V/ VB  \        P                  P	                  4       V n        \        P                  P                  P                  4       V n        Wn	        W n
        W0n        R # rÅ   )rõ   r  rÆ   rb  ÚFakeTensorModeÚ	fake_modeÚfake_tensorÚFakeTensorConverterÚtensor_converterrd  r=  r>  )rí   rd  r=  r>  r  r0  r÷   s   &&&&*,€r¸   r  ÚGuardsStatePickler.__init__  s\   ø€ ô 	‰Ò˜$Ð) &Ò)Ü×*Ñ*×9Ñ9Ó;ˆŒÜ %× 1Ñ 1× =Ñ =× QÑ QÓ SˆÔØ!2ÔØ(ÔØ,Örº   c               ó    € V ^8„  d   QhRRRR/# )r±   Ústater   r´   ztorch.nn.Moduler¶   )r·   s   "r¸   r¹   r?    s   € ÷ ñ  Sð ¨_ñ rº   c                	ód   € \         P                  P                  4       pVP                  V4       V# rÅ   )rÆ   r  r€  Ú__setstate__)rã  rH  Úmods   && r¸   Ú_unpickle_moduleÚ#GuardsStatePickler._unpickle_module  s%   € ä�h‰h�o‰oÓˆØ×Ñ˜ÔØˆ
rº   c               ó0   € V ^8„  d   QhRRRRRRRRR	RR
R/# )r±   Úmeta_tensorrî  r/  útorch.devicerz  r7  Údispatch_keys_rawrµ   Úgradr´   r¶   )r·   s   "r¸   r¹   r?  !  sF   € ÷ ñ à!ðð ðð ð	ð
 ðð ðð 
ñrº   c           	     	ó  € \         P                  P                  4       p\         P                  P                  P	                  4       pVP                  VVVV\         P                  P                  P                  V4      4      pWXn	        V# rÅ   )
rÆ   rb  rA  rC  rD  Úfrom_meta_and_devicerÉ   r¤   Úfrom_raw_reprrR  )	rã  rO  r/  rz  rQ  rR  rB  rE  r-  s	   &&&&&&   r¸   Ú_unpickle_tensorÚ#GuardsStatePickler._unpickle_tensor   st   € ô ×%Ñ%×4Ñ4Ó6ˆ	Ü ×,Ñ,×8Ñ8×LÑLÓNÐØ×3Ñ3ØØØØÜ�H‰H×#Ñ#×1Ñ1Ð2CÓDó
ˆð ŒØˆ
rº   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r±   rO  rî  r/  rP  rz  r7  rQ  rµ   Úctxr   Ú
inner_datazlist[tuple[str, Any]]r´   r¶   )r·   s   "r¸   r¹   r?  6  sP   € ÷ ñ à!ðð ðð ð	ð
 ðð ðð *ðð 
ñrº   c                	óÞ   € \        V4      pVP                  VP                  4       r˜VP                  WuW‰4      p
W:n        \
        P                  P                  P                  V4      V
n	        V
# rÅ   )
rh  rÑ  rÒ  Ú__tensor_unflatten__rz  rÆ   rÉ   r¤   rU  r{  )rã  rO  r/  rz  rQ  rY  rZ  Úinner_tensorsÚ
outer_sizeÚouter_strider  s   &&&&&&&    r¸   Ú$_unpickle_traceable_wrapper_subclassÚ7GuardsStatePickler._unpickle_traceable_wrapper_subclass5  se   € ô ˜ZÓ(ˆà#.×#4Ñ#4°k×6HÑ6HÓ6J�Lð ×)Ñ)Ø 
ó
ˆð Œ
Ü!ŸH™H×3Ñ3×AÑAÐBSÓTˆÔØˆ
rº   c               ó    € V ^8„  d   QhRRRR/# )r±   ÚaliasrÛ   r´   ztypes.ModuleTyper¶   )r·   s   "r¸   r¹   r?  O  s   € ÷ .ñ .¨Cð .Ð4Dñ .rº   c                	ó.   € \         P                  ! V4      # rÅ   )r9  r:  )rã  rc  s   &&r¸   Ú_unpickle_python_moduleÚ*GuardsStatePickler._unpickle_python_moduleN  s   € ä×&Ò& uÓ-Ð-rº   c               ó    € V ^8„  d   QhRRRR/# )r±   rÝ  rµ   r´   ztorch._C.DispatchKeySetr¶   )r·   s   "r¸   r¹   r?  S  s   € ÷ ?ñ ?°#ð ?Ð:Qñ ?rº   c                	óT   € \         P                  P                  P                  V4      # rÅ   )rÆ   rÉ   r¤   rU  )rã  rÝ  s   &&r¸   Ú_unpickle_dispatch_key_setÚ-GuardsStatePickler._unpickle_dispatch_key_setR  s   € ä�x‰x×&Ñ&×4Ñ4°XÓ>Ð>rº   c               ó    € V ^8„  d   QhRRRR/# )r±   ÚjsonÚbytesr´   z torch._C._functorch.CInterpreterr¶   )r·   s   "r¸   r¹   r?  W  s    € ÷ Bñ BØðBà	)ñBrº   c                	óh   € \         P                  P                  P                  P	                  V4      # rÅ   )rÆ   rÉ   rô  ÚCInterpreterÚdeserialize)rã  rl  s   &&r¸   Ú_unpickle_functorch_interpreterÚ2GuardsStatePickler._unpickle_functorch_interpreterV  s%   € ô �x‰x×"Ñ"×/Ñ/×;Ñ;¸DÓAÐArº   c               ó    € V ^8„  d   QhRRRR/# )r±   rà  r‡  r´   z types.MappingProxyType[Any, Any]r¶   )r·   s   "r¸   r¹   r?  ]  s   € ÷ )ñ )Øð)à	)ñ)rº   c                	ó.   € \         P                  ! V4      # rÅ   )r�  ÚMappingProxyType)rã  rà  s   &&r¸   Ú_unpickle_mapping_proxyÚ*GuardsStatePickler._unpickle_mapping_proxy\  s   € ô ×%Ò% aÓ(Ð(rº   c               ó    € V ^8„  d   QhRRRR/# )r±   Úelemsz	list[Any]r´   r   r¶   )r·   s   "r¸   r¹   r?  c  s   € ÷ +ñ +¨	ð +°cñ +rº   c                	óH   € \         P                  V4      P                  4       # rÅ   )rh  Úfromkeysr¡  )rã  ry  s   &&r¸   Ú_unpickle_dict_keysÚ&GuardsStatePickler._unpickle_dict_keysb  s   € ä�}‰}˜UÓ#×(Ñ(Ó*Ð*rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   rÝ  rµ   rÌ  r´   zitertools.count[int]r¶   )r·   s   "r¸   r¹   r?  g  s"   € ÷ +ñ +¨ð +°3ð +Ð;Oñ +rº   c                	ó.   € \         P                  ! W4      # rÅ   )Ú	itertoolsrü  )rã  rÝ  rÌ  s   &&&r¸   Ú_unpickle_count_iterÚ'GuardsStatePickler._unpickle_count_iterf  s   € ä�Š˜tÓ*Ð*rº   c               ó    € V ^8„  d   QhRRRR/# )r±   Úoriginal_typeztype[torch.nn.Module]r´   r¶   )r·   s   "r¸   r¹   r?  k  s   € ÷ 
ñ 
Ø1ð
à	ñ
rº   c                	óˆ   € \         P                  P                  P                  P                  P	                  4       V,          # rÅ   )rÆ   ra  ÚfsdpÚ_fully_shardÚget_cls_to_fsdp_cls)rã  r„  s   &&r¸   Ú_unpickle_fsdp_module_typeÚ-GuardsStatePickler._unpickle_fsdp_module_typej  s5   € ô × Ñ ×%Ñ%×2Ñ2×?Ñ?×SÑSÓUØõ
ð 	
rº   c               ó    € V ^8„  d   QhRRRR/# )r±   rH  zdict[str, Any]r´   z)torch.nn.parallel.DistributedDataParallelr¶   )r·   s   "r¸   r¹   r?  s  s   € ÷ ñ Ø"ðà	2ñrº   c                	óÂ   € \         P                  P                  P                  pVP	                  V4      p\         P                  P
                  P                  W14       V# rÅ   )rÆ   r  ÚparallelÚDistributedDataParallelÚ__new__r€  rJ  )rã  rH  ÚtyÚddps   &&  r¸   Ú_unpickle_ddp_moduleÚ'GuardsStatePickler._unpickle_ddp_moduler  sA   € ô �X‰X×Ñ×6Ñ6ˆØ�j‰j˜‹nˆÜ�‰�‰×$Ñ$ SÔ0Øˆ
rº   c               ó    € V ^8„  d   QhRRRR/# )r±   rf  rÛ   r´   r   r¶   )r·   s   "r¸   r¹   r?  |  s   € ÷ +ñ + #ð +¨#ñ +rº   c                	óJ   € \        \        P                  P                  V4      # rÅ   )rò  rÆ   ÚopsrÉ   )rã  rf  s   &&r¸   Ú_unpickle_c_opÚ!GuardsStatePickler._unpickle_c_op{  s   € ä”u—y‘y—|‘| TÓ*Ð*rº   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r±   Ú	namespacerÛ   ÚopnameÚoverloadnamer´   r   r¶   )r·   s   "r¸   r¹   r?  €  s.   € ÷ Uñ U Sð U°#ð UÀSð UÈSñ Urº   c                	ó^   € \        \        \        \        P                  V4      V4      V4      # rÅ   )rò  rÆ   r–  )rã  rš  r›  rœ  s   &&&&r¸   Ú_unpickle_opÚGuardsStatePickler._unpickle_op  s!   € ä”wœw¤u§y¡y°)Ó<¸fÓEÀ|ÓTÐTrº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   Úfuncr   rh  r´   r¶   )r·   s   "r¸   r¹   r?  „  s!   € ÷ ,ñ ,¨#ð ,°Sð ,¸Sñ ,rº   c                	ó.   € \         P                  ! W4      # rÅ   )r�  rƒ  )rã  r¡  rh  s   &&&r¸   Ú_unpickle_bound_methodÚ)GuardsStatePickler._unpickle_bound_methodƒ  s   € ä×Ò Ó+Ð+rº   c               ó    € V ^8„  d   QhRRRR/# )r±   rf  rÛ   r´   ztorch.nn.attention.SDPBackendr¶   )r·   s   "r¸   r¹   r?  ˆ  s   € ÷ <ñ < Cð <Ð,Iñ <rº   c                	ó^   € \        \        P                  P                  P                  V 4      # rÅ   )rò  rÆ   r  Ú	attentionÚ
SDPBackend©rf  s   &r¸   Ú_unpickle_sdp_backendÚ(GuardsStatePickler._unpickle_sdp_backend‡  s!   € ô ”u—x‘x×)Ñ)×4Ñ4°dÓ;Ð;rº   c               ó    € V ^8„  d   QhRRRR/# )r±   rK  r   r´   r¶   )r·   s   "r¸   r¹   r?  �  s   € ÷  ñ   ð  ¨ñ  rº   c                	ón   a€ R  V3R llpVP                   f   \        R4      hVP                   ^ ,          # )c               ó   € V ^8„  d   QhRR/# )r±   r´   r   r¶   )r·   s   "r¸   r¹   Ú7GuardsStatePickler._unpickle_cell.<locals>.__annotate__Ž  s   € ÷ 	ñ 	�3ñ 	rº   c                 ó   <€ S # rÅ   r¶   )rK  s   €r¸   rà  Ú,GuardsStatePickler._unpickle_cell.<locals>._Ž  s   ø€ ØˆJrº   z-Closure must not be None when unpickling cell)Ú__closure__r6  )rã  rK  rà  s   &f r¸   Ú_unpickle_cellÚ!GuardsStatePickler._unpickle_cellŒ  s4   ø€ ÷	ð 	ð �=‰=Ò Ü Ð!PÓQÐQØ�}‰}˜QÕÐrº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   rf  rÛ   Úfieldsr@  r´   ztype[NamedTuple]r¶   )r·   s   "r¸   r¹   r?  –  s$   € ÷ 4ñ 4Øð4Ø /ð4à	ñ4rº   c                	ó.   € \         P                  ! W4      # rÅ   )r3  Ú
namedtuple)rã  rf  r¶  s   &&&r¸   Ú_unpickle_named_tuple_typeÚ-GuardsStatePickler._unpickle_named_tuple_type•  s   € ô
 ×%Ò% dÓ3Ð3rº   c               ó    € V ^8„  d   QhRRRR/# )r±   Úserialized_coder¨   r´   rÙ   r¶   )r·   s   "r¸   r¹   r?  �  s   € ÷ >ñ >¨^ð >Àñ >rº   c                	ó2   € ^ RI Hp VP                  ! V4      # )r$  r§   )Útorch._dynamo.packager¨   Úto_code_object)rã  r¼  r¨   s   && r¸   Ú_unpickle_codeÚ!GuardsStatePickler._unpickle_codeœ  s   € å8à×,Ò,¨_Ó=Ð=rº   c               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R/# )r±   rØ   rÙ   r  rÛ   ÚqualnameÚargdefsztuple[object, ...] | NoneÚclosurez!tuple[types.CellType, ...] | Noner´   ztypes.FunctionTyper¶   )r·   s   "r¸   r¹   r?  £  sN   € ÷ 	Oñ 	Oàð	Oð ð	Oð ð		Oð
 +ð	Oð 3ð	Oð 
ñ	Orº   c                	ór   € \         P                  ! V4      P                  p\        P                  ! WW4V4      # rÅ   )r9  r:  r[  r�  r‚  )rã  rØ   r  rÃ  rÄ  rÅ  rÃ  s   &&&&&& r¸   Ú_unpickle_nested_functionÚ,GuardsStatePickler._unpickle_nested_function¢  s/   € ô ×+Ò+¨FÓ3×<Ñ<ˆ	Ü×!Ò! $°8ÀgÓNÐNrº   c               ó    € V ^8„  d   QhRRRR/# )r±   r’  r   r´   z0tuple[Callable[..., Any], tuple[Any, ...]] | Anyr¶   )r·   s   "r¸   r¹   r?  ¯  s    € ÷ Tñ TØðTà	9ñTrº   c                	óF  € ^ RI p\        V4      V P                  9   d"   \        V4      P                  \        V4      33# \
        P                  ! V4      '       d/   ^ RIHp \        V 4      P                  VP                  ! V4      33# \        V4      V P                  9   d	   \        R3# \        V\        P                  4      '       Ed   VP                   P                  R8w  Edô   ^ RIHp \        V4      V P&                  9  d	   \        R3# V! V4      '       dã   . pVP)                  4       w  rgV FW  p\+        W4      p	\        V	\        P                  4      '       d   W�P&                  \        V	4      &   VP-                  W‰34       KY  	  \        V 4      P.                  \        P0                  ! VRR7      VP                   \        V4      \        P2                  P5                  V4      P7                  4       VV33# \        V4      p
\        V\        P8                  P:                  4      '       d+   VP<                  e   VP<                  M\        P                  p
\        V 4      P>                  \        P0                  ! VRVP@                  R7      VP                   V
\        P2                  P5                  V4      P7                  4       VPB                  33# \        V\        PD                  PF                  4      '       Ed¸   \        V4      V P&                  9  d	   \        R 3# VPH                  PK                  4        F…  p\        V\        P                  \        PD                  PF                  34      '       d   K?  \        V4      V P&                  9   d   K[  \M        V4      '       d   Kn  W€P                  \        V4      &   K‡  	  \        V\        PD                  PN                  PP                  4      '       d'   \        V 4      PR                  VPU                  4       33# \        V4      PV                  \        V4      PX                  8X  d   \Z        # VP\                  PT                  \        PD                  PF                  PT                  8X  d'   \        V 4      P^                  VPU                  4       33# EM)\
        P`                  ! V4      '       d#   \        V 4      Pb                  VPX                  33# \        V\        P2                  Pd                  4      '       d'   \        V 4      Pf                  VP7                  4       33# \        V\        P2                  Ph                  Pj                  4      '       d'   \        V 4      Pl                  VPo                  4       33# \
        Pp                  ! V4      '       dh   \s        WPt                  4      '       dM   \w        VR4      '       d;   \w        VR4      '       g   \y        R	V R
24      hVPz                  VP|                  33# \
        Pp                  ! V4      '       dq   \s        V\~        4      '       d[   \w        VR4      '       dI   VPV                  VPX                  8w  d.   \        V 4      P€                  VPX                  VP‚                  33# \        V\        P„                  4      '       d   \‡        RV RVPˆ                   R24      h\        V\Š        PŒ                  4      '       d'   \        V 4      PŽ                  VP‘                  4       33# \        V4      \’        J d<   \•        V4      w  r¼V\Z        Jd#   V\Z        Jd   \        V 4      P–                  W¼33# EMb\        V\        P˜                  Pš                  Pœ                  4      '       d"   \        V 4      Pž                  \¡        V4      33# \        V\        P¢                  P¤                  4      '       dD   VP¦                  P©                  R4      '       d#   \        V 4      Pª                  VPX                  33# \        V\        P¢                  P¬                  4      '       d9   \        V 4      P®                  VP°                  VP²                  VP´                  33# VP\                  P¶                  R8X  d$   VP\                  PX                  R8X  d	   \        R!3# \        V\¹        4       4      '       d	   \        R"3# \
        Pº                  ! V4      '       dÜ   RVPV                  9   dO   \        V 4      P¼                  VP¾                  VP¶                  VPV                  VPÀ                  VPÂ                  33# VP¶                  \Ä        PÆ                  9   d]   \Ä        PÆ                  VP¶                  ,          pVPV                  PÉ                  R4       F  p\+        WÞR4      pK  	  WÑJd	   \        R#3# Mç\
        PÊ                  ! V4      '       dw   VPÌ                  pVPÎ                  p\+        VVPX                  4      p\
        PÊ                  ! V4      '       d   VPÌ                  pVVJd   \        V 4      PÐ                  VV33# MU\        V\        R ! ^ 4      PÂ                  ^ ,          4      4      '       d#   \        V 4      PÒ                  VPÔ                  33# \w        \        PÖ                  R4      '       dW   \        V\        PÖ                  PØ                  PÚ                  4      '       d#   \        V4      V P&                  9  d	   \        R$3# \        V\        PD                  PÜ                  PÞ                  4      '       d#   \        V 4      Pà                  VPâ                  33# \        V4      PV                  \        V4      PX                  8w  d^   \        V\~        4      '       gH   \        P˜                  Pä                  Pç                  R\        V4       RV R2R,           R,           4      h\
        Pp                  ! V4      '       EdD   \w        \        PÖ                  R4      '       Ed#   \s        V\        PÖ                  Pè                  Pê                  Pì                  4      '       då   V\        PÖ                  Pè                  Pê                  Pì                  Jd³   VPî                  ^,          p\s        V\        PD                  PF                  4      '       g   \y        RV 24      hV\        PÖ                  Pè                  Pê                  Pê                  Pñ                  4       9  d   \y        V R24      h\        V 4      Pò                  V33# \Z        # )%r$  Nr§   Úmeta)Úis_traceable_wrapper_subclass)r/  )r/  r€  Ú_torch_handler_nameÚ_torch_unpicklerzsympy Function subclass z% must have _torch_unpickler attributer%  zCannot serialize SymInt z (node: r±  z_C::rZ  Ú	PyCapsulez<locals>rå  c                ó   a € V 3R  l# )c                 ó   <€ S # rÅ   r¶   r&  s   €r¸   r  ÚGGuardsStatePickler.reducer_override.<locals>.<lambda>.<locals>.<lambda>\  s   ø€ ±Qrº   r¶   r&  s   fr¸   r  Ú5GuardsStatePickler.reducer_override.<locals>.<lambda>\  s   ø€ ­Yrº   Údistributed_c10dr”  r•  r–  r—  r˜  r†  z!Expected nn.Module subclass, got z* not found in FSDP cls-to-fsdp-cls mapping)zmissing values)ztensor guard tree)zmodule guard tree)Úcapsule)Úunsupported)zfqn mismatch)zdistributed_c10d.Work)zÚsympyr  r=  r7  r�  r  Úiscoder¾  r¨   rÀ  Úfrom_code_objectr>  r   r¼   rÆ   rÇ   r/  Útorch.utils._python_dispatchrÌ  rd  rë  rò  rà  r`  Ú
empty_likerÉ   rÊ   rÝ  rb  rc  rz  rV  r€  rR  r  r€  r[  rj  rû  r�  rŽ  r’  r  rû   rù   ÚNotImplementedr÷   rL  r£  re  r¤   ri  rô  ro  rq  Ú	serializerÍ  rf  ÚFunctionrÉ  r6  rÎ  rÍ  r‰  r¹  r%  ro  rñ  r   r�  ru  rv  r\  Ú_COUNT_ITERATOR_TYPEr–   r�  r  r;  rŽ   r|  r]  Ú_opsÚOpOverloadPacketÚ_qualified_op_nameÚ
startswithr—  Ú
OpOverloadrž  rš  Ú_opnameÚ_overloadnamerú   r9  Ú
isfunctionrÇ  r  rþ  r²  rˆ  ÚmodulesrÞ  ÚismethodÚ__func__Ú__self__r£  r³  ry  ra  rÔ  ÚWorkr§  r¨  rª  rf  rS   ÚPackageErrorr†  r‡  Ú
FSDPModuleÚ__mro__rˆ  r‰  )rí   r’  r×  r¨   rÌ  rZ  ÚattrsrY  r›  Úinnerrz  rÝ  rÌ  Úfrf  r¡  Úmethod_selfÚ
inner_funcr„  s   &&                 r¸   Úreducer_overrideÚ#GuardsStatePickler.reducer_override¯  s,
  € ó 	äˆc‹7�d×'Ñ'Ô'Ü˜“9×$Ñ$¤t¨C£y lÐ2Ð2ä�>Š>˜#×ÒÝ<ä˜“:×,Ñ,¨~×/NÒ/NÈsÓ/SÐ.UÐUÐUäˆc‹7�d×)Ñ)Ô)ÜÐ0Ð0Ð0ä�cœ5Ÿ<™<×(Ó(¨S¯Z©Z¯_©_ÀÕ-FÝRä�#‹w˜d×4Ñ4Ô4ÜÐ!7Ð7Ð7á,¨S×1Ò1ð  �
Ø ×3Ñ3Ó5‘
�ã!�DÜ# CÓ.�EÜ! %¬¯©×6Ò6Ø<A×.Ñ.¬r°%«yÑ9Ø×%Ñ% t mÖ4ñ	 "ô ˜D“z×FÑFÜ×$Ò$ S°Ô8Ø—J‘JÜ˜“IÜ—H‘H×+Ñ+¨CÓ0×9Ñ9Ó;ØØðIð ð ô ˜#“YˆFÜØ”U×&Ñ&×1Ñ1÷ò ð (+§z¡zÒ'=˜ŸšÄ5Ç<Á<�ä˜“:×.Ñ.Ü× Ò  ¨VÀ3×CTÑCTÔUØ—
‘
ØÜ—‘×'Ñ'¨Ó,×5Ñ5Ó7Ø—‘ð1ð ð ô ˜œUŸX™XŸ_™_×-Ó-Ü�#‹w˜d×4Ñ4Ô4ÜÐ!7Ð7Ð7àŸ™×+Ñ+Ö-�Ü˜d¤U§\¡\´5·8±8·?±?Ð$C×DÒDÙÜ�d“8˜t×5Ñ5Ô5ÙÜ˜D—>’>ÙØ04×#Ñ#¤B t£HÓ-ñ .ô ˜#œuŸx™x×0Ñ0×HÑH×IÒIÜ˜D“z×6Ñ6¸×9IÑ9IÓ9KÐ8MÐMÐMä�C‹y×%Ñ%¬¨c«×);Ñ);Ô;Ü%Ð%Ø�}‰}×)Ñ)¬U¯X©X¯_©_×-IÑ-IÔIÜ˜D“z×2Ñ2°S×5EÑ5EÓ5GÐ4IÐIÐIñ Jô ×Ò˜c×"Ò"Ü˜“:×5Ñ5¸¿¹°ÐFÐFä˜œUŸX™X×4Ñ4×5Ò5Ü˜“:×8Ñ8¸3¿<¹<»>Ð:KÐKÐKä˜œUŸX™X×0Ñ0×=Ñ=×>Ò>Ü˜“:×=Ñ=ÀÇÁÃÐ?QÐQÐQô �OŠO˜C× Ò Ü˜3§¡×/Ò/Ü˜Ð2×3Ò3ä˜3Ð 2×3Ò3Ü$Ø.¨s¨eÐ3XÐYóð ð ×'Ñ'¨#×*AÑ*AÐ)CÐCÐCô �OŠO˜C× Ò Ü˜3¤×&Ò&Ü˜˜Y×'Ò'Ø× Ñ  C§L¡LÔ0ä˜“:×8Ñ8¸3¿<¹<ÈÏÉÐ:UÐUÐUä˜œUŸ\™\×*Ò*ÜÐ!9¸#¸¸hÀsÇxÁxÀjÐPQÐRÓSÐSä˜œU×3Ñ3×4Ò4Ü˜“:×5Ñ5¸¿¹»
°}ÐDÐDä�#‹YÔ.Ó.Ü-¨cÓ2‰JˆDØœ>Ó)¨d¼.Ó.HÜ˜D“z×6Ñ6¸¸ÐDÐDùä˜œUŸ]™]×0Ñ0×:Ñ:×;Ò;Ü˜“:×1Ñ1´D¸³I°<Ð?Ð?äØ”—‘×,Ñ,÷
ò 
à×$Ñ$×/Ñ/°×7Ò7Ü˜“:×,Ñ,¨s¯|©|¨oÐ=Ð=ä˜œUŸZ™Z×2Ñ2×3Ò3Ü˜“:×*Ñ*Ø—‘Ø—‘Ø×!Ñ!ð-ð ð ð �M‰M×$Ñ$¨
Ô2Ø—‘×&Ñ&¨+Ô5ô ˜\Ð)Ð)ä˜Ô3Ó5×6Ò6ÜÐ-Ð-Ð-ä×Ò ×$Ò$Ø˜S×-Ñ-Ô-Ü˜D“z×;Ñ;Ø—L‘LØ—N‘NØ×$Ñ$Ø×$Ñ$Ø—O‘Oð>ð ð ð �~‰~¤§¡Ô,Ü—K‘K §¡Õ/�Ø×,Ñ,×2Ñ2°3Ö7�DÜ ¨Ó.’Añ 8à“<Ü#Ð%6Ð6Ð6øÜ×Ò˜c×"Ò"Ø—<‘<ˆDØŸ,™,ˆKÜ  ¨d¯m©mÓ<ˆJÜ×Ò 
×+Ò+Ø'×0Ñ0�
Ø˜:Ó%Ü˜D“z×8Ñ8¸4ÀÐ:MÐMÐMð &ô ˜œTÒ#6¸Ó":×"FÑ"FÀqÕ"IÓJ×KÒKÜ˜“:×,Ñ,¨s×/@Ñ/@Ð.BÐBÐBä”5×$Ñ$Ð&8×9Ò9¼jØ”×"Ñ"×3Ñ3×8Ñ8÷?
ò ?
ô �#‹w˜d×4Ñ4Ô4ÜÐ!;Ð;Ð;ä�cœ5Ÿ8™8×-Ñ-×8Ñ8×9Ò9Ü˜“:×3Ñ3°c·h±h°[Ð@Ð@ä�‹9×!Ñ!¤T¨#£Y×%7Ñ%7Ô7Ä
È3ÔPU×@VÒ@VÜ—-‘-×#Ñ#×0Ñ0Øœ˜S›	�{ ,¨s¨eÐ3DÐEØTõUàTõUóð ô �OŠO˜C× Ó Üœ×)Ñ)¨6×2Ó2Ü˜3¤× 1Ñ 1× 6Ñ 6× CÑ C× NÑ N×OÒOàœ%×+Ñ+×0Ñ0×=Ñ=×HÑHÓHØ #§¡¨A¥�Ü! -´·±·±×AÒAÜ(Ø;¸M¸?ÐKóð ð "Ü ×,Ñ,×1Ñ1×>Ñ>×KÑK×_Ñ_Óaôbô )Ø(˜/Ð)SÐTóð ô ˜D“z×<Ñ<¸}Ð>NÐNÐNäÐrº   )r=  rB  rd  r>  rE  )rù   rú   rû   rü   r  r…  rL  rV  r`  re  ri  rq  rv  r|  r�  r‰  r’  r—  rž  r£  r„  rª  r³  r¹  rÀ  rÇ  rõ  rý   rþ   rÿ   s   @r¸   r;  r;  
  s›  ø† ÷-ð -ð ôó ðð
 ôó ðð( ôó ðð0 ô.ó ð.ð ô?ó ð?ð ôBó ðBð
 ô)ó ð)ð
 ô+ó ð+ð ô+ó ð+ð ô
ó ð
ð ôó ðð ô+ó ð+ð ôUó ðUð ô,ó ð,ð ô<ó ð<ð ô ó ð ð ô4ó ð4ð ô>ó ð>ð
 ô	Oó ð	O÷Tó Trº   r;  c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r¢  r:   ÚbuilderrA  r´   r‰   r¶   )r·   s   "r¸   r¹   r¹   †  s"   € ÷ ñ  5ð °<ð ÐDTñ rº   c           
     óR  € \        4       p\        V P                  4      pVR 8X  d   RpTpM VP                  V 4      pRp\	        V P
                  4      RJp\        TTTV P                  4       V P                  '       d   \        V P                  4      MRVV R7      #    TpRp Lf; i)rÇ  FTN)rf  Ú	has_valuer²   Ú
guard_typeÚderived_guard_typesÚ	is_globalÚ
orig_guardr¶   )
r³   Ústrip_local_scoperf  rh  r+   r_  r‰   Úcreate_fn_nameÚguard_typesr‰  )r¢  rø  ÚMISSINGrf  rú  r²   rý  s   &&     r¸   Úmake_guard_filter_entryr  †  s®   € Ü‹h€GÜ˜UŸZ™ZÓ(€DØˆr„zØˆ	Ø‰ð		ð
 —K‘K Ó&ˆEØˆIô ' u×'?Ñ'?Ó@ÈÐL€IÜØØØØ×'Ñ'Ó)Ø9>×9J×9JÐ9JœU 5×#4Ñ#4Ô5ÐPRØØôð øð		ØˆEØŠIús   ­B ÂB&c               ó$   € V ^8„  d   QhRRRRRR/# )r±   rH  r  rø  rA  r´   rm  r¶   )r·   s   "r¸   r¹   r¹   £  s&   € ÷ )ñ )Øð)àð)ð ñ)rº   c                óü  € \         P                  ! 4       p/ p/ pVP                  p\        P                  ! V P
                  P                  4      pV F¡  p\        P                  ! V4      '       dd   \        VR 4      '       dR   VP                  p\        V4      V9  d4    \        V4      P                  \        V4      4       Wƒ\        V4      &   K€  K‚  \        V4      V9  g   K”  Wt\        V4      &   K£  	  \        WSWB4      p	\        \         P"                  P%                  V P
                  P&                   U
u. uF  p
\)        W¡4      NK  	  up
4      4      '       d+   \+        4       V P
                  n        / V P
                  n         V	P1                  V 4       VP=                  4       #     EK^  ; iu up
i   \2         d9   p\         P4                  P6                  P9                  \;        T4      4      ThRp?ii ; i)rë  N)ÚioÚBytesIOrd  r×  Útree_leavesrf  rG  r  ré  rÉ  rë  r  r7  r�  r;  r]  rÆ   ÚcompilerÚkeep_portable_guards_unsafer¬   r  r½   rg  r  Údumpr8  r  rS   rí  rÛ   rÊ  )rH  rø  Úbufr=  r>  rd  ÚleavesÚleafrh  Úpicklerr¢  rú  s   &&          r¸   Úpickle_guards_stater  £  s£  € ô �*Š*‹,€CØ€LØ€NØ×1Ñ1Ðä×Ò × 2Ñ 2× >Ñ >Ó?€FÛˆÜ×Ò˜D×!Ò!¤g¨d°J×&?Ò&?Ø—=‘=ˆDÜ�$‹xÐ0Ô0ðÜ˜“J×&Ñ&¤t¨D£zÔ2Ø-1¤ D£Ó*ñ 1ô �‹XÐ.Ö.ð (,œ2˜d›8Ó$ñ ô !Ð!2À.ÓV€Gä
Ü�‰×2Ñ2ð #×/Ñ/×6Ò6óá6�Eô (¨Ö7Ù6ñó	
÷ò ô 14³ˆ×ÑÔ-Ø*,ˆ×ÑÔ'ð<Ø�‰�UÔð �<‰<‹>Ðøð1Ûüòøô ô <Ü�m‰m×Ñ×,Ñ,¬S°«VÓ4¸!Ð;ûð<ús*   Â 0F*Ä9F3Æ	F8 Æ*F0Æ8G;Ç3G6Ç6G;c                  ó‚   € ] tR tRt$ RR R lltRtR]R&   R R ltRR	 R
 lltR R lt	R R lt
R R ltR R ltRtR# )rI  iÔ  Nc               óD   € V ^8„  d   QhRRRRRRRRR	R
RRRRRRRRRRRR/# )r±   rC  rÙ   rf  r¥   Úcache_entrieszlist[CacheEntry] | Noner  ú"Callable[[GuardFail], None] | NonerL  rM  r\  r  rK  r)  rJ  rÒ   Ústrict_errorÚguard_build_local_stater  r´   ró   r¶   )r·   s   "r¸   r¹   Ú!CheckFunctionManager.__annotate__Õ  s…   € ÷ Y!ñ Y!àðY!ð (ðY!ð /ð	Y!ð
 :ðY!ððY!ð 0ðY!ð 4ðY!ð ðY!ð ðY!ð ",ðY!ð 
ñY!rº   c                	óv  a aa€ V'       d   VP                   MR p/ S n        \        T;'       g    . 4      pVS n        S P                  f   \	        R4      hVS n        V'       d   VP                  MR S n        \        4       S n        \        4       S n	        \        4       S n
        VS n        V
S n        R S n        R S n        \        R4      '       g   \         P#                  R4       \$        P&                  P(                  P*                  '       d   T;'       g    R oR V3R llp\-        T;'       g    R\.        P0                  R7      p\$        P2                  P5                  4       ;_uu_ 4        V'       dì   S P7                  VVVVR4      w  rïT! V Uu. uF  p\9        VV4      NK  	  up4      p\;        V4      \;        V4      8w  d%   \	        R	\;        V4       R
\;        V4       R24      h\<        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \	        R4      h\?        V4       UUu. uF  w  ppVV,          '       g   K  VNK  	  pppS P7                  VVVVVVR7      w  rïVS n         S PC                  WíV4       R R R 4       XPD                  S P@                  n"        \F        PI                  RS P@                  4       VPD                  S P@                  n"        RoVPJ                  '       Eg3   VPL                  '       Eg    \$        PN                  PQ                  4       '       gü   S P@                  PS                  VPT                  4      '       gE   \W        S P@                  VPT                  \X        PZ                  ! 4       R R7      p\	        RV 24      h\\        e"   \]        S P@                  VPT                  V4       \_        S P@                  P`                  VPT                  ^4      o\F        PI                  RSR 4       \b        Pd                  ! R\g        S4      4       R S n4        V'       df   ^ RI5H6p \o        S P                  V4      '       g"   \	        R\q        S P                  4       24      h S Ps                  WíS P                  4      S n4        \$        P„                  P‡                  RVV 3R lR7       S P                  P‰                  4        R S n        R # u upi u uppi   + '       g   i     ELv; i  \t        Pv                   d‹   p\$        P&                  P(                  Px                  '       g	   T	'       d   ThS P                  P{                  R\}        T4       2\~        P€                  ! 4       Pƒ                  R4      R7        R p?ELR p?ii ; i) Nr  rW  z9guard_nn_modules is turned off using justknobs killswitchc                ó0   € V  Uu. uF  pR NK  	  up# u upi r  r¶   )ÚgsÚgs   & r¸   r  Ú/CheckFunctionManager.__init__.<locals>.<lambda>  s   € ÉRÓ>PÉRÈ»tÉRÒ>PùÒ>Ps   …c               ó    € V ^8„  d   QhRRRR/# )r±   r¬   zSequence[GuardFilterEntry]r´   zSequence[bool]r¶   )r·   s   "r¸   r¹   Ú3CheckFunctionManager.__init__.<locals>.__annotate__  s   € ÷ ñ Ð(Bð À~ñ rº   c                ó�  <€ . p\        S! V 4      V 4       F¬  w  r#V'       g   VP                  R 4       K   VP                  R9   g#   RVP                  9   g   RVP                  9   dI   \        P                  RVP                  VP                  P                  4       VP                  R 4       K›  VP                  R4       K®  	  V# )FrÈ  rx  z7%s guard on %s is dropped with caching_precompile=True.T)rÈ  r¨  rì  rx  )r^  rà  rû  rü  r3  r4  rþ  rf  )r¬   r-  Úkeepr  Ú_guard_filter_fns   &   €r¸   rL  Ú6CheckFunctionManager.__init__.<locals>.guard_filter_fn  s¤   ø€ Ø�Ü"Ñ#3°FÓ#;¸VÖD‘G�DßØŸ
™
 5Ö)àŸ™ðôð &¨×)>Ñ)>Ô>Ø)¨Q×-BÑ-BÔBäŸ™ØUØŸL™LØŸL™L×-Ñ-ôð
 Ÿ
™
 5Ö)àŸ
™
 4Ö(ñ+  Eð, �
rº   r{  Fzfilter_results length (z) != sorted_guards length (r±  c              3  óD   "  € T F  p\        V4      \        J x € K  	  R # 5irÅ   )r7  rÒ   )rW  rÎ  s   & r¸   rZ  Ú0CheckFunctionManager.__init__.<locals>.<genexpr>8  s   é € ÐC±N¨qœ4 ›7¤d�?³Nùs   ‚ Tz'All filter_results entries must be bool)rL  ú%sg        )ÚbackendziGuard failed on the same frame it was created. This is a bug - please create an issue.Guard fail reason: zGuard eval latency = %s usú.2fÚguard_latency_usr.  r/  zGuard evaluation failed: rB  )Ú	tracebackÚdynamo_cpp_guards_strc                 ó*   <€ SP                    R S R R2# )z
Guard latency = r'  z us)r¬  )Úlatencyrí   s   €€r¸   r  r  £  s   ø€  $×"4Ñ"4Ð!5Ð5GÈÐPSÀ}ÐTWÑXrº   ©Ú
payload_fnr¶   )Er¬   Ú	_weakrefsÚ5update_diff_guard_managers_for_existing_cache_entriesrf  r6  r\  r  rM   r®  rà  rá  rK  r  r  r!  rD   r3  r4  rÆ   r  rQ   Úcaching_precompiler'  r:   Úsort_keyrÉ   ÚDisableTorchFunctionÚbuild_guardsr  rÀ   r]  r}  r¬  Úcompile_check_fnr  r  r  Úskip_guards_checkrH  r	  Ú_is_non_strict_tracingrÐ  rG  Úget_guard_fail_reason_helperr7   r.  rž   r$   r  r5   Úincrement_toplevelrµ   Úguards_stater[  r¥   r¼   r7  Úserialize_guardsrS   rí  Ústrict_precompileÚbypass_packagerÛ   r)  Ú
format_excrÞ  Ú_loggingÚtrace_structuredÚclear)rí   rC  rf  r  r  rL  r\  rK  rJ  r  r  r¬   Úexisting_diff_guard_sourcesÚsorted_guardsrø  r¬  r¢  Úfilter_resultsrR  Úreasonsr¥   rú  r!  r,  s   f&&&&&&&&&&           @@r¸   r  ÚCheckFunctionManager.__init__Õ  sô  ú€ ÷ )5�×$Ò$¸$ˆØ;=ˆŒô BÀ-×BUÐBUÐSUÓVð 	$ð 7CˆÔØ×ÑÒ$Ü Ð!@ÓAÐAð !1ˆÔ÷
 7CˆL×2Ò2Èð 	Ô&ô 3=³,ˆÔÜ;E»<ˆÔ'Ü<F»LˆÔ(Ø$8ˆÔ!Ø'>ˆÔ$ØMQˆÔØMQˆÔ/äÐB×CÒCÜ�K‰KÐSÔTô �=‰=×Ñ×2×2Ð2Ø.×QÐQÑ3PÐ÷ð ô4 ˜vŸ|˜|¨´·±Ô@ˆô �X‰X×*Ñ*×,Õ,ßð *.×):Ñ):Ø!Ø/ØØ Øó*Ñ&�ñ "1ÙJWÓXÉ-ÀÔ,¨U°GÖ<É-ÑXó"�ô �~Ó&¬#¨mÓ*<Ô<Ü(Ø1´#°nÓ2EÐ1Fð G1Ü14°]Ó1CÐ0DÀAðGóð ÷ “sÑC±NÓC—s—s’sÑC±NÓC×CÒCÜ(Ð)RÓSÐSä*3°MÔ*Bô!Ù*B™h˜a ÀnÐUV×FWÑFW—E�EÑ*Bð ñ !ð
 &*×%6Ñ%6ØØ+ØØØØ /ð &7ó &Ñ"ˆGð "/ˆDÔØ×!Ñ! '¸-ÔH÷K -ð^ .5×-DÑ-Dˆ×ÑÔ*ä×Ñ˜˜t×1Ñ1Ô2Ø-4×-DÑ-Dˆ×ÑÔ*ð ˆð ×.×.Ñ.Ø ×'×'Ñ'Ü—N‘N×9Ñ9×;Ò;à×%Ñ%×+Ñ+¨L×,DÑ,D×EÒEÜ6Ø×&Ñ&Ø ×,Ñ,Ü"×5Ò5Ó7Ø ô	�ô %ð*Ø*1¨ð4óð ô
 -Ò8Ü-Ø×&Ñ&¨×(@Ñ(@À'ôô ,Ø×"Ñ"×'Ñ'¨×)AÑ)AÀ1óˆGô ×ÑÐ9¸gÀc¸]ÔLô ×1Ò1Ð2DÄcÈ'ÃlÔSà*.ˆÔßÝDä˜d×/Ñ/Ð1B×CÒCÜ$Ø6´t¸D×<MÑ<MÓ7NÐ6OÐPóð ð
Ø$(×$9Ñ$9Ø¨D×,=Ñ,=ó%�Ô!ô 	�‰×'Ñ'Ø#ÝXð 	(ô 	
ð 	�‰×ÑÔØ ˆÖùò{ Yùó!÷- -×,Ð,ûôh ×#Ñ#ô Ü—=‘=×'Ñ'×9×9Ð9¿\Ø�GØ×!Ñ!×0Ñ0Ø/´°A³¨xÐ8Ü'×2Ò2Ó4×:Ñ:¸4Ó@ð 1÷ ò ûðúsb   Å2&TÆS:Æ-ATÇ<TÈTÈ+TÉS?
ÉS?
É#5TÒ!T Ó:TÔT	ÔV8Ô.1V3Õ AV3Ö3V8ztuple[LiteralString, ...]Ú%UNSUPPORTED_SERIALIZATION_GUARD_TYPESc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r±   rø  rA  rC  úlist[Guard]rf  r¥   r´   rm  r¶   )r·   s   "r¸   r¹   r  »  s8   € ÷ @:ñ @:àð@:ð #ð@:ð (ð	@:ð
 
ñ@:rº   c                	ó  aaaa€ V Fý  pVP                  4       pVP                  '       d   \        VP                  4      MRpVR9   d3   VP                  '       d   VP	                  V4      p\        V4       Ks  Ku  V\        P                  9   d-   \        P                  P                  P                  V R24      h\        R V 4       R4      ;p'       g   KÓ  \        P                  P                  P                  V R24      h	  VP                  ;'       g    Ro\        4       o\        4       oR VVV3R llp	VP                  4       p
V Fy  p\!        VP"                  \$        4      '       dE   V P&                  '       g   \)        R4      hV P&                  P*                   F  pV	! V4       K  	  Kg  V	! VP"                  4       K{  	  VP,                   F  pV	! V4       K  	  R R	 loV
P.                  P1                  4        UUu/ uF   w  rÍVS9   g   WÀP2                  9   g   K  WÍbK"  	  pppV
P.                  S,          P1                  4        UUu/ uF  w  rÍWÀP4                  9   g   K  WÍbK  	  uppVS&   \6        P8                  ! T
V
P:                  P1                  4        UUu/ uF   w  rÍVS9   g   WÀP<                  9   g   K  WÍbK"  	  uppV\        P>                  PA                  \C        V3R
 lV 4       4      4      \D        PF                  ! \H        V
PJ                  4      RR7      p
\M        V
V P&                  V PN                  PP                  PS                  4       R7      p\U        Wñ4      # u uppi u uppi u uppi )rh  z guard cannot be serialized.c              3  óT   "  € T F  pV\         P                  9   g   K  Vx € K   	  R # 5irÅ   )rI  rG  )rW  rR  s   & r¸   rZ  Ú8CheckFunctionManager.serialize_guards.<locals>.<genexpr>Ó  s(   é € ð á0˜ØÔ0×VÑVÑV÷ ’AÛ0ùs   ‚(ž
(NrÇ  c               ó    € V ^8„  d   QhRRRR/# )r±   r³  r>   r´   ró   r¶   )r·   s   "r¸   r¹   Ú;CheckFunctionManager.serialize_guards.<locals>.__annotate__ã  s   € ÷ 	*ñ 	* 6ð 	*¨dñ 	*rº   c                óf  <€ \        V 4      ;p'       dJ   \        V\        4      '       g   \        R \	        V4       24      hVS8w  d   SP                  V4       R# R# \        V 4      ;p'       dA   \        V\        4      '       g   \        R \	        V4       24      hSP                  V4       R# R# )zExpected str, got N)r+   r¼   rÛ   r6  r7  r*  r,   )r³  rf  Úbuiltins_dict_nameÚused_global_varsÚused_local_varss   & €€€r¸   Úprune_variableÚ=CheckFunctionManager.serialize_guards.<locals>.prune_variableã  sœ   ø€ Ü-¨fÓ5Ð5ˆtÖ5Ü! $¬×,Ò,Ü(Ð+=¼dÀ4»j¸\Ð)JÓKÐKð Ð-Ô-Ø$×(Ñ(¨Ö.ñ .ä.¨vÓ6Ð6�Ö6Ü! $¬×,Ò,Ü(Ð+=¼dÀ4»j¸\Ð)JÓKÐKØ×#Ñ# DÖ)ñ 7rº   z6shape_code_parts must be set for ShapeEnvSource guardsc               ó    € V ^8„  d   QhRRRR/# )r±   rÎ  zCallable[..., None]r´   r¶   )r·   s   "r¸   r¹   rN    s   € ÷ 	ñ 	Ð#6ð 	Ð;Nñ 	rº   c                óœ  a€ \        V \        P                  4      '       d¥   R  R lo\        ;QJ d!    . V3R lV P                   4       F  NK  	  5M! V3R lV P                   4       4      pV P
                  P                  4        UUu/ uF  w  r#VS! V4      bK  	  ppp\        P                  ! V P                  .VO5/ VB # V # u uppi )c               ó    € V ^8„  d   QhRRRR/# )r±   rÎ  r   r´   r¶   )r·   s   "r¸   r¹   ÚXCheckFunctionManager.serialize_guards.<locals>.normalize_create_fn.<locals>.__annotate__  s   € ÷ ñ ˜Cð  Cñ rº   c                ó`   € \        V \        \        P                  34      '       d   V ! 4       # V # rÅ   )r¼   rP   r²  rJ  r&  s   &r¸   Ú_refÚPCheckFunctionManager.serialize_guards.<locals>.normalize_create_fn.<locals>._ref  s$   € Ü! !¤m´W·[±[Ð%A×BÒBÙ ›s˜
Ø�Hrº   c              3  ó4   <"  € T F  pS! V4      x € K  	  R # 5irÅ   r¶   )rW  ru  rZ  s   & €r¸   rZ  ÚUCheckFunctionManager.serialize_guards.<locals>.normalize_create_fn.<locals>.<genexpr>	  s   øé € Ð 9±&¨Q¡ a§ ³&ùs   ƒ)r¼   r  r  r‰  r  r  r)  r¡  )rÎ  Únew_argsÚkÚvÚnew_keywordsrZ  s   &    @r¸   Únormalize_create_fnÚBCheckFunctionManager.serialize_guards.<locals>.normalize_create_fn  sš   ø€ Ü˜!œY×.Ñ.×/Ò/õ÷
 !œ5Ô 9°!·&²&Ó 9Ÿ5™5Ô 9°!·&²&Ó 9Ó9�Ø78·z±z×7GÑ7GÔ7IÔJÑ7I©t¨q ¡4¨£7¢
Ñ7I�ÑJÜ ×(Ò(¨¯©ÐK°(ÒK¸lÑKÐKàˆHùó  Ks   ÂCc           	   3  óx   <"  € T F/  p\         P                  ! VR R S! VP                  4      R7      x € K1  	  R # 5i)N)Úobj_weakrefÚguarded_class_weakrefr  )r  rE  r  )rW  r¢  rb  s   & €r¸   rZ  rL  %  sA   øé € ð ñ "/˜ô  ×'Ò'ØØ$(Ø.2Ù"5°e·o±oÓ"F÷	ñ ó "/ùs   ƒ7:T)rG  r  Ú_guardsr›  r6  )rf  r\  r  r¶   )rh  r¯  )+r   r  r‰  rd  rh  rš  rI  rG  rÆ   r  rS   rí  ÚnextÚ%name_of_builtins_dict_key_in_fglobalsr½   Údump_guards_stater¼   r_  rx   r\  r6  rN  rg  r  r)  rá  r®  r  rE  rG  rà  rg  Ú	GuardsSetrM   r×  Útree_maprq  r›  r  r¬  r  Úget_local_stater  )rí   rø  rC  rf  r¢  rû  rü  r’  ÚfailedrS  Úoutput_graph_guards_stater³  r_  r`  Úglobal_scope_stater:  rP  rb  rQ  rR  s   &&&&            @@@@r¸   r;  Ú%CheckFunctionManager.serialize_guards»  s`  û€ ó #ˆEØ×-Ñ-Ó/ˆJØ>C×>O×>OÐ>O¤%¨×(9Ñ(9Ô":ÐUWÐð Ð<Ô<Ø×(×(Ð(à!Ÿ+™+ eÓ,�CÜ*¨3Ö/ñ )ð
 Ô2×XÑXÔXä—m‘m×'Ñ'×4Ñ4Ø!�lÐ">Ð?óð ô  ñá0óð
 óð �÷ ð ô —m‘m×'Ñ'×4Ñ4Ø�hÐ:Ð;óð ñ3 #ð: *×OÑO×UÐUÐSUÐÜ›5ÐÜ›%ˆ÷	*ò 	*ð %1×$BÑ$BÓ$DÐ!ã"ˆEÜ˜%×2Ñ2´N×CÒCØ×,×,Ð,Ü(ØPóð ð #×3Ñ3×EÔE�FÙ" 6Ö*ó Fñ ˜u×7Ñ7Ö8ñ #ð #×5Ô5ˆFÙ˜6Ö"ñ 6õ	ð  2×>Ñ>×DÑDÔFô
áF‘�ØÐ$Ô$¨×-MÑ-MÑ(Mô ˆAŠDÙFð 	ñ 
ð 2×>Ñ>Ø"õç‰e‹gðô2
ñ‘�ð ×*Ñ*Ñ*ô ˆAŠDñò2
ÐÐ-Ñ.ô %0×$7Ò$7Ø%ð 6×AÑA×GÑGÔIôáI‘D�AØ˜Ô'¨1×0OÑ0OÑ+Oô �’ÙIòð
 ,Ü—M‘M×+Ñ+Üô ñ "/óó ó
ô +1¯/ª/Ü.Ø)×GÑGó+ð #ô/%
Ð!ô2 #Ø2Ø!×2Ñ2Ø×*Ñ*×/Ñ/×?Ñ?ÓAô
ˆô # <Ó9Ð9ùóY
ùó
2
ùós$   È
M6È*M6ÉM<É0M<Ê+NËNc               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r±   rC  rI  rB  r  rC  rÙ   rf  r¦   rJ  rÒ   rL  rM  r´   z(tuple[GuardBuilder, GuardManagerWrapper]r¶   )r·   s   "r¸   r¹   r  =  sY   € ÷ M&ñ M&à"ðM&ð &5ðM&ð ð	M&ð
 -ðM&ð ðM&ððM&ð 
2ñM&rº   c                	óˆ  a€ \        V P                  R 7      pW'n        RoR V3R llp\        VV P                  VV P
                  VP                  VP                  VV VV P                  VR7      p	R R lp
\        P                  ! Wš4      o\        P                  ;'       d    \        R4      pV F‹  pRVn        RVn        V'       gb   VP!                  4       '       dL   RVP"                  9  d;   R	VP"                  9  d*   \        P$                  '       g   R
VP"                  9  d   Kz  VP'                  V	4       K�  	  W—3# ))r  Nc               ó    € V ^8„  d   QhRRRR/# )r±   r³  r>   r´   rÛ   r¶   )r·   s   "r¸   r¹   Ú7CheckFunctionManager.build_guards.<locals>.__annotate__L  s   € ÷ 
	2ñ 
	2˜vð 
	2¨#ñ 
	2rº   c                óä   <€ V P                   pV\        P                  J d   V P                  # S'       g   \	        R 4      hS! 4       pVf   \	        R4      hVP                  V P                  4      # )z/w_builder must be set before calling source_refz'GuardBuilder has been garbage collected)Úguard_sourcer=   ÚCONSTANTrf  r6  r6  )r³  rw  Ú	r_builderÚ	w_builders   &  €r¸   rE  Ú5CheckFunctionManager.build_guards.<locals>.source_refL  sc   ø€ Ø!×.Ñ.ˆLØœ{×3Ñ3Ó3à—{‘{Ð"ßÜ$Ð%VÓWÐWÙ!›ˆIØÒ Ü$Ð%NÓOÐOØ×$Ñ$ V§[¡[Ó1Ð1rº   )rK  rL  c               ó    € V ^8„  d   QhRRRR/# )r±   Úweak_bzweakref.ref[GuardBuilder]r´   ró   r¶   )r·   s   "r¸   r¹   ru  g  s   € ÷ 	ñ 	Ð$=ð 	À$ñ 	rº   c                ó6   € V ! 4       pV'       d
   R Vn         R # R # rÅ   )rX  )r}  r  s   & r¸   Úcleanup_builderÚ:CheckFunctionManager.build_guards.<locals>.cleanup_builderg  s   € Ù“ˆAßØ�–ñ rº   rW  rþ  r   rþ  )r  r  r  rA  rD  rF  rG  r  rK  r²  rJ  rQ   rl  rD   r  rÂ  r½  rf  r  r:  )rí   rC  rB  rC  rf  rJ  rL  r¬  rE  rø  r  Úguard_on_nn_modulesr¢  rz  s   &&&&&&&      @r¸   r4  Ú!CheckFunctionManager.build_guards=  s$  ø€ ô ,¸×8TÑ8TÔUˆØ+FÔ(àˆ	÷
	2ð 
	2ô ØØ�K‰KØØ× Ñ Ø×$Ñ$Ø×%Ñ%ØØØØ!%×!:Ñ!:Ø+ô
ˆõ	ô —K’K Ó9ˆ	ä$×5Ñ5÷ 
ð 
¼/Ø/ó;
Ðó #ˆEð !%ˆEÔØ"ˆEŒO÷ (Ø×2Ñ2×4Ò4ð #¨%¯*©*Ô4Ø$¨E¯J©JÔ6Ü×5×5Ð5¸ÈÏ
É
Ô9Ráà�L‰L˜Ö!ñ- #ð. Ð%Ð%rº   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r±   rø  rA  Ú
guards_outrI  r  r  r´   ró   r¶   )r·   s   "r¸   r¹   r  Œ  s>   € ÷ KQñ KQàðKQð  ðKQð :ð	KQð
 
ñKQrº   c                	óü	  aaa€ VP                   pVR .,          p\        P                  R4       . o. o. oV P                  P                  P                  \        \        P                  ! 4       4      4       RV n	        RR VVV3R lllp\        4       pVP                   FB  pVP                   F/  pW†9  g   K  V! W‡P                  R4       VP                  V4       K1  	  KD  	  VP                  p	Rp
Rp\!        V	4      ^8”  d7   \#        VP$                  V	RRP'                  V	4      ,           R,           .R4       \(        P*                  '       dG   VP,                  '       d5   \/        \0        \3        VP,                  !  4      w  rÍVP5                  WÍ4       V P6                  '       d   V P6                  P8                  M. pV EF`  p\;        V\<        4      '       dm   VP>                  pVP@                  pVPB                   R	VPB                   2p\E        VPG                  V4      VPG                  V4      V.R4       V! VRR4       K†  \;        V\H        4      '       dº   VPJ                   Uu. uF  pVPG                  V4      NK  	  ppVPL                   Uu. uF  pVPG                  V4      NK  	  ppR
RP'                  R VPJ                   4       4       RRP'                  R VPL                   4       4       R2p\O        VVV.R4       V! VRR4       EKU  \Q        RV 24      h	  VPR                   F)  pVP                   F  pV! W‡P                  R4       K  	  K+  	  S'       d&   \T        PV                  PY                  RV3R lR7       \Z        P\                  f!   \Z        P^                  ! 4       P`                  pM\c        V Pd                  RR4      pRV
RVRVRV Pf                  /\h        C\k        4       CpV P                  Pm                  4        RVPn                  R,          /p\!        S4      ^ 8w  d   \q        R\!        S4       R24      hVV P                  n9        W@P                  n:        V P                  Pw                  4        SV P                  n<        VV P                  n=        W0P                  n>        RV P                  n?        RV P                  n@        W�P                  nA        R# u upi u upi )z**___kwargs_ignoredzGUARDS:Nc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r±   râ  rÛ   r¢  rN  Úlog_onlyrÒ   r´   ró   r¶   )r·   s   "r¸   r¹   Ú;CheckFunctionManager.compile_check_fn.<locals>.__annotate__¥  s,   € ÷ )	=ñ )	=Øð)	=Ø#/ð)	=Ø;?ð)	=àñ)	=rº   c                ó^  <a a€ \        S S4      p\        P                  R V4       SP                  V V3R l4       \        P                  \        P                  4      '       d�   RpRpSe}   SP                  '       d-   RRP                  SP                  P                  4       4       2pSP                  '       d-   RRP                  SP                  P                  4       4       2p\        P                  RS VV4       V'       g%   SP                  S 4       SP                  V4       R# R# )r%  c                 ó  <€ R S RS'       dA   SP                   '       d/   \        P                  ! SP                   P                  4       4      MRRS'       d4   SP                  '       d"   \        P                  ! SP                  4      /# R/# )rØ   rT  NrQ  )rT  rC   Úfrom_tracebackrU  rQ  )râ  r¢  s   €€r¸   r  ÚNCheckFunctionManager.compile_check_fn.<locals>.add_code_part.<locals>.<lambda>¬  sl   ø€ Ø˜IØç  U§[§[ [ô #×1Ò1°%·+±+×2EÑ2EÓ2GÔHà!à ç  U×%5×%5Ð%5ô #×1Ò1°%×2BÑ2BÓCñð "ñrº   rÇ  Nz
Stack:
z
User stack:
zGuard: %s%s%s)rX  r  r  rà  Úverbose_guards_logÚisEnabledForÚloggingÚDEBUGrT  r  r·   rQ  )	râ  r¢  r‡  rá  Úmaybe_stackÚmaybe_user_stackr  Ústructured_guard_fnsr  s	   ff&   €€€r¸   Úadd_code_partÚ<CheckFunctionManager.compile_check_fn.<locals>.add_code_part¥  s  ú€ ô !6°iÀÓ GÐÜ×Ñ˜TÐ#4Ô5à ×'Ñ'õôô  "×.Ñ.¬w¯}©}×=Ò=Ø �Ø#%Ð ØÒ$Ø—{—{�{Ø(2°2·7±7¸5¿;¹;×;MÑ;MÓ;OÓ3PÐ2QÐ&R˜Ø×'×'Ð'à-¨b¯g©g°e×6FÑ6F×6MÑ6MÓ6OÓ.PÐ-QÐRð )ô #×(Ñ(Ø#ØØØ$ô	÷ Ø×!Ñ! )Ô,Ø"×)Ñ)Ð*;Ö<ñ rº   Tzcheck_no_aliasing(r°  r±  rß  zcheck_overlapping(overlapping=[c              3  ó8   "  € T F  qP                   x € K  	  R # 5irÅ   r©  ©rW  rµ  s   & r¸   rZ  Ú8CheckFunctionManager.compile_check_fn.<locals>.<genexpr>  s   é € Ð/ZÑ@Y¸1·¶Ó@Yùó   ‚z], non_overlapping=[c              3  ó8   "  € T F  qP                   x € K  	  R # 5irÅ   r©  r—  s   & r¸   rZ  r˜    s   é € Ð3bÑDa¸q·F¶FÓDaùr™  z])zUnknown GuardEnvExpr: Údynamo_guardsc                 ó:   <€ S U u. uF	  q ! 4       NK  	  up # u up i rÅ   r¶   )rò  r“  s    €r¸   r  Ú7CheckFunctionManager.compile_check_fn.<locals>.<lambda>1  s   ø€ ÑBVÓ4WÑBV¸Q°Q¶SÑBVÒ4WùÒ4Ws   †r-  rÐ  Ú___check_tensorsÚ___check_tensors_verboseÚ___check_global_stateÚ"___check_torch_function_mode_stackrQ  z,Expected all code_parts to be consumed, but z remainrÔ   )Br`  r  r  r¬  r  Úattach_compile_idrÛ   r7   r.  r  r½   rØ   rÂ  r¢  r*  rb  rÀ   r   rc  r  rQ   râ  rk  r  r]  r^  r%  rf  Úaotautograd_guardsr¼   r9   Úinput_source_aÚinput_source_brf  r    ræ  r?   Úoverlapping_sourcesÚnon_overlapping_sourcesr!   rñ  ra  rÆ   r?  r@  rR   Úinitial_global_stateÚGlobalStateGuardrÐ  rò  r  r!  rI   r>  rI  rX  r6  r
  r  ré  r  r  r  r  r  r  )rí   rø  r„  r  Úlargsr”  ÚseenÚgclrØ   rb  Úcheck_tensors_fnÚcheck_tensors_verbose_fnÚaliasing_code_partsÚaliasing_verbose_code_partsr£  r¢  Úsource_arÝ  râ  rµ  Úoverlapping_guard_managersÚnon_overlapping_guard_managersÚcheck_global_stater
  r$  r  r“  r  s   &&&&                     @@@r¸   r5  Ú%CheckFunctionManager.compile_check_fnŒ  s³  ú€ ð × Ñ ˆØÐ'Ð(Õ(ˆä×Ñ˜Ô#ð ˆ
ØÐØCEÐð 	×Ñ×Ñ×1Ñ1Ü”×1Ò1Ó3Ó4ô	
ð
 *.ˆÔ&÷)	=ô )	=ôV ‹uˆØ—<”<ˆCØŸœ�ØÖ#ñ " $¯	©	°4Ô8Ø—H‘H˜T–Nó &ñ  ð $+×#CÑ#CÐ ØÐØ#'Ð äÐ'Ó(¨1Ô,ô -Ø×9Ñ9Ø(Ø%¨¯	©	Ð2JÓ(KÕKÈcÕQÐRØô	ô" ×6×6Ð6Ø×3×3Ð3ä?BÜ”c˜7×>Ñ>Ñ?ó@Ñ<Ðð ×8Ñ8Ø#ôð
 59×4E×4EÐ4EˆD×Ñ×0Ò0È2ð 	ô (ˆEÜ˜%¤×1Ò1Ø ×/Ñ/�Ø ×/Ñ/�Ø'Ÿ}™}˜o¨T°(·-±-°ÐA�	Ü-Ø×9Ñ9¸(ÓCØ×9Ñ9¸(ÓCØ�KØô	ñ ˜i¨¨tÖ4Ü˜E¤>×2Ò2ð #×6Ò6ó.á6˜ð ×9Ñ9¸!Ö<Ù6ð +ð .ð #×:Ò:ó2á:˜ð ×9Ñ9¸!Ö<Ù:ð /ð 2ð
&Ø&*§i¡iÑ/ZÀ×@YÒ@YÓ/ZÓ&ZÐ%[ð \*Ø*.¯)©)Ñ3bÀE×DaÒDaÓ3bÓ*bÐ)cÐceðið ô
 2Ø.Ø2Ø�KØô	ñ ˜i¨¨t×4ä"Ð%;¸E¸7Ð#CÓDÐDñE (ðL ×)Ô)ˆCØŸœ�ñ ˜d§I¡I¨tÖ4ó &ñ *÷  Ü�N‰N×+Ñ+ØÔ,Wð ,ô ô ×-Ñ-Ò5ä!.×!?Ò!?Ó!A×!GÑ!GÑä!(¨×):Ñ):¸GÀTÓ!JÐàÐ 0Ø&Ð(@Ø#Ð%7Ø0°$×2YÑ2Yð	
ô
 ð
ô  Ó!ð
ˆð 	×Ñ×#Ñ#Ô%à # W§]¡]°3Õ%7Ð8Ðô ˆz‹?˜aÔÜ Ø>¼sÀ:»Ð>OÈwÐWóð ð +7ˆ×ÑÔ'Ø"'×ÑÔØ×Ñ×<Ñ<Ô>Ø0Bˆ×ÑÔ-à*>ˆ×ÑÔ'Ø+8×ÑÔ(ð *.ˆ×ÑÔ&Ø)-ˆ×ÑÔ&Ø8P×ÑÖ5ùòQ.ùò2s   É.S4ÊS9c               ó    € V ^8„  d   QhRRRR/# )r±   Úobj_strrÛ   r´   ró   r¶   )r·   s   "r¸   r¹   r  Y  s   € ÷ 7ñ 7 #ð 7¨$ñ 7rº   c                	óæ  € \        V R 4      '       dß   \        V P                  \        4      '       g½   V P                  P                  ;pe¡   V P                  P
                  ;pe…   \        V\        4      '       g   \        R\        V4       24      h\        V\        4      '       g   \        R\        V4       24      hRV R2p\        V4      pVP                  W%4       WPn        R# R# R# R# R# )r¬  NzExpected CacheEntry, got zExpected ExtraState, got zCache line invalidated because z got deallocated)rÉ  r¼   r¬  r  r  r  r„   r6  r7  r†   Ú
invalidate)rí   r·  r  r  r  Údeleted_guard_managers   &&    r¸   r¹  ÚCheckFunctionManager.invalidateY  sä   € ô
 �D˜/×*Ò*Ü˜t×1Ñ1Ô3M×NÒNØ $× 2Ñ 2× >Ñ >Ð>�ÒKØ $× 2Ñ 2× >Ñ >Ð>�ÒKä˜k¬:×6Ò6Ü$Ð'@ÄÀkÓARÐ@SÐ%TÓUÐUä˜k¬:×6Ò6Ü$Ð'@ÄÀkÓARÐ@SÐ%TÓUÐUØ6°w°iÐ?OÐPˆFÜ$>¸vÓ$FÐ!à×"Ñ" ;ÔFØ!6Öñ Lñ Lñ Oñ +rº   c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r’  r³   r·  rÛ   r´   rµ   r¶   )r·   s   "r¸   r¹   r  n  s!   € ÷ ñ ˜&ð ¨3ð °3ñ rº   c                ó6  €  \        V4      V P                  9  dd   \        P                  ! V4      V P                  \        V4      &   \        P                  ! V\
        P                  ! V P                  VR7      4       \        T4      #   \         d     Li ; i)zadd a weakref, return the id)r·  )	r  r/  r²  rJ  rI  r  r  r¹  r™  )rí   r’  r·  s   &&&r¸   rD  ÚCheckFunctionManager.id_refn  sw   € ð
	Ü�#‹w˜dŸn™nÔ,ô +2¯+ª+°cÓ*:�—‘œr #›wÑ'Ü× Ò Øœ×*Ò*¨4¯?©?ÀGÔLôô
 �#‹wˆøô ô 	Ùð	ús   ‚A=B
 Â
BÂBc               ó    € V ^8„  d   QhRRRR/# )r±   r’  r³   r´   zweakref.ref[object] | Noner¶   )r·   s   "r¸   r¹   r  }  s   € ÷ ñ  6ð Ð.Hñ rº   c                ór   € \        V4      V P                  9   d   V P                  \        V4      ,          # R# )zFLookup the _weakrefs created in id_ref function for ID_MATCH'd objectsN)r  r/  )rí   r’  s   &&r¸   rF  Ú$CheckFunctionManager.lookup_weakrefs}  s(   € äˆc‹7�d—n‘nÔ$Ø—>‘>¤" S£'Õ*Ð*Ùrº   )r/  rá  rà  r  r  r¬  r:  rf  rK  r\  r  r!  r®  )NNNNNFFN)rx  r‘  rÈ  r—  r�  r¤  r¨  rì  rÅ   )rù   rú   rû   rü   r  rG  r¤  r;  r4  r5  r¹  rD  rF  rý   r¶   rº   r¸   rI  rI  Ô  sD   ‡ ÷Y!ðv	HÐ)Ð+Dó 	õ@:÷DM&õ^KQõZ7õ*÷ñ rº   rI  c               ó$   € V ^8„  d   QhRRRRRR/# )r±   r  r£  Úclosure_argsrÛ   r´   ztuple[str, str]r¶   )r·   s   "r¸   r¹   r¹   „  s!   € ÷ );ñ ); Yð );¸cð );Àoñ );rº   c                ó˜  a	€ ^ RI Hp \        4       o	 S	P                  V 4       R V	3R llpV! 4       pV  Fe  pV! V4      w  reVP                  V4       VP                  RV R24       VP                  4       ;_uu_ 4        VP                  R4       R	R	R	4       Kg  	  V! 4       pVP                  R
4       VP                  4       ;_uu_ 4        VP                  V4       VP                  R4       R	R	R	4       V! 4       pVP                  RV R24       VP                  4       ;_uu_ 4        VP                  V4       VP                  R4       R	R	R	4       VP                  4       VP                  4       3#   \         d    R R lp EL`i ; i  + '       g   i     EKm  ; i  + '       g   i     L¼; i  + '       g   i     Lp; i)r$  rK   c               ó    € V ^8„  d   QhRRRR/# rÿ  r¶   )r·   s   "r¸   r¹   Ú*build_guard_function.<locals>.__annotate__‹  s   € ÷ 	)ñ 	)˜#ð 	)Ð"7ñ 	)rº   c                ó&   <€ SP                  V 4      # rÅ   )rE  )râ  Úcsepasss   &€r¸   rE  Ú%build_guard_function.<locals>.replace‹  s   ø€ Ø—?‘? 4Ó(Ð(rº   c               ó    € V ^8„  d   QhRRRR/# rÿ  r¶   )r·   s   "r¸   r¹   rÆ  ‘  s   € ÷ 	ñ 	˜#ð 	Ð"7ñ 	rº   c                ó
   € . V 3# rÅ   r¶   )râ  s   &r¸   rE  rÉ  ‘  s   € Ø�t�8ˆOrº   zif not (z):zreturn FalseNzdef guard(L):zreturn Truezdef ___make_guard_fn(zreturn guard)
Útorch.utils._indented_bufferrL   rÀ  rü  ÚRecursionErrorrÃ  rö   r»  ÚsplicerÊ  )
r  rÃ  rL   rE  Ú
guard_bodyrâ  rÛ  r¢  Úmake_guard_fnrÈ  s
   &&       @r¸   r  r  „  sx  ø€ Ý;ä‹o€Gð
Ø�‰�jÔ!÷	)ð 	)ñ  Ó!€JÛˆÙ ›‰ˆØ×Ñ˜gÔ&Ø×Ñ˜x¨ v¨RÐ0Ô1Ø×Ñ× Õ Ø× Ñ  Ô0÷ !Ñ ñ	 ñ Ó€EØ	‡O�O�OÔ$Ø	�‰��Ø�‰�ZÔ Ø�‰˜Ô&÷ 
ñ #Ó$€MØ×ÑÐ3°L°>ÀÐDÔEØ	×	Ñ	×	Õ	Ø×Ñ˜UÔ#Ø×Ñ Ô/÷ 
 ð ×ÑÓ  -×"8Ñ"8Ó":Ð:Ð:øô? ô ÷	ð 	ðú÷ !× Ñ ú÷ 
�ú÷ 
 ×	ús5   “E9 ÂFÃ#F&Ä.#F9Å9FÆFÆF#Æ&F6	Æ9G		c               ó   € V ^8„  d   QhRR/# ©r±   r´   rÒ   r¶   )r·   s   "r¸   r¹   r¹   °  s   € ÷ Pñ P˜tñ Prº   c                 óh   € \         P                  P                  P                  P	                  R 4      # )r­   ©rÆ   r?  Ú	_internalÚ	log_stateÚis_artifact_enabledr¶   rº   r¸   Úis_recompiles_enabledrØ  °  s#   € Ü�>‰>×#Ñ#×-Ñ-×AÑAÀ,ÓOÐOrº   c               ó   € V ^8„  d   QhRR/# rÒ  r¶   )r·   s   "r¸   r¹   r¹   ´  s   € ÷ Xñ X tñ Xrº   c                 óh   € \         P                  P                  P                  P	                  R 4      # )r®   rÔ  r¶   rº   r¸   Úis_recompiles_verbose_enabledrÛ  ´  s$   € Ü�>‰>×#Ñ#×-Ñ-×AÑAÐBVÓWÐWrº   c               ó    € V ^8„  d   QhRRRR/# )r±   Úinitial_stackz'list[torch.overrides.TorchFunctionMode]r´   zCallable[[], bool]r¶   )r·   s   "r¸   r¹   r¹   ¹  s   € ÷ +ñ +Ø:ð+àñ+rº   c                óZ   a€ V  Uu. uF  p\        V4      NK  	  upoR  V3R llpV# u upi )c               ó   € V ^8„  d   QhRR/# rÒ  r¶   )r·   s   "r¸   r¹   Ú:make_torch_function_mode_stack_guard.<locals>.__annotate__¾  s   € ÷ 
ñ 
¨Tñ 
rº   c                 ó    <€ \        4       p \        V 4      \        S4      8w  d   R # \        SV 4       F  w  rV\        V4      Jg   K   R # 	  R# r¼  )r�   rÀ   r^  r7  )Ú	cur_stackr�  Úmoder�  s      €r¸   Úcheck_torch_function_mode_stackÚMmake_torch_function_mode_stack_guard.<locals>.check_torch_function_mode_stack¾  sE   ø€ Ü1Ó3ˆ	äˆy‹>œS ›ZÔ'Ùä˜E 9Ö-‰HˆBØœ˜d›Õ#Úñ .ñ rº   rY  )rÝ  rÎ  rä  r�  s   &  @r¸   r   r   ¹  s4   ø€ ñ ,Ó,™m˜ŒT�!ŽW™mÑ,€E÷
ð 
ð +Ð*ùò -s   †(ÚScopec               ó$   € V ^8„  d   QhRRRRRR/# )r±   r¬  r  rX  ræ  r´   r£  r¶   )r·   s   "r¸   r¹   r¹   Ð  s$   € ÷ 2ñ 2Ø&ð2Ø/4ð2àñ2rº   c                ó°  € V P                   f   \        R4      h\        V P                   4      p\        P                  ! \
        4      pV P                   F3  pWBR&   \        \        WBV4      4      pW5,          P                  V4       K5  	  V Uu. uF$  p\        W6,          4      ^8”  g   K  W6,           NK&  	  ppRP                  V4      pRV 2.# u upi )Nú+guard_manager.global_scope must not be NoneÚ__compile_source__r°  zDuplicate tensors found: )r  r6  rh  r3  rí  r]  r  r  Úevalrà  rÀ   r  )	r¬  rX  r  Úids_to_sourceÚtensor_sourceÚ	tensor_idrˆ  Úduplicate_tensorsr  s	   &&       r¸   Ú1recompilation_reason_for_no_tensor_aliasing_guardrð  Ð  sØ   € ð ×!Ñ!Ò)ÜÐJÓKÐKÜ˜×2Ñ2Ó3€LÜ×+Ò+¬DÓ1€MØ&×AÔAˆØ-:Ð)Ñ*Ü”t˜M¸Ó?Ó@ˆ	ØÕ ×'Ñ'¨Ö6ñ Bñ ,9óÙ+8 C¼CÀÕ@RÓ<SÐVWÑ<WÔˆ=ÕÐ
Ò©=ð ð ð �Y‰YÐ(Ó)€FØ'¨ xÐ0Ð1Ð1ùòs   ÂCÂ-Cc               ó    € V ^8„  d   QhRRRR/# )r±   rµ  rÛ   r´   r¶   )r·   s   "r¸   r¹   r¹   ä  s   € ÷ 
%ñ 
%˜ð 
% ñ 
%rº   c                ó4   € ^ RI pRpVP                  VRV 4      # )zž
Replace occurrences of L[...] with just the inner content.
Handles both single and double quotes.

This is to generate user friendly recompilation messages.
NzL\[\s*['\"](.*?)['\"]\s*\]z\1)ÚreÚsub)rµ  ró  Úpatterns   &  r¸   rÿ  rÿ  ä  s   € ó à+€GØ�6‰6�'˜5 !Ó$Ð$rº   c               ó    € V ^8„  d   QhRRRR/# )r±   rQ  ztraceback.StackSummary | Noner´   rÛ   r¶   )r·   s   "r¸   r¹   r¹   ñ  s   € ÷ ñ Ø-ðàñrº   c           	     óz  € V e   \        V 4      ^ 8X  d   R# . pV  F�  pVP                  pVP                  pVP                  pVP                  '       d   VP                  P                  4       MRpVP                  RV RV RV 24       V'       g   Ky  VP                  RV 24       K�  	  RP                  V4      # )zµ
Format the user stack trace for display in guard failure messages.

Returns a formatted string representation of the stack trace,
or an empty string if no user stack is available.
rÇ  z  File "z", line z, in ú    rB  )rÀ   rS  rø  rf  rñ   Ústriprà  r  )rQ  ÚlinesÚframerS  rø  rf  Úsource_lines   &      r¸   Úformat_user_stack_tracerý  ñ  s¦   € ð ÒœS ›_°Ô1Ùà€EÛˆØ—>‘>ˆØ—‘ˆØ�z‰zˆØ,1¯J¯J¨J�e—j‘j×&Ñ&Ô(¸BˆØ�‰�x ˜z¨°&°¸¸t¸fÐEÔFß‰;Ø�L‰L˜4 ˜}Ð-Ö.ñ ð �9‰9�UÓÐrº   c               ó    € V ^8„  d   QhRRRR/# )r±   r&  úCallable[..., object] | Noner´   rÛ   r¶   )r·   s   "r¸   r¹   r¹   	  s   € ÷ (=ñ (=Ð:ð (=¸sñ (=rº   c                óÀ  € V f   R# ^ RI Hp \        W4      '       d[   RV P                  : RV P                  : 2pV P
                  '       d   VRV P
                  : 2,          pRV R\        V 4      R	 R
2# T pRp\        V\        P                  4      '       d   RpVP                  p\        VRR4      p\        VRR4      pV'       d   V'       d	   V RV 2pM?V'       d   TpM4\        VR4      '       d   VP                  pM\        V4      P                  p\        VRR4      pVe   RVP                   RVP                   2MRp	V V V	 R\        V 4      R	 R
2# )zKReturn a human-readable string describing a backend callable for debugging.Nró   )Ú_TorchCompileWrapperz	compiler=z
, dynamic=z	, kwargs=z_TorchCompileWrapper(z) (id=z#xr±  rÇ  zfunctools.partial wrapping rû   rú   rå  rù   r  z defined at Ú:z (id=)rÆ   r	  r¼   Úcompiler_nameÚdynamicr0  r  r  r  r¡  rò  rÉ  rù   r7  Úco_filenameÚco_firstlineno)
r&  r	  ÚdetailsrÕ   rî   rÃ  r  rf  rØ   Úlocations
   &         r¸   Údescribe_backendr		  	  s^  € à‚Ùõ +ä�'×0Ò0Ø˜g×3Ñ3Ñ6°jÀÇÁÑ@SÐTˆØ�>�>ˆ>Ø˜ 7§>¡>Ñ"4Ð5Õ5ˆGØ& w i¨v´b¸³kÀ"Ð5EÀQÐGÐGà€FØ€FÜ�&œ)×+Ñ+×,Ò,Ø.ˆØ—‘ˆä�v˜~¨tÓ4€HÜ�V˜\¨4Ó0€Fç—FØ�˜˜8˜*Ð%‰ß	Ø‰Ü	�˜×	$Ò	$Ø�‰‰ä�F‹|×$Ñ$ˆä�6˜: tÓ,€Dð Òð �t×'Ñ'Ð(¨¨$×*=Ñ*=Ð)>Ñ?àð ð ˆX�d�V˜H˜: U¬2¨g«;°rÐ*:¸!Ð<Ð<rº   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r±   r¬  r  Úf_localsr  Ú
compile_idzCompileId | Noner&  rÿ  r´   rÛ   r¶   )r·   s   "r¸   r¹   r¹   4  sA   € ÷ m)ñ m)Ø&ðm)àðm)ð !ðm)ð *ð	m)ð
 	ñm)rº   c                ó^  € V P                   f   \        R4      hV P                  f   \        R4      hRVRV P                   R,          /pVP                  V P                  4       . pRpV P                  '       d   V P                  P
                  pRp. pV P                  V4      p	Rp
V	P                  '       gZ   V	P                  p\        V4      ^8X  d   RV^ ,          9   d   R	pMTp. pV	P                  '       d   \        V	P                  4      p
MJWc8w  d2   \        V4      p\        V4      pR
V RV R2pVP                  V4       MRpVP                  V4       V'       d   \        W4      pM¦V F   p\        V P                   4      pWïR&   \!        4       ;_uu_ 4         \#        WïV4      p RRR4       \)        X\*        4      '       d   T'       g   Tp\)        T\,        4      '       g   K}  TP                  T4       \'        4       '       d   K    M	  \        V4      ^8X  d   V RV^ ,           2pMV R2RP/                  V4      ,           pV
'       d   VRV
 2,          p\1        V4      #   \$         d    \'        4       '       d    RRR4       EK$  h i ; i  + '       g   i     Lô; i)z�
Return the reason why `guard_manager` failed.
Updates `guard_failures` with the generated reason.
Only the first failed check of guard_manager is reported.
Nré  z+guard_manager.closure_vars must not be NonerP  rQ  FrÇ  zDuplicate tensor foundTz[BACKEND_MATCH failure: torch.compile detected different backend callables. Cached backend: z. New backend: zÕ. If this is unexpected, wrap your backend in functools.partial (or reuse the same cached backend) to avoid creating a new backend function each time. More details: https://github.com/pytorch/pytorch/issues/168373z»Unexpected recompilation: runtime guards failed even though they passed during recompilation-reason analysis. Please open an issue with a minimal repro: https://github.com/pytorch/pytorchrê  r¥  z; z
User stack trace:
)r  r6  r
  r   r  r&  rÕ  Úresultr  rÀ   rQ  rý  r		  rà  rð  rh  rO   rë  Ú	ExceptionrÛ  r¼   rÒ   rÛ   r  rÿ  )r¬  r	  r	  r&  rX  rE  Úcache_entry_backendÚno_tensor_aliasing_check_failedr  Úguard_debug_infoÚuser_stack_strÚcached_descÚnew_descr  r¨  r  Úfail_reasonÚ
reason_strs   &&&&              r¸   r8  r8  4  s˜  € ð ×!Ñ!Ò)ÜÐJÓKÐKØ×!Ñ!Ò)ÜÐJÓKÐKØ�(˜C ×!;Ñ!;¸CÕ!@ÐA€EØ	‡L�L�×+Ñ+Ô,Ø€GàÐØ× × Ð Ø+×7Ñ7×?Ñ?Ðà&+Ð#à$&ÐØ$×2Ñ2°8Ó<ÐØ€Nð
 ×"×"Ð"Ø-×@Ñ@Ðô Ð!Ó" aÔ'Ø'Ð+=¸aÕ+@Ô@Ø26Ñ/à,�Ø%'Ð"ð ×&×&Ð&Ü4Ð5E×5PÑ5PÓQˆNøØ	Ô	'ä&Ð':Ó;ˆÜ# GÓ,ˆð Ø +˜}ð -Ø%˜Jð 'NðNð 	ð 	�‰�vÕð2ð 	ð 	�‰�vÔç&ÜCØó
‰ó 'ˆDÜ × :Ñ :Ó;ˆLØ15Ð-Ñ.Ü/×1Õ1ðÜ"& t¸5Ó"A‘K÷ 2ô ˜+¤t×,Ò,·[Ø"�Ü˜+¤s×+Ô+Ø—‘˜{Ô+Ü4×6Ô6Ùñ' 'ô. ˆ7ƒ|�qÔØ"�| 2 g¨a¥j \Ð2‰
à"�| 2Ð&¨¯©°7Ó);Õ;ˆ
ßØÐ-¨nÐ-=Ð>Õ>ˆ
Ü˜ZÓ(Ð(øô/ !ô Ü4×6Ò6Ø ÷ 2Ò1ð ð	ú÷ 2×1ús*   Æ!JÆ#I0É0J	ÊJÊJ	ÊJÊJ,c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r±   r¬  r  rØ   rÙ   r	  r  r	  r8   r&  úCallable[..., object]Úskip_loggingrÒ   r´   rÛ   r¶   )r·   s   "r¸   r¹   r¹   ¤  sN   € ÷ ñ Ø&ðà
ðð  ðð ð	ð
 #ðð ðð 	ñrº   c                óš  € \        V \        4      '       d   V R V P                   2# \        WW44      pV'       d   V# \        \
        V,          ,          P                  V4        V P                  e1   T P                  \        T;'       g    R\
        V,          4      4       V#   \         d    \        P                  R4        T# i ; i)r¥  zunknown reasonzVFailure in guard_fail_fn callback - raising here will cause a NULL Error on guard eval)r¼   r  r  r8  r’   r˜   rà  r  rˆ   r	  r3  r÷  )r¬  rØ   r	  r	  r&  r	  r	  s   &&&&&& r¸   Úget_guard_fail_reasonr	  ¤  sÃ   € ô �-Ô!;×<Ò<Ø�˜R × AÑ AÐBÐCÐCÜ-Ø ó€J÷ ØÐÜ”= Õ&Õ'×.Ñ.¨zÔ:ð
Ø×&Ñ&Ò2Ø×'Ñ'Ü˜*×8Ð8Ð(8¼-ÈÕ:MÓNôð Ðøô ô 
Ü�‰Ødõ	
ð Ðð
ús   Á&&B& ÂB& Â& C
Ã	C
c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r±   r  úlist[CacheEntry]rû  r…   r&  r	  r	  rÒ   r´   r£  r¶   )r·   s   "r¸   r¹   r¹   Â  sA   € ÷ @ñ @Ø#ð@àð@ð #ð@ð ð	@ð
 ñ@rº   c                óÎ  a€ . oV  FV  p\        VP                  VP                  VP                  VP                  VV4      pV'       g   KE  SP                  V4       KX  	  VP                  pV'       d   S# \        4       ;'       g    \        4       pV'       g   \        P                  '       Ed   \        4       '       d#   RP                  R \        S4       4       4      pM&\        P                  ! RP                  S4      R4      pRV 2p	RVP                   RVP                    RVP"                   R\        P                  ! V	R	4       2p
V'       d<   \        4       '       d   \$        P'                  V
4       M\(        P'                  V
4       \        P                  '       d   \*        P,                  ! V
4      h\.        P0                  P3                  R
R V3R lR7       S# )zÄ
Return the list of guard failure reasons using cache entries.
Logs the recompilation reason if `recompiles` logging is enabled.
Raises a RecompileError if `config.error_on_recompile` is enabled.
z

c              3  ój   "  € T F)  w  rR V R2\         P                  ! VR4      ,           x € K+  	  R# 5i)zguard z failures:
ú- N)rm  r»  )rW  rR  r  s   &  r¸   rZ  Ú:get_and_maybe_log_recompilation_reasons.<locals>.<genexpr>ä  s5   é € ð #á!3‘I�Að ˜˜˜<Ð(¬8¯?ª?¸6À4Ó+H×HÒHÛ!3ùs   ‚13rB  r!	  z-triggered by the following guard failure(s):
zRecompiling function z in r	  rø  Úartifactc                 ó   € R RRR/# )rf  Úrecompile_reasonsÚencodingrl  r¶   r¶   rº   r¸   r  Ú9get_and_maybe_log_recompilation_reasons.<locals>.<lambda>û  s   € ØÐ'Ø˜ñ
rº   c                 ó:   <€ \        S 4      ^8X  d
   S ^ ,          # S # rÝ   r  )rE  s   €r¸   r  r'	  ÿ  s   ø€ ¬¨W«¸Ô):˜7 1�:ÐGÀÐGrº   )Úmetadata_fnr.  )r	  r¬  rØ   r	  r	  rà  rC  rØ  rÛ  rQ   Úerror_on_recompiler  r}  rm  r»  r±  r	  r	  Úrecompiles_verbose_logr  Úrecompiles_logrS   ÚRecompileErrorrÆ   r?  r@  )r  rû  r&  r	  r  r  rØ   Údo_recompiles_logÚfailuresÚguard_failure_detailsÚmessagerE  s   &&&&       @r¸   Ú'get_and_maybe_log_recompilation_reasonsr2	  Â  sœ  ø€ ð €GÛ$ˆÜ&Ø×%Ñ%Ø×ÑØ�N‰NØ×"Ñ"ØØó
ˆ÷ ‰6Ø�N‰N˜6Ö"ñ %ð �<‰<€DçØˆä-Ó/×RÐRÔ3PÓ3RÐçœF×5×5Ñ5Ü(×*Ò*Ø—{‘{ñ #ä!*¨7Ô!3ó#ó ‰Hô
  —’ t§y¡y°Ó'9¸4Ó@ˆHà<¸X¸JÐGð 	ð $ D§L¡L >°°d×6FÑ6FÐ5GÀqÈ×I\ÑI\ÐH]Ð]_Ü�ŠÐ4°fÓ=Ð>ð@ð 	÷ Ü,×.Ò.Ü&×,Ñ,¨WÕ5ä×$Ñ$ WÔ-Ü×$×$Ð$Ü×$Ò$ WÓ-Ð-ä	‡N�N×#Ñ#Øñ
ô Hð $ô ð €Nrº   c               ó    € V ^8„  d   QhRRRR/# )r±   r  r	  r´   r  r¶   )r·   s   "r¸   r¹   r¹     s   € ÷ "ñ "Ø#ð"àñ"rº   c                óä   € \        4       pV  F,  pVP                  VP                  P                  4       4       K.  	  V  F-  pWP                  n        VP                  P                  4        K/  	  V# rÅ   )rM   r   r¬  rA  r  rM  )r  Úacc_diff_guard_sourcesr  s   &  r¸   r0  r0    sh   € ô /9«lÐÛ$ˆØ×%Ñ%Ø×%Ñ%×@Ñ@ÓBö	
ñ %ó %ˆØ7M×!Ñ!Ô4Ø×!Ñ!×=Ñ=Ö?ñ %ð
 "Ð!rº   c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )r±   r¬  rŠ   rØ   rÙ   r	  r  rà   rµ   ÚlastrÒ   r´   ró   r¶   )r·   s   "r¸   r¹   r¹     sD   € ÷ 0ñ 0Øð0à
ð0ð  ð0ð ð	0ð
 ð0ð 
ñ0rº   c                óÎ  € \        R VP                   RVP                   RVP                   24       \        RRP	                  V P
                  4      ,           R,           4       \        RRP	                  V P                  4      4       \        V 4       RV/V P                  CpV P                   F  p \        W`P                  V4       K  	  R#    \        RT 24        K3  ; i)	zERROR RUNNING GUARDS Ú r	  zlambda r°  z and
  rP  zMalformed guard:
N)
Úprintr±  r	  r	  r  r  r  r
  rë  r  )r¬  rØ   r	  rà   r7	  rG  r¢  s   &&&&&  r¸   Úguard_error_hookr;	    sÉ   € ô 
Ø
 §¡˜~¨Q¨t×/?Ñ/?Ð.@ÀÀ$×BUÑBUÐAVÐWôô 
ˆ)�d—i‘i × 2Ñ 2Ó3Õ
3°cÕ
9Ô:Ü	ˆ#ˆz�‰˜}×7Ñ7Ó8Ô9ä	ˆ-Ôà˜Ð? M×$>Ñ$>Ð?€KØ×)Ô)ˆð	0Ü�×2Ñ2°KÖ@ó *øð	0ÜÐ& u gÐ.×/ús   Â5CÃC$c               ó    € V ^8„  d   QhRRRR/# )r±   ÚseqzSequence[T]r´   zGenerator[T, None, None]r¶   )r·   s   "r¸   r¹   r¹   5  s   € ÷ ñ �ð Ð 8ñ rº   c              #  ón   "  € \        4       pV  F   pW!9  g   K  Vx € VP                  V4       K"  	  R # 5irÅ   )r½   r*  )r=	  r«  rÎ  s   &  r¸   Úuniquer?	  5  s+   é € Ü‹5€DÛˆØŽ=ØŠGØ�H‰H�QŽKó ùs   ‚5š5c               ó$   € V ^8„  d   QhRRRRRR/# )r±   Ú
obj_sourcer>   Údupe_sourcerc  r´   zfunctools.partial[Any] | Noner¶   )r·   s   "r¸   r¹   r¹   =  s$   € ÷ !ñ !Øð!Ø%2ð!à"ñ!rº   c                óJ  € V'       d›   W8w  d•   \        V4      p\        V 4      p\        V4      '       g   \        V 4      '       d1   \        P                  ! V P                   R VP                   R24      hW#8X  d'   \
        P                  ! \        P                  VR7      # R# )z is aliasing zC. This is not supported. Please do a clone for corresponding input.)rÝ  N)	r/   r.   rS   ÚUnsafeScriptObjectErrorrf  r  r  rA  rå  )rA	  rB	  Úser_source_is_localÚsource_is_locals   &&  r¸   Úmake_dupe_guardrG	  =  s—   € ÷ �{Ô0Ü2°;Ó?ÐÜ.¨zÓ:ˆÜ/Ø÷
ò 
ä1°*×=Ò=Ü×-Ò-Ø—?‘?Ð# =°×1AÑ1AÐ0Bð C>ð ?óð ð Ô1ô ×$Ò$¤\×%AÑ%AÈKÔXÐXÙrº   Úskipc               ó$   € V ^8„  d   QhRRRRRR/# )r±   r¬   r:   rH	  rµ   r´   ró   r¶   )r·   s   "r¸   r¹   r¹   a  s&   € ÷ Kñ K˜5ð K¨ð K°Dñ Krº   c                óþ  € ^ RI Hp VP                  4       P                  pVP                  '       d   R# \
        P                  \        P                  4      ;'       g$    \        P                  \        P                  4      pVP                  P                  pV F^  p\        V\        4      '       g   \        R\        V4       24      h\!        VP"                  4      '       d   KM  V! WdV ^,           R7       K`  	  R# )z—
Add dynamo guards to the current tracing context.

Args:
    guards: guard(s) to add
    skip: number of stack frames to ignore for debug stack trace
)ÚTracingContextNzExpected Guard, got )Úcollect_debug_stackrH	  )Útorch._guardsrK	  rh  Úguards_contextÚskip_installr  rŽ  r�  r�  r�  r›  r*  r¼   r:   r6  r7  r1   r_  )rH	  r¬   rK	  rN	  rL	  r*  r¢  s   $*     r¸   Úinstall_guardrP	  a  sÃ   € õ -à#×'Ñ'Ó)×8Ñ8€NØ×"×"Ð"Ùä$×1Ñ1Ü�‰ó÷ 8ð 8ä	×	(Ñ	(¬¯©Ó	7ð ð ×
&Ñ
&×
*Ñ
*€CÛˆÜ˜%¤×'Ò'Ü Ð#7¼¸U»°}Ð!EÓFÐFÜ$ U×%=Ñ%=×>Ò>ÙÙˆEÀÈÅ×Jó rº   r#  z"dict[str, GuardCheckSpec | object]ÚGUARD_VALUE_DISPATCHrà  r¢  z9GuardBuilder methods missing guard_check_spec decorator: r°  z[. Use @register_guard_check_spec, @skip_guard_check_spec, or @unsupported_guard_check_spec.)rþ  r   r  r²  r¤  rê  rï  rÅ   rÔ   ([  Ú__conditional_annotations__rì  Ú
__future__r   rC  rZ  r3  r  r³  r  r9  r  r  r€  r�  r6  Úpicklerˆ  rm  r)  r�  rŠ  r²  Ú
contextlibr   r\  r   r   Útypingr   r   r	   r
   r   Útyping_extensionsr   r   r   r   rÆ   Útorch.overridesÚtorch.utils._deviceÚtorch._C._dynamo.eval_framer   Útorch._C._dynamo.guardsr   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*   Útorch._dynamo.sourcer+   r,   r-   r.   r/   r0   r1   r2   r3   r4   Útorch._dynamo.utilsr5   r6   rM	  r7   r8   r9   r:   r;   r<   r=   r>   r?   Ú"torch._library.fake_class_registryr@   Útorch._library.opaque_objectrA   rB   Útorch._loggingrC   Útorch._utils_internalrD   Ú%torch.fx.experimental.symbolic_shapesrE   rF   rG   rH   rI   Útorch.utilsrJ   r×  rÌ  rL   Útorch.utils._ordered_setrM   Útorch.utils._tracebackrN   rO   Útorch.utils.weakrP   rÇ  rQ   rR   rS   Ú
eval_framerT   r³  rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   r;  r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   r“   r”   r•   r–   r—   r˜   r™   rš   r›   rœ   Úcollections.abcr�   rÊ  rÒ   rÌ  rž   r¤  r7  rü  rß  Únumpyrò  ÚModuleNotFoundErrorrŸ   r    r¡   r¢   r×  r£   Útorch._Cr¤   r[  r¥   r¦   r¾  r¨   rÚ  rª   r«   Ú	getLoggerrù   r3  r?  ÚgetArtifactLoggerr  r,	  r+	  r�  rÂ   r³   rÈ   rÏ   rÖ   r‡  rã   rå   r  rö  r÷  rý  Úcacher  r  r>  rF  rÉ   r  r1  rL  rX  ra  r^  rq  rv  r„  rŠ  r�  rš  r�  r	  r   r¸  r¿  rÁ  r´  rª  rß   rÉ  r*  rÓ  rÜ  rç  rí  rò  r÷  rþ  r  r  r  r  r  r  r(  r,  r.  r?  rA  rÀ  r  r  rg  r  r   r9  ÚPicklerr;  r  r  rI  r  rØ  rÛ  r   rh  rÛ   ræ  rð  rÿ  rý  r		  r8  r	  r2	  r0  r;	  r?	  rG	  rP	  Údirrò  r%  rQ	  Úisupperrã  rû  Ú_methodrÀ   r]  Ú	signatureÚ
parametersÚ_paramsrÉ  ÚMISSING_GUARD_SPECSrñ  r  )rf  r%  r3  rr	  ru	  rR	  s   00000@r¸   Ú<module>rw	     sÂ  øðôõ" #ã 
Û Û Û Û Û Û Û Û 	Û Û Û Û Û 
Û Û Û Û Û Ý %Ý Ý  ß AÕ Aß CÑ CÝ !ã Û Û Ý >÷÷ ÷ ÷ ÷ ÷ ÷ ÷8÷ ÷ ÷ H÷
÷ 
õ 
õ @ß UÝ %Ý 1÷õ õ *Ý 7Ý /ß OÝ *ç (Ñ (Ý ,÷0÷ 0÷ 0÷ 0÷ 0÷ 0÷ 0÷ 0÷ 0÷ 0÷ 0÷ 0ñ 0÷b÷ ñ ÷÷ ÷ ÷ ÷ ÷, Ý(à&¨¨s |°SÐ'8Õ9ÐØ  c 
¨DÐ 0Õ1Ðð HLÐ ÐDÓ KÙ˜IŸO›OÓ-Ó.Ð ðÛ÷
 ßDÓDåå'ßTÝ4ÝEáˆCƒL€Ø×Ó˜Ó!€Ø�^Š^×-Ò-¨h¸ÓA€
Ø—’×1Ò1°(¸LÓI€ØŸš×9Ò9ØÐ"óÐ ð —^’^×5Ò5°hÐ@PÓQÐ õ%ñ !›(Ð õ*õHð"Ð õô,˜~ô ,÷Xñ XõvTð .2Ð ˜{Ó 1õð* ‡‚ô.ó ð.ð +/€Ð'Ó .õ öF/ð —h’h×&Ò&×:Ò:Ñ öö%÷0ð ö<ö,'öKöö*3ö1öö.ð ×Ó˜dÔ#÷ð ó $ñö+ö\
Gð ×Ò÷ð ó ñô
�t—y’yõ ð
 ‡‚ô8ó ñ8ô�Zõ ñ6 ‹X�
öEöö(ö(-ö/öö
;ö1ö3öö!ö?ö$öó÷Xò Xó$ôG)
Ð#õ G)
÷vRR8ò R8öjô$Ð!4õ $ð ×Ò÷$ð $ó ñ$ð ×Ò÷#ð #ó ñ#÷ò ð  ‡‚ô
ó ñ
ôy˜Ÿšõ yöxö:)÷bm
ò m
ö`);öXPöXö
+ñ( 	�g™t¡C¨ KÕ0Ó1�ö2ö(
%öö0(=öVm)÷`ð ÷<@ð @öF"ö,0ñ. Ñ%Ô &öö!ðHK¨a÷ Kð Kò> ‘LÔ!ô<á!ˆÚš7¡<°Ó6Ð8JÈDÓQÐQ‰Øðô €D�'‚MÙ!ò<Ñ Ð8ó ò ‘\Ô"õ	á"ˆØˆQ…x×Ò×ô 
ð ×Ò˜S×!ô 
ò 	šG¡L°%¸Ó>Ð>‘×?ô	 
ò
 	’t˜G×-Ò-­gÓ6×AÒAÓBÐB‰GÓCÀqÑHô 
õ 	��
�gÑô 
ò •GÐ/×0÷ 
€EÙ"ó	Ñ ÷ ÐÚ
Ø
CØ�9Š9Ñ(Ó)Ð
*ð +Dð	Eóð ñ øð{m ô Ø	ƒBðüóRm<ùô	sH   É^ Ù^Ù/^Ú ^!Ú8^!Û^!Û05^!Ü*^!Ü?^!Ý^!Þ	^Þ^