
    #Ki>f                    (   S SK Jr   S SKrS SKrS SKrS SKrS SKrS SKJrJ	r	  S SK
Jr  S SKJr  S SKJrJrJrJr  S SKJrJrJrJr  S SKrS SKJr  S	S
KJr  S	SKJr  \(       a  S SKrS SKJ r   S	SK!J"r"  S	SK#J$r$  S	SKJ%r%  SS jr&\RN                  " \(5      r)\RT                  RW                  \(S5      r, " S S\-5      r. " S S\.5      r/ " S S\.5      r0 " S S\.5      r1 " S S\15      r2 " S S\15      r3 " S S\15      r4 " S  S!\15      r5 " S" S#\.5      r6 " S$ S%\.5      r7 " S& S'\.5      r8 " S( S)\.5      r9 " S* S+\.5      r: " S, S-\:5      r; " S. S/\.5      r< " S0 S1\<5      r= " S2 S3\.5      r> " S4 S5\<5      r? " S6 S7\<5      r@ " S8 S9\<5      rA " S: S;\<5      rB " S< S=\?5      rC " S> S?\	5      rD " S@ SA\<5      rE " SB SC\.5      rF " SD SE\<5      rG " SF SG\.5      rH " SH SI\.5      rI " SJ SK\.5      rJ " SL SM\K5      rL " SN SO\K5      rM " SP SQ\.5      rN " SR SS\.5      rO " ST SU\O5      rP " SV SW\O5      rQ " SX SY\Q5      rR " SZ S[\Q5      rS " S\ S]\O5      rT " S^ S_\O5      rU " S` Sa\O5      rV " Sb Sc\O5      rW " Sd Se\O5      rX\Y\P\Z\Q\[\R\\\T\]\S\^\U\-\V\_\W\`\X0	raSSf jrbSSSg.         SSh jjrcSSi jrd\R                  R                  R                  \R                  R                  R                  \R                  R                  R                  \R                  R                  R                  \R                  R                  R                  4rl              SSj jrm          SSk jrn\" S	Sl9SSm j5       roSSn jrp\q" 5       rr\rSoSp.             SSq jjrs " Sr Ss5      rtSSSt jjru      SSu jrvSSv jrw S     SSw jjrxSSx jrySSy jrzSSz jr{  S         SS{ jjr|SS| jr}SS} jr~SS~ jr  S         SS jjrg)    )annotationsN)autoEnum)	lru_cache)Path)extract_stack
format_excformat_listStackSummary)AnyNoReturnOptionalTYPE_CHECKING)get_file_path_2   )config)counters)	CompileId)DynamoTracerOutput)InstructionTranslatorBase)DynamoFrameTypec                ,    SU R                  SS5      -   $ )NzhFor more information about this error, see: https://pytorch.org/docs/main/generated/exportdb/index.html#_-)replace)	case_names    S/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/torch/_dynamo/exc.pyexportdb_error_messager   9   s"    	I


C
%	&    graph_breaksc                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )TorchDynamoExceptionE   c                4   > [         TU ]  " U0 UD6  S U l        g N)super__init___torch_dynamo_tracer_outputselfargskwargs	__class__s      r   r'   TorchDynamoException.__init__F   s    $)&)IM(r   )r(   r+   r   r,   r   returnNone__name__
__module____qualname____firstlineno__r'   __static_attributes____classcell__r-   s   @r   r"   r"   E   s    N Nr   r"   c                      \ rS rSrSrg)InternalTorchDynamoErrorK    Nr3   r4   r5   r6   r7   r=   r   r   r;   r;   K       r   r;   c                      \ rS rSrSrg)ResumePrologueTracingErrorO   r=   Nr>   r=   r   r   rA   rA   O   r?   r   rA   c                  @   ^  \ rS rSr% S\S'   SS.SU 4S jjjrSrU =r$ )RestartAnalysisS   Optional[str]restart_reasonN)rG   c               ,   > Xl         [        TU ]  " U6   g r%   )rG   r&   r'   )r*   rG   r+   r-   s      r   r'   RestartAnalysis.__init__V   s    ,$r   )r+   r   rG   rF   r0   r1   r3   r4   r5   r6   __annotations__r'   r7   r8   r9   s   @r   rD   rD   S   s    !!CG      r   rD   c                      \ rS rSrSrg)SpeculationRestartAnalysis[   r=   Nr>   r=   r   r   rM   rM   [   r?   r   rM   c                      \ rS rSrSrg)UnspecializeRestartAnalysis_   r=   Nr>   r=   r   r   rP   rP   _   r?   r   rP   c                      \ rS rSrSrg) CompileCollectiveRestartAnalysisc   r=   Nr>   r=   r   r   rS   rS   c   r?   r   rS   c                      \ rS rSrSrg)TensorifyScalarRestartAnalysisg   r=   Nr>   r=   r   r   rV   rV   g   r?   r   rV   c                      \ rS rSrSrg)	SkipFramek   r=   Nr>   r=   r   r   rY   rY   k   r?   r   rY   c                      \ rS rSrSrg)TorchRuntimeErroro   r=   Nr>   r=   r   r   r\   r\   o   r?   r   r\   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )InvalidBackends   c                .   > [         TU ]  SU< S35        g )NzInvalid backend: z=, see `torch._dynamo.list_backends()` for available backends.)r&   r'   )r*   namer-   s     r   r'   InvalidBackend.__init__t   s    x'de	
r   r=   )rb   strr0   r1   r2   r9   s   @r   r_   r_   s   s    
 
r   r_   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )ResetRequiredz   c                L   > [         TU ]  [        R                  " S5      5        g )Nz
                Must call `torch._dynamo.reset()` before changing backends.  Detected two calls to
                `torch.compile()` with a different backend compiler arguments.
                )r&   r'   textwrapdedent)r*   r-   s    r   r'   ResetRequired.__init__{   s!    OO	
r   r=   r0   r1   r2   r9   s   @r   rf   rf   z   s    
 
r   rf   c                  F   ^  \ rS rSr        SU 4S jjrSS jrSrU =r$ )ShortenTraceback   c               2   > [         TU ]  " U0 UD6  Xl        g r%   )r&   r'   first_useful_frame)r*   rq   r+   r,   r-   s       r   r'   ShortenTraceback.__init__   s     	$)&)"4r   c                   U R                   nU R                  b  Ub  [        R                  (       a  U $ UR                  U R                  La1  UR
                  nUc   S5       eUR                  U R                  La  M1  U R                  U5      $ )Nz#internal error, please report a bug)__traceback__rq   r   verbosetb_frametb_nextwith_traceback)r*   tbs     r   remove_dynamo_frames%ShortenTraceback.remove_dynamo_frames   sz    ""*bjFNNKkk!8!88B>H#HH> kk!8!88 ""2&&r   rq   )r+   r   rq   Optional[types.FrameType]r,   r   r0   r1   )r0   ztyping.Self)r3   r4   r5   r6   r'   rz   r7   r8   r9   s   @r   rn   rn      s2    55.G5SV5	5' 'r   rn   c                  <   ^  \ rS rSr        SU 4S jjrSrU =r$ )BackendCompilerFailed   c                   > [        USS5      U l        X l        SU R                  < S[        U5      R                   SU 3n[
        TU ]  XCS9  g )Nr3   ?zbackend=z	 raised:
z: r|   )getattrbackend_nameinner_exceptiontyper3   r&   r'   )r*   
backend_fnr   rq   msgr-   s        r   r'   BackendCompilerFailed.__init__   sZ     $J
C@.**-Z_8M8V8V7WWYZiYjkDr   )r   r   )r   r   r   	Exceptionrq   r}   r0   r1   r2   r9   s   @r   r   r      s9    	E	E #	E 6		E
 
	E 	Er   r   c                  \   ^  \ rS rSrSSS.       SU 4S jjjrS	S jrS
SS jjrSrU =r$ )Unsupported   N)r   
real_stackc                  > [         TU ]  U5        U(       d(  [        R                  R                  R                  5       nX0l        Xl        S U l        U R                  5         X l
        g r%   )r&   r'   torch_guardsTracingContextr   r   r   categoryadd_to_statsr   )r*   r   r   r   r-   s       r   r'   Unsupported.__init__   sO     	55CCEJ$'+(1r   c                    U R                   c   e[        U R                      U R                  ==   S-  ss'   [        U R                      U R                     S::  a  [        U R                      U R                  	 g g )Nr   r   r   r   r   r*   s    r   remove_from_statsUnsupported.remove_from_stats   sc    }}((()Q.)DMM"488,1'1 2r   c                L    Xl         [        U   U R                  ==   S-  ss'   g )Nr   r   )r*   r   s     r   r   Unsupported.add_to_stats   s      488$)$r   )r   r   r   r   )r   rd   r   rF   r   zNone | StackSummaryr0   r1   rl   )unimplemented)r   rd   r0   r1   )	r3   r4   r5   r6   r'   r   r   r7   r8   r9   s   @r   r   r      sJ    
 $(*.22 !	2
 (2 
2 2 2* *r   r   c                      \ rS rSrSrg)$UnknownPropertiesDuringBackwardTrace   r=   Nr>   r=   r   r   r   r      r?   r   r   c                      \ rS rSrSrg)RecompileError   r=   Nr>   r=   r   r   r   r      r?   r   r   c                      \ rS rSrSrg)ArgsMismatchError   r=   Nr>   r=   r   r   r   r      r?   r   r   c                      \ rS rSrSrg)AttributeMutationError   r=   Nr>   r=   r   r   r   r      r?   r   r   c                      \ rS rSrSrg)InfiniteGeneratorError   r=   Nr>   r=   r   r   r   r          r   r   c                      \ rS rSrSrg)SideEffectsError   r=   Nr>   r=   r   r   r   r      r?   r   r   c                      \ rS rSrSrSrg)CondOpArgsMismatchError   z7
Internal error from cond() due to arguments mismatch.
r=   N)r3   r4   r5   r6   __doc__r7   r=   r   r   r   r      s    r   r   c                      \ rS rSr\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r	\" 5       r
\" 5       r\" 5       rSrg)UserErrorType   r=   N)r3   r4   r5   r6   r   DYNAMIC_CONTROL_FLOWANTI_PATTERNSTANDARD_LIBRARYCONSTRAINT_VIOLATIONDYNAMIC_DIMINVALID_INPUTINVALID_OUTPUT*UNSUPPORTED_ALIASED_MUTATED_DYNAMIC_INPUTSr7   r=   r   r   r   r      s>    66Lv6&KFMVN15.r   r   c                  @   ^  \ rS rSr S       SU 4S jjjrSrU =r$ )	UserError   c                   > UbF  [        U[        5      (       d   eUR                  S5      (       a  US-  nOUS-  nU[        U5      -  n[        TU ]  U5        Xl        X l        g)a  
Type of errors that would be valid in Eager, but not supported in TorchDynamo.
The error message should tell user about next actions.

error_type: Type of user error
msg: Actionable error message
case_name: (Optional) Unique name (snake case) for the usage example in exportdb.
N. 
)
isinstancerd   endswithr   r&   r'   
error_typemessage)r*   r   r   r   r-   s       r   r'   UserError.__init__   sf      i----||C  s
t))44C$r   )r   r   r%   )r   r   r   rd   r   rF   r0   r1   r2   r9   s   @r   r   r      s0    NR'.1>K	 r   r   c                      \ rS rSrSrg)SkipCodeRecursiveExceptioni  r=   Nr>   r=   r   r   r   r     r?   r   r   c                      \ rS rSrSrg)RecompileLimitExceededi  r=   Nr>   r=   r   r   r   r     r?   r   r   c                      \ rS rSrSS jrSrg)StepUnsupportedi  c                ^    [         R                  R                  R                  5       U l        g r%   )r   r   r   r   r   r   s    r   r'   StepUnsupported.__init__  s    --66DDFr   r   Nrl   )r3   r4   r5   r6   r'   r7   r=   r   r   r   r     s    Gr   r   c                      \ rS rSrSrg)UnsafeScriptObjectErrori  r=   Nr>   r=   r   r   r   r     r?   r   r   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )UncapturedHigherOrderOpErrori  c                   > [         TU ]  U5        Xl        Ub  UU l        g [        R                  R
                  R                  5       U l        g r%   )r&   r'   r   r   r   r   r   r   )r*   r   r   r-   s      r   r'   %UncapturedHigherOrderOpError.__init__  sH     %  	 --;;= 	r   )r   r   r%   )r   rd   r   Optional[StackSummary]r0   r1   r2   r9   s   @r   r   r     s    
 
r   r   c                      \ rS rSrSrg)IncorrectUsagei  r=   Nr>   r=   r   r   r   r     r?   r   r   c                      \ rS rSrSrg)FailOnRecompileLimitHiti&  r=   Nr>   r=   r   r   r   r   &  r?   r   r   c                      \ rS rSrSrg)PackageErrori*  r=   Nr>   r=   r   r   r   r   *  r?   r   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )ObservedExceptioni.  c                   > [         TU ]  " U0 UD6  [        R                  R                  R                  5       U l        g r%   )r&   r'   r   r   r   r   r   r)   s      r   r'   ObservedException.__init__0  s/    $)&)(-(D(D(R(R(Tr   r   r/   r2   r9   s   @r   r   r   .  s    U Ur   r   c                  8   ^  \ rS rSr% S\S'   SU 4S jjrSrU =r$ )ObservedUserStopIterationi5  zOptional[Any]valuec                f   > [         TU ]  S5        [        U5      S:  a  US   U l        g S U l        g )Nzunhandled `raise StopIteration`r   )r&   r'   lenr   r)   s      r   r'   "ObservedUserStopIteration.__init__;  s.    :;t9q=aDJDJr   r   r/   rJ   r9   s   @r   r   r   5  s     r   r   c                      \ rS rSrSrg)ObservedLookupErroriC  r=   Nr>   r=   r   r   r   r   C  r   r   r   c                      \ rS rSrSrg)ObservedIndexErroriH  r=   Nr>   r=   r   r   r   r   H  r   r   r   c                      \ rS rSrSrg)ObservedKeyErroriM  r=   Nr>   r=   r   r   r   r   M  r   r   r   c                      \ rS rSrSrg)ObservedGeneratorExitiR  r=   Nr>   r=   r   r   r   r   R  r?   r   r   c                      \ rS rSrSrg)ObservedAttributeErroriV  r=   Nr>   r=   r   r   r   r   V  r   r   r   c                      \ rS rSrSrg)ObservedRuntimeErrori[  r=   Nr>   r=   r   r   r   r   [  r   r   r   c                      \ rS rSrSrg)ObservedNotImplementedErrori`  r=   Nr>   r=   r   r   r   r   `  r?   r   r   c                      \ rS rSrSrg)ObservedTypeErrorid  r=   Nr>   r=   r   r   r   r   d  r   r   r   c                    U [         ;  a3  [        U S[        U 5      5      n[        SU S3[        40 5      [         U '   [         U    $ )Nr3   ObservedError)observed_exception_mapr   rd   r   r   )exc_typerb   s     r   get_dynamo_observed_exceptionr  v  sN    --xS];+/tfE"%6$8",
x( "(++r   )r+   r,   c                   SSK Jn  U" U 5      R                  X=(       d    / U=(       d    0 5      nUR                  R	                  U5        [        U 5      nU(       a  U" U6 eUe)Nr   )BuiltinVariable)	variablesr  call_functionexn_vt_stackset_current_exceptionr  )r  txr+   r,   r  exception_vt
raised_excs          r   raise_observed_exceptionr    sY     + #8,::2zr6<UWXLOO)),7.x8J$
r   c                8    U R                   R                  5         g r%   )r  clear_current_exception)r	  s    r   handle_observed_exceptionr    s    2 OO++-r   c          	        ^ [        X5      m[        R                  R                  SS U4S jS9  [        R                  ST5        [        nU" UUUUU SS9  g )Nartifactc                     SSS.$ )Ndynamo_graph_break_reasonstring)rb   encodingr=   r=   r   r   <lambda>,unimplemented_with_warning.<locals>.<lambda>  s    / 
r   c                    > T $ r%   r=   )graph_break_msgs   r   r  r    s    ?r   )metadata_fn
payload_fnz%sT)gb_typecontextexplanationhintsfrom_exclog_warning)format_error_msg_verboser   _loggingtrace_structuredgraph_breaks_logdebugr   )ecoder  r  r  r  _unimplementedr  s          @r   unimplemented_with_warningr*    sd      /q7O	NN##
 + $  41"Nr   c                    [         R                  " US5      R                  5       nSR                  S U 5       5      n[         R                  " US5      R                  5       nU  SU SU SU S3nU$ )N    r   c              3  r   #    U  H-  nS [         R                  " US5      R                  5       -   v   M/     g7f)z  Hint: r,  N)ri   indentlstrip).0hints     r   	<genexpr>-format_graph_break_message.<locals>.<genexpr>  s,      HM
X__T6299;;s   57z
  Explanation: z

  Developer debug context: )ri   r.  r/  join)r  r  r  r  	hints_strr   s         r   format_graph_break_messager6    s     //+v6==?K		 HM I oogv.557G 		 
} 
 #9 %C Jr   )maxsizec                     [        [        5      R                  5       R                  n [	        S[        U 5      S5      n[        U5       n[        R                  " U5      nSSS5        0 nWR                  5        H  u  pVU H
  nXTUS   '   M     M     U$ ! , (       d  f       N;= f! [         a    [        R                  S5        0 n Naf = f)z
Loads the gb_type to gb_id map from the graph break registry from JSON file with caching.

Includes historical gb_type (mapping behavior of duplicate gb_types with different gb_ids is undefined).
 zgraph_break_registry.jsonNz!Error accessing the registry fileGb_type)r   __file__resolveparentr   rd   openjsonloadr   log	exceptionitems)
script_dirregistry_pathfregistrymappingkventrys           r   _load_gb_type_to_gb_id_maprL    s    	(^++-44
'J!<
 - Ayy|H ! G E()E)$%  ! N !  9:s0   AB' 
B!B' 
B$ B' $B' '!C
Cc                X    Sn[        5       nX;   a  U SX    R                  S5       S3$ g)z
Retrieves the GBID documentation link for a given graph break type.

Args:
    gb_type: The graph break type to look up.

Returns:
    A string containing the documentation URL if found, otherwise None.
z;https://meta-pytorch.github.io/compile-graph-break-site/gb/gbGBz.htmlN)rL  r/  )r  GRAPH_BREAK_SITE_URLgb_type_to_gb_id_maps      r   get_gbid_documentation_linkrR    sJ     	F  67&#$B';'D'K'KD'Q&RRWX	
 r   F)r   r!  c                    [        XX#5      n[        U 5      nU(       a  USU 3-  nU(       a  [        R                  U5        U[        La)  Sn[        US5      (       a  UR                  n[        XhS9Ue[        U5      e)a  
Called within dynamo to cause a graph break.
Args:
    gb_type: Context-free graph break type. It should be a short string without any
             information specific to the tracing context (i.e. no dynamically-generated strings)
    context: Developer context for the graph break. It can contain tracing context/dynamic strings.
    explanation: User-facing context-dependent explanation for the graph break. Can be dynamic.
    hints: List of user-facing hints for the graph break.
z9
 For more details about this graph break, please visit: Nr   r   )r6  rR  rA  warning_NOTHINGhasattrr   r   )	r  r  r  r  r   r!  r   documentation_linkpast_real_stacks	            r   r   r   +  s~    & %W{
JC4W=KL^K_``Cx8\**&11O#:H
c
r   c                  2    \ rS rSrSS jrSS jrSS jrSrg)	KeyErrorMsgiQ  c                    Xl         g r%   r   )r*   r   s     r   r'   KeyErrorMsg.__init__R  s    
r   c                ,    [        U R                  5      $ r%   )rd   r   r   s    r   __str__KeyErrorMsg.__str__U  s    4::r   c                "    U R                  5       $ r%   )r^  r   s    r   __repr__KeyErrorMsg.__repr__X  s    ||~r   r   N)r   r   r0   r1   )r0   rd   )r3   r4   r5   r6   r'   r^  ra  r7   r=   r   r   rZ  rZ  Q  s    r   rZ  c                   SS K nS U l        [        U 5      nUb?  [        U5      S:  a0  US   U l        USSR	                  UR                  U5      5       3-  n[        R                  (       a1  [        U S5      (       a   USU R                   SU R                   S3-  n[        R                  (       d  [        U S	5      (       a  US
-  n[        U S5      (       a  [        U R                  S5      (       am  [        U R                  S5      (       a5  USU R                  R                   SU R                  R                   S3-  nOUSU R                  R                   S3-  n[        U R                  5      S:X  a  SO[        U R                  S   5      n[!        U ["        5      (       a$  [%        XQ-   5      4U R                  SS  -   U l        g XQ-   nU4U R                  SS  -   U l        g )Nr   z
from user code:
 r9  record_filenamez!
Last frame execution written to zD. To run only this frame while debugging, run torch._dynamo.replay('z').
r   z
Set TORCHDYNAMO_VERBOSE=1 for the internal stack trace (please do this especially if you're reporting a bug to PyTorch). For even more developer context, set TORCH_LOGS="+dynamo"
r   minifier_pathbuck_commandz
Minifier script written to zW. Run this buck command to find the smallest traced graph which reproduces this error: r   zQ. Run this script to find the smallest traced graph which reproduces this error.
r   )	tracebackinnermost_user_frame_summaryget_real_stackr   r4  r
   r   replay_record_enabledrV  re  ru   r   rf  rg  r+   rd   r   KeyErrorrZ  )excr   exportrh  r   old_msgnew_msgs          r   augment_exc_messagerq  \  s   '+C$$J#j/A"5+5b>(%bggi.C.CJ.O&P%QRR##5F(G(G01D1D0E F++,E3	

 >>gc<88J	
 s%&&7_, , 3&&77/0C0C0Q0Q/R S0030C0C0P0P/QQSUC /0C0C0Q0Q/R S_ _C
 MQ&bC,<G#x  .0388AB<?-:,r   c                    S nS nU R                   b,  U R                   R                  nU R                   R                  nXl        X#4$ r%   )ri  filenamelineno
compile_id)r'  ru  rs  rt  s       r   get_exc_messagerv    sJ     HF%%111:://66Lr   c                 (    [        [        5       5      $ r%   )filter_stackr   r=   r   r   get_stack_above_dynamory    s    ((r   c                    [        U SS 5      nUc  g Ub  [        5       nO
[        5       n[        R                  " X2-   5      $ )Nr   )r   ry  r   	from_list)rm  framer   stack_above_dynamos       r   rj  rj    sK     lD1J  45)^!!"4"ABBr   c                    [        5       nU  Hi  nUR                  c  M  SUR                  ;   a    U$ SUR                  ;   d!  UR                  (       a  SUR                  ;   a  MX  UR                  U5        Mk     U$ )Nconvert_frame
eval_frameztorch._dynamo.optimize()r   rs  lineappend)stack
user_stackr|  s      r   rx  rx    sq    J>>!enn,  5>>)JJ4

B%   r   c                t    SSK Jn  [        R                  " U S3U 5      nU(       a  UR	                  S5      $ g )Nr   )TORCH_DYNAMO_RESUME_IN_PREFIXz_(\w+)_at_\d+)resume_executionr  rematchgroup)rb   r  r  s      r   remove_resume_prefixr    s2    ?HH56oFME{{1~r   c                    [        5       nU  He  nUR                  c  M  [        UR                  5      nU(       a&  U(       a  US   R                  U:X  a  X!S'   X2l        MT  UR	                  U5        Mg     U$ )a  
When we graph break, we create a resume function and make a regular Python call
to it, which gets intercepted by Dynamo. This behavior is normally shown in the
traceback, which can be confusing to a user. So we can filter out resume frames
for better traceback clarity.

Example:
File "..." line 3, in f
    <line 3>
File "..." line 5, in torch_dynamo_resume_in_f_at_80
    <line 5>
File "..." line 10, in torch_dynamo_resume_in_f_at_120
    <line 10>

becomes
File "..." line 10, in f
    <line 10>
rd  )r   rs  r  rb   r  )r  	new_stackr|  rb   s       r   collapse_resume_framesr    sh    ( I>>!#EJJ/)B-"4"4"<!bMJU#  r   c                    SUR                    SUR                   SUR                   S3nUS-  nU[        5       -  n[	        X5      nUb,  US-  nUSR                  [        U5      5      -  nUS-  nUS-  nU$ )	NWON'T CONVERT r    line r   z.========== TorchDynamo Stack Trace ==========
zY
========== The above exception occurred while processing the following code ==========

r9  z
==========)co_nameco_filenameco_firstlinenor	   rj  r4  r
   )rm  r(  re  r|  r   r   s         r   r"  r"    s     a(8(8'9@S@S?TTVW  CCC:<C+J	
 	rww{:.//txJr   c           	     Z    [        U SS5       S[        U SS5       S[        U SS5       S3$ )	Nr  z	<unknown>z (r  r  r  r   ))r   )r(  s    r   format_frame_infor    sF    4K0
1 2D-56 7.231	6r   c                8    U b  [        U 5      nSU SU 3$ SU 3$ )Nz6torch.compile intentionally decided to skip the frame z! and fall back to eager.
Reason: zVtorch.compile intentionally decided to skip the frame and fall back to eager.
Reason: r  )r(  reason
frame_infos      r   format_skip_frame_messager    sB    &t,
DZL Qh 	
h 	
r   c                (    [        U 5      nSU SU 3$ )NzxSkipping frame because there is a graph break in a for/while loop
torch.compile intentionally decided to skip the frame zd and fall back to eager.
Reason: Skipping frame because there is a graph break in a for/while loop.
r  )r(  frame_summaryr  s      r   format_loop_skip_frame_messager  (  s-    "4(J	AAK MW/	r   c           	         [         R                  (       a  [        XX#5      $ SUR                   SUR                   SUR
                   S[        5        3$ )Nr  r   r  z 
due to: 
)r   ru   r"  r  r  r  r	   )rm  r(  re  r|  s       r   format_error_msgr  2  sS     ~~'?JJDLL>4+;+;*< ==8 8r   )r   rd   r0   rd   )r  type[Exception]r0   ztype[ObservedException])
r  r  r	  r   r+   zOptional[list[Any]]r,   zOptional[dict[str, Any]]r0   r   )r	  r   r0   r1   )r'  r   r(  types.CodeTyper  rd   r  rd   r  rd   r  	list[str]r0   r   )
r  rd   r  rd   r  rd   r  r  r0   rd   )r0   zdict[str, Any])r  rd   r0   rF   )r  rd   r  rd   r  rd   r  r  r   r   r!  boolr0   r   )r   F)rm  r   r   rd   rn  r  r0   r1   )r'  r   ru  r   r0   z#tuple[Optional[str], Optional[int]])r0   r   r%   )rm  r   r|  Optional[DynamoFrameType]r0   r   )r  r   r0   r   )rb   rd   r0   rF   )NN)
rm  r   r(  r  re  rF   r|  r  r0   rd   )r(  r  r0   rd   )r(  zOptional[types.CodeType]r  rd   r0   rd   )r(  r  r  rd   r0   rd   )
__future__r   r?  loggingr  ri   typingenumr   r   	functoolsr   pathlibr   rh  r   r	   r
   r   r   r   r   r   torch._guardsr   torch._utils_internalr   r9  r   utilsr   typesr   output_graphr   symbolic_convertr   r   r   	getLoggerr3   rA  r#  getArtifactLoggerr%  RuntimeErrorr"   r;   rA   rD   rM   rP   rS   rV   rY   r\   r_   rf   rn   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   StopIterationLookupError
IndexErrorGeneratorExitrl  AttributeErrorNotImplementedError	TypeErrorr   r  r  r  _subclassesfake_tensorDataDependentOutputExceptionDynamicOutputShapeExceptionUnsupportedOperatorExceptionUnsupportedFakeTensorException$UnsupportedMutationAliasingException!exceptions_allowed_to_be_fallbackr*  r6  rL  rR  objectrU  r   rZ  rq  rv  ry  rj  rx  r  r  r"  r  r  r  r  r=   r   r   <module>r     sv   "2   	      J J 9 9  1   '0;& !>>33HnM N< N	3 		!5 	 *  	 		/ 		 		_ 		$ 		, 	
) 
	
( 	
'+ '"
E, 
E*& *8	; 		) 		 		[ 		[ 	
	{ 	/ 8D 8 0	!5 		[ 	
G* G
	2 	
#7 
	Y 		i 		' 	U, U 1 	+ 	
	, 	
	* 	
	- 		. 	
	, 	
	"3 		) 	 ,$"(*&4 
 , !%'+! 	
 % (.< 
!!>>	!!==	!!>>	!!@@	!!FF% !##
# 	#
 # # # #L  	
 	, 1 20 8 !! ! 	!
 ! ! ! !L ,-^		'	(	)
 8<C	C4CCB J &*'+		
 # %	
 	6
 &*'+		8		8
	8 #	8 %		8
 		8r   