
    =Ogc                        	 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 g dZd1dZ	d Z
d2dZd1dZd1dZd	Zd
Z G d d          Z e            Zd ZeedddfdZeeddfdZefdZd ZefdZd3dZd4dZd3dZd5dZd2dZd2dZd Z G d d          Z d Z!d Z"d Z#d  Z$d!Z% G d" d#e&          Z'd$ Z( ej)        d%g d&d'd(g)          Z*d* Z+d+Z,d, Z- G d- d.          Z. G d/ d0          Z/dS )6    N)suppress)extract_stack
extract_tbformat_exceptionformat_exception_onlyformat_listformat_stack	format_tb	print_exc
format_excprint_exception
print_lastprint_stackprint_tbclear_framesFrameSummaryStackSummaryTracebackException
walk_stackwalk_tbc                     	 |t           j        }t                              |                                           D ]}t          ||d           d S )N fileend)sysstderrr   	from_listformatprint)extracted_listr   items      "/usr/lib64/python3.11/traceback.py
print_listr$      s_    E|z&&~66==?? ' 'd2&&&&&' '    c                 \    	 t                               |                                           S N)r   r   r   )r!   s    r#   r   r      s)    
 !!.1188:::r%   c                 H    	 t          t          | |          |           d S Nlimit)r   )r$   r   )tbr+   r   s      r#   r   r   /   s/     z"E***666666r%   c                 J    	 t          | |                                          S Nr*   )r   r   r,   r+   s     r#   r
   r
   9   s$    ?b&&&--///r%   c                 V    	 t                               t          |           |          S r.   )r    _extract_from_extended_frame_gen_walk_tb_with_full_positionsr/   s     r#   r   r   =   s3     88$R(( 9 7 7 7r%   zG
The above exception was the direct cause of the following exception:

zF
During handling of the above exception, another exception occurred:

c                       e Zd Zd ZdS )	_Sentinelc                     dS )Nz
<implicit> selfs    r#   __repr__z_Sentinel.__repr__[   s    |r%   N)__name__
__module____qualname__r9   r6   r%   r#   r4   r4   Z   s#            r%   r4   c                     |t           u |t           u k    rt          d          ||cxu r	t           u rJn nG| Ct          | t                    r	| | j        fS t          dt          |           j         d          dS ||fS )Nz-Both or neither of value and tb must be givenzException expected for value, z foundNN)	_sentinel
ValueError
isinstanceBaseException__traceback__	TypeErrortyper:   )excvaluer,   s      r#   _parse_value_tbrH   `   s    i00HIIIi?#}-- .C--- :#Cyy1: : : ; ; ; :"9r%   Tc                    	 t          | ||          \  }}t          t          |          |||d          }|                    ||           d S )NTr+   compactr   chain)rH   r   rE   r    )rF   rG   r,   r+   r   rM   tes          r#   r   r   o   sX    	  UB//IE2	DKK%	N	N	NBHH$eH$$$$$r%   c                    	 t          | ||          \  }}t          t          |          |||d          }t          |                    |                    S )NTrJ   rM   )rH   r   rE   listr   )rF   rG   r,   r+   rM   rN   s         r#   r   r      sX      UB//IE2	DKK%	N	N	NB			&&'''r%   c                    	 |t           u r| }t          t          |          |d d          }t          |                                          S )NT)rK   )r?   r   rE   rQ   r   )rF   rG   rN   s      r#   r   r      sO    	 		DKKd	C	C	CB((**+++r%   c                 J    t          |d          }||sd| z  }n| d|d}|S )N	exceptionz%s
z: 
)_safe_string)etyperG   valuestrlines       r#   _format_final_exc_linerZ      s<    E;//H}H}~"UUHHH-Kr%   c                 D    	  ||           S #  d| d|j          dcY S xY w)N< z
() failed>)r:   )rG   whatfuncs      r#   rV   rV      s?    4tE{{43433$-333333s   
 c                 F    	 t          t          j                    | ||d d S )Nr+   r   rM   )r   r   exc_infora   s      r#   r   r      s(    HS\^^5t5IIIIIIr%   c                 f    	 d                     t          t          j                    | |d          S )Nr   r+   rM   )joinr   r   rb   rd   s     r#   r   r      s-    /77#S\^^5NNNOOOr%   c                     	 t          t          d          st          d          t          t          j        t          j        t          j        | ||           d S )N	last_typezno last exception)hasattrr   r@   r   rg   
last_valuelast_tracebackra   s      r#   r   r      sX    :3$$ .,---CM3>33E4( ( ( ( (r%   c                 |    	 | t          j                    j        } t          t	          | |          |           d S r)   )r   	_getframef_backr$   r   )fr+   r   s      r#   r   r      sB     	yMOO"}Qe,,,4888888r%   c                 t    	 | t          j                    j        } t          t	          | |                    S r.   )r   rl   rm   r   r   )rn   r+   s     r#   r	   r	      s3    ?yMOO"}Qe444555r%   c                     	 | t          j                    j        } t                              t          |           |          }|                                 |S r.   )r   rl   rm   r   extractr   reverse)rn   r+   stacks      r#   r   r      sL     	yMOO"  Ae <<E	MMOOOLr%   c                 x    	 | 6	 | j                                          n# t          $ r Y nw xY w| j        } | 4d S d S r'   )tb_frameclearRuntimeErrortb_nextr,   s    r#   r   r      s^    K
.	K 	 	 	D	 Z .....s    
,,c                   t    e Zd Z	 dZddddddddZd Zd Zd Zd	 Zd
 Z	e
d             Ze
d             ZdS )r   )filenamelineno
end_linenocolno	end_colnoname_linelocalsTN)lookup_liner   rY   r}   r~   r   c                    	 || _         || _        || _        || _        |r| j         |rd |                                D             nd | _        || _        || _        |	| _	        d S )Nc                 4    i | ]\  }}|t          |          S r6   )repr).0kvs      r#   
<dictcomp>z)FrameSummary.__init__.<locals>.<dictcomp>  s$    ===daq$q''===r%   )
r{   r|   r   r   rY   itemsr   r}   r~   r   )
r8   r{   r|   r   r   r   rY   r}   r~   r   s
             r#   __init__zFrameSummary.__init__  su    	 !	
 	IIAGQ==fllnn====T$
"r%   c                     t          |t                    r@| j        |j        k    o/| j        |j        k    o| j        |j        k    o| j        |j        k    S t          |t                    r| j        | j        | j        | j        f|k    S t          S r'   )	rA   r   r{   r|   r   r   tuplerY   NotImplementedr8   others     r#   __eq__zFrameSummary.__eq__  s    e\** 	1MU^3 0K5</0I+0 K5</1 eU## 	OM4;	49ENNr%   c                 B    | j         | j        | j        | j        f|         S r'   )r{   r|   r   rY   )r8   poss     r#   __getitem__zFrameSummary.__getitem__&  s    t{DItyA#FFr%   c                 P    t          | j        | j        | j        | j        g          S r'   )iterr{   r|   r   rY   r7   s    r#   __iter__zFrameSummary.__iter__)  s!    T]DKDIFGGGr%   c                 P    d                     | j        | j        | j                  S )Nz7<FrameSummary file {filename}, line {lineno} in {name}>)r{   r|   r   )r   r{   r|   r   r7   s    r#   r9   zFrameSummary.__repr__,  s0    HOO]4;TY P H H 	Hr%   c                     dS )N   r6   r7   s    r#   __len__zFrameSummary.__len__0  s    qr%   c                     | j          | j        S r'   )rY   r   r7   s    r#   _original_linezFrameSummary._original_line3  s     			zr%   c                     | j         -| j        d S t          j        | j        | j                  | _         | j                                         S r'   )r   r|   	linecachegetliner{   stripr7   s    r#   rY   zFrameSummary.line9  sC    :{"t"*4=$+FFDJz!!!r%   )r:   r;   r<   	__slots__r   r   r   r   r9   r   propertyr   rY   r6   r%   r#   r   r      s        ,I ?Cd44# # # # #.  G G GH H HH H H     X
 " " X" " "r%   r   c              #      K   	 | 't          j                    j        j        j        j        } | | | j        fV  | j        } | d S d S r'   )r   rl   rm   f_lineno)rn   s    r#   r   r   B  sV      
 	yMOO")07
-mH -----r%   c              #   F   K   	 | | j         | j        fV  | j        } | d S d S r'   )ru   	tb_linenorx   ry   s    r#   r   r   O  s=      
 .k2<''''Z .....r%   c              #      K   | Zt          | j        j        | j                  }|d         | j        | j        f|dd          z   fV  n| j        |fV  | j        } | Xd S d S )Nr      )_get_code_positionru   f_codetb_lastir   rx   )r,   	positionss     r#   r2   r2   Z  s       .&r{'92;GG	 Q<+/)ABB-??????+y((((Z .....r%   c                     |dk     rdS |                                  }t          t          j        ||dz  d                     S )Nr   )NNNN   )co_positionsnext	itertoolsislice)codeinstruction_indexpositions_gens      r#   r   r   h  sG    1''%%''M	 0AQ0FMMNNNr%      c                   r    e Zd Z	 eddddd            Zeddddd            Zed             Zd Zd	 ZdS )
r   NTFr+   lookup_linescapture_localsc                R    	 fd}|                       |            |||          S )Nc               3   0   K   D ]\  } }| |d d d ffV  d S r'   r6   )rn   r|   	frame_gens     r#   extended_frame_genz0StackSummary.extract.<locals>.extended_frame_gen  sA      & 4 4	6&$d3333334 4r%   r   )r1   )klassr   r+   r   r   r   s    `    r#   rq   zStackSummary.extractt  sS    
		4 	4 	4 	4 	4 55  L) 6 + + 	+r%   c                @   | t          t          dd           }||dk     rd}|3|dk    rt          j        ||          }nt	          j        ||           } |             }t                      }|D ]\  }\  }}	}
}|j        }|j        }|j	        }|
                    |           t          j        ||j                   |r|j        }nd }|                    t!          |||d||	|
|                     |D ]}t          j        |           |r|D ]	}|j         
|S )Ntracebacklimitr   )maxlenF)r   r   r}   r~   r   )getattrr   r   r   collectionsdequesetr   co_filenameco_nameaddr   	lazycache	f_globalsf_localsappendr   
checkcacherY   )r   r   r+   r   r   resultfnamesrn   r|   r}   r~   r   cor{   r   r   s                   r#   r1   z-StackSummary._extract_from_extended_frame_gen  s|    =C!1488E UQYYzz%,Y>>		'-iGGG	9B 	J 	J5A5
E9B~H:DJJx   !+666  :MM,&$E(%UiI I I J J J J  	+ 	+H **** 	  r%   c           	          	 t                      }|D ]Z}t          |t                    r|                    |           -|\  }}}}|                    t          ||||                     [|S )NrY   )r   rA   r   r   )r   a_listr   framer{   r|   r   rY   s           r#   r   zStackSummary.from_list  s    	  	O 	OE%.. Oe$$$$/4,&$l8VTMMMNNNNr%   c                 X   	 g }|                     d                    |j        |j        |j                             |j        ru|j                                        }|                     d                    |                     |j        }t          |          }t          |j        	                                          }||z
  }|j
        |j        t          ||j
                  }t          ||j                  }	|||	         }
d }|j        |j        k    r<t          t                    5  t!          |
          }d d d            n# 1 swxY w Y   n!t          |                                          }	|	|z
  t          |          k     s|r'|j        |j        z
  dk    rt)          ||          dz   }t)          ||	          dz   }|                     d           |                     d||z
  z             |rt)          |
|j                  }t)          |
|j                  }|                     |j        |z             |                     |j        ||z
  z             |                     |j        ||z
  |z
  z             n|                     d||z
  z             |                     d           |j        rVt1          |j                                                  D ]/\  }}|                     d	                    ||
                     0d                    |          S )Nz  File "{}", line {}, in {}
    {}
r   r   z    r]   ^rU   z    {name} = {value}
)r   rG   r   )r   r   r{   r|   r   rY   r   r   lenlstripr~   r    _byte_offset_to_character_offsetr}   r   	Exception(_extract_caret_anchors_from_line_segmentrstripright_start_offsetleft_end_offset_display_widthprimary_charsecondary_charr   sortedr   re   )r8   frame_summaryrowstripped_linerY   orig_line_lenframe_line_lenstripped_charactersstart_offset
end_offsetcode_segmentanchorsdp_start_offsetdp_end_offsetdp_left_end_offsetdp_right_start_offsetr   rG   s                     r#   format_frame_summaryz!StackSummary.format_frame_summary  s   	
 

299"M$8-:LN N 	O 	O 	O 0	%).4466MJJz((77888 /DIIM !3!:!:!<!<==N"/."@#/!+7?-- /  /=-13 3
#L$;< '=+CCC!),, Y Y"J<"X"XY Y Y Y Y Y Y Y Y Y Y Y Y Y Y
 "%T[[]]!3!3J ,s=/A/AAA B$+$>AX$X[\$\$\ '5T<&H&H1&LO$24$D$Dq$HMJJv&&&JJso8K&KLMMM L-;L'Ja-b-b*0>|WMg0h0h-

7#7:L#LMMM

7#9=RUg=g#hiii

7#7=?;Z]r;r#stttt

3-/*I#JKKKJJt$$$ 	T%m&:&@&@&B&BCC T Te

3::E:RRSSSSwws||s   1EEEc                    	 g }d }d }d }d}| D ]}|                      |          }||%||j        k    s|||j        k    s|||j        k    rP|t          k    r.|t          z  }|                    d| d|dk    rdnd d           |j        }|j        }|j        }d}|dz  }|t          k    r|                    |           |t          k    r.|t          z  }|                    d| d|dk    rdnd d           |S )Nr   z  [Previous line repeated z
 more timer   sr   z]
)r   r{   r|   r   _RECURSIVE_CUTOFFr   )r8   r   	last_file	last_line	last_namecountr   formatted_frames           r#   r   zStackSummary.format  s   
	 			! 	+ 	+M"77FFO&!Y-2H%H%H!Y-2F%F%F!Y-2D%D%D,,,..EMM=U = =&+aiissR= = =   *2	)0	).	QJE(((MM/****$$$&&EMM5U 5 5#aiissR5 5 5   r%   )	r:   r;   r<   classmethodrq   r1   r   r   r   r6   r%   r#   r   r   q  s        I+/d + + + + [+* DHe' ' ' ' ['R   [$? ? ?B- - - - -r%   r   c                     |                      d          }t          |d |                             dd                    S )Nzutf-8replace)errors)encoder   decode)stroffsetas_utf8s      r#   r   r   8  s=    jj!!Gwww&&wy&AABBBr%   _Anchors)r   r   r   r   ~r   )defaultsc                     dd l }	 |                               }n# t          $ r Y d S w xY wt          |j                  dk    rd S  fd}|j        d         }||j        dx\  }|x|j        d xF\     ||j        j                  } ||j	        j
                  } ||         }t          |          t          |                                          z
  }	|j        j        |	z   }
|
dz   }|	dz   t          |          k     r"||	dz                                            s|dz  }|
t                     k     r] |
         x}                                s|dv r=|
dz  }
|dz  }|
t                     k     r  |
         x}                                9|dv =t           ||
           ||                    S  |j        d x5\    ||j        j                  }
 ||j        j        dz             }|
t                     k     r\ |
         x}                                s|dk    r:|
dz  }
|
t                     k     r" |
         x}                                4|dk    :|t                     k     r\ |         x}                                s|dk    r:|dz  }|t                     k     r" |         x}                                4|dk    :|t                     k     r|dz  }t          |
|          S  n d S )Nr   r   c                 $    t          |           S r'   )r   )r  segments    r#   <lambda>z:_extract_caret_anchors_from_line_segment.<locals>.<lambda>S  s    ?PP r%   r6   z)#[])astparseSyntaxErrorr   bodyExprBinOpleftend_col_offsetright
col_offsetr   isspacer  	SubscriptrG   slice)r  r  tree	normalize	statementexproperator_startoperator_endoperator_stroperator_offsetleft_anchorright_anchorchs   `            r#   r   r   H  s   JJJyy!!   tt 49~~tPPPPI	!I
X^^^^^d SY[[[[[[%.Yty/G%H%HN#,9TZ-B#C#CL#*>,+F#GL&),&7&7#l>Q>Q>S>S:T:T&TO"&)":_"LK#.?L'!+c,.?.??? ,_q-@ A I I K K @ %)%G44AU;U2:^:^:`:`4dfjndndn#q($) &G44AU;U2:^:^:`:`4dfjndndn $IIk$:$:IIl<S<STTT# !$ ]_____"+)DJ,E"F"FK#,9TZ-F-J#K#KL%G44AU;U2:^:^:`:`4dfjmdmdm#q( &G44AU;U2:^:^:`:`4dfjmdmdm&W55',BW<WB;`;`;b;b5fhlofofo$) 'W55',BW<WB;`;`;b;b5fhlofofo#c'll22$)#K>>> %_) > 4s    
++WFc                     	 |                                  r|S dd lt          fd| d |         D                       S )Nr   c              3   X   K   | ]$}                     |          t          v rd ndV  %dS )r   r   N)east_asian_width_WIDE_CHAR_SPECIFIERS)r   charunicodedatas     r#   	<genexpr>z!_display_width.<locals>.<genexpr>  sT         ))$//3HHHa     r%   )isasciir.  sum)rY   r  r.  s     @r#   r   r   y  sl    I
 ||~~     &M     r%   c                   "    e Zd Zd Zd ZddZdS )_ExceptionPrintContextc                 H    t                      | _        d| _        d| _        d S )Nr   F)r   seenexception_group_depth
need_closer7   s    r#   r   z_ExceptionPrintContext.__init__  s     EE	%&"r%   c                     dd| j         z  z  S )Nr]   r   )r6  r7   s    r#   indentz_ExceptionPrintContext.indent  s    a$4455r%   Nc              #      K   |d}|                                  }| j        r||dz   z  }t          |t                    rt	          j         ||d           V  d S |D ]}t	          j         ||d           V  d S )N|r]   c                     dS NTr6   r   s    r#   r  z-_ExceptionPrintContext.emit.<locals>.<lambda>      T r%   c                     dS r=  r6   r   s    r#   r  z-_ExceptionPrintContext.emit.<locals>.<lambda>  r>  r%   )r9  r6  rA   r  textwrap)r8   text_genmargin_char
indent_strtexts        r#   emitz_ExceptionPrintContext.emit  s      K[[]]
% 	,+++Jh$$ 	K/(J8I8IJJJJJJJ  K KodJ8I8IJJJJJJK Kr%   r'   )r:   r;   r<   r   r9  rE  r6   r%   r#   r3  r3    sL             
6 6 6K K K K K Kr%   r3  c                   x    e Zd Z	 dddddddddZed             Zd	 Zd
 Zd Zd Z	d Z
ddddZddddZdS )r   NTF   
   )r+   r   r   rK   max_group_widthmax_group_depth_seenc                   |
d u}|
t                      }
|
                    t          |                     || _        |	| _        t
                              t          |          |||          | _        || _	        t          |d          | _        	 t          |dd           | _        n6# t          $ r)}dt          |dt                     g| _        Y d }~nd }~ww xY w|rt!          |t"                    rz|j        | _        |j        }|t)          |          nd | _        |j        }|t)          |          nd | _        |j        | _        |j        | _        |j        | _        |j        | _        |r|                                  ||j        nd| _        |s| |fg}|r|                                \  }}|rW|j        Pt          |j                  |
vr:t=          t?          |j                  |j        |j        j         |||||	|
	  	        }nd }|r|d u o|d uo|j         }nd}|rY|j!        R|rPt          |j!                  |
vr:t=          t?          |j!                  |j!        |j!        j         |||||	|
	  	        }nd }|ratE          |tF                    rLg }|j$        D ]A}t=          t?          |          ||j         |||||	|
	  	        }|%                    |           Bnd }||_        ||_!        ||_$        |r!|%                    |j        |j        f           |r!|%                    |j!        |j!        f           |r-|&                    tO          |j$        |j$                             |d S d S d S )Nr   rT   	__notes__z!Ignored error getting __notes__: F)r+   r   r   rI  rJ  rK  T)(r   r   idrI  rJ  r   r1   r2   rs   exc_typerV   _strr   rM  r   r   
issubclassr  r{   r|   r  r}   rD  r  r   msg_load_lines__suppress_context__pop	__cause__r   rE   rC   __context__rA   BaseExceptionGroup
exceptionsr   extendzip)r8   rO  	exc_valueexc_tracebackr+   r   r   rK   rI  rJ  rK  is_recursive_callelnoend_lnoqueuerN   causeneed_contextcontextrY  rF   texcs                          r#   r   zTracebackException.__init__  sA    "-=EEE		"Y--   ..!BB(77l) C + +
 ! !K88		Z$YTBBDNN 	Z 	Z 	ZXLKQU4V4VXXZDNNNNNN	Z  
	%
8[99 
	%%.DM"C&)o#c(((4DK*G.5.Ac'llltDO!DI#*DK'2DO }DH 	.7.CI** 	!
 ! A	CI&'E ?C		A !!+11;u44.Q[))1#%1'5(7(7#	% 	% 	%EE !E ($)TM %?$%TM%?()(>$> !L $(L #!-3$ 4)+AM):):%)G)G0Q]++3#%1'5(7(7#	% 	% 	%GG #G &A'9:: &!#J | 0 01 II-"')5+9,;,;"'	 ) 	 ) 	 ) #))$////0 "&J$!( * >LL",!<=== BLL".!-!@AAA CLLR]AL!A!ABBB  ?C ?C ?CA	C A	C?C ?Cs   B) )
C3CCc                 D    	  | t          |          ||j        g|R i |S r'   )rE   rC   )clsrF   argskwargss       r#   from_exceptionz!TracebackException.from_exception;  s2    <s499c3#4FtFFFvFFFr%   c                 *    	 | j         D ]	}|j         
d S r'   )rs   rY   )r8   r   s     r#   rS  zTracebackException._load_lines@  s)    EZ 	 	EJJJ	 	r%   c                 Z    t          |t                    r| j        |j        k    S t          S r'   )rA   r   __dict__r   r   s     r#   r   zTracebackException.__eq__E  s*    e/00 	3=EN22r%   c                     | j         S r'   )rP  r7   s    r#   __str__zTracebackException.__str__J  s
    yr%   c              #   t  K   	 | j         t          d | j                  V  d S | j         j        }| j         j        }|dvrt          |t                    sd}|dz   |z   }t          | j         t                    st          || j                  V  n| 	                    |          E d {V  t          | j
        t          j        j                  rA| j
        D ]7}t          |d          }d |                    d          D             E d {V  8d S | j
         t          | j
        dt                     V  d S d S )	N)__main__builtinsz	<unknown>.notec                     g | ]}|d z   S )rU   r6   )r   ls     r#   
<listcomp>z<TracebackException.format_exception_only.<locals>.<listcomp>l  s    ???AH???r%   rU   rM  )r_   )rO  rZ   rP  r<   r;   rA   r  rQ  r  _format_syntax_errorrM  r   abcSequencerV   splitr   )r8   stypesmodru  s       r#   r   z(TracebackException.format_exception_onlyM  s~     	 = (ty99999F*}'///dC(( #"3J&E$-55 	8(	::::::00777777777dnko&>?? 	G @ @#D&11??djj.>.>???????????@ @ ^'t~{FFFFFFFF ('r%   c              #     K   	 d}| j         %d                    | j        pd| j                   V  n!| j        d                    | j                  }| j        }||                    d          }|                    d          }t          |          t          |          z
  }d                    |          V  | j        | j        }| j        dvr| j        n|}||k    s|d	k    r|d
z   }|d
z
  |z
  }	|d
z
  |z
  }
|	dk    rHd |d |	         D             }d                    d	                    |          d|
|	z
  z  dz             V  | j
        pd}d                    |||          V  d S )Nr   z  File "{}", line {}
z<string>z ({})rU   z 
r   >   Nr   r   r   c              3   F   K   | ]}|                                 r|nd V  dS )r]   N)r  )r   cs     r#   r/  z:TracebackException._format_syntax_error.<locals>.<genexpr>  s3      !U!U!		#<11!U!U!U!U!U!Ur%   z    {}{}r   z<no detail available>z	{}: {}{}
)r|   r   r{   rD  r   r   r   r  r   re   rR  )r8   r}  filename_suffixrD  rtextltextspacesr  r   r~   r   
caretspacerR  s                r#   ry  z'TracebackException._format_syntax_errorp  s     >;"*11+T[: : : : : :]&%nnT];;Oy KK%%ELL))EZZ#e**,F##E*****{&04y0P0PT__V\
Z'':+;+;!'!J 
V+&NV3	A::!U!UuVeV}!U!U!UJ$++BGGJ,?,?#UZIZB[^bBbdddddh11!!%o>>>>>>>r%   rM   _ctxc          	   #     K   	 |t                      }g }| }|rU|rR|j        t          }|j        }n!|j        |j        st
          }|j        }nd }d }|                    ||f           |}|Rn|                    d |f           t          |          D ]\  }}||                    |          E d {V  |j	        |j
        rM|                    d          E d {V  |                    |j
                                                  E d {V  |                    |                                          E d {V  |j        | j        k    r%|                    d| j         d          E d {V  |j        dk    }|r|xj        dz  c_        |j
        rS|                    d|rdnd           E d {V  |                    |j
                                                  E d {V  |                    |                                          E d {V  t          |j	                  }	|	| j        k    r|	}
n
| j        dz   }
d	|_        t%          |
          D ]}||
dz
  k    }|rd
|_        | j        || j        k    }nd	}|s|dz    nd}|                                |dk    rdndz   d| dz   V  |xj        dz  c_        |s)|j	        |                             ||          E d {V  n6|	| j        z
  }|dk    rdnd}|                    d| d| d          E d {V  |r'|j        r |                                dz   V  d	|_        |xj        dz  c_        |rd|_        d S )Nz#Traceback (most recent call last):
z... (max_group_depth is z)
r   r   z3Exception Group Traceback (most recent call last):
+)rB  FTz...z+-z  z+---------------- z ----------------
r  r   r   zand z more exceptionrU   z&+------------------------------------
)r3  rV  _cause_messagerW  rT  _context_messager   reversedrE  rY  rs   r   r   r6  rJ  r   rI  r7  ranger9  )r8   rM   r  outputrF   chained_msgchained_excrR  is_toplevelnum_excsnilast_exc	truncatedtitle	remainingplurals                    r#   r   zTracebackException.format  s     
	 <)++D 	' "=,"0K"%-KKo22 3"2K"%/KK"&K"&K{C0111!  " MM4+&&& (( >	3 >	3HC99S>>)))))))~%9 =#yy)OPPPPPPPPP#yy)9)9););<<<<<<<<<99S%>%>%@%@AAAAAAAAAA+d.BBB99Ht/CHHHJ J J J J J J J J J  $9Q> 4..!3..9 =#yyN-8&Bccd  )  D  D D D D D D D D  $yy)9)9););<<<<<<<<<99S%>%>%@%@AAAAAAAAAs~..t333 AA,q0A"'q 4 4A !QqSH /*.+7%&$*>%>		$)	,5@qsHH5E;;==$%qDDDDd4JJJJK L L L ..!3..$ I#&>!#4#;#;%d#;#S#SSSSSSSSS$,t/C$C	(1A2#'99G9GGVGGG$I $I I I I I I I I   0DO 0#{{}}H I J J J*/..!3... 312D.}>	3 >	3r%   rL   c                z    	 |t           j        }|                     |          D ]}t          ||d           d S )NrP   r   r   )r   r   r   r    )r8   r   rM   rY   s       r#   r    zTracebackException.print  sP    E<:DKKeK,, 	+ 	+D$Tr*****	+ 	+r%   )r:   r;   r<   r   r   rk  rS  r   rp  r   ry  r   r    r6   r%   r#   r   r     s       $L EIeU$pC pC pC pC pCd G G [G  
  
  !G !G !GF"? "? "?H # b3 b3 b3 b3 b3J ! + + + + + + +r%   r   r'   r>   )NNTr=  )NNN)0collections.abcr   r   r   r   r@  
contextlibr   __all__r$   r   r   r
   r   r  r  r4   r?   rH   r   r   r   rZ   r  rV   r   r   r   r   r	   r   r   r   r   r   r2   r   r   rQ   r   r   
namedtupler  r   r,  r   r3  r   r6   r%   r#   <module>r     s   F             



       $ $ $' ' ' '; ; ;$7 7 7 70 0 0 07 7 7 7*& 
& 
        IKK	   #,	T% % % %" $-$( ( ( ( )2 , , , ,&   $' 4 4 4 4J J J JP P P P( ( ( (	9 	9 	9 	96 6 6 6      K" K" K" K" K" K" K" K"\
 
 
    O O O  D D D D D4 D D DNC C C
 ";!   3Z	 	 	- - -^    $K K K K K K K K.\+ \+ \+ \+ \+ \+ \+ \+ \+ \+r%   