§
    ­˜ºhS\  ã                  ó>  — d dl mZ 	 d dlZd dlZd dlZd dlZd dlZd dlmZm	Z	 d dl
mZmZmZmZ d dlmZmZmZmZ d dlZddlmZ ddlmZ erd dlZd d	lmZ dd
lmZ ddlmZ d d„Z ej        e ¦  «        Z!ej"         #                    e d¦  «        Z$ G d„ de%¦  «        Z& G d„ de&¦  «        Z' G d„ de&¦  «        Z( G d„ de(¦  «        Z) G d„ de(¦  «        Z* G d„ de(¦  «        Z+ G d„ de(¦  «        Z, G d„ d e&¦  «        Z- G d!„ d"e&¦  «        Z. G d#„ d$e&¦  «        Z/ G d%„ d&e&¦  «        Z0 G d'„ d(e&¦  «        Z1 G d)„ d*e1¦  «        Z2 G d+„ d,e&¦  «        Z3 G d-„ d.e3¦  «        Z4 G d/„ d0e&¦  «        Z5 G d1„ d2e3¦  «        Z6 G d3„ d4e3¦  «        Z7 G d5„ d6e3¦  «        Z8 G d7„ d8e3¦  «        Z9 G d9„ d:e6¦  «        Z: G d;„ d<e	¦  «        Z; G d=„ d>e3¦  «        Z< G d?„ d@e&¦  «        Z= G dA„ dBe3¦  «        Z> G dC„ dDe&¦  «        Z? G dE„ dFe&¦  «        Z@ G dG„ dHeA¦  «        ZB G dI„ dJeA¦  «        ZC G dK„ dLe&¦  «        ZD G dM„ dNe&¦  «        ZE G dO„ dPeE¦  «        ZF G dQ„ dReE¦  «        ZG G dS„ dTeG¦  «        ZH G dU„ dVeG¦  «        ZI G dW„ dXeE¦  «        ZJ G dY„ dZeE¦  «        ZK G d[„ d\eE¦  «        ZL G d]„ d^eE¦  «        ZM G d_„ d`eE¦  «        ZNeOeFePeGeQeHeReJeSeIeTeKe%eLeUeMeVeNi	ZWd¡dd„ZXdddeœd¢dm„ZYd£dp„ZZej[        j\        j]        ej[        j\        j^        ej[        j\        j_        ej[        j\        j`        ej[        j\        ja        fZbd¤dv„Zc ed¦   «         Zeeeddwœd¥dz„Zfd¦d€„Zgd§d�„Zheed‚dƒœd¨d†„Zid©d‡„Zj G dˆ„ d‰¦  «        Zkdªd«d�„Zld¬d‘„Zmd­d“„Zn	 d®d¯d—„Zod°d™„Zpd±d›„Zqd°dœ„Zr	 	 d²d³dž„Zs	 	 d²d³dŸ„ZtdS )´é    )ÚannotationsN)ÚautoÚEnum)Úextract_stackÚ
format_excÚformat_listÚStackSummary)ÚAnyÚNoReturnÚOptionalÚTYPE_CHECKINGé   )Úconfig)Úcounters)Ú	CompileId)ÚInstructionTranslatorBase)ÚDynamoFrameTypeÚ	case_nameÚstrÚreturnc                ó4   — d|                       dd¦  «        z   S )NzhFor more information about this error, see: https://pytorch.org/docs/main/generated/exportdb/index.html#Ú_ú-)Úreplace©r   s    úY/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/torch/_dynamo/exc.pyÚexportdb_error_messager   5   s%   € ð	Ià
×
Ò
˜C Ñ
%Ô
%ñ	&ðó    Úgraph_breaksc                  ó   — e Zd ZdS )ÚTorchDynamoExceptionN©Ú__name__Ú
__module__Ú__qualname__© r   r   r!   r!   A   ó   € € € € € Ø€Dr   r!   c                  ó   — e Zd ZdS )ÚInternalTorchDynamoErrorNr"   r&   r   r   r)   r)   E   r'   r   r)   c                  ó2   ‡ — e Zd ZU ded<   ddœd
ˆ fd	„Zˆ xZS )ÚRestartAnalysisúOptional[str]Úrestart_reasonN)r-   Úargsr
   r   ÚNonec               óB   •— || _          t          ¦   «         j        |Ž  d S ©N)r-   ÚsuperÚ__init__)Úselfr-   r.   Ú	__class__s      €r   r3   zRestartAnalysis.__init__L   s%   ø€ Ø,ˆÔØ�‰ŒÔ˜$ÐÐÐÐr   )r.   r
   r-   r,   r   r/   ©r#   r$   r%   Ú__annotations__r3   Ú__classcell__©r5   s   @r   r+   r+   I   sX   ø€ € € € € € Ø!Ð!Ð!Ñ!àCGð  ð  ð  ð  ð  ð  ð  ð  ð  ð  ð  ð  r   r+   c                  ó   — e Zd ZdS )ÚSpeculationRestartAnalysisNr"   r&   r   r   r;   r;   Q   r'   r   r;   c                  ó   — e Zd ZdS )ÚUnspecializeRestartAnalysisNr"   r&   r   r   r=   r=   U   r'   r   r=   c                  ó   — e Zd ZdS )Ú CompileCollectiveRestartAnalysisNr"   r&   r   r   r?   r?   Y   r'   r   r?   c                  ó   — e Zd ZdS )ÚTensorifyScalarRestartAnalysisNr"   r&   r   r   rA   rA   ]   r'   r   rA   c                  ó   — e Zd ZdS )Ú	SkipFrameNr"   r&   r   r   rC   rC   a   r'   r   rC   c                  ó   — e Zd ZdS )ÚTorchRuntimeErrorNr"   r&   r   r   rE   rE   e   r'   r   rE   c                  ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )ÚInvalidBackendÚnamer   r   r/   c                óR   •— t          ¦   «                              d|›d�¦  «         d S )NzInvalid backend: z=, see `torch._dynamo.list_backends()` for available backends.©r2   r3   )r4   rH   r5   s     €r   r3   zInvalidBackend.__init__j   s7   ø€ Ý‰Œ×ÒØe ÐeÐeÐeñ	
ô 	
ð 	
ð 	
ð 	
r   )rH   r   r   r/   ©r#   r$   r%   r3   r8   r9   s   @r   rG   rG   i   s=   ø€ € € € € ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r   rG   c                  ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )ÚResetRequiredr   r/   c                ón   •— t          ¦   «                              t          j        d¦  «        ¦  «         d S )NzÃ
                Must call `torch._dynamo.reset()` before changing backends.  Detected two calls to
                `torch.compile()` with a different backend compiler arguments.
                )r2   r3   ÚtextwrapÚdedent)r4   r5   s    €r   r3   zResetRequired.__init__q   s=   ø€ Ý‰Œ×ÒÝŒOðñô ñ	
ô 	
ð 	
ð 	
ð 	
r   ©r   r/   rK   r9   s   @r   rM   rM   p   s=   ø€ € € € € ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r   rM   c                  ó(   ‡ — e Zd Zdˆ fd„Zdd
„Zˆ xZS )ÚShortenTracebackr.   r
   Úfirst_useful_frameúOptional[types.FrameType]Úkwargsr   r/   c               óH   •—  t          ¦   «         j        |i |¤Ž || _        d S r1   )r2   r3   rT   )r4   rT   r.   rV   r5   s       €r   r3   zShortenTraceback.__init__}   s/   ø€ ð 	�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ø"4ˆÔÐÐr   útyping.Selfc                óÆ   — | j         }| j        �|�t          j        r| S |j        | j        ur!|j        }|€
J d¦   «         ‚|j        | j        u°!|                      |¦  «        S )Nz#internal error, please report a bug)Ú__traceback__rT   r   ÚverboseÚtb_frameÚtb_nextÚwith_traceback)r4   Útbs     r   Úremove_dynamo_framesz%ShortenTraceback.remove_dynamo_framesƒ   sq   € ØÔˆØÔ"Ð*¨b¨j½F¼N¨jØˆKØŒk Ô!8Ð8Ð8Ø”ˆBØ�>�>Ð#H‘>”>�>ð Œk Ô!8Ð8Ð8ð ×"Ò" 2Ñ&Ô&Ð&r   )r.   r
   rT   rU   rV   r
   r   r/   )r   rX   )r#   r$   r%   r3   r`   r8   r9   s   @r   rS   rS   |   sQ   ø€ € € € € ð5ð 5ð 5ð 5ð 5ð 5ð'ð 'ð 'ð 'ð 'ð 'ð 'ð 'r   rS   c                  ó    ‡ — e Zd Zd
ˆ fd	„Zˆ xZS )ÚBackendCompilerFailedÚ
backend_fnr
   Úinner_exceptionÚ	ExceptionrT   rU   r   r/   c                óÌ   •— t          |dd¦  «        | _        || _        d| j        ›dt          |¦  «        j        › d|› �}t          ¦   «                              ||¬¦  «         d S )Nr#   ú?zbackend=z	 raised:
z: )rT   )ÚgetattrÚbackend_namerd   Útyper#   r2   r3   )r4   rc   rd   rT   Úmsgr5   s        €r   r3   zBackendCompilerFailed.__init__Ž   sq   ø€ õ $ J°
¸CÑ@Ô@ˆÔØ.ˆÔØk˜Ô*ÐkÐk½¸_Ñ8MÔ8MÔ8VÐkÐkÐZiÐkÐkˆÝ‰Œ×Ò˜Ð1CÐÑDÔDÐDÐDÐDr   )rc   r
   rd   re   rT   rU   r   r/   rK   r9   s   @r   rb   rb   �   sG   ø€ € € € € ð	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Er   rb   c                  ó8   ‡ — e Zd Zddœdˆ fd	„Zdd
„Zddd„Zˆ xZS )ÚUnsupportedNr   rk   r   r   r,   r   r/   c               óì   •— t          ¦   «                              |¦  «         t          j        j                             ¦   «         | _        || _        d | _        |  	                    ¦   «          || _
        d S r1   )r2   r3   ÚtorchÚ_guardsÚTracingContextr   Ú
real_stackrk   ÚcategoryÚadd_to_statsr   )r4   rk   r   r5   s      €r   r3   zUnsupported.__init__›   s^   ø€ Ý‰Œ×Ò˜ÑÔÐÝœ-Ô6×DÒDÑFÔFˆŒØˆŒØ'+ˆŒØ×ÒÑÔÐØ(1ˆŒˆˆr   c                óØ   — | j         €J ‚t          | j                  | j        xx         dz  cc<   t          | j                  | j                 dk    rt          | j                  | j        = d S d S )Nr   r   ©rs   r   rk   ©r4   s    r   Úremove_from_statszUnsupported.remove_from_stats£   sm   € ØŒ}Ð(Ð(Ð(Ý�”Ô ¤Ð)Ð)Ô)¨QÑ.Ð)Ð)Ñ)Ý�D”MÔ" 4¤8Ô,°Ò1Ð1Ý˜œÔ'¨¬Ð1Ð1Ð1ð 2Ð1r   Úunimplementedrs   c                óT   — || _         t          |         | j        xx         dz  cc<   d S )Nr   rv   )r4   rs   s     r   rt   zUnsupported.add_to_stats©   s2   € Ø ˆŒÝ�Ô˜4œ8Ð$Ð$Ô$¨Ñ)Ð$Ð$Ñ$Ð$Ð$r   )rk   r   r   r,   r   r/   rQ   )ry   )rs   r   r   r/   )r#   r$   r%   r3   rx   rt   r8   r9   s   @r   rm   rm   š   sw   ø€ € € € € Ø?Cð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð2ð 2ð 2ð 2ð*ð *ð *ð *ð *ð *ð *ð *ð *r   rm   c                  ó   — e Zd ZdS )Ú$UnknownPropertiesDuringBackwardTraceNr"   r&   r   r   r|   r|   ®   r'   r   r|   c                  ó   — e Zd ZdS )ÚRecompileErrorNr"   r&   r   r   r~   r~   ²   r'   r   r~   c                  ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )ÚArgsMismatchErrorrk   r   r   r/   c                óJ   •— t          ¦   «                              |¦  «         d S r1   rJ   ©r4   rk   r5   s     €r   r3   zArgsMismatchError.__init__·   ó!   ø€ Ý‰Œ×Ò˜ÑÔÐÐÐr   ©rk   r   r   r/   rK   r9   s   @r   r€   r€   ¶   ó=   ø€ € € € € ðð ð ð ð ð ð ð ð ð r   r€   c                  ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )ÚAttributeMutationErrorrk   r   r   r/   c                óJ   •— t          ¦   «                              |¦  «         d S r1   rJ   r‚   s     €r   r3   zAttributeMutationError.__init__¼   rƒ   r   r„   rK   r9   s   @r   r‡   r‡   »   r…   r   r‡   c                  ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )ÚInfiniteGeneratorErrorrk   r   r   r/   c                óJ   •— t          ¦   «                              |¦  «         d S r1   rJ   r‚   s     €r   r3   zInfiniteGeneratorError.__init__Â   rƒ   r   r„   rK   r9   s   @r   rŠ   rŠ   À   s=   ø€ € € € € ðð ð ð ð ð ð ð ð ð r   rŠ   c                  ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )ÚSideEffectsErrorrk   r   r   r/   c                óJ   •— t          ¦   «                              |¦  «         d S r1   rJ   r‚   s     €r   r3   zSideEffectsError.__init__Ç   rƒ   r   r„   rK   r9   s   @r   r�   r�   Æ   r…   r   r�   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )ÚCondOpArgsMismatchErrorz?
    Internal error from cond() due to arguments mismatch.
    rk   r   r   r/   c                óJ   •— t          ¦   «                              |¦  «         d S r1   rJ   r‚   s     €r   r3   z CondOpArgsMismatchError.__init__Ð   rƒ   r   r„   )r#   r$   r%   Ú__doc__r3   r8   r9   s   @r   r�   r�   Ë   sG   ø€ € € € € ðð ðð ð ð ð ð ð ð ð ð r   r�   c                  ó®   — e Zd Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z	 e¦   «         Z
 e¦   «         ZdS )ÚUserErrorTypeN)r#   r$   r%   r   ÚDYNAMIC_CONTROL_FLOWÚANTI_PATTERNÚSTANDARD_LIBRARYÚCONSTRAINT_VIOLATIONÚDYNAMIC_DIMÚINVALID_INPUTÚINVALID_OUTPUTÚ*UNSUPPORTED_ALIASED_MUTATED_DYNAMIC_INPUTSr&   r   r   r”   r”   Ô   sl   € € € € € Ø˜4™6œ6ÐØ�4‘6”6€LØ�t‘v”vÐØ˜4™6œ6ÐØ�$‘&”&€KØ�D‘F”F€MØ�T‘V”V€NØ15°±´Ð.Ð.Ð.r   r”   c                  ó$   ‡ — e Zd Z	 ddˆ fd
„Zˆ xZS )Ú	UserErrorNÚ
error_typer”   rk   r   r   r,   r   r/   c                óü   •— |�It          |t          ¦  «        sJ ‚|                     d¦  «        r|dz  }n|dz  }|t          |¦  «        z  }t	          ¦   «                              |¦  «         || _        || _        dS )aG  
        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ú.ú ú
)Ú
isinstancer   Úendswithr   r2   r3   rŸ   Úmessage)r4   rŸ   rk   r   r5   s       €r   r3   zUserError.__init__à   s†   ø€ ð Ð Ý˜i­Ñ-Ô-Ð-Ð-Ð-Ø�|Š|˜CÑ Ô ð Ø�s‘
��à�t‘�ØÕ)¨)Ñ4Ô4Ñ4ˆCÝ‰Œ×Ò˜ÑÔÐØ$ˆŒØˆŒˆˆr   r1   )rŸ   r”   rk   r   r   r,   r   r/   rK   r9   s   @r   rž   rž   ß   sE   ø€ € € € € àNRðð ð ð ð ð ð ð ð ð ð r   rž   c                  ó   — e Zd ZdS )ÚSkipCodeRecursiveExceptionNr"   r&   r   r   r¨   r¨   ÷   r'   r   r¨   c                  ó   — e Zd ZdS )ÚRecompileLimitExceededNr"   r&   r   r   rª   rª   û   r'   r   rª   c                  ó   — e Zd ZdS )ÚUnsafeScriptObjectErrorNr"   r&   r   r   r¬   r¬   ÿ   r'   r   r¬   c                  ó   — e Zd ZdS )ÚUncapturedHigherOrderOpErrorNr"   r&   r   r   r®   r®     r'   r   r®   c                  ó   — e Zd ZdS )ÚIncorrectUsageNr"   r&   r   r   r°   r°     r'   r   r°   c                  ó   — e Zd ZdS )ÚFailOnRecompileLimitHitNr"   r&   r   r   r²   r²     r'   r   r²   c                  ó   — e Zd ZdS )ÚPackageErrorNr"   r&   r   r   r´   r´     r'   r   r´   c                  ó   — e Zd ZdS )ÚObservedExceptionNr"   r&   r   r   r¶   r¶     ó   € € € € € à€Dr   r¶   c                  ó,   ‡ — e Zd ZU ded<   d	ˆ fd„Zˆ xZS )
ÚObservedUserStopIterationzOptional[Any]Úvaluer.   r
   rV   r   r/   c                óœ   •— t          ¦   «                              d¦  «         t          |¦  «        dk    r|d         | _        d S d | _        d S )Nzunhandled `raise StopIteration`r   )r2   r3   Úlenrº   )r4   r.   rV   r5   s      €r   r3   z"ObservedUserStopIteration.__init__!  sE   ø€ Ý‰Œ×ÒÐ:Ñ;Ô;Ð;Ýˆt‰9Œ9�qŠ=ˆ=Ø˜aœˆDŒJˆJˆJàˆDŒJˆJˆJr   )r.   r
   rV   r
   r   r/   r6   r9   s   @r   r¹   r¹     sK   ø€ € € € € € àÐÐÑðð ð ð ð ð ð ð ð ð r   r¹   c                  ó   — e Zd ZdS )ÚObservedLookupErrorNr"   r&   r   r   r¾   r¾   )  r·   r   r¾   c                  ó   — e Zd ZdS )ÚObservedIndexErrorNr"   r&   r   r   rÀ   rÀ   .  r·   r   rÀ   c                  ó   — e Zd ZdS )ÚObservedKeyErrorNr"   r&   r   r   rÂ   rÂ   3  r·   r   rÂ   c                  ó   — e Zd ZdS )ÚObservedGeneratorExitNr"   r&   r   r   rÄ   rÄ   8  r'   r   rÄ   c                  ó   — e Zd ZdS )ÚObservedAttributeErrorNr"   r&   r   r   rÆ   rÆ   <  r·   r   rÆ   c                  ó   — e Zd ZdS )ÚObservedRuntimeErrorNr"   r&   r   r   rÈ   rÈ   A  r·   r   rÈ   c                  ó   — e Zd ZdS )ÚObservedNotImplementedErrorNr"   r&   r   r   rÊ   rÊ   F  r'   r   rÊ   c                  ó   — e Zd ZdS )ÚObservedTypeErrorNr"   r&   r   r   rÌ   rÌ   J  r·   r   rÌ   Úexc_typeútype[Exception]útype[ObservedException]c                ó°   — | t           vrAt          | dt          | ¦  «        ¦  «        }t          d|› d�t          fi ¦  «        t           | <   t           |          S )Nr#   ÚObservedÚError)Úobserved_exception_maprh   r   rj   r¶   )rÍ   rH   s     r   Úget_dynamo_observed_exceptionrÔ   \  s]   € ØÕ-Ð-Ð-Ý�x ­S°©]¬]Ñ;Ô;ˆÝ+/Ø"�tÐ"Ð"Ð"Õ%6Ð$8¸"ñ,
ô ,
Õ˜xÑ(õ " (Ô+Ð+r   )r.   rV   Útxr   r.   úOptional[list[Any]]rV   úOptional[dict[str, Any]]r   c               ó¤   — ddl m}  || ¦  «                             ||pg |pi ¦  «        }|j                             |¦  «         t
          |          ‚)Nr   )ÚBuiltinVariable)Ú	variablesrÙ   Úcall_functionÚexn_vt_stackÚset_current_exceptionrÓ   )rÍ   rÕ   r.   rV   rÙ   Úexception_vts         r   Úraise_observed_exceptionrß   e  sc   € ð +Ð*Ð*Ð*Ð*Ð*ð #�? 8Ñ,Ô,×:Ò:¸2¸t¸zÀrÈ6È<ÐUWÑXÔX€LØ„O×)Ò)¨,Ñ7Ô7Ð7Ý
  Ô
*Ð*r   r
   r/   c                ó8   — | j                              ¦   «          d S r1   )rÜ   Úclear_current_exception)rÕ   s    r   Úhandle_observed_exceptionrâ   u  s   € ð2 „O×+Ò+Ñ-Ô-Ð-Ð-Ð-r   Úere   Úcodeútypes.CodeTyperk   c                ó   ‡— t          | |¦  «        Št          j                             dd„ ˆfd„¬¦  «         t                               d‰¦  «         t                               |¦  «         t          || ¬¦  «         d S )NÚartifactc                 ó   — dddœS ©NÚdynamo_graph_break_reasonÚstring)rH   Úencodingr&   r&   r   r   ú<lambda>z,unimplemented_with_warning.<locals>.<lambda>¨  ó   € Ø/Ø ð
ð 
€ r   c                 ó   •— ‰ S r1   r&   ©Úgraph_break_msgs   €r   rí   z,unimplemented_with_warning.<locals>.<lambda>¬  ó   ø€ ˜?€ r   ©Úmetadata_fnÚ
payload_fnú%s)Úfrom_exc)	Úformat_error_msg_verbosero   Ú_loggingÚtrace_structuredÚgraph_breaks_logÚdebugÚlogÚwarningry   )rã   rä   rk   rñ   s      @r   Úunimplemented_with_warningrÿ   ›  s‘   ø€ õ /¨q°$Ñ7Ô7€OÝ	„N×#Ò#Øð
ð 
ð +Ð*Ð*Ð*ð $ñ ô ð õ ×Ò˜4 Ñ1Ô1Ð1Ý‡K‚K�ÑÔÐÝ�# Ð"Ñ"Ô"Ð"Ð"Ð"r   )r÷   r   r÷   r,   c               ó¦   — | t           j                             dd¦  «        k    sJ ‚|t          urt	          | |¬¦  «        |‚t	          | |¬¦  «        ‚)NÚBREAKFr   )ÚosÚenvironÚgetÚ_NOTHINGrm   )rk   r÷   r   s      r   ry   ry   ¶  sX   € ð •"”*—.’. ¨%Ñ0Ô0Ò0Ð0Ð0Ð0Ø•xÐÐÝ˜#¨Ð3Ñ3Ô3¸ÐAÝ
�c YÐ
/Ñ
/Ô
/Ð/r   Úgb_typeÚcontextÚexplanationÚhintsú	list[str]c                óÔ   ‡— t          | |¦  «        Št          j                             dd„ ˆfd„¬¦  «         t                               d‰¦  «         t          ||||| d¬¦  «         d S )Nrç   c                 ó   — dddœS ré   r&   r&   r   r   rí   z/unimplemented_v2_with_warning.<locals>.<lambda>Ñ  rî   r   c                 ó   •— ‰ S r1   r&   rð   s   €r   rí   z/unimplemented_v2_with_warning.<locals>.<lambda>Õ  rò   r   ró   rö   T©r÷   Úlog_warning)rø   ro   rù   rú   rû   rü   Úunimplemented_v2)rã   rä   r  r  r  r	  rñ   s         @r   Úunimplemented_v2_with_warningr  ¿  sˆ   ø€ õ /¨q°$Ñ7Ô7€OÝ	„N×#Ò#Øð
ð 
ð +Ð*Ð*Ð*ð $ñ ô ð õ ×Ò˜4 Ñ1Ô1Ð1Ý�W˜g {°EÀAÐSWÐXÑXÔXÐXÐXÐXr   c                óü   — t          j        |d¦  «                             ¦   «         }d                     d„ |D ¦   «         ¦  «        }t          j        |d¦  «                             ¦   «         }| › d|› d|› d|› d�}|S )Nú    r£   c              3  ój   K  — | ].}d t          j        |d¦  «                             ¦   «         z   V — Œ/dS )z  Hint: r  N)rO   ÚindentÚlstrip)Ú.0Úhints     r   ú	<genexpr>z-format_graph_break_message.<locals>.<genexpr>â  sP   è è € ð ð Ø@Dˆ
•X”_ T¨6Ñ2Ô2×9Ò9Ñ;Ô;Ñ;ðð ð ð ð ð r   z
  Explanation: z

  Developer debug context: )rO   r  r  Újoin)r  r  r  r	  Ú	hints_strrk   s         r   Úformat_graph_break_messager  Û  s·   € õ ”/ +¨vÑ6Ô6×=Ò=Ñ?Ô?€KØ—	’	ð ð ØHMðñ ô ñ ô €Iõ Œo˜g vÑ.Ô.×5Ò5Ñ7Ô7€Gð 	ðð àðð ð ðð ð
 $ðð ð €Cð €Jr   Fr  r  Úboolc               ó®   — t          | |||¦  «        }|rt                               |¦  «         |t          urt	          |¦  «        |‚t	          |¦  «        ‚)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.
    )r  rý   rþ   r  rm   )r  r  r  r	  r÷   r  rk   s          r   r  r  ò  s\   € õ& % W¨g°{ÀEÑ
JÔ
J€Cð ð Ý�Š�CÑÔÐØ•xÐÐÝ˜#ÑÔ HÐ,Ý
�cÑ
Ô
Ðr   c                óˆ   — t           d         | xx         dz  cc<   | t          j                             dd¦  «        k    sJ ‚d S )NÚwarningsr   r  F)r   r  r  r  )rk   s    r   rþ   rþ     sJ   € ÝˆZÔ˜ÐÐÔ Ñ"ÐÐÑØ•"”*—.’. ¨%Ñ0Ô0Ò0Ð0Ð0Ð0Ð0Ð0r   c                  ó&   — e Zd Zd
d„Zdd„Zdd„Zd	S )ÚKeyErrorMsgrº   r
   r   r/   c                ó   — || _         d S r1   )rº   )r4   rº   s     r   r3   zKeyErrorMsg.__init__  s   € ØˆŒ
ˆ
ˆ
r   r   c                ó*   — t          | j        ¦  «        S r1   )r   rº   rw   s    r   Ú__str__zKeyErrorMsg.__str__  s   € Ý�4”:‰ŒÐr   c                ó*   — |                       ¦   «         S r1   )r%  rw   s    r   Ú__repr__zKeyErrorMsg.__repr__!  s   € Ø�|Š|‰~Œ~Ðr   N)rº   r
   r   r/   )r   r   )r#   r$   r%   r3   r%  r'  r&   r   r   r"  r"    sP   € € € € € ðð ð ð ðð ð ð ðð ð ð ð ð r   r"  r£   ÚexcÚexportc                ó|  — dd l }d | _        t          | ¦  «        }|�Nt          |¦  «        dk    r;|d         | _        |dd                     |                     |¦  «        ¦  «        › �z  }t          j        r&t          | d¦  «        r|d| j	        › d| j	        › d�z  }t          j
        st          | d	¦  «        r|d
z  }t          | d¦  «        r^t          | j        d¦  «        rIt          | j        d¦  «        r!|d| j        j        › d| j        j        › d�z  }n|d| j        j        › d�z  }t          | j        ¦  «        dk    rdnt          | j        d         ¦  «        }t!          | t"          ¦  «        r*t%          ||z   ¦  «        f| j        dd …         z   | _        d S ||z   }|f| j        dd …         z   | _        d S )Nr   éÿÿÿÿz
from user code:
 Ú Úrecord_filenamez!
Last frame execution written to zD. To run only this frame while debugging, run torch._dynamo.replay('z').
rr   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"
rd   Ú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¼   r  r   r   Úreplay_record_enabledÚhasattrr-  r[   rd   r.  r/  r.   r   r¤   ÚKeyErrorr"  )r(  rk   r)  r0  rr   Úold_msgÚnew_msgs          r   Úaugment_exc_messager8  %  s,  € ØÐÐÐà'+€CÔ$å Ñ$Ô$€JØÐ¥# j¡/¤/°AÒ"5Ð"5Ø+5°b¬>ˆÔ(ØÐR b§g¢g¨i×.CÒ.CÀJÑ.OÔ.OÑ&PÔ&PÐRÐRÑRˆåÔ#ð 
­°Ð5FÑ(GÔ(Gð 
Øð3°Ô1Dð 3ð 3ØÔ+ð3ð 3ð 3ñ	
ˆõ
 Œ>ð 
�g c¨<Ñ8Ô8ð 
ØðJñ	
ˆõ ˆsÐ%Ñ&Ô&ð ­7ØÔ˜_ñ,ô ,ð õ �3Ô&¨Ñ7Ô7ð 
	ØðU°Ô0CÔ0Qð Uð Uà03Ô0CÔ0PðUð Uð UñˆCˆCð ð_°Ô0CÔ0Qð _ð _ð _ñˆCõ
 ˜œ‘M”M QÒ&Ð&ˆbˆb­C°´¸´Ñ,<Ô,<€Gå�#•xÑ Ô ð -Ý ¨#¡Ñ.Ô.Ð0°3´8¸A¸B¸B´<Ñ?ˆŒˆˆà˜C‘-ˆØ�: ¤¨¨¨¤Ñ,ˆŒˆˆr   Ú
compile_idr   ú#tuple[Optional[str], Optional[int]]c                ó^   — d }d }| j         �| j         j        }| j         j        }|| _        ||fS r1   )r1  ÚfilenameÚlinenor9  )rã   r9  r<  r=  s       r   Úget_exc_messager>  T  s?   € ð €HØ€FØÔ%Ð1ØÔ1Ô:ˆØÔ/Ô6ˆØ€A„LØ�VÐÐr   r	   c                 ó8   — t          t          ¦   «         ¦  «        S r1   )Úfilter_stackr   r&   r   r   Úget_stack_above_dynamorA  `  s   € Ý�™œÑ(Ô(Ð(r   ÚframeúOptional[DynamoFrameType]úOptional[StackSummary]c                ó˜   — t          | dd ¦  «        }|€d S |�t          ¦   «         }nt          ¦   «         }t          j        ||z   ¦  «        S )Nrr   )rh   rA  r	   Ú	from_list)r(  rB  rr   Ústack_above_dynamos       r   r2  r2  d  sZ   € õ ˜˜l¨DÑ1Ô1€JØÐØˆtð Ðõ 4Ñ5Ô5ÐÐå)™^œ^ÐåÔ!Ð"4°zÑ"AÑBÔBÐBr   Ústackc                ó°   — t          ¦   «         }| D ]D}|j        €Œ
d|j        v r n0d|j        v s|j        r
d|j        v rŒ/|                     |¦  «         ŒE|S )NÚconvert_frameÚ
eval_frameztorch._dynamo.optimize()r	   r<  ÚlineÚappend)rH  Ú
user_stackrB  s      r   r@  r@  …  s{   € Ý‘”€JØð 	!ð 	!ˆØŒ>Ð!ØØ˜eœnÐ,Ð,ØˆEØ˜5œ>Ð)Ð)ØŒJð *Ø4¸¼
ÐBÐBàØ×Ò˜%Ñ Ô Ð Ð àÐr   rH   c                óp   — ddl m} t          j        |› d�| ¦  «        }|r|                     d¦  «        S d S )Nr   )ÚTORCH_DYNAMO_RESUME_IN_PREFIXz_(\w+)_at_\d+)Úresume_executionrP  ÚreÚmatchÚgroup)rH   rP  rS  s      r   Úremove_resume_prefixrU  •  sL   € Ø?Ð?Ð?Ð?Ð?Ð?åŒHÐ5ÐFÐFÐFÈÑMÔM€EØð Ø�{Š{˜1‰~Œ~ÐØˆ4r   c                óÒ   — t          ¦   «         }| D ]U}|j        €Œ
t          |j        ¦  «        }|r |r|d         j        |k    r||d<   ||_        Œ@|                     |¦  «         ŒV|S )a1  
    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>
    Nr+  )r	   r<  rU  rH   rM  )rH  Ú	new_stackrB  rH   s       r   Úcollapse_resume_framesrX  ž  s…   € õ( ‘”€IØð $ð $ˆØŒ>Ð!ØÝ# E¤JÑ/Ô/ˆØð 	$˜ð 	$ )¨B¤-Ô"4¸Ò"<Ð"<Ø!ˆI�b‰MØˆEŒJˆJà×Ò˜UÑ#Ô#Ð#Ð#àÐr   r-  c                óô   — d|j         › d|j        › d|j        › d�}|dz  }|t          ¦   «         z  }t	          | |¦  «        }|�4|dz  }|d                     t          |¦  «        ¦  «        z  }|dz  }|dz  }|S )	NúWON'T CONVERT r¢   ú line r£   z.========== TorchDynamo Stack Trace ==========
zY
========== The above exception occurred while processing the following code ==========

r,  z
==========)Úco_nameÚco_filenameÚco_firstlinenor   r2  r  r   )r(  rä   r-  rB  rk   rr   s         r   rø   rø   À  s¦   € ð 	X˜œÐWÐW¨Ô(8ÐWÐWÀÔ@SÐWÐWÐWð ð ÐCÑC€CØ�:‰<Œ<Ñ€CÝ  UÑ+Ô+€JØÐØðñ	
ˆð 	ˆr�wŠw•{ :Ñ.Ô.Ñ/Ô/Ñ/ˆØˆt‰ˆØˆx‰ˆà€Jr   c           	     ó�   — t           j        rt          | |||¦  «        S d|j        › d|j        › d|j        › dt          ¦   «         › �S )NrZ  r¢   r[  z 
due to: 
)r   r[   rø   r\  r]  r^  r   )r(  rä   r-  rB  s       r   Úformat_error_msgr`  Û  sk   € õ „~ð KÝ'¨¨T°?ÀEÑJÔJÐJð8˜DœLð 8ð 8¨4Ô+;ð 8ð 8ØÔð8ð 8Ý)3©¬ð8ð 8ð 8r   )r   r   r   r   )rÍ   rÎ   r   rÏ   )
rÍ   rÎ   rÕ   r   r.   rÖ   rV   r×   r   r   )rÕ   r
   r   r/   )rã   re   rä   rå   rk   r   r   r   )rk   r   r÷   r
   r   r,   r   r   )rã   re   rä   rå   r  r   r  r   r  r   r	  r
  r   r   )
r  r   r  r   r  r   r	  r
  r   r   )r  r   r  r   r  r   r	  r
  r÷   r
   r  r  r   r   r„   )r£   F)r(  re   rk   r   r)  r  r   r/   )rã   re   r9  r   r   r:  )r   r	   r1   )r(  re   rB  rC  r   rD  )rH  r	   r   r	   )rH   r   r   r,   )NN)
r(  re   rä   rå   r-  r,   rB  rC  r   r   )uÚ
__future__r   Úloggingr  rR  rO   ÚtypingÚenumr   r   r0  r   r   r   r	   r
   r   r   r   Útorch._guardsro   r,  r   Úutilsr   Útypesr   Úsymbolic_convertr   r   r   Ú	getLoggerr#   rý   rù   ÚgetArtifactLoggerrû   ÚRuntimeErrorr!   r)   r+   r;   r=   r?   rA   rC   rE   rG   rM   rS   rb   rm   r|   r~   r€   r‡   rŠ   r�   r�   r”   rž   r¨   rª   r¬   r®   re   r°   r²   r´   r¶   r¹   r¾   rÀ   rÂ   rÄ   rÆ   rÈ   rÊ   rÌ   ÚStopIterationÚLookupErrorÚ
IndexErrorÚGeneratorExitr5  ÚAttributeErrorÚNotImplementedErrorÚ	TypeErrorrÓ   rÔ   rß   râ   Ú_subclassesÚfake_tensorÚDataDependentOutputExceptionÚDynamicOutputShapeExceptionÚUnsupportedOperatorExceptionÚUnsupportedFakeTensorExceptionÚ$UnsupportedMutationAliasingExceptionÚ!exceptions_allowed_to_be_fallbackrÿ   Úobjectr  ry   r  r  r  rþ   r"  r8  r>  rA  r2  r@  rU  rX  rø   r`  r&   r   r   ú<module>r|     s­
  ðØ "Ð "Ð "Ð "Ð "Ð "ðð2 €€€Ø 	€	€	€	Ø 	€	€	€	Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ð Ð Ø JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JØ 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9à Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð ð 'Ø€L€L€Là'Ð'Ð'Ð'Ð'Ð'à;Ð;Ð;Ð;Ð;Ð;Ø&Ð&Ð&Ð&Ð&Ð&ðð ð ð ð €gÔ˜Ñ!Ô!€Ø”>×3Ò3°H¸nÑMÔMÐ ð	ð 	ð 	ð 	ð 	˜<ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð3ñ 	ô 	ð 	ð ð  ð  ð  ð  Ð*ñ  ô  ð  ð	ð 	ð 	ð 	ð 	 ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	 /ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	 ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	 _ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð$ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð,ñ 	ô 	ð 	ð
ð 
ð 
ð 
ð 
Ð)ñ 
ô 
ð 
ð	
ð 	
ð 	
ð 	
ð 	
Ð(ñ 	
ô 	
ð 	
ð'ð 'ð 'ð 'ð 'Ð+ñ 'ô 'ð 'ð"
Eð 
Eð 
Eð 
Eð 
EÐ,ñ 
Eô 
Eð 
Eð*ð *ð *ð *ð *Ð&ñ *ô *ð *ð(	ð 	ð 	ð 	ð 	¨;ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð)ñ 	ô 	ð 	ðð ð ð ð ˜ñ ô ð ð
ð ð ð ð ˜[ñ ô ð ð
ð ð ð ð ˜[ñ ô ð ðð ð ð ð �{ñ ô ð ð
ð ð ð ð Ð/ñ ô ð ð8ð 8ð 8ð 8ð 8�Dñ 8ô 8ð 8ðð ð ð ð �ñ ô ð ð0	ð 	ð 	ð 	ð 	Ð!5ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	˜[ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð2ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð#7ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�Yñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	˜iñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð'ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð,ñ 	ô 	ð 	ð
ð ð ð ð Ð 1ñ ô ð ð	ð 	ð 	ð 	ð 	Ð+ñ 	ô 	ð 	ð
	ð 	ð 	ð 	ð 	Ð,ñ 	ô 	ð 	ð
	ð 	ð 	ð 	ð 	Ð*ñ 	ô 	ð 	ð
	ð 	ð 	ð 	ð 	Ð-ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð.ñ 	ô 	ð 	ð
	ð 	ð 	ð 	ð 	Ð,ñ 	ô 	ð 	ð
	ð 	ð 	ð 	ð 	Ð"3ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð)ñ 	ô 	ð 	ð Ð,ØÐ$ØÐ"ØÐ(ØÐØÐ*ØÐ&ØÐ4ØÐ ð
Ð ð,ð ,ð ,ð ,ð !%Ø'+ð+ð +ð +ð +ð +ð +ð .ð .ð .ð .ð< 
ÔÔ!Ô>Ø	ÔÔ!Ô=Ø	ÔÔ!Ô>Ø	ÔÔ!Ô@Ø	ÔÔ!ÔFð%Ð !ð#ð #ð #ð #ð0 ˆ6‰8Œ8€ð "*Àdð0ð 0ð 0ð 0ð 0ð 0ðYð Yð Yð Yð8ð ð ð ð: Øðð ð ð ð ð ðB1ð 1ð 1ð 1ðð ð ð ð ñ ô ð ð,-ð ,-ð ,-ð ,-ð ,-ð^	ð 	ð 	ð 	ð)ð )ð )ð )ð
 8<ðCð Cð Cð Cð CðBð ð ð ð ð ð ð ðð ð ð ðJ &*Ø'+ð	ð ð ð ð ð< &*Ø'+ð		8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8r   