+
    –°³jG ã                   ó<  € R 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
Ht ^ RIHtHt ^ RIt^ RIHt ^RI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" ^R	I#H$t$ ^R
I%H&t&H't'H(t(H)t)H*t*H+t+H,t, ^RI-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t;H<t< ^RI=H>t>H?t?H@t@HAtA ^RIBHCtC ^RIDHEtE ^RIFHGtG ]'       d   ^ RIHHItI ^RIJHKtK R R ltL]
R R l4       tMR R ltNR R ltOR R ltP ! R R]A4      tQ ! R R]G4      tR ! R  R!]R4      tS ! R" R#]R4      tTR# )$aQ  
This module implements variable tracking for PyTorch nn.Module instances during Dynamo tracing.

It provides specialized handling for different types of nn.Module instances through several key classes:

- NNModuleVariable: Handles instance-specific module tracing, specializing on module id() and placing
  parameters directly on the torch.fx.GraphModule. This creates one graph per module instance.

- UnspecializedNNModuleVariable: Provides class-level module tracing, treating nn.Modules like other
  user-defined objects and passing parameters as inputs to the FX graph. This creates one graph per
  module class.

- UnspecializedBuiltinNNModuleVariable: Specifically handles built-in PyTorch modules (e.g. nn.Linear)
  with appropriate optimizations.

- FSDPManagedNNModuleVariable: Special handling for FSDP-wrapped modules with modified guarding behavior
  and parameter handling.

The module integrates with Dynamo's broader tracing functionality to handle module method calls,
parameter access, hooks, and other nn.Module behaviors while maintaining proper scoping and guarding
of module state.
N)ÚIterable)ÚcontextmanagerÚnullcontext)ÚAnyÚTYPE_CHECKING©ÚSource)Úgraph_break_hintsÚtrace_rulesÚ	variables)Úhandle_observed_exceptionÚObservedAttributeErrorÚraise_observed_exceptionÚraise_type_errorÚunimplementedÚUnspecializeRestartAnalysisÚUnsupported)ÚGuardBuilderÚinstall_guardÚmake_dupe_guard)ÚGenerationTracker)Ú
AttrSourceÚConstDictKeySourceÚDictGetItemSourceÚFSDPNNModuleSourceÚGetItemSourceÚNNModuleSourceÚUnspecializedNNModuleSource)Ú"enumerate_items_with_dict_positionÚget_custom_getattrÚget_fake_valueÚis_lazy_moduleÚis_namedtupleÚis_safe_constantÚistensorÚistypeÚnnmodule_has_hooksÚobject_has_getattributeÚproxy_args_kwargsÚraise_args_mismatchÚset_example_valueÚunpatched_nn_module_callÚunpatched_nn_module_call_impl)ÚMethodÚtypestrÚValueMutationNewÚVariableTracker)Úinvoke_and_store_as_constant)ÚLazyVariableTracker)ÚUserDefinedObjectVariable)ÚInstructionTranslatorBase©ÚConstantVariablec          
      ó¤   € V ^8„  d   QhRRR\         P                  P                  R\        \        ,          R\
        \        \        3,          RR/# )é   Útxr4   ÚmodÚargsÚkwargsÚreturnN)ÚtorchÚnnÚModuleÚlistr0   ÚdictÚstr)Úformats   "Úb/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_dynamo/variables/nn_module.pyÚ__annotate__rF   W   sQ   € ÷ 7ñ 7Ø#ð7ä	�‰�‰ð7ô ŒÕ
ð7ô ””oÐ%Õ&ð	7ð
 
ñ7ó    c                óx  a a€ \         P                  ! VRR4      en   R VV 3R llo\        W#4      w  rEV Uu. uF  pS! V4      NK  	  ppVP                  4        UU	u/ uF  w  r‰VS! V	4      bK  	  p
pp	 VP	                  WV
4       R# R# u upi u up	pi   \
         d    \        \
        S R.R7        R# i ; i)aj  
Fairly coupled helper used by NNModuleVariable and UnspecializedNNModuleVariable.

Used to cause lazy module to be initialized (and delete its init hook) before tracing. Especially
useful now that 'allowed' modules graph-break on hooks, calling this first ensures there is no hook
by the time we trace __call__ and thus no graph-break for lazy allowed modules.
Ú_initialize_hookNc                ó0   € V ^8„  d   QhR\         R\         /# )r8   Úxr=   ©r   )rD   s   "rE   rF   Ú,initialize_lazy_module.<locals>.__annotate__f   s   € ÷ 	ñ 	œsð 	¤sñ 	rG   c                 óZ  <€ \        V 4      '       d   \        V 4      ! V3R  lV  4       !  # \        V \        4      '       d,   V P	                  4        UUu/ uF  w  rVS! V4      bK  	  upp# \        V \
        \        \        34      '       d   \        V 4      ! V3R lV  4       4      # \        V \        P                  P                  4      '       EdM   \        V P                  S4      p\        V\        P                  4      '       Ed   \        ;QJ d&    R VP                   4       F  '       g   K   RM	  RM! R VP                   4       4      '       dÆ   VP                   Uu. uF;  p\        V\        P                   4      '       d   VP                  P"                  MTNK=  	  pp\$        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \'        RV 24      h\        P(                  ! WSP*                  VP,                  R7      # V# V # u uppi u upi )c              3   ó4   <"  € T F  pS! V4      x € K  	  R # 5i©N© ©Ú.0ÚelemÚconvert_to_fakes   & €rE   Ú	<genexpr>ÚBinitialize_lazy_module.<locals>.convert_to_fake.<locals>.<genexpr>h   s   øé € Ð EÁ1¸4¡°×!6Ð!6Ã1ùó   ƒc              3   ó4   <"  € T F  pS! V4      x € K  	  R # 5irP   rQ   rR   s   & €rE   rV   rW   l   s   øé € ÐCÁ¸™¨t×4Ð4ÃùrX   c              3   óV   "  € T F  p\        V\        P                  4      x € K!  	  R # 5irP   )Ú
isinstancer>   ÚSymInt©rS   Úss   & rE   rV   rW   o   s!   é € ð :Ù9C°A”J˜q¤%§,¡,×/Ð/»ùs   ‚')TFc              3   óB   "  € T F  p\        V\        4      x € K  	  R # 5irP   )r[   Úintr]   s   & rE   rV   rW   x   s   é € ÐA¹5°aœz¨!¬S×1Ð1»5ùs   ‚z*expected all shape entries to be int, got )ÚdtypeÚdevice)r"   Útyper[   rB   ÚitemsrA   ÚtupleÚsetr>   ÚfxÚProxyr    ÚnodeÚTensorÚanyÚshaper\   ÚhintÚallÚAssertionErrorÚemptyra   rb   )rK   ÚkÚvÚfaker^   rl   rU   r9   s   &     €€rE   rU   Ú/initialize_lazy_module.<locals>.convert_to_fakef   s   ø€ Ü˜Q×ÒÜ˜A”wÔ EÁ1Ó EÑFÐFÜ˜Aœt×$Ò$Ø:;¿'¹'¼)ÔD¹)±$°!˜™?¨1Ó-Ò-¹)ÒDÐDÜ˜A¤¤e¬SÐ1×2Ò2Ü˜A”wÔCÁÓCÓCÐCÜ˜AœuŸx™xŸ~™~×.Ó.Ü% a§f¡f¨bÓ1�Ü˜d¤E§L¡L×1Ó1·c³cñ :Ø9=¿ºó:·c·c²cñ :Ø9=¿ºó:÷ 7ò 7ð "&§¢óá!+˜Aô (2°!´U·\±\×'BÒ'B˜Ÿ™ŸšÈÒIÙ!+ð ð ÷ ›3ÑA¹5ÓAŸ3Ÿ3š3ÑA¹5ÓA×AÒAÜ,ØHÈÈÐPóð ô !Ÿ;š;Ø§Z¡Z¸¿¹ôð ð �à�ùó/ Eùòs   ÁH"Å'AH(z0AttributeError during lazy module initialization©r;   )ÚinspectÚgetattr_staticr(   rd   Ú_infer_parametersÚAttributeErrorr   )r9   r:   r;   r<   Ú
proxy_argsÚproxy_kwargsÚargÚ	fake_argsrq   rr   Úfake_kwargsrU   s   f&&&       @rE   Úinitialize_lazy_moduler   W   sÈ   ù€ ô ×Ò˜cÐ#5°tÓ<ÒH÷	ñ 	ô: $5°TÓ#BÑ ˆ
Ù5?Ó@±Z¨c‘_ SÖ)±Zˆ	Ð@Ø9E×9KÑ9KÔ9MÔNÑ9M±°�q™/¨!Ó,Ò,Ñ9MˆÑNð	Ø×!Ñ! #°+Ö>ñG Iùò@ AùÛNøô ô 	ä$ÜØØHÐI÷ð ð	ús   ¸BÁBÁ6B ÂB9Â8B9c          
      ót   € V ^8„  d   QhR\         R\        RRR\        P                  P                  R\
        /# )r8   Ú
module_keyÚsourcer9   r4   r:   r=   )rC   r   r>   r?   r@   r   )rD   s   "rE   rF   rF   ’   sB   € ÷ +ñ +Üð+äð+ð 	$ð+ô 
�‰�‰ð	+ô
 	ñ+rG   c              #   óV  "  € VP                   p\        P                  ! R RV4      pVP                  P	                  V^ 4      pV^ 8”  d   V  RV 2MT p  WCP
                  3VP                  V &   V^,           VP                  V&   Rx € VP                  V  R#   TP                  T  i ; i5i)z9\._(?:modules|parameters|buffers)\[(['\"])([^'\"\]]+)\1\]z.\2Ú@N)ÚnameÚreÚsubÚ	num_callsÚgetÚ	__class__Únn_module_stack)r�   r‚   r9   r:   Úfully_qualified_namerˆ   s   &&&&  rE   Úrecord_nn_module_stackr�   ‘   s¨   é € ð "Ÿ;™;ÐäŸ6š6ØDØØóÐð
 —‘× Ñ Ð!5°qÓ9€IØ09¸A´�J�<˜q  Ñ,À:€Jð+Ø*>ÇÁÐ)Nˆ×Ñ˜:Ñ&Ø-6¸­]ˆ�‰Ð)Ñ*Ûà×Ñ˜zÒ*øˆB×Ñ˜zÑ*üs   ‚AB)Á4B ÂB)ÂB&Â&B)c                ój   € V ^8„  d   QhR\         R,          R\        P                  P                  RR/# )r8   r‚   Nr:   r=   )r   r>   r?   r@   )rD   s   "rE   rF   rF   ©   s0   € ÷ &ñ &Ü�T�Mð&Ü %§¡§¡ð&à	ñ&rG   c           	      ó’  € V '       Ed>   R VP                   9   dí   \        VP                   R ,          4      '       dË   VP                   R ,          p\        V R 4      p\        V4      \        P
                  J d7   \        VR4      p\        VP                  \        P                  4      4       R# \        V\        P                  4      '       d   \        WW24       R# \        VP                  \        P                  4      4       R# \        V P                  \        P                  ! \        P                  R R7      4      4       R# R# )ÚforwardÚ__func__©ÚattrN)Ú__dict__Úcallabler   rc   ÚtypesÚ
MethodTyper   Ú
make_guardr   ÚCLOSURE_MATCHr[   Ú	functoolsÚpartialÚ.guard_to_detect_forward_partial_monkeypatchingÚNOT_PRESENT_IN_GENERIC_DICT)r‚   r:   ÚfwdÚforward_sources   &&  rE   Ú&guard_to_detect_forward_monkeypatchingr    ©   sê   € ÷  €vØ˜Ÿ™Ô$¬°#·,±,¸yÕ2I×)JÒ)Jà—,‘,˜yÕ)ˆCÜ'¨°	Ó:ˆNÜ�C‹yœE×,Ñ,Ó,Ü!+¨N¸JÓ!G�Ü˜n×7Ñ7¼×8RÑ8RÓSÖTÜ˜C¤×!2Ñ!2×3Ò3Ü>Ø öô ˜n×7Ñ7¼×8RÑ8RÓSÖTô Ø×!Ñ!Ü×%Ò%Ü$×@Ñ@Àyôóöñ! rG   c          
      óž   € V ^8„  d   QhR\         R\        P                  P                  R\         R\        P
                  \        ,          RR/# )r8   Úmodule_sourcer:   Úpartial_sourceÚpartial_objr=   N)r   r>   r?   r@   rš   r›   r   )rD   s   "rE   rF   rF   Ò   sM   € ÷  
ñ  
Üð 
ä	�‰�‰ð 
ô ð 
ô ×"Ñ"¤3Õ'ð	 
ð
 
ñ 
rG   c           	      óZ  € \        VP                  \        P                  4      4       \	        VR 4      p\        VP                  \        P                  4      '       d   \        WWCP                  4       M(\        VP                  \        P                  4      4       \	        VR4      p\        VP                  \        P                  4      4       \        VP                  4       F  w  rg\        W\        WV4      V4       K  	  \	        VR4      pVP                   f+   \        VP                  \        P"                  4      4       R# \        VP                  \        P$                  4      4       VP                   P'                  4        F  w  rš\        W\)        W‰4      V
4       K  	  R# )Úfuncr;   ÚkeywordsN)r   r˜   r   Ú
TYPE_MATCHr   r[   r¦   rš   r›   rœ   r™   ÚSEQUENCE_LENGTHÚ	enumerater;   Ú%guard_to_detect_forward_partial_valuer   r§   Ú
NONE_MATCHÚDICT_KEYS_MATCHrd   r   )r¢   r:   r£   r¤   Úfunc_sourceÚargs_sourceÚir|   Úkeywords_sourceÚkeyÚvalues   &&&&       rE   rœ   rœ   Ò   s?  € ô �.×+Ñ+¬L×,CÑ,CÓDÔEä˜^¨VÓ4€KÜ�+×"Ñ"¤I×$5Ñ$5×6Ò6Ü6Ø ×-=Ñ-=õ	
ô 	�k×,Ñ,¬\×-GÑ-GÓHÔIä˜^¨VÓ4€KÜ�+×(Ñ(¬×)EÑ)EÓFÔGÜ˜K×,Ñ,Ö-‰ˆÜ-Ø¤¨kÓ =¸sö	
ñ .ô
 ! °Ó<€OØ×ÑÒ#Ü�o×0Ñ0´×1HÑ1HÓIÔJÙä�/×,Ñ,¬\×-IÑ-IÓJÔKØ!×*Ñ*×0Ñ0Ö2‰
ˆÜ-ØÔ 1°/Ó GÈö	
ó 3rG   c          
      ót   € V ^8„  d   QhR\         R\        P                  P                  R\         R\        RR/# )r8   r¢   r:   Úvalue_sourcer³   r=   N©r   r>   r?   r@   r   )rD   s   "rE   rF   rF   õ   sI   € ÷ Fñ FÜðFä	�‰�‰ðFô ðFô ð	Fð
 
ñFrG   c                 ó>  € W1J d@   \        W 4      p\        TP                  T;'       g    \        P                  4      4       R # \        V\        P                  4      '       d   \        WW#4       R # \        V4      \        P                  J d+   \        VP                  \        P                  4      4       R # \        V4      '       d+   \        VP                  \        P                  4      4       R # \        VP                  \        P                  4      4       R # rP   )r   r   r˜   r   ÚID_MATCHr[   rš   r›   rœ   rc   r–   ÚFunctionTyper™   r#   ÚCONSTANT_MATCH)r¢   r:   rµ   r³   Ú
dupe_guards   &&&& rE   r«   r«   õ   s¾   € ð ƒ|Ü$ \ÓAˆ
Ü�l×-Ñ-¨j×.QÐ.Q¼L×<QÑ<QÓRÖSÜ	�Eœ9×,Ñ,×	-Ò	-Ü6Ø ö	
ô 
ˆe‹œ×*Ñ*Ó	*Ü�l×-Ñ-¬l×.HÑ.HÓIÖJÜ	˜%×	 Ò	 Ü�l×-Ñ-¬l×.IÑ.IÓJÖKä�l×-Ñ-¬l×.CÑ.CÓDÖErG   c                    ó*  a a€ ] tR tRt o0 Rbm]P
                  mtV3R lV 3R lltV3R lR ltV3R lR ltV3R lR	 lt	V3R
 lR lt
V3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lV 3R lltV3R  lR! ltV3R" lR# ltV3R$ lR% lt]V3R& lR' l4       tV3R( lR) ltV3R* lR+ ltV3R, lR- ltV3R. lR/ ltV3R0 lR1 ltV3R2 lR3 ltV3R4 lR5 lt V3R6 lR7 lt!V3R8 lR9 lt"V3R: lR; lt#V3R< lR= lt$V3R> lR? lt%V3R@ lRA lt&V3RB lRC lt'V3RD lRE lt(V3RF lRG lt)V3RH lRI lt*V3RJ lRK lt+V3RL lRM lt,RN]-! ]4      RO]-! ]4      RP]-! ] 4      RQ]-! ]!4      RR]-! ]"4      RS]-! ]#4      RT]-! ]$4      RU]-! ]%4      RV]-! ]&4      RW]-! ]'4      RX]-! ](4      RY]-! ])4      RZ]-! ]*4      R[]-! ]+4      R\]-! ],4      /t.RcV3R] lV 3R^ lllt/V3R_ lR` lt0Rat1Vt2V ;t3# )dÚNNModuleVariablei
  c          
      ó^   <€ V ^8„  d   QhRS[ RS[RS[P                  P                  RS[RR/# )r8   Úmodule_typer�   r³   r<   r=   N)rc   rC   r>   r?   r@   r   )rD   Ú__classdict__s   "€rE   rF   ÚNNModuleVariable.__annotate__  s=   ø€ ÷ 2ñ 2Ùð2Ù-0ð2Ù9>¿¹¿¹ð2ÙTWð2à	ñ2rG   c                ó�   <€ \         SV `  ! R/ VB  Wn        W n        W0n        V P
                  V n        V P
                  V n        R # )NrQ   )ÚsuperÚ__init__r¿   r�   r³   r‚   Únn_module_stack_source)Úselfr¿   r�   r³   r<   rŠ   s   &&&&,€rE   rÄ   ÚNNModuleVariable.__init__  s>   ø€ ô 	‰ÒÑ"˜6Ò"Ø&ÔØ$ŒØŒ
ð #Ÿk™kˆŒØ&*§k¡kˆÖ#rG   c                ó    <€ V ^8„  d   QhRS[ /# ©r8   r=   r   )rD   rÀ   s   "€rE   rF   rÁ      ó   ø€ ÷ ñ ©Fñ rG   c                ól   € V P                   ;'       g    V P                  pV'       g   \        R 4      hV# ©z'nn_module_stack_source must not be None©rÅ   r‚   ro   ©rÆ   Úress   & rE   Úget_nn_module_stack_sourceÚ+NNModuleVariable.get_nn_module_stack_source   ó-   € Ø×)Ñ)×8Ð8¨T¯[©[ˆßÜ Ð!JÓKÐKØˆ
rG   c                ó$   <€ V ^8„  d   QhRS[ RR/# ©r8   r‚   r=   Nr   )rD   rÀ   s   "€rE   rF   rÁ   &  ó   ø€ ÷ -ñ -±ð -¸Dñ -rG   c                ó   € Wn         R # rP   ©rÅ   ©rÆ   r‚   s   &&rE   Úset_nn_module_stack_sourceÚ+NNModuleVariable.set_nn_module_stack_source&  ó   € Ø&,Ö#rG   c                ó    <€ V ^8„  d   QhRS[ /# rÉ   )rc   )rD   rÀ   s   "€rE   rF   rÁ   )  s   ø€ ÷  ñ  ™Tñ  rG   c                ó   € V P                   # rP   )r¿   ©rÆ   s   &rE   Úpython_typeÚNNModuleVariable.python_type)  s   € Ø×ÑÐrG   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# ©r8   r9   r4   r=   N)r`   )rD   rÀ   s   "€rE   rF   rÁ   ,  s    ø€ ÷ <ñ <Ð4ð <¹¸t½ñ <rG   c                ó^   € \        VP                  P                  V P                  4      4      # rP   )ÚidÚoutputÚget_submoduler�   )rÆ   r9   s   &&rE   Úget_idÚNNModuleVariable.get_id,  s    € Ü�"—)‘)×)Ñ)¨$¯/©/Ó:Ó;Ð;rG   c                ó    <€ V ^8„  d   QhRS[ /# rÉ   )Úobject)rD   rÀ   s   "€rE   rF   rÁ   /  s   ø€ ÷ ñ ©fñ rG   c                ó   € V P                   # rP   )r³   rÞ   s   &rE   Úget_real_python_backed_valueÚ-NNModuleVariable.get_real_python_backed_value/  s   € Ø�z‰zÐrG   c                ó$   <€ V ^8„  d   QhRRRS[ /# ©r8   r9   r4   r=   ©r0   )rD   rÀ   s   "€rE   rF   rÁ   2  s   ø€ ÷ 2ñ 2Ð:ð 2¹ñ 2rG   c                óŽ   € ^RI Hp VP                  P                  V P                  4      pVP
                  ! \        V4      4      # )a1  nb_bool for nn.Module.

nn.Module itself has no __bool__ or __len__, so bare modules are always
truthy.  Subclasses like ModuleList/ModuleDict define __len__, so
bool(module) calls PyObject_IsTrue which falls through nb_bool (NULL)
to sq_length/mp_length.  We evaluate on the real module to capture this.
r5   )Úconstantr6   rå   ræ   r�   ÚcreateÚbool)rÆ   r9   r6   r:   s   &&  rE   Únb_bool_implÚNNModuleVariable.nb_bool_impl2  s4   € õ 	/à�i‰i×%Ñ% d§o¡oÓ6ˆØ×&Ò&¤t¨C£yÓ1Ð1rG   c                ó$   <€ V ^8„  d   QhRRRS[ /# rï   rð   )rD   rÀ   s   "€rE   rF   rÁ   ?  s   ø€ ÷ 4ñ 4Ð:ð 4¹ñ 4rG   c                óŒ   € VP                   P                  V P                  4      p\        P                  ! V\        V4      4      # rP   )rå   ræ   r�   r0   ÚbuildÚrepr©rÆ   r9   r:   s   && rE   Útp_repr_implÚNNModuleVariable.tp_repr_impl?  s1   € Ø�i‰i×%Ñ% d§o¡oÓ6ˆÜ×$Ò$ R¬¨c«Ó3Ð3rG   c                ób   <€ V ^8„  d   QhRRRS[ RS[P                  P                  RS[RS[RR/# )	r8   r9   r4   r‚   ÚsubmodÚ	key_extraÚoptionsr=   Nr¶   )rD   rÀ   s   "€rE   rF   rÁ   C  sO   ø€ ÷ ñ à'ðñ ðñ —‘—‘ð	ñ
 ðñ ðð 
ñrG   c                ó   € R # rP   rQ   )rÆ   r9   r‚   rÿ   r   r  s   &&&&*,rE   Ú_wrap_submoduleÚ NNModuleVariable._wrap_submoduleC  s   € ñ 	rG   c                ó4   <€ V ^8„  d   QhRRRS[ S[,          /# rï   ©rA   r0   )rD   rÀ   s   "€rE   rF   rÁ   M  s"   ø€ ÷ !ñ !Ø-ð!á	‰oÕ	ñ!rG   c                ór  € VP                   P                  V P                  4      p. p\        V\        P
                  P                  4      '       d‰   VP                  4        Fr  w  rE\        P                  ! W4      pVP                   P                  VV P                  V\        \        V P                  V4      4      R 7       VP                  V4       Kt  	  V# \        V\        P
                  P                  \        P
                  P                   \        P
                  P"                  34      '       g   \%        R\'        V4       24      h\)        V4       FZ  w  ruVP                  VP                   P                  VV P                  V\        \        V P                  V4      4      R 7      4       K\  	  V# )©r‚   z7Expected ModuleList, ParameterList, or Sequential, got )rå   ræ   r�   r[   r>   r?   Ú
ModuleDictrd   r0   rù   Úregister_attr_or_moduler   r   r‚   ÚappendÚ
ModuleListÚParameterListÚ
Sequentialro   r.   rª   )rÆ   r9   ÚbaseÚresultr…   rÿ   Úname_varÚidxs   &&      rE   Úunpack_var_sequenceÚ$NNModuleVariable.unpack_var_sequenceM  sW  € ð �y‰y×&Ñ& t§¡Ó7ˆØ(*ˆÜ�dœEŸH™H×/Ñ/×0Ò0Ø $§
¡
¦‘�Ü*×0Ò0°Ó:�Ø—	‘	×1Ñ1ØØ—O‘OØÜ)¬-¸¿¹ÀTÓ*JÓKð	 2ô ð —‘˜hÖ'ñ !-ð ˆMäØ”5—8‘8×&Ñ&¬¯©×(>Ñ(>ÄÇÁ×@SÑ@SÐT÷
ò 
ô !ØIÌ'ÐRVË-ÈÐYóð ô % Tž?‰KˆCØ�M‰MØ—	‘	×1Ñ1ØØ—O‘OØÜ)¬-¸¿¹ÀSÓ*IÓJð	 2ó öñ +ð ˆrG   c                ó(   <€ V ^8„  d   QhRRRS[ RR/# )r8   r9   r4   r…   r=   r6   )rC   )rD   rÀ   s   "€rE   rF   rÁ   p  s%   ø€ ÷ 1ñ 1Ø-ð1Ù58ð1à	ñ1rG   c           	     ó  € VP                   P                  V P                  4      p\        W24      p\	        V P
                  P                  \        P                  ! \        P                  VR 7      4      4       \        P                  ! W4      # )r’   )rå   ræ   r�   Úhasattrr   r‚   r˜   rš   r›   r   ÚHASATTRr0   rù   )rÆ   r9   r…   r:   r  s   &&&  rE   Úcall_obj_hasattrÚ!NNModuleVariable.call_obj_hasattrp  sg   € ð �i‰i×%Ñ% d§o¡oÓ6ˆÜ˜Ó#ˆÜØ�K‰K×"Ñ"¤9×#4Ò#4´\×5IÑ5IÐPTÔ#UÓVô	
ô ×$Ò$ RÓ0Ð0rG   c                ó$   <€ V ^8„  d   QhRRRS[ /# rï   )rô   )rD   rÀ   s   "€rE   rF   rÁ   z  s   ø€ ÷ /ñ /Ð9ð /¹dñ /rG   c                óf   € VP                   P                  V P                  4      p\        VR R4      # )ÚtrainingF)rå   ræ   r�   Úgetattrrû   s   && rE   Úis_trainingÚNNModuleVariable.is_trainingz  s)   € Ø�i‰i×%Ñ% d§o¡oÓ6ˆÜ�s˜J¨Ó.Ð.rG   c                ó"   <€ V ^8„  d   QhRRRR/# râ   rQ   )rD   rÀ   s   "€rE   rF   rÁ   ~  s   ø€ ÷ *ñ *Ð+Fð *È4ñ *rG   c                óø   € VP                   P                  V P                  4      p\        P                  ! V4       VP
                  P                  R8w  d    \        P                  ! \        V4      4       \        h)zIRestart analysis treating this module as an UnspecializedNNModuleVariablerÄ   )
rå   ræ   r�   r   ÚtagÚf_codeÚco_nameÚmark_class_dynamicrc   r   rû   s   && rE   Úconvert_to_unspecializedÚ)NNModuleVariable.convert_to_unspecialized~  sT   € à�i‰i×%Ñ% d§o¡oÓ6ˆÜ×Ò˜cÔ"ð �9‰9×Ñ 
Ô*Ü×0Ò0´°c³Ô;Ü)Ð)rG   c                ól   <€ V ^8„  d   QhRS[ P                  P                  RRRS[RS[RS[R,          /# )r8   r  r9   r4   r…   Ú
obj_sourcer=   N)r>   r?   r@   rC   r   r0   )rD   rÀ   s   "€rE   rF   rÁ   ˆ  sJ   ø€ ÷ =
ñ =
á�h‰h�o‰oð=
ð (ð=
ñ ð	=
ñ
 ð=
ñ 
˜4Õ	ñ=
rG   c                ó  € \        V4      '       d€   \        P                  ! \        V4      R4      pV'       d   \	        VR4      MRp \
        P                  ! VV VR7      P                  V\
        P                  P                  V4      ./ 4      # \!        VR
R7      pVf   R# \#        V\$        P&                  4      '       g'   \        RRV  RV 2RR.\        P                  OR	7       R\	        VR4      /p\
        P                  ! Wp3/ VB P                  V\(        P*                  ! W#4      ./ 4      #   \         d    \        T4        L¼\         d*    \        RRT  RT 2RR.\        P                  OR	7        Lîi ; i)zDCheck for a __getattr__ and handle it specially if it is implementedÚ__getattribute__Nr  z5Custom __getattribute__ in nn.Module attribute accessútp_getattro_impl Ú zXDynamo could not trace through the custom `__getattribute__` method on this `nn.Module`.z[Simplify your `__getattribute__` implementation, or replace it with a targeted `@property`.©Úgb_typeÚcontextÚexplanationÚhintsT)Úignore_nn_module_getattrz6torch.nn.Module with a non-function custom __getattr__zîDynamo detected a nn.Module object with a custom `__getattr__` method, but this method is not a standard Python function (e.g., it might be implemented in C/C++). Dynamo cannot currently trace into such non-standard `__getattr__` methods.z—Avoid using objects with non-standard __getattr__ methods within the compiled region. If possible, implement __getattr__ as a standard Python function.r‚   Ú__getattr__)r'   rv   rw   rc   r   r   ÚUserMethodVariableÚcall_functionr6   ró   r   r   r   r   r	   ÚSUPPORTABLEr   r[   r–   r¹   r0   rù   )	rÆ   r  r9   r…   r*  Úgetattribute_fnÚ
new_sourceÚ
getattr_fnr  s	   &&&&&    rE   Ú_custom_getattr_fallbackÚ)NNModuleVariable._custom_getattr_fallbackˆ  sŽ  € ô # 4×(Ò(Ü%×4Ò4´T¸$³ZÐASÓTˆOç>H”
˜:Ð'9Ô:Èdð ðÜ ×3Ò3Ø#ØØ%ô÷  ‘- ¤Y×%?Ñ%?×%FÑ%FÀtÓ%LÐ$MÈrÓRð	Sô( (¨ÀtÔLˆ
ØÒÙä˜*¤e×&8Ñ&8×9Ò9ÜØPØ+¨D¨6°°4°&Ð9ð-ðAðô '×2Ñ2ð	õð$ œZ¨
°MÓBÐCˆä×+Ò+¨JÑHÀÑH×VÑVØ”×&Ò& rÓ0Ð1°2ó
ð 	
øôQ *ô .Ü)¨"Ö-Üô ÜØSØ/°¨v°Q°t°fÐ=ð!EðEðô +×6Ñ6ð÷
ðús   Á	AD5 Ä5F ÅF Å'F Å?F c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# ©r8   r9   r4   r…   r=   ©rC   r0   )rD   rÀ   s   "€rE   rF   rÁ   Ç  s*   ø€ ÷ u2ñ u2Ø-ðu2Ù58ðu2á	ñu2rG   c                ó´	  <€ V P                   ;'       d    \        V P                   V4      pVP                  P                  V P                  4      p\
        P                  VR 4      pRp\        4       p\        P                  ! VP                  4       F,  pVP                  VP                  P                  4       4       K.  	  V P                   '       g&   \        RRV  RV 2R. \        P                   OR7       VR 8X  d   V P#                  V4      # Rp	W%9   d
   WR,          p	MŽRV9   d%   W%R,          9   d   W'9  d   VR,          V,          p	McR	V9   d   W%R	,          9   d   VR	,          V,          p	M>R
V9   d   W%R
,          9   d   VR
,          V,          p	M \        P$                  ! WB4      p	RpVR8X  d   \1        V P                   V4       VR8X  d+   V'       g#   \2        P4                  ! WP                  VR7      # V'       dh   \2        P4                  ! W\7        V4      4      p\9        V\:        \<        34      '       d*   VP?                  \        V PA                  4       V4      4       V# \C        V	\D        4      '       dr   V P                   '       d-   \        \        V P                   R4      V4      p\        VR4      p\F        PH                  ! V	PJ                  VR7      PM                  W./ 4      # \C        V	\N        4      '       dA   \F        PP                  ! V	PR                  \F        PT                  ! \-        V4      4      VR7      # \C        V	\V        4      '       d(   \F        PH                  ! V	PY                  V4      VR7      # \C        V	\Z        P\                  4      '       d   \F        PP                  ! W�VR7      # \_        V	4      '       g   \a        V	4      '       d!   \2        P4                  ! W\7        V4      4      # \        RR\c        V4       RV R\c        V	4       2R\c        V	4       R2RV R\c        V	4       R\c        V4       R2R.\        Pd                  OR7       \f        SV `Ñ  W4      #   \&         dW    T P)                  YAY P                   R7      p
T
e   T
u # \+        \&        TR\-        T4      P.                   RT R2.R7        EL%i ; i)r”   Tzgetattr with no sourcer-  r.  zŒDynamo does not know how to access an attribute on an `nn.Module` instance that lacks a source. This is usually an internal error in Dynamo.r/  NÚ_modulesÚ_parametersÚ_buffersF)r  r9   r…   r*  Ú'ú' object has no attribute 'ru   r�   rŠ   r  Úfgetz$Unsupported nn.Module attribute typeznn.Module subclass: z, name: z, attribute type: z>Dynamo does not support tracing nn.Module attributes of type `Ú`zRefactor your code so that `z	` (type `z`) is not an attribute of `zqCurrently supported attribute types are methods, classmethods, staticmethods, properties, constants, and tensors.)5r‚   r   rå   ræ   r�   rê   r,  rf   rv   ÚgetmrorŠ   Úupdater”   Úkeysr   r	   Ú
DYNAMO_BUGÚget_dict_vtrw   ry   r<  r   rc   Ú__name__r    r0   rù   r   r[   r½   ÚUnspecializedNNModuleVariablerÙ   rÐ   r%   Úpropertyr   ÚUserFunctionVariablerG  r7  Úclassmethodr6  r‘   r3   ÚstaticmethodÚ__get__r–   r¹   r#   r$   r.   r8  rÃ   Útp_getattro_impl)rÆ   r9   r…   r‚   r  Ú	base_dictÚobject_memberÚall_class_attribute_namesrK   Úsubobjr  ÚoutrŠ   s   &&&         €rE   rU  Ú!NNModuleVariable.tp_getattro_implÇ  sG  ø€ ð —‘×>Ð>¤¨D¯K©K¸Ó!>ˆà�y‰y×&Ñ& t§¡Ó7ˆô ×+Ñ+¨D°*Ó=ˆ	ØˆÜ$'£EÐ!Ü—’ §¡Ö/ˆAØ%×,Ñ,¨Q¯Z©Z¯_©_Ó->Ö?ñ 0ð �{�{ˆ{ÜØ0Ø+¨D¨6°°4°&Ð9ð7ð 6Ô)×4Ñ4Ð5õð �:ÔØ×#Ñ# BÓ'Ð'àˆØÔØ•_‰Fà˜)Ô#Ø *Õ-Ô-ØÔ5à˜zÕ*¨4Õ0‰FØ˜iÔ'¨D¸mÕ4LÔ,LØ˜}Õ-¨dÕ3‰FØ˜9Ô$¨¸:Õ1FÔ)FØ˜zÕ*¨4Õ0‰FðÜ ×/Ò/°Ó;�Ø %�ð �9ÔÜ2°4·;±;ÀÔEà�;Ô§}Ü"×(Ò(¨¯^©^ÀFÔKÐKçÜ!×'Ò'¨´NÀ6Ó4JÓKˆCä˜#Ô 0Ô2OÐP×QÒQð ×.Ñ.Ü˜t×>Ñ>Ó@À$ÓGôð ˆJô �fœh×'Ò'Ø—;—;�;ä'¬
°4·;±;ÀÓ(LÈdÓS�Fä'¨°Ó7�FÜ ×5Ò5Ø—K‘KØ!ô÷  ‘-  H¨bÓ1ð2ô ˜¤×,Ò,Ü ×3Ò3Ø—O‘OÜ×7Ò7¼¸T»
ÓCØ!ôð ô
 ˜¤×-Ò-Ü ×5Ò5Ø—N‘N 4Ó(Ø!ôð ô ˜¤× 2Ñ 2×3Ò3Ü ×3Ò3°FÈÔPÐPÜ! &×)Ò)¬X°f×-=Ò-=ä&×,Ò,¨R¼ÈÓ9OÓPÐPäØBØ2´7¸4³=°/ÀÈ$ÈÐOaÔbiÐjpÓbqÐarÐsØ"`ÔahÐioÓapÐ`qÐqrÐ sà6°t°f¸IÄgÈfÃoÐEVÐVqÔryÐz~Órð  rAð  ABð  Cð>ðô +×6Ñ6ð	õ	
ô ‰wÑ'¨Ó1Ð1øôQ "ô à×6Ñ6Ø¨4¿K¹Kð 7ó �ð Ò%Ø!’Mä(Ü"ØØœd 4›j×1Ñ1Ð2Ð2MÈdÈVÐSTÐUÐV÷ð ðús   ÆQ6 Ñ6.SÒ&-SÓSc                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# ©r8   r9   r4   r;   r<   r=   ©rA   r0   rB   rC   )rD   rÀ   s   "€rE   rF   rÁ   >  sH   ø€ ÷ nñ nà'ðnñ ‘?Õ#ðnñ ‘S™/Ð)Õ*ð	nñ
 
ñnrG   c                óÌ  € VP                   P                  V P                  4      p\        V P                  V P	                  4       W4      ;_uu_ 4        \        V4      p\        V\        P                  P                  4      '       Ed/   VP                  P                  \        P                  P                  P                  J dó   \        V4      '       d   V P                  V4       V'       d   \        R 4      hV'       d   \        VRR\!        V4       R24       Vw  pVP"                  P%                  4        Fm  w  rxVP'                  VP                   P)                  VV P                  V\+        \-        V P.                  V4      4      R7      V./ 4       VP1                  4       pKo  	  VuuRRR4       # V'       d,   VP2                  e   VP2                  V n        \7        WW#4       VP                   P9                  4       '       d¢   VP:                  P=                  R4      '       d�   VP:                  R8w  dp   \        VRRR7      '       d   V P                  V4       ^R	IH p	 V	! VVP                   PB                  ! R
V P                  .\E        W#4      O5!  R7      uuRRR4       # \        V\        PF                  PH                  4      '       d$   VP                  p
\-        V P.                  R4      pM"VPJ                  p
\-        V P.                  R4      p\M        V
\N        PP                  4      '       d-   V
PR                  p
\-        VR4      pV .\U        V4      ,           pM7\M        V
\N        PV                  4      '       g   \        R\Y        V
4       24      hVP[                  \\        P^                  ! W«R7      VVRR7      uuRRR4       #   + '       g   i     R# ; i)z3Expected lazy sequential isn't a valid combination?ztorch.nn.Module.Sequentialz0 kwargsú kwargsr  Nztorch.nn.utils.parametrizeT)Úcheck_forward_hooksÚcheck_backward_hooks©Úwrap_fx_proxyÚcall_module©r9   Úproxyr�   Ú
_call_implr‘   úExpected FunctionType, got ©Úallow_nested_graph_breaks)z	torch.nn.z	torch.ao.)0rå   ræ   r�   r�   rÐ   r!   r[   r>   r?   r  rŠ   r�   r&   r'  ro   r)   ÚlenrB  rd   r7  r
  r   r   r‚   ÚpopÚcls_to_becomer¿   r   Úis_root_tracerÚ
__module__Ú
startswithÚbuilderrd  Úcreate_proxyr(   rg   ÚGraphModulerh  r%   r–   r—   r‘   rA   r¹   rc   Úinline_user_function_returnr   rQ  )rÆ   r9   r;   r<   r:   Úis_lazyr|   Ú
child_namerÿ   rd  ÚfnÚ	fn_sources   &&&&        rE   r7  ÚNNModuleVariable.call_function>  s"  € ð �i‰i×%Ñ% d§o¡oÓ6ˆä#Ø�O‰O˜T×<Ñ<Ó>À÷
õ 
ô % SÓ)ˆGä˜3¤§¡× 3Ñ 3×4Ó4Ø—M‘M×)Ñ)¬U¯X©X×-@Ñ-@×-HÑ-HÓHä% c×*Ò*ð ×1Ñ1°"Ô5÷ Ü(ØMóð ÷ Ü'ØØ4Ø"Ü˜v›;˜- wÐ/ô	ð ‘�à*-¯,©,×*<Ñ*<Ö*>Ñ&�JØ×$Ñ$ØŸ	™	×9Ñ9Ø"Ø ŸO™OØ&Ü#1´*¸T¿[¹[È*Ó2UÓ#Vð	 :ó ð ˜Øô	ð Ÿ&™&›(’Cñ +?ð ÷Q
ò 
÷T à×$Ñ$Ò0Ø'*×'8Ñ'8�DÔ$ô
 ' r°Ô=ð —	‘	×(Ñ(×*Ò*Ø—N‘N×-Ñ-Ð.H×IÒIØ—N‘NÐ&BÔBä%Ø¨TÈ÷ó ð ×1Ñ1°"Ô5å2á$ØØŸ)™)×0Ò0Ø%ØŸ™ðô +¨4Ó8óô÷Q
ò 
ôb ˜c¤5§8¡8×#7Ñ#7×8Ò8ð Ÿ™�BÜ *¨4¯;©;¸	Ó B‘IàŸ™�BÜ *¨4¯;©;¸Ó E�IÜ˜"œe×.Ñ.×/Ò/ØŸ™�BÜ *¨9°jÓ A�IØ ˜6¤D¨£JÕ.‘Dä! "¤e×&8Ñ&8×9Ò9Ü,Ð/JÌ4ÐPRË8È*Ð-UÓVÐVØ×5Ñ5Ü×2Ò2°2ÔHØØØ.2ð	 6ó ÷C
÷ 
÷ 
ó 
ús5   ÁBOÃ0OÄB*OÆ8OÇ A
OÈBOÊ,DOÏO#	c                ó&   <€ V ^8„  d   QhRRRRRR/# )r8   r9   r4   r²   r0   r=   rQ   )rD   rÀ   s   "€rE   rF   rÁ   ®  s.   ø€ ÷ `
ñ `
à'ð`
ð ð`
ð 
ñ	`
rG   c                óú  € ^RI Hp ^RIHp VP                  P                  V P                  4      p\        P                  P                  P                  \        P                  P                  P                  \        P                  P                  P                  \        P                  P                  P                  \        P                  P                  P                  3p\        V4      P                  V9  dó   VP!                  4       '       d+   \#        VP%                  4       \&        \(        34      '       g   \+        RRV  RV 2RV R2R.R	7       VP                  P,                  p\#        V\.        P0                  4      '       g   \3        R
\        V4       24      h\5        \5        V P6                  R4      R4      pVP9                  \:        P<                  ! WxR7      W./ RR7      # \#        W#4      '       EdC   VP                  P>                  '       Ed   . p	\A        \C        \E        V4      4      4      VP%                  4       ,          p
\G        WRP%                  4       ,          4       FY  w  r¼W«,          p\I        \K        V P6                  V4      4      pV	PM                  VP                  PO                  VVVR7      4       K[  	  WRP%                  4       ,          pVP                  PO                  VV  R2\I        \K        V P6                  VP%                  4       4      4      R7      pV# V PQ                  V4       ^ p\#        W$4      '       d   VPS                  VP                  4      pM<VP!                  4       '       d   VP%                  4       pM\+        RRV  RV 2R. R	7       VV,          pVP                  PO                  VV P                  V\I        \K        V P6                  V4      4      R7      # )é   )ÚSliceVariable)ÚSymNodeVariablez6Invalid or non-const argument in nn.Module __getitem__zmp_subscript_impl: r.  zFDynamo does not support calling method `__getitem__` of ``nn.Module`` z+ with a non-constant or non-(str, int) key.z9Use constant arguments of type str or int for __getitem__r/  ri  Ú__getitem__r‘   r  Trj  z.__getitem__(slice)z.Unsupported key type for nn.Module.__getitem__zEDynamo does not support getitem on `nn.Module` with non-constant key.)*Úlistsr~  Útensorr  rå   ræ   r�   r>   r?   r	  r€  r  ÚParameterDictr  r  rc   Úis_python_constantr[   Úas_python_constantrC   r`   r   r‘   r–   r¹   ro   r   r‚   ru  r   rQ  ÚexportrA   Úrangerl  rª   r   r   r  r
  r'  Úevaluate_expr)rÆ   r9   r²   r~  r  ÚmoduleÚbuiltin_supportedrx  Úsrcr  rK  r  rÿ   rq   Ú
new_moduleÚnew_module_variableÚ	key_values   &&&              rE   Úmp_subscript_implÚ"NNModuleVariable.mp_subscript_impl®  sL  € õ 	)Ý+à—‘×(Ñ(¨¯©Ó9ˆô �H‰H×Ñ×+Ñ+Ü�H‰H×Ñ×+Ñ+Ü�H‰H×"Ñ"×.Ñ.Ü�H‰H×"Ñ"×.Ñ.Ü�H‰H×Ñ×+Ñ+ð
Ðô �‹<×#Ñ#Ð+<Ô<à×&Ñ&×(Ò(Ü˜s×5Ñ5Ó7¼#¼s¸×DÒDäØTØ1°$°°q¸¸Ð>ð!=Ø=C¸HÐDoð!qàVÐWõð ×#Ñ#×,Ñ,ˆBä˜b¤%×"4Ñ"4×5Ò5Ü$Ð'BÄ4ÈÃ8À*Ð%MÓNÐNäœZ¨¯©°]ÓCÀZÓPˆCØ×1Ñ1Ü×.Ò.¨rÔ>Ø�ØØ*.ð	 2ó ð ô �c×)Ó)ð �y‰y××ÑØ�ÜœE¤# f£+Ó.Ó/°×0FÑ0FÓ0HÕI�Ü#,¨V×4JÑ4JÓ4LÕ-MÖ#N‘K�CØ�	�AÜ(¬°t·{±{ÀAÓ)FÓG�CØ—M‘MØŸ	™	×9Ñ9Ø"ØØ#&ð :ó öñ $Oð $×$:Ñ$:Ó$<Õ=�
Ø&(§i¡i×&GÑ&GØØ�fÐ/Ð0Ü)Ü% d§k¡k°3×3IÑ3IÓ3KÓLóð 'Hó 'Ð#ð +Ð*ð ×-Ñ-¨bÔ1àˆ	Ü�c×+Ò+Ø×)Ñ)¨"¯)©)Ó4‰IØ×#Ñ#×%Ò%Ø×.Ñ.Ó0‰IäØHØ-¨d¨V°1°S°EÐ:ð5àõð ˜	Õ"ˆØ�y‰y×0Ñ0ØØ�O‰OØÜ!¤-°·±¸YÓ"GÓHð	 1ó 
ð 	
rG   c                ó$   <€ V ^8„  d   QhRRRS[ /# rï   rð   )rD   rÀ   s   "€rE   rF   rÁ     s   ø€ ÷ 
ñ 
Ð:ð 
¹ñ 
rG   c                óP   € ^RI Hp V! V P                  V4      \        4       R7      # )r}  )ÚListIteratorVariable©Úmutation_type)Ú r“  r  r/   )rÆ   r9   r“  s   && rE   Útp_iter_implÚNNModuleVariable.tp_iter_impl  s&   € Ý*á#Ø×$Ñ$ RÓ(Ô8HÓ8Jô
ð 	
rG   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[ /# )r8   r‚   r…   r=   )r   rC   )rD   rÀ   s   "€rE   rF   rÁ     s"   ø€ ÷ ñ ™Fð ©#ð ±&ñ rG   c                ó¤   € VP                  R 4      pV^ ,          R8X  d   V # \        V4      ^ 8”  d   VP                  ^ 4      p\        W4      p K.  V # )Ú.r–  )Úsplitrl  rm  r   )r‚   r…   Ú
name_splitrK   s   &&  rE   Ú_gen_sourceÚNNModuleVariable._gen_source  sI   € à—Z‘Z “_ˆ
Ø�a�=˜BÔØˆMÜ�*‹o Ô!Ø—‘˜qÓ!ˆAÜ Ó*ŠFØˆrG   c          
      ó6   <€ V ^8„  d   QhRRRS[ RS[RS[RS[/# ©r8   r9   r4   r…   r;   r<   r=   )rC   r   r0   )rD   rÀ   s   "€rE   rF   rÁ   !  s5   ø€ ÷ 
ñ 
Ø-ð
Ù58ð
Ù@Cð
ÙMPð
á	ñ
rG   c           
     óB  € VP                   P                  V P                  4      pVP                   P                  R V P                  R/ 4      p\	        VP
                  V4       \        W44      w  rx^RIHp	 V	! VVP                   P                  RW&.VO5VR7      R7      # )Úget_attrrc  Úcall_method)r;   r<   rf  rQ   )	rå   ræ   r�   rs  r*   ri   r(   rr  rd  )
rÆ   r9   r…   r;   r<   r‰  Ú	mod_proxyrz   r{   rd  s
   &&&&&     rE   Ú_generic_call_method_helperÚ,NNModuleVariable._generic_call_method_helper!  sŽ   € ð
 —‘×(Ñ(¨¯©Ó9ˆØ—I‘I×*Ñ*¨:°t·±ÈÈBÓOˆ	Ü˜)Ÿ.™.¨&Ô1Ü#4°TÓ#BÑ ˆ
Ý*áØØ—)‘)×(Ñ(Ø˜tÐ*B°zÑ*BÈ<ð )ó ô
ð 	
rG   c          
      ó4   <€ V ^8„  d   QhRRRS[ RS[RS[RR/# )r8   r9   r4   r…   r;   r<   r=   N©rC   r   )rD   rÀ   s   "€rE   rF   rÁ   3  s5   ø€ ÷ ñ Ø-ðÙ58ðÙ@CðÙMPðà	ñrG   c                ó”  € \         ;QJ d>    R  \        P                  ! W4P                  4       4       4       F  '       d   K   RM3	  RM/! R  \        P                  ! W4P                  4       4       4       4      '       gJ   VP                  P                  V P                  4      p\        RRV  RV RV RV 2RV RV R2. R	7       R
# R
# )c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5irP   )r„  ©rS   rK   s   & rE   rV   ÚANNModuleVariable._assert_all_args_kwargs_const.<locals>.<genexpr>6  s   é € ð 
Ù,R q× Ñ ×"Ð"Ó,Rùó   ‚FTz&non-const argument in nn.Module methodúcall_method: r.  z(Dynamo does not support calling method `z` of ``nn.Module`` z with non-constant arguments.r/  N)rn   Ú	itertoolsÚchainÚvaluesrå   ræ   r�   r   )rÆ   r9   r…   r;   r<   r‰  s   &&&&& rE   Ú_assert_all_args_kwargs_constÚ.NNModuleVariable._assert_all_args_kwargs_const3  s´   € ÷ ‹sñ 
Ü,5¯OªO¸DÇ-Á-Ã/Ô,Ró
�s�sŠsñ 
Ü,5¯OªO¸DÇ-Á-Ã/Ô,Ró
÷ 
ò 
ð —Y‘Y×,Ñ,¨T¯_©_Ó=ˆFÜØ@Ø'¨ v¨Q¨t¨f°A°d°V¸1¸V¸HÐEðØ˜&Ð 3°F°8Ð;XðZà÷ñ	
rG   c                óR   <€ V ^8„  d   QhRRRS[ RS[RS[RS[ RS[S[ S[3,          /# )r8   r9   r4   r…   r;   r<   Únamesr=   )rC   r   rB   )rD   rÀ   s   "€rE   rF   rÁ   B  sO   ø€ ÷ 1ñ 1à'ð1ñ ð1ñ ð	1ñ
 ð1ñ ð1ñ 
‰c‘3ˆh�ñ1rG   c                óô  € V P                  WW44       VP                  P                  V P                  4      p\	        Wb4      p\
        P                  ! V4      P                  ! V Uu. uF  qˆP                  4       NK  	  up/ VP                  4        U	U
u/ uF  w  ršWšP                  4       bK  	  up
p	B pVP                  4        VP                  pV U	u/ uF  q™W¹,          bK  	  up	# u upi u up
p	i u up	i rP   )r³  rå   ræ   r�   r  rv   Ú	signatureÚbindr…  rd   Úapply_defaultsÚ	arguments)rÆ   r9   r…   r;   r<   r¶  r‰  rx  rK   rq   rr   Ú
bound_argss   &&&&&*      rE   Ú_get_kwargsÚNNModuleVariable._get_kwargsB  sÕ   € ð 	×*Ñ*¨2°TÔBØ—‘×(Ñ(¨¯©Ó9ˆÜ�VÓ"ˆÜ×&Ò& rÓ*×/Ò/Ù/3Ó4©t¨!×#Ñ#Ö%©tÑ4ð
à5;·\±\´^ÔD±^©T¨Qˆq×&Ñ&Ó(Ò(±^ÒDñ
ˆ
ð 	×!Ñ!Ô#Ø×)Ñ)ˆ
Ù*/Ó0©% Q�:•=Ò ©%Ñ0Ð0ùò 5ùÛDùò 1s   Á'C*ÂC/ÃC5c                óN   <€ V ^8„  d   QhRRRS[ S[S[S[3,          ,          RR/# )r8   r9   r4   rd   r=   zvariables.ListIteratorVariable)r   re   r   )rD   rÀ   s   "€rE   rF   rÁ   U  s7   ø€ ÷ Xñ XØ-ðXÙ6>¹uÁSÉ#ÀX½Õ6OðXà	)ñXrG   c                ó  € . pV F`  w  rEVP                  VP                  P                  VV P                  V\	        V P                  V P                  V4      4      R 7      4       Kb  	  \        P                  ! V\        4       R7      # )r  r”  )
r  rå   r
  r�   r   rž  r‚   r   r“  r/   )rÆ   r9   rd   r  r…   rÿ   s   &&&   rE   Ú_wrap_valuesÚNNModuleVariable._wrap_valuesU  sw   € ð )+ˆÛ!‰LˆDØ�M‰MØ—	‘	×1Ñ1ØØ—O‘OØÜ)¨$×*:Ñ*:¸4¿;¹;ÈÓ*MÓNð	 2ó öñ "ô ×-Ò-¨fÔDTÓDVÔWÐWrG   c                ó.   <€ V ^8„  d   QhRRRS[ RS[RR/# )r8   r9   r4   r…   Úobjr=   zvariables.TupleVariabler©  )rD   rÀ   s   "€rE   rF   rÁ   d  s-   ø€ ÷ 
ñ 
Ø-ð
Ù58ð
Ù?Bð
à	"ñ
rG   c                óî   € \         P                  ! \        P                  ! W4      VP                  P                  VV P                  V\        V P                  V P                  V4      4      R 7      .4      # )r  )
r   ÚTupleVariabler0   rù   rå   r
  r�   r   rž  r‚   )rÆ   r9   r…   rÄ  s   &&&&rE   Ú_named_embedÚNNModuleVariable._named_embedd  sg   € ô ×&Ò&ä×%Ò% bÓ/Ø—	‘	×1Ñ1ØØ—O‘OØÜ)¨$×*:Ñ*:¸4¿;¹;ÈÓ*MÓNð	 2ó ðó

ð 
	
rG   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r]  r^  )rD   rÀ   s   "€rE   rF   rÁ   s  sB   ø€ ÷ 4ñ 4à'ð4ñ ‘?Õ#ð4ñ ‘S™/Ð)Õ*ð	4ñ
 
ñ4rG   c                ó&   € V P                  WV4      # rP   )r7  )rÆ   r9   r;   r<   s   &&&&rE   rh  ÚNNModuleVariable._call_impls  s   € ð ×!Ñ! "¨FÓ3Ð3rG   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r]  r^  )rD   rÀ   s   "€rE   rF   rÁ   }  sH   ø€ ÷ Qñ Qà'ðQñ ‘?Õ#ðQñ ‘S™/Ð)Õ*ð	Qñ
 
ñQrG   c                ó
  € VP                   P                  V P                  4      p\        V P                  V P	                  4       W4      ;_uu_ 4        V P                  VR W#4      uuRRR4       #   + '       g   i     R# ; i)r�   N)rå   ræ   r�   r�   rÐ   r¦  ©rÆ   r9   r;   r<   r‰  s   &&&& rE   r�   ÚNNModuleVariable.forward}  sf   € ð —‘×(Ñ(¨¯©Ó9ˆÜ#Ø�O‰O˜T×<Ñ<Ó>À÷
õ 
ð ×3Ñ3°B¸	À4ÓP÷
÷ 
÷ 
ó 
ús   ÁA1Á1B	c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r]  r^  )rD   rÀ   s   "€rE   rF   rÁ   ‹  sB   ø€ ÷ 
ñ 
à'ð
ñ ‘?Õ#ð
ñ ‘S™/Ð)Õ*ð	
ñ
 
ñ
rG   c                óf  € VP                   P                  V P                  4      pV^,          P                  4       '       g   \	        VRV R24       \        V^ ,          \        P                  4      '       g   \	        VRV R24       V^ ,          P                  V^,          P                  4       ,          p\        V\        4      '       d   V# VP                  pVP                   P                  V4      pVP                   P                  WvV\        \        V P                  V4      4      R7      # )r}  z``nn.Module`` zB's call method _get_item_by_idx requires a constant index argumentzB's call method _get_item_by_idx requires a tuple as first argumentr  )rå   ræ   r�   r„  r   r[   r   rÆ  rd   r…  rO  r
  r   r   r‚   )rÆ   r9   r;   r<   r‰  Úmod_varr²   rÿ   s   &&&&    rE   Ú_get_item_by_idxÚ!NNModuleVariable._get_item_by_idx‹  sþ   € ð —‘×(Ñ(¨¯©Ó9ˆØ�A�w×)Ñ)×+Ò+ÜØØ   Ð(jÐkôô ˜$˜q�'¤9×#:Ñ#:×;Ò;ÜØØ   Ð(jÐkôð �q•'—-‘-  Q¥× :Ñ :Ó <Õ=ˆÜ�gÔ<×=Ò=ØˆNØ× Ñ ˆØ—‘×(Ñ(¨Ó-ˆØ�y‰y×0Ñ0Ø˜¤^´MÀ$Ç+Á+ÈsÓ4SÓ%Tð 1ó 
ð 	
rG   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r]  r^  )rD   rÀ   s   "€rE   rF   rÁ   ¥  óH   ø€ ÷ Xñ Xà'ðXñ ‘?Õ#ðXñ ‘S™/Ð)Õ*ð	Xñ
 
ñXrG   c           
     óâ  € VP                   P                  V P                  4      pVP                   P                  P	                  \        V P                  R 4      4       V'       g	   V'       d'   \        VRR\        V4       R\        V4       R24       . pVP                  4        F&  w  rgVP                  V P                  WV4      4       K(  	  \        P                  ! V\        4       R7      # )rB  Únamed_childrenú0 args and 0 kwargsú
 args and r`  r”  )rå   ræ   r�   Úguard_on_key_orderÚaddr   r‚   r)   rl  rØ  r  rÇ  r   r“  r/   ©rÆ   r9   r;   r<   r‰  r  Únrÿ   s   &&&&    rE   rØ  ÚNNModuleVariable.named_children¥  s¹   € ð —‘×(Ñ(¨¯©Ó9ˆØ
�	‰	×$Ñ$×(Ñ(¬°D·K±KÀÓ)LÔMß—6ÜØØ Ø%Ü�t“9�+˜Z¬¨F« }°GÐ<ô	ð )+ˆØ×.Ñ.Ö0‰IˆAØ�M‰M˜$×+Ñ+¨B°6Ó:Ö;ñ 1ä×-Ò-¨fÔDTÓDVÔWÐWrG   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r]  r^  )rD   rÀ   s   "€rE   rF   rÁ   ¹  sH   ø€ ÷ Xñ Xà'ðXñ ‘?Õ#ðXñ ‘S™/Ð)Õ*ð	Xñ
 
ñXrG   c                ó¤  € VP                   P                  V P                  4      pVP                   P                  P	                  \        V P                  R 4      4       V P                  VRW#RR4      p. pVP                  ! R/ VB  F&  w  rxVP                  V P                  WV4      4       K(  	  \        P                  ! V\        4       R7      # )rC  Únamed_parametersÚprefixÚrecurser”  rQ   )rå   ræ   r�   rÛ  rÜ  r   r‚   r½  râ  r  rÇ  r   r“  r/   )	rÆ   r9   r;   r<   r‰  Úkwr  rÞ  Úparams	   &&&&     rE   râ  Ú!NNModuleVariable.named_parameters¹  s§   € ð —‘×(Ñ(¨¯©Ó9ˆØ
�	‰	×$Ñ$×(Ñ(¬°D·K±KÀÓ)OÔPØ×Ñ˜bÐ"4°dÀHÈiÓXˆØ(*ˆØ×/Ò/Ñ5°"Ô5‰HˆAØ�M‰M˜$×+Ñ+¨B°5Ó9Ö:ñ 6ä×-Ò-¨fÔDTÓDVÔWÐWrG   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r]  r^  )rD   rÀ   s   "€rE   rF   rÁ   Ç  óH   ø€ ÷ Xñ Xà'ðXñ ‘?Õ#ðXñ ‘S™/Ð)Õ*ð	Xñ
 
ñXrG   c           	     ó¦  € VP                   P                  V P                  4      pVP                   P                  P	                  \        V P                  R 4      4       V P                  VRW#RRR4      p. pVP                  ! R/ VB  F&  w  rxVP                  V P                  WV4      4       K(  	  \        P                  ! V\        4       R7      # )rD  Únamed_buffersrã  rä  Úremove_duplicater”  rQ   )rå   ræ   r�   rÛ  rÜ  r   r‚   r½  rë  r  rÇ  r   r“  r/   )	rÆ   r9   r;   r<   r‰  rå  r  rÞ  Úbuffers	   &&&&     rE   rë  ÚNNModuleVariable.named_buffersÇ  s®   € ð —‘×(Ñ(¨¯©Ó9ˆØ
�	‰	×$Ñ$×(Ñ(¬°D·K±KÀÓ)LÔMØ×ÑØ� ¨x¸ÐDVó
ˆð )+ˆØ×-Ò-Ñ3°Ô3‰IˆAØ�M‰M˜$×+Ñ+¨B°6Ó:Ö;ñ 4ä×-Ò-¨fÔDTÓDVÔWÐWrG   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r]  r^  )rD   rÀ   s   "€rE   rF   rÁ   ×  ré  rG   c           	     ó¦  € VP                   P                  V P                  4      pVP                   P                  P	                  \        V P                  R 4      4       V P                  VRW#RRR4      p. pVP                  ! R/ VB  F&  w  rxVP                  V P                  WV4      4       K(  	  \        P                  ! V\        4       R7      # )rB  Únamed_modulesÚmemorã  rì  r”  rQ   )rå   ræ   r�   rÛ  rÜ  r   r‚   r½  rñ  r  rÇ  r   r“  r/   )	rÆ   r9   r;   r<   r‰  rå  r  rÞ  rÿ   s	   &&&&     rE   rñ  ÚNNModuleVariable.named_modules×  s®   € ð —‘×(Ñ(¨¯©Ó9ˆØ
�	‰	×$Ñ$×(Ñ(¬°D·K±KÀÓ)LÔMØ×ÑØ� ¨v°xÐASó
ˆð )+ˆØ×-Ò-Ñ3°Ô3‰IˆAØ�M‰M˜$×+Ñ+¨B°6Ó:Ö;ñ 4ä×-Ò-¨fÔDTÓDVÔWÐWrG   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r]  r^  )rD   rÀ   s   "€rE   rF   rÁ   ç  sB   ø€ ÷ >ñ >à'ð>ñ ‘?Õ#ð>ñ ‘S™/Ð)Õ*ð	>ñ
 
ñ>rG   c           
     óh  € VP                   P                  V P                  4      pVP                   P                  P	                  \        V P                  R 4      4       V'       g	   V'       d'   \        VRR\        V4       R\        V4       R24       V P                  WP                  4       4      # )rB  ÚchildrenrÙ  rÚ  r`  )rå   ræ   r�   rÛ  rÜ  r   r‚   r)   rl  rÁ  rØ  rÎ  s   &&&& rE   rö  ÚNNModuleVariable.childrenç  s‰   € ð —‘×(Ñ(¨¯©Ó9ˆØ
�	‰	×$Ñ$×(Ñ(¬°D·K±KÀÓ)LÔMß—6ÜØØØ%Ü�t“9�+˜Z¬¨F« }°GÐ<ô	ð × Ñ  ×%:Ñ%:Ó%<Ó=Ð=rG   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r]  r^  )rD   rÀ   s   "€rE   rF   rÁ   ø  sB   ø€ ÷ =ñ =à'ð=ñ ‘?Õ#ð=ñ ‘S™/Ð)Õ*ð	=ñ
 
ñ=rG   c                óü   € VP                   P                  V P                  4      pVP                   P                  P	                  \        V P                  R 4      4       V P                  WP                  4       4      # )rB  )	rå   ræ   r�   rÛ  rÜ  r   r‚   rÁ  rñ  rÎ  s   &&&& rE   ÚmodulesÚNNModuleVariable.modulesø  sY   € ð —‘×(Ñ(¨¯©Ó9ˆØ
�	‰	×$Ñ$×(Ñ(¬°D·K±KÀÓ)LÔMØ× Ñ  ×%9Ñ%9Ó%;Ó<Ð<rG   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r]  r^  )rD   rÀ   s   "€rE   rF   rÁ     sH   ø€ ÷ 	Dñ 	Dà'ð	Dñ ‘?Õ#ð	Dñ ‘S™/Ð)Õ*ð		Dñ
 
ñ	DrG   c                ó(  € VP                   P                  V P                  4      pVP                   P                  P	                  \        V P                  R 4      4       V P                  VRW#R4      pV P                  WP                  ! R/ VB 4      # )rC  Ú
parametersrä  rQ   )
rå   ræ   r�   rÛ  rÜ  r   r‚   r½  rÁ  râ  ©rÆ   r9   r;   r<   r‰  rå  s   &&&&  rE   rþ  ÚNNModuleVariable.parameters  st   € ð —‘×(Ñ(¨¯©Ó9ˆØ
�	‰	×$Ñ$×(Ñ(¬°D·K±KÀÓ)OÔPØ×Ñ˜b ,°¸iÓHˆØ× Ñ  ×%<Ò%<Ñ%B¸rÑ%BÓCÐCrG   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r]  r^  )rD   rÀ   s   "€rE   rF   rÁ     sH   ø€ ÷ 	Añ 	Aà'ð	Añ ‘?Õ#ð	Añ ‘S™/Ð)Õ*ð		Añ
 
ñ	ArG   c                ó(  € VP                   P                  V P                  4      pVP                   P                  P	                  \        V P                  R 4      4       V P                  VRW#R4      pV P                  WP                  ! R/ VB 4      # )rD  Úbuffersrä  rQ   )
rå   ræ   r�   rÛ  rÜ  r   r‚   r½  rÁ  rë  rÿ  s   &&&&  rE   r  ÚNNModuleVariable.buffers  st   € ð —‘×(Ñ(¨¯©Ó9ˆØ
�	‰	×$Ñ$×(Ñ(¬°D·K±KÀÓ)LÔMØ×Ñ˜b )¨T¸9ÓEˆØ× Ñ  ×%9Ò%9Ñ%?¸BÑ%?Ó@Ð@rG   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r]  r^  )rD   rÀ   s   "€rE   rF   rÁ     rÖ  rG   c           
     óX  € VP                   P                  V P                  4      pV'       g	   V'       d'   \        VR R\	        V4       R\	        V4       R24       . pV F(  pVP                  \        P                  ! W4      4       K*  	  \        P                  ! V\        4       R7      # )rK  rÙ  rÚ  r`  r”  )rå   ræ   r�   r)   rl  r  r0   rù   r   r“  r/   )rÆ   r9   r;   r<   r‰  r  Útmps   &&&&   rE   rK  ÚNNModuleVariable.keys  s‰   € ð —‘×(Ñ(¨¯©Ó9ˆß—6ÜØØØ%Ü�t“9�+˜Z¬¨F« }°GÐ<ô	ð )+ˆãˆCØ�M‰Mœ/×/Ò/°Ó8Ö9ñ ä×-Ò-¨fÔDTÓDVÔWÐWrG   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r]  r^  )rD   rÀ   s   "€rE   rF   rÁ   ,  sB   ø€ ÷ 5ñ 5à'ð5ñ ‘?Õ#ð5ñ ‘S™/Ð)Õ*ð	5ñ
 
ñ5rG   c           
     óö   € VP                   P                  V P                  4      pV'       g	   V'       d'   \        VR R\	        V4       R\	        V4       R24       V P                  WP                  4       4      # )r²  rÙ  rÚ  r`  )rå   ræ   r�   r)   rl  rÁ  rd   rÎ  s   &&&& rE   r²  ÚNNModuleVariable.values,  sc   € ð —‘×(Ñ(¨¯©Ó9ˆß—6ÜØØØ%Ü�t“9�+˜Z¬¨F« }°GÐ<ô	ð × Ñ  §\¡\£^Ó4Ð4rG   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r]  r^  )rD   rÀ   s   "€rE   rF   rÁ   <  sH   ø€ ÷ Xñ Xà'ðXñ ‘?Õ#ðXñ ‘S™/Ð)Õ*ð	Xñ
 
ñXrG   c           
     óp  € VP                   P                  V P                  4      pV'       g	   V'       d'   \        VR R\	        V4       R\	        V4       R24       . pVP                  4        F&  w  rgVP                  V P                  WV4      4       K(  	  \        P                  ! V\        4       R7      # )rd   rÙ  rÚ  r`  r”  )rå   ræ   r�   r)   rl  rd   r  rÇ  r   r“  r/   rÝ  s   &&&&    rE   rd   ÚNNModuleVariable.items<  s“   € ð —‘×(Ñ(¨¯©Ó9ˆß—6ÜØØØ%Ü�t“9�+˜Z¬¨F« }°GÐ<ô	ð )+ˆØŸ™ž‰IˆAØ�M‰M˜$×+Ñ+¨B°6Ó:Ö;ñ (ä×-Ò-¨fÔDTÓDVÔWÐWrG   rh  Ú_wrapped_call_implr�   rÓ  rØ  râ  rë  rñ  rö  rú  rþ  r  rK  r²  rd   c                ób   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[RS[/# )r8   r9   r4   r…   r;   r<   rò   r=   )rC   rA   r0   rB   rô   )rD   rÀ   s   "€rE   rF   rÁ   a  s^   ø€ ÷ ?Eñ ?Eà'ð?Eñ ð?Eñ ‘?Õ#ð	?Eñ
 ‘S™/Ð)Õ*ð?Eñ ð?Eñ 
ñ?ErG   c                ó
  <€ ^RI Hp VP                  P                  V P                  4      pVR8X  dW   \
        P                  ! \        P                  ! VP                  P                  4      4      '       d   VP                  ! R4      # V'       d5   \        Wr4      pVP                  P                   RV R2p	\        WW“V4      # VR8X  d   V P                  V4      # VR8X  d¢   \!        V\"        P$                  P&                  \"        P$                  P(                  34      '       d^   V'       dV   V^ ,          P+                  4       '       d9   \,        P.                  ! W^ ,          P1                  4       VP2                  9   4      # VR8X  g‹   \!        V\"        P$                  P4                  P6                  P8                  4      '       d   VR	8X  gF   \!        V\"        P$                  P4                  P6                  P:                  4      '       dv   VR
8X  do   \        Wr4      P<                  p\?        \?        V P@                  V4      R4      p
VPC                  \D        PF                  ! WŠR7      V .\I        V4      ,           V4      # W PJ                  9  d×   W'P                  PL                  9   d½   \O        VP                  PL                  V,          4      '       d‘   \P        ;QJ d>    R \R        PT                  ! W4PW                  4       4       4       F  '       d   K   RM3	  RM/! R \R        PT                  ! W4PW                  4       4       4       4      '       d   V PY                  WW44      # \Z        SV `¹  W\I        V4      V4      # )r}  r5   Ú_check_input_dimTÚ_Ú_resultÚ__iter__Ú__contains__Ú_get_abs_string_indexÚ_conv_forwardÚ_output_paddingr‘   r  c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5irP   )Ú	is_tensorr¬  s   & rE   rV   Ú/NNModuleVariable.call_method.<locals>.<genexpr>œ  s   é € ÐRÑ+Q a—K‘K—M�MÓ+Qùr®  F)/rò   r6   rå   ræ   r�   r
   Úis_torch_inline_allowedrv   ÚgetfilerŠ   r  ró   r  rN  r1   r—  r[   r>   r?   r	  rƒ  r„  r0   rù   r…  rB  rú  ÚconvÚ_ConvNdÚ_ConvTransposeNdr‘   r   r‚   ru  r   rQ  rA   Ú
tp_methodsr”   r•   rn   r°  r±  r²  r¦  rÃ   r¤  )rÆ   r9   r…   r;   r<   rò   r6   r‰  rx  Ú
const_namery  rŠ   s   &&&&&&     €rE   r¤  ÚNNModuleVariable.call_methoda  s�  ø€ õ 	/à—‘×(Ñ(¨¯©Ó9ˆàÐ%Ô%¬+×*MÒ*MÜ�OŠO˜F×,Ñ,×=Ñ=Ó>÷+
ò +
ð $×*Ò*¨4Ó0Ð0çÜ˜Ó&ˆBØ"×,Ñ,×5Ñ5Ð6°a¸°v¸WÐEˆJÜ/°¸
È&ÓQÐQà�:ÔØ×$Ñ$ RÓ(Ð(à�NÔ"Ü˜6¤E§H¡H×$7Ñ$7¼¿¹×9OÑ9OÐ#P×QÒQßØ�Q•×*Ñ*×,Ò,ä"×(Ò(Ø˜•G×.Ñ.Ó0°F·O±OÑCóð ð Ð+Ô+ä˜6¤5§8¡8×#3Ñ#3×#8Ñ#8×#@Ñ#@×AÒAØ˜OÔ+ô ˜6¤5§8¡8×#3Ñ#3×#8Ñ#8×#IÑ#I×JÒJØÐ-Ô-ô ˜Ó&×/Ñ/ˆBÜ"¤:¨d¯k©k¸4Ó#@À*ÓMˆIØ×1Ñ1Ü×.Ò.¨rÔDØ�œ˜d›Õ#Øóð ð Ÿ™Ô'Ø×(Ñ(×1Ñ1Ô1Ü˜×)Ñ)×2Ñ2°4Õ8×9Ò9ß“ÑR¬9¯?ª?¸4ÇÁÃÔ+QÓR——’ÑR¬9¯?ª?¸4ÇÁÃÔ+QÓR×RÒRà×3Ñ3°B¸dÓKÐKä‘7Ñ& r´°d³¸VÓDÐDrG   c                ó"   <€ V ^8„  d   QhRRRR/# )r8   r9   r4   r=   r0   rQ   )rD   rÀ   s   "€rE   rF   rÁ   ¢  s   ø€ ÷ 6ñ 6Ð!<ð 6ÐARñ 6rG   c                óŒ   € VP                   P                  V P                  4      p\        P                  ! V\        V4      4      # )z<Sequence length for container modules (e.g., nn.Sequential).)rå   ræ   r�   r0   rù   rl  )rÆ   r9   r‰  s   && rE   Úsq_length_implÚNNModuleVariable.sq_length_impl¢  s1   € à—‘×(Ñ(¨¯©Ó9ˆÜ×$Ò$ R¬¨V«Ó5Ð5rG   )r�   r¿   rÅ   r‚   r³   >   r³   r�   r¿   rÅ   )F)4rN  rp  Ú__qualname__Ú__firstlineno__r0   Ú_nonvar_fieldsrÄ   rÐ   rÙ   rß   rç   rì   rõ   rü   r  r  r  r  r'  r<  rU  r7  r�  r—  rS  rž  r¦  r³  r½  rÁ  rÇ  rh  r�   rÓ  rØ  râ  rë  rñ  rö  rú  rþ  r  rK  r²  rd   r-   r"  r¤  r'  Ú__static_attributes__Ú__classdictcell__Ú__classcell__©rŠ   rÀ   s   @@rE   r½   r½   
  sx  ù‡ € òð
 
×	'Ñ	'ð€N÷2ó 2÷ð ÷-ð -÷ ð  ÷<ð <÷ð ÷2ð 2÷4ð 4÷ð ÷!ð !÷F1ð 1÷/ð /÷*ð *÷=
ð =
÷~u2ó u2÷nnð n÷``
ð `
÷D
ð 
ð ÷ó ð÷
ð 
÷$ð ÷1ð 1÷&Xð X÷
ð 
÷4ð 4÷Qð Q÷
ð 
÷4Xð X÷(Xð X÷Xð X÷ Xð X÷ >ð >÷"=ð =÷	Dð 	D÷	Að 	A÷Xð X÷(5ð 5÷ Xð Xð( 	‘f˜ZÓ(Ø™f ZÓ0Ø‘6˜'“?Ø™FÐ#3Ó4Ø™& Ó0Ø™FÐ#3Ó4Ø™ Ó.Ø™ Ó.Ø‘F˜8Ó$Ø‘6˜'“?Ø‘f˜ZÓ(Ø‘6˜'“?Ø‘�t“Ø‘&˜“.Ø‘˜“ð€J÷$?Eõ ?E÷B6÷ 6ð 6rG   r½   c                   óN  a a€ ] tR tRt o0 Rm]P
                  mt V3R lV 3R lltV3R lR ltV3R lR ltV3R lR	 lt	]
]P                  V3R
 lR l4       4       tV3R lV 3R lltV3R lR ltV3R lV 3R lltV3R lR ltV3R lV 3R lltV3R lR ltRtVtV ;t# )rO  i¨  c                óR   <€ V ^8„  d   QhRS[ P                  P                  RS[RR/# ©r8   r³   r<   r=   N©r>   r?   r@   r   )rD   rÀ   s   "€rE   rF   Ú*UnspecializedNNModuleVariable.__annotate__¸  s*   ø€ ÷ 2ñ 2™eŸh™hŸo™oð 2¹ð 2Àñ 2rG   c                óÌ   <€ R V9   d2   \        VR ,          RR4      p\        V4      VJ d   \        V4      VR &   \        SV `  ! RRV/VB  RV n        V P
                  V n        R# )Ú
value_typern  Nr³   FrQ   )r  rc   rÃ   rÄ   Úis_state_mutatedr‚   rÅ   )rÆ   r³   r<   Úlazy_value_to_becomerŠ   s   &&, €rE   rÄ   Ú&UnspecializedNNModuleVariable.__init__¸  sh   ø€ Ø˜6Ô!Ü#*¨6°,Õ+?ÀÐRVÓ#WÐ Ü�E‹{Ð2Ó2ô
 (,¨E£{��|Ñ$ä‰ÒÑ/˜uÐ/¨Ò/Ø %ˆÔð '+§k¡kˆÖ#rG   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©r8   Úattr_sourcer=   r   )rD   rÀ   s   "€rE   rF   r4  Ì  ó   ø€ ÷ ñ ©ð ±6ñ rG   c                ó   € V# rP   rQ   ©rÆ   r<  s   &&rE   Ú_wrap_sourceÚ*UnspecializedNNModuleVariable._wrap_sourceÌ  ó   € àÐrG   c                ó    <€ V ^8„  d   QhRS[ /# rÉ   r   )rD   rÀ   s   "€rE   rF   r4  Ð  rÊ   rG   c                ól   € V P                   ;'       g    V P                  pV'       g   \        R 4      hV# rÌ   rÍ   rÎ   s   & rE   rÐ   Ú8UnspecializedNNModuleVariable.get_nn_module_stack_sourceÐ  rÒ   rG   c                ó$   <€ V ^8„  d   QhRS[ RR/# rÔ   r   )rD   rÀ   s   "€rE   rF   r4  Ö  rÕ   rG   c                ó   € Wn         R # rP   r×   rØ   s   &&rE   rÙ   Ú8UnspecializedNNModuleVariable.set_nn_module_stack_sourceÖ  rÛ   rG   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rÉ   )rf   r`   )rD   rÀ   s   "€rE   rF   r4  Û  s   ø€ ÷ 
ñ 
¡3¡s¥8ñ 
rG   c                 óÄ  € \         P                  P                  P                  \         P                  P                  P                  \         P                  P                  P
                  0p \         P                  P                  P                  P                  4        Uu0 uF4  p\        VR 4      '       g   K  W9  g   K  \        VP                  4      kK6  	  up# u upi )Ú__code__)r>   r?   r@   Ú__setattr__rÄ   Ú__delattr__r”   r²  r  rä   rK  )Ú	supportedrK   s     rE   Ú_nn_module_method_idsÚ3UnspecializedNNModuleVariable._nn_module_method_idsÙ  s›   € ô
 �H‰H�O‰O×'Ñ'Ü�H‰H�O‰O×$Ñ$Ü�H‰H�O‰O×'Ñ'ð
ˆ	ô —X‘X—_‘_×-Ñ-×4Ñ4Ô6ó
á6�Ü�q˜*×%ô à*+Ñ*<ô ŒBˆq�z‰zŽNÙ6ñ
ð 	
ùò 
s   Â CÂ9CÃCc                ó4   <€ V ^8„  d   QhRRRS[ S[,          /# rï   r  )rD   rÀ   s   "€rE   rF   r4  è  s"   ø€ ÷ /ñ /Ø-ð/á	‰oÕ	ñ/rG   c                óè  <€  \         P                  ! V P                  R 4      pT\
        P                  P                  P                  \
        P                  P                  P                  \
        P                  P                  P                  39   d8   TP                  \        P                  ! Y4      T ./ 4      P                  T4      # \        ST `9  T4      #   \         d   p\        ThRp?ii ; i)r  N)rv   rw   r6  ry   ÚNotImplementedErrorr>   r?   r  r  r  r  ru  r0   rù   r  rÃ   )rÆ   r9   rx  ÚerŠ   s   &&  €rE   r  Ú1UnspecializedNNModuleVariable.unpack_var_sequenceè  sÏ   ø€ ð	-Ü×'Ò'¨¯©¸ÓDˆBð Ü�H‰H×Ñ×(Ñ(Ü�H‰H×"Ñ"×+Ñ+Ü�H‰H×Ñ×(Ñ(ð
ô 
ð ×1Ñ1Ü×%Ò% bÓ-àðð ó÷ "Ñ! "Ó%ð&ô ‰wÑ*¨2Ó.Ð.øô' ô 	-Ü%¨1Ð,ûð	-ús   ƒ!C ÃC1Ã%C,Ã,C1c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r]  r^  )rD   rÀ   s   "€rE   rF   r4    sH   ø€ ÷ \ñ \à'ð\ñ ‘?Õ#ð\ñ ‘S™/Ð)Õ*ð	\ñ
 
ñ\rG   c           	     óV  a aaa€ S P                   p\        V4      '       d-   VP                  e   VP                  S n        \	        SWBV4       \        V\        P                  P                  4      '       g   Rp\        S P                  V4      pMRp\        S P                  V4      p\        VP                  \        P                  4      '       Edn   \        VP                  \        P                  4      '       EdC   VP                  P                  \         J Ed$   VP                  P                  \"        J Ed   S P%                  SR4      '       gí   \&        P(                  ! VR4      p\        V\        P*                  4      '       d¶   SP,                  oR V3R llo\.        ;QJ d     VV 3R lR 4       F  '       g   K   RM	  RM! VV 3R lR 4       4      ;'       g=    \.        ;QJ d     VV3R	 lR 4       F  '       g   K   RM	  RM! VV3R	 lR 4       4      pV'       g   RpS P                  P0                  pS P2                  '       d   S P5                  SV4      p	MR p	\7        S P2                  V4       S P2                  '       d/   \9        \;        \=        V4      4      S P?                  4       SV4      M	\A        4       p
T
;_uu_ 4        \        V\        P*                  \        PB                  PD                  34      '       gH   \F        PH                  ! SWiRR
7      pVPK                  SS .\M        V4      ,           V4      uuR R R 4       # \N        PP                  ! WiR7      PK                  SS .\M        V4      ,           V4      uuR R R 4       #   + '       g   i     R # ; i)NÚ__call__rh  r�   c                ó<   € V ^8„  d   QhR\         R\        R\        /# )r8   rÄ  r“   r=   )r0   rC   r`   )rD   s   "rE   rF   ÚAUnspecializedNNModuleVariable.call_function.<locals>.__annotate__%  s!   € ÷ $ñ $¬ð $Äð $Ìñ $rG   c                 ó�   <€ V P                  SV4      p\        VR 4      '       d   VP                  4       MTpVP                  4       # )Úrealize)rU  r  r\  rl  )rÄ  r“   Úvtr9   s   && €rE   Ú_hooks_dict_lenÚDUnspecializedNNModuleVariable.call_function.<locals>._hooks_dict_len%  s9   ø€ Ø×-Ñ-¨b°$Ó7�BÜ)0°°Y×)?Ò)?˜Ÿ™œÀR�BØŸ6™6›8�OrG   c              3   ó6   <"  € T F  pS! SV4      x € K  	  R # 5irP   rQ   )rS   r“   r^  rÆ   s   & €€rE   rV   Ú>UnspecializedNNModuleVariable.call_function.<locals>.<genexpr>*  s&   øé € ð 
 ñ!˜ñ $ D¨$×/Ð/ó!ùó   ƒTFc              3   ó6   <"  € T F  pS! SV4      x € K  	  R # 5irP   rQ   )rS   r“   r^  Ú
globals_vts   & €€rE   rV   ra  4  s&   øé € ð ñ!˜ñ $ J°×5Ð5ó!ùrb  ©r‚   r\  r  )Ú_backward_hooksÚ_backward_pre_hooksÚ_forward_hooksÚ_forward_hooks_with_kwargsÚ_forward_pre_hooksÚ_forward_pre_hooks_with_kwargs)Ú_global_backward_pre_hooksÚ_global_backward_hooksÚ_global_forward_hooksÚ_global_forward_pre_hooks))r³   r!   rn  r6  r   r[   r>   rg   rt  r  r%   rX  r–   r—   rh  r‘   r+   r,   Úhas_key_in_generic_dictrv   rw   r¹   Únn_modules_globals_vtrk   r�   r‚   Úget_source_by_walking_mror    r�   rC   rä   rÐ   r   ÚjitÚScriptFunctionr0   rù   r7  rA   r   rQ  )rÆ   r9   r;   r<   r:   r…   rx  Úforward_methodÚ	has_hooksr‚   ÚctxÚfn_vtr^  rd  s   ff&&        @@rE   r7  Ú+UnspecializedNNModuleVariable.call_function  s²  û€ ð �j‰jˆä˜#×ÒØ× Ñ Ò,Ø"%×"3Ñ"3�”Ü" 2 s°&Ô9ä˜#œuŸx™x×3Ñ3×4Ò4ØˆDÜ˜Ÿ™¨$Ó/‰BàˆDÜ˜Ÿ™¨$Ó/ˆBô
 �3—<‘<¤×!1Ñ!1×2Ó2Ü�s—~‘~¤u×'7Ñ'7×8Ó8Ø—‘×%Ñ%Ô)AÔAØ—‘×'Ñ'Ô+HÔHð ×0Ñ0°°Y×?Ò?ä$×3Ò3°C¸ÓCˆNÜ˜.¬%×*<Ñ*<×=Ò=Ø×5Ñ5�
÷$ð $÷
  ›Cõ 
 ñ!ó
 ŸCŸCšCõ 
 ñ!ó
 ó 
÷ ð ÷ “Sõ ñ!ó—S—S’Sõ ñ!óó ð ÷( !Ø$�DØŸ™×0Ñ0�Bà�;�;ˆ;Ø×3Ñ3°B¸Ó=‰FàˆFä.¨t¯{©{¸CÔ@ð �{�{ˆ{ô #Ü”B�s“G“Ø×/Ñ/Ó1ØØô	ô “ð 	÷ ŠSÜ˜b¤5×#5Ñ#5´u·y±y×7OÑ7OÐ"P×QÒQÜ'×-Ò-¨b°"ÈTÔR�Ø×*Ñ*¨2°¨v¼¸T»
Õ/BÀFÓK÷ ŠSô !×5Ò5°bÔH×VÑVØ˜˜¤ d£Õ+¨Vó÷ �S�S‹Sús   ËA7NÍ8NÎN(	c          
      ó\   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[/# r¡  )rC   rA   r0   rB   )rD   rÀ   s   "€rE   rF   r4  `  sZ   ø€ ÷ \Añ \Aà'ð\Añ ð\Añ ‘?Õ#ð	\Añ
 ‘S™/Ð)Õ*ð\Añ 
ñ\ArG   c                ó’  <€ VR9   dy   \        V P                  V4      pV P                  '       d   V P                  W4      pMRp\        P
                  ! WVRR7      pVP                  W.\        V4      ,           V4      # V P                  W4      '       Eg    \        P                  ! \        V P                  4      V4      p\        V\        4      '       dQ   \!        V P                  W4      R4      p\        P
                  ! WP"                  VRR7      pVP                  WV4      # \%        VR4      '       de   \'        VP(                  4      V P+                  4       9   d=   \-        RRV  RV RV RV 2R	V R
V P                   2R.\.        P0                  OR7       VR8X  Ed)   RV P                  P2                  9   Ed   V^ ,          P5                  4       p	V^,          p
V
P7                  4       '       d-   V
P9                  4       \:        P<                  P>                  J g"   W�P                  P2                  R,          9   d	   RV n         M�W�P                  P2                  R,          9   d	   RV n         MX\        V
\B        PD                  \B        PF                  34      '       g"   W�P                  P2                  R,          9   d   RV n         V\:        P<                  PH                  PJ                  J d(   \        V^,          \B        PL                  4      '       g)   V\:        P<                  PH                  PN                  J dU   \        P
                  ! V\:        P<                  PH                  PN                  4      pVP                  WV^ ,          .V4      # \P        SV `¥  W\        V4      V4      #   \         d    Rp ELi ; i)rh  NTre  r‘   rK  z,UnspecializedNNModuleVariable missing methodr¯  r.  z'Dynamo does not support tracing method z of nn.Module z@Dynamo does not really define unspecialized nn.Module very well.r/  rL  rC  rD  rB  )rh  r  )*r  r6  r‚   rr  r0   rù   r7  rA   rp  rv   rw   rc   r³   ry   r[   rS  r   r‘   r  rä   rK  rO  r   r	   Ú	DIFFICULTr”   r…  r  rß   r>   r?   Ú	Parameterr7  r   r½   rO  r@   rL  ÚDeletedVariablerM  rÃ   r¤  )rÆ   r9   r…   r;   r<   rx  r‚   rx  ÚmethodÚ	attr_namer³   rŠ   s   &&&&&      €rE   r¤  Ú)UnspecializedNNModuleVariable.call_method`  s  ø€ ð Ð7Ô7Ü˜Ÿ™¨$Ó/ˆBØ�{�{ˆ{Ø×7Ñ7¸ÓA‘à�ä#×)Ò)¨"¸ÈÔNˆEØ×&Ñ& r¨6´D¸³JÕ+>ÀÓGÐGà×+Ñ+¨B×5Ó5ðÜ ×/Ò/´°T·Z±ZÓ0@À$ÓG�ô ˜&¤,×/Ò/Ü#Ø×2Ñ2°2Ó<¸jó�ô (×-Ò-ØŸ™°Àô�ð ×*Ñ*¨2°VÓ<Ð<ô ˜ 
×+Ò+Ü�v—‘Ó'¨4×+EÑ+EÓ+GÔGäØJØ+¨D¨6°°4°&¸¸$¸¸qÀÀÐIØ"IÈ$ÈÈ~Ð^b×^hÑ^hÐ]iÐ jàZðä*×4Ñ4ðõ	ð �}Õ$¨¸$¿*¹*×:MÑ:MÕ)Mð ! �G×6Ñ6Ó8�	Ø˜Q��ð
 —O‘O×%Ò%¨%×*;Ñ*;Ó*=ÄÇÁ×ASÑASÓ*SØ§*¡*×"5Ñ"5°mÕ"DÔDà,0�DÕ)Ø§*¡*×"5Ñ"5°jÕ"AÔAà,0�DÕ)äØä%×6Ñ6Ü%×CÑCð÷ò ð !§J¡J×$7Ñ$7¸
Õ$CÔCð -1�DÔ)ð œ%Ÿ(™(Ÿ/™/×5Ñ5Ó5Ü˜t A�w¬	×(AÑ(A×BÒBØœ5Ÿ8™8Ÿ?™?×6Ñ6Ó6ô (×-Ò-¨b´%·(±(·/±/×2MÑ2MÓN�Ø×*Ñ*¨2°d¸1µg¨ÀÓGÐGä‰wÑ" 2¬T°$«Z¸Ó@Ð@øôQ "ô Ø“ðús   Â*N5 Î5OÏOc          	      ó>   <€ V ^8„  d   QhRRRS[ RS[RS[R,          /# )r8   r9   r4   ÚfieldÚname_vtr=   Nr@  )rD   rÀ   s   "€rE   rF   r4  ¾  s2   ø€ ÷ ñ Ø-ðÙ69ðÙDSðá	˜4Õ	ñrG   c                óâ   € V P                  W4      p\        V\        P                  4      '       d   VP                  p\        V\        P
                  4      '       d   VP                  V4      # R # rP   )rU  r[   r   ÚUserDefinedDictVariableÚ_base_vtÚConstDictVariableÚmaybe_getitem_const)rÆ   r9   rƒ  r„  Údict_vts   &&&& rE   Úgetattr_helperÚ,UnspecializedNNModuleVariable.getattr_helper¾  sY   € ð ×'Ñ'¨Ó2ˆÜ�gœy×@Ñ@×AÒAØ×&Ñ&ˆGÜ�gœy×:Ñ:×;Ò;Ø×.Ñ.¨wÓ7Ð7ÙrG   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# r?  r@  )rD   rÀ   s   "€rE   rF   r4  È  s*   ø€ ÷ _2ñ _2Ø-ð_2Ù58ð_2á	ñ_2rG   c                óT  <aaa€ SP                   P                  P                  V 4      '       d[   VR9   dT   V P                  '       dB   SP                   P                  P	                  V 4      '       d   \        RRV  RV R2R. R7       VR9   Ed   SP                   P                  P                  W4      '       gá   \        V P                  V4      p\        V\        4      '       dµ   \        V4      ^ 8X  d¥   V P                  '       d   \        V P                  V4      MRpV'       d)   \        VP                  \         P"                  4      4       \        V\$        P&                  4      '       d   \(        P*                  M\(        P,                  pV! / VR7      # V P                  '       dì   VR9   då   SP                   P                  P                  W4      '       gº   \        V P                  V4      p\        V P                  V4      o\        SP                  \         P.                  4      4       SP                   P0                  P3                  S4       R	 VV3R
 llo\        V3R l\5        V4       4       4      p\(        P6                  ! VSR7      # \8        S	V `u  SV4      # )râ  z,getattr() on nn.Module with pending mutationzgetattr(z, Ú)zPIntentionally graph breaking on getattr() on a nn.Module with a pending mutationr/  Nr  c          
      ój   € V ^8„  d   QhR\         R\        R\        R\        \        \        3,          /# )r8   r°   rq   rr   r=   )r`   r   re   r0   )rD   s   "rE   rF   ÚDUnspecializedNNModuleVariable.tp_getattro_impl.<locals>.__annotate__  s6   € ÷ "ñ "Üð"Üð"Ü#&ð"ä”¬Ð7Õ8ñ"rG   c                 ó˜   <€ \         P                  ! SV4      p\        SV 4      p\        SV4      p\        P
                  ! W%SR 7      pW63# ))r9   )r0   rù   r   r   r2   ró   )	r°   rq   rr   r²   Ú
source_keyÚsource_valuer³   Úhooks_dict_sourcer9   s	   &&&    €€rE   Úbuild_key_valueÚGUnspecializedNNModuleVariable.tp_getattro_impl.<locals>.build_key_value  sM   ø€ ô &×+Ò+¨B°Ó2�ô 0Ð0AÀ1ÓE�
Ü0Ð1BÀJÓO�Ü+×2Ò2°1ÀrÔJ�Ø�zÐ!rG   c              3   ó<   <"  € T F  w  rpS! WV4      x € K  	  R # 5irP   rQ   )rS   r°   rq   rr   r–  s   &   €rE   rV   ÚAUnspecializedNNModuleVariable.tp_getattro_impl.<locals>.<genexpr>!  s&   øé € ð áM‘G�A˜!ñ    a×(Ð(ÛMùs   ƒ)râ  rþ  rë  r  rñ  rú  )rf  rg  ri  rh  rk  rj  )rk  rj  ri  rh  )rå   Úside_effectsÚis_attribute_mutationr7  Úhas_pending_mutationr   Úhas_pending_mutation_of_attrr  r³   r[   rB   rl  r‚   r   r   r˜   r   ÚEMPTY_NN_MODULE_HOOKS_DICTÚcollectionsÚOrderedDictr   ÚOrderedDictVariablerˆ  r©   rÛ  rÜ  r   ÚNNModuleHooksDictVariablerÃ   rU  )
rÆ   r9   r…   Ú
hooks_dictÚhooks_sourceÚhooks_vt_clsr  r–  r•  rŠ   s
   &f&    @@€rE   rU  Ú.UnspecializedNNModuleVariable.tp_getattro_implÈ  s&  û€ ð �I‰I×"Ñ"×8Ñ8¸×>Ò>Øðôð ×%×%Ð%Ø—	‘	×&Ñ&×;Ñ;¸D×AÒAäØFØ" 4 &¨¨4¨&°Ð2ð*àõð ð 
õ 
ð —9‘9×)Ñ)×FÑFÀt×RÒRÜ$ T§Z¡Z°Ó6�
Ü˜j¬$×/Ò/´C¸
³OÀqÔ4Hà9=¿¿¸œ
 4§;¡;°Ô5È$ð !÷ $Ü%Ø(×3Ñ3Ü ,× GÑ Góôô & j´+×2IÑ2I×JÒJô "×5Ò5ä&×8Ñ8ð !ñ
 (¨°<Ô@Ð@ð �K�KˆKØðôð —I‘I×*Ñ*×GÑGÈ×SÒSä  §¡¨TÓ2ˆJÜ *¨4¯;©;¸Ó =ÐÜÐ+×6Ñ6´|×7SÑ7SÓTÔUØ�I‰I×(Ñ(×,Ñ,Ð->Ô?÷"ñ "ô ô äAÀ*ÔMóó ˆFô
 ×6Ò6°vÐFWÔXÐXÜ‰wÑ'¨¨DÓ1Ð1rG   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# r?  r@  )rD   rÀ   s   "€rE   rF   r4  )  s%   ø€ ÷ ñ Ø-ðÙ58ðá	ñrG   c           	     óR  € ^RI Hp VP                  W4      pV P                  VRV4      pVf   V P                  VRV4      pVf   V P                  VRV4      pVf8   \	        \
        VR\        V P                  4      P                   RV R2.R7       Vf   \        RV R24      hV# )	zå
Dynamo tracing of nn.Module __getattr__ can be expensive if the model
has deep submodule hierarchy. Since the __getattr__ is stable, we can
directly look into the underlying datastructures. This saves a lot of
compilation time.
)ÚSourcelessBuilderrC  rB  rD  rE  rF  ru   z;manually_trace_nn_module_getattr failed to find attribute ')
rr  r©  ró   r‹  r   ry   rc   r³   rN  ro   )rÆ   r9   r…   r©  r„  rZ  s   &&&   rE   Ú manually_trace_nn_module_getattrÚ>UnspecializedNNModuleVariable.manually_trace_nn_module_getattr)  sÁ   € õ 	/à#×*Ñ*¨2Ó4ˆØ×!Ñ! " m°WÓ=ˆØŠ;Ø×%Ñ% b¨*°gÓ>ˆCØŠ;Ø×%Ñ% b¨*°gÓ>ˆCØŠ;Ü$ÜØàœ˜TŸZ™ZÓ(×1Ñ1Ð2Ð2MÈdÈVÐSTÐUðõð Š;Ü ØMÈdÈVÐSTÐUóð ð ˆ
rG   )r7  rÅ   r6  >   r6  r7  rÅ   )rN  rp  r)  r*  r3   r+  rÄ   r@  rÐ   rÙ   rS  rš   ÚcacherO  r  r7  r¤  r‹  rU  rª  r,  r-  r.  r/  s   @@rE   rO  rO  ¨  sµ   ù‡ € òð 
#×	1Ñ	1ð	€Nð÷2ó 2÷(ð ÷ð ÷-ð -ð Ø‡_�_÷
ó ó ð
÷/ó /÷4\ð \÷|\Aó \A÷|ð ÷_2ó _2÷B÷ ð rG   rO  c                   ó6   a € ] tR tRt o RtV 3R lR ltRtV tR# )Ú$UnspecializedBuiltinNNModuleVariableiI  z_
Differentiates between builtin nn modules (e.g. torch.nn.Linear) and user defined nn modules.
c                ó&   <€ V ^8„  d   QhRS[ RS[ /# r;  r   )rD   rÀ   s   "€rE   rF   Ú1UnspecializedBuiltinNNModuleVariable.__annotate__N  r=  rG   c                ó   € V# rP   rQ   r?  s   &&rE   r@  Ú1UnspecializedBuiltinNNModuleVariable._wrap_sourceN  rB  rG   rQ   N)rN  rp  r)  r*  Ú__doc__r@  r,  r-  )rÀ   s   @rE   r®  r®  I  s   ø‡ € ñ÷ö rG   r®  c                   óT   a a€ ] tR tRt oRtV3R lV 3R lltV3R lR ltRtVtV ;t	# )ÚFSDPManagedNNModuleVariableiS  aÜ  
Tracing behavior: trace into submodules and treat them as Unspecialized, do not
register parameters to the top-level, treat them as function inputs.

Guards behavior: if 'skip_fsdp_guards', many guards that would be installed
by a vanilla UnspecializedNNModuleVariable are simply dropped, on the basis
that a user wrapping their model in FSDP(model) is already opting into a
requirement to not modify internal model state, which would already break FSDP without
compilation.
c                óR   <€ V ^8„  d   QhRS[ P                  P                  RS[RR/# r2  r3  )rD   rÀ   s   "€rE   rF   Ú(FSDPManagedNNModuleVariable.__annotate___  s*   ø€ ÷ ñ ™eŸh™hŸo™oð ¹ð Àñ rG   c                óx   <€ VP                  R 4      pVf   \        R4      h\        SV `  ! RRV/VB  W0n        R# )r‚   NzMFSDPManagedNNModule depends on having an accurate source to control guarding.r³   rQ   )r‰   ro   rÃ   rÄ   r‚   )rÆ   r³   r<   r‚   rŠ   s   &&, €rE   rÄ   Ú$FSDPManagedNNModuleVariable.__init___  sB   ø€ Ø—‘˜HÓ%ˆØŠ>Ü Ø_óð ô 	‰ÒÑ/˜uÐ/¨Ò/ØŽrG   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# r;  rL   )rD   rÀ   s   "€rE   rF   r·  i  s   ø€ ÷ ñ ©ð ±ñ rG   c                ó¾   € \        V\        \        34      '       gA   \        P                  P
                  P                  '       d   \        V4      # \        V4      # V# rP   )r[   r   r   r>   Ú_dynamoÚconfigÚskip_fsdp_guardsr?  s   &&rE   r@  Ú(FSDPManagedNNModuleVariable._wrap_sourcei  sO   € ÜØÔ,Ô.IÐJ÷
ò 
ô �}‰}×#Ñ#×4×4Ð4Ü)¨+Ó6Ð6ä2°;Ó?Ð?ØÐrG   r  )
rN  rp  r)  r*  r³  rÄ   r@  r,  r-  r.  r/  s   @@rE   rµ  rµ  S  s#   ù‡ € ñ	÷ó ÷÷ ð rG   rµ  )Ur³  rŸ  rš   rv   r°  r†   r–   Úcollections.abcr   Ú
contextlibr   r   Útypingr   r   Útorch.nnr>   Útorch._guardsr   r–  r	   r
   r   Úexcr   r   r   r   r   r   r   Úguardsr   r   r   Úmutation_guardr   r‚   r   r   r   r   r   r   r   Úutilsr   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r  r-   r.   r/   r0   Ú	functionsr1   Úlazyr2   Úuser_definedr3   Útorch._dynamo.symbolic_convertr4   rò   r6   r   r�   r    rœ   r«   r½   rO  r®  rµ  rQ   rG   rE   Ú<module>rÍ     sø   ðñó. Û Û Û Û 	Û Ý $ß 2ß %ã Ý  ç 8Ñ 8÷÷ ñ ÷ BÑ AÝ .÷÷ ñ ÷÷ ÷ ÷ ñ ÷" EÓ DÝ 3Ý %Ý 3÷ ÝHå*õ7ðt ô+ó ð+õ.&õR 
õFFô*[6�ô [6ô|^Ð$=ô ^ôBÐ+Hô ôÐ"?ö rG   