
    Vho              
       $   U d Z ddlZddlZddlZddlmZ ddlmZmZ ddl	Z
i Zeeef   ed<    e       Zee   ed<   dee   defd	Zd
eddfdZdeej(                     deeeef      fdZdedeeeef      fdZ	 ddededeeeef      fdZy)zG
Utilities for converting data types into structured JSON for dumping.
    N)Sequence)AnyOptionalINTERN_TABLEDUMPED_FILESsreturnc                       yt         j                   d       Ht        t               t          <   t        j                  j
                  j                  d fdd       S )Nstrc                       fS N )rr   s   I/home/dcms/DCMS/lib/python3.12/site-packages/torch/_logging/structured.py<lambda>zintern_string.<locals>.<lambda>   s    Aq6     T)suppress_context)r   getlentorch_logging	_internaltrace_structured)r   r   s   `@r   intern_stringr      s`    yD!AyQ  11>D 	2 	
 Hr   filenamec                      d vry  t         v ry t         j                          ddlm t        j
                  j                  j                  d fd fd       y )Neval_with_keyr   )_loader	dump_filec                      d iS )Nnamer   )r   s   r   r   zdump_file.<locals>.<lambda>+   s    H
 r   c                  &     j                        S r   )
get_source)r   r   s   r   r   zdump_file.<locals>.<lambda>.   s    7--h7 r   )metadata_fn
payload_fn)r   addtorch.fx.graph_moduler   r   r   r   r   )r   r   s   `@r   r    r    !   sT    h&<X-	NN--
 8 . r   tbc                     | D cg c]:  }|j                   |j                  t        |j                        |j                  d< }}|S c c}w )N)liner"   r   loc)linenor"   r   r   r+   )r)   framer   s      r   from_tracebackr/   2   sR     	  LLJJ%enn5::		
	A 	 H	s   ?A
num_framesc                    ddl m} ddlm} |j	                         }|rt        |d| z  d        S |j                         j                         }t        j                  j                  t        j                  t                    t        j                  j                  z   }t        t!        |            D ]@  \  }}||j"                  vs|t%        |      |z
  | z
  t%        |      |z
   }t        |      c S  t        |d| z  d        S )Nr   )TracingContextCapturedTracebackr   )torch._guardsr2   torch.utils._tracebackr4   extract_stackr/   extractsummaryospathdirnameinspectgetfiler   sep	enumeratereversedr   r   )	r0   r2   r4   user_tbr)   torch_filepathir.   filtered_tbs	            r   get_user_stackrF   A   s    ,8**,Ggb:o&7899		"	"	$	,	,	.B WW__W__U%;<rww{{JNhrl+ /5/SWq[:5B!DK!+..	/ "R*_./00r   cppc                 8   ddl m} ddlm} |j	                  |      j                         }|D cg c]N  }|j                  j                  d      r|j                   |       vsd|j                  v sd|j                  v r|P }}t        |d| z  d	       S c c}w )
zJ
    Returns the traceback for the user stack and the framework stack
    r   )uninteresting_filesr3   )rG   z.pyzat::ztorch::r   N)
%torch.fx.experimental.symbolic_shapesrI   r6   r4   r8   r9   r   endswithr"   r/   )r0   rG   rI   r4   r)   r.   s         r   get_framework_stackrL   V   s     J8		"	"s	"	+	3	3	5B 

 ''.NN*=*??%**$	UZZ(? 	

B 

 "R*_./00

s   AB)   F)__doc__r=   r:   	tracebackcollections.abcr   typingr   r   torch._logging._internalr   r   dictr   int__annotations__setr   r   r    FrameSummarylistr/   rF   boolrL   r   r   r   <module>rZ      s     	  $     "d38n ! c#h Xc] s   "x	 6 67 Dc3h<P 1s 1tDcN'; 1, ',11#1	$sCx.1r   