
    ;eR                     N   	 d Z dZddlZddlZddlmZmZ ddlT ddlm	Z	 d  e
e	          D             g d	z   Z[		 e n# e$ r eZY nw xY wd
 Zd Zd Zd ZdZdZe edez             z    ee          z   ZdZdZdZdZ edd          Z eeeee          ZdZ edd           ee          z   Zdez   Z eee          Z ededz             Z  ee ee          Z!dZ"dZ#dZ$d Z%d!Z& ee&d"z   e&d#z             Z' ee&d$z   e&d%z             Z( ed&d'd(d)d*d+d,d-d.	  	        Z)d/Z* ed0d1d2          Z+ ee)e*e+          Z, ee!e,e(e          Z-ee-z   Z. ee&d3z    ed4d          z   e&d5z    ed6d          z             Z/ edee'          Z0e ee0e!e,e/e          z   Z1 e2ej3        e.e1e$e%f          \  Z4Z5Z6Z7 ed7d8d9d:           ed7d8d;d<          z  h d=z  Z8 ej3        e"           ej3        e#          e6e7d>d? e8D             d@ e8D             dA e8D             Z9d"d#hdB e8D             z  dC e8D             z  Z:d4d6hdD e8D             z  dE e8D             z  Z;dFZ< G dG dHe=          Z> G dI dJe=          Z?dK Z@e@fdLZAdM ZB G dN dO          ZC ej3        dPejD                  ZE ej3        dQejD                  ZFdR ZGdS ZHdT ZIdU ZJeKdVk    rUddlLZL eMeLjN                  dk    r& eA eOeLjN        d                   jP                   dS  eAeLjQ        jP                   dS dS )WzKa-Ping Yee <ping@lfw.org>z@GvR, ESR, Tim Peters, Thomas Wouters, Fred Drake, Skip Montanaro    N)BOM_UTF8lookup)*   )tokenc                 *    g | ]}|d          dk    |S )r   _ ).0xs     -/usr/lib/python3.11/lib2to3/pgen2/tokenize.py
<listcomp>r   %   s!    
0
0
0AaDCKK1KKK    )tokenizegenerate_tokens
untokenizec                  8    dd                     |           z   dz   S )N(|))joinchoicess    r   groupr   0   s    C#((7"3"33c99r   c                      t          |  dz   S )Nr   r   r   s    r   anyr   1   s    %/C//r   c                      t          |  dz   S )N?r   r   s    r   mayber    2   s    E7Oc11r   c                  :     t           fd D                       S )Nc              3      K   | ];}d z   D ]3}|                                 |                                 k    ,||z   V  4<dS )) N)casefold)r   r   yls      r   	<genexpr>z _combinations.<locals>.<genexpr>4   s`        !e) qzz||qzz||/K/KA/K/K/K/K/K r   )set)r&   s   `r   _combinationsr)   3   s;             r   z[ \f\t]*z	#[^\r\n]*z\\\r?\nz\w+z0[bB]_?[01]+(?:_[01]+)*z(0[xX]_?[\da-fA-F]+(?:_[\da-fA-F]+)*[lL]?z0[oO]?_?[0-7]+(?:_[0-7]+)*[lL]?z[1-9]\d*(?:_\d+)*[lL]?z0[lL]?z[eE][-+]?\d+(?:_\d+)*z\d+(?:_\d+)*\.(?:\d+(?:_\d+)*)?z\.\d+(?:_\d+)*z\d+(?:_\d+)*z\d+(?:_\d+)*[jJ]z[jJ]z[^'\\]*(?:\\.[^'\\]*)*'z[^"\\]*(?:\\.[^"\\]*)*"z%[^'\\]*(?:(?:\\.|'(?!''))[^'\\]*)*'''z%[^"\\]*(?:(?:\\.|"(?!""))[^"\\]*)*"""z'(?:[uUrRbBfF]|[rR][fFbB]|[fFbBuU][rR])?'''"""z'[^\n'\\]*(?:\\.[^\n'\\]*)*'z"[^\n"\\]*(?:\\.[^\n"\\]*)*"z\*\*=?z>>=?z<<=?z<>z!=z//=?z->z[+\-*/%&@|^=<>]=?~z[][(){}]z\r?\nz:=z[:;.,`@]z'[^\n'\\]*(?:\\.[^\n'\\]*)*'z"[^\n"\\]*(?:\\.[^\n"\\]*)*"rRfFbB>   UuURUruRur)r-   r.   r*   r+   c                 $    i | ]}| d t           S r*   )single3progr   prefixs     r   
<dictcomp>r@   y        FFFv&~~~{FFFr   c                 $    i | ]}| d t           S r+   )double3progr>   s     r   r@   r@   z   rA   r   c                     i | ]}|d S Nr
   r>   s     r   r@   r@   {   s    777vt777r   c                     h | ]}| d S r<   r
   r>   s     r   	<setcomp>rH          ///^^^///r   c                     h | ]}| d S rC   r
   r>   s     r   rH   rH      rI   r   c                     h | ]}| d S )r-   r
   r>   s     r   rH   rH          ---f\\\---r   c                     h | ]}| d S )r.   r
   r>   s     r   rH   rH      rL   r      c                       e Zd ZdS )
TokenErrorN__name__
__module____qualname__r
   r   r   rP   rP                r   rP   c                       e Zd ZdS )StopTokenizingNrQ   r
   r   r   rW   rW      rU   r   rW   c                 z    |\  }}|\  }}t          d||||t          |          t          |          fz             d S )Nz%d,%d-%d,%d:	%s	%s)printtok_namerepr)	typer   xxx_todo_changemexxx_todo_changeme1linesrowscolerowecols	            r   
printtokenrd      sR    $LT4%LT4	
 	tT4$e=> ? ? ? ? ?r   c                 L    	 	 t          | |           d S # t          $ r Y d S w xY wrF   )tokenize_looprW   )readline
tokeneaters     r   r   r      sD    h
+++++   s    
##c                 4    t          |           D ]} ||  d S rF   )r   )rg   rh   
token_infos      r   rf   rf      s3    %h//    

J   r   c                   &    e Zd Zd Zd Zd Zd ZdS )Untokenizerc                 0    g | _         d| _        d| _        d S )Nr   r   )tokensprev_rowprev_col)selfs    r   __init__zUntokenizer.__init__   s    r   c                 f    |\  }}|| j         z
  }|r| j                            d|z             d S d S )N )rp   rn   append)rq   startrowcol
col_offsets        r   add_whitespacezUntokenizer.add_whitespace   sJ    S4=(
 	1KsZ/00000	1 	1r   c                 p   |D ]}t          |          dk    r|                     ||            nn|\  }}}}}|                     |           | j                            |           |\  | _        | _        |t          t          fv r| xj        dz  c_        d| _        d	                    | j                  S )N   r   r   r#   )
lencompatrz   rn   ru   ro   rp   NEWLINENLr   )rq   iterablettok_typer   rv   endr_   s           r   r   zUntokenizer.untokenize   s     
	" 
	"A1vv{{Ax(((01-HeUC&&&Ku%%%+.(DM4=GR=((" !wwt{###r   c                    d}g }| j         j        }|\  }}|t          t          fv r|dz  }|t          t
          fv rd}|D ]}|d d         \  }}|t          t          t          t          fv r|dz  }|t          k    r|                    |           Q|t          k    r|
                                 q|t          t
          fv rd}n|r|r ||d                    d} ||           d S )NFrt   Tr|   )rn   ru   NAMENUMBERr   r   ASYNCAWAITINDENTDEDENTpop)	rq   r   r   	startlineindentstoks_appendtoknumtokvaltoks	            r   r~   zUntokenizer.compat   s   	k(dF^##cMFgr]""I 	  	 C !WNFF$u555#v&&&6!!GR=(( 		 "w "GBK(((!	K#	  	 r   N)rR   rS   rT   rr   rz   r   r~   r
   r   r   rl   rl      sP          
1 1 1$ $ $         r   rl   z&^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)s   ^[ \t\f]*(?:[#\r\n]|$)c                     	 | d d                                                              dd          }|dk    s|                    d          rdS |dv s|                    d          rdS | S )	N   r	   -utf-8zutf-8-)zlatin-1
iso-8859-1ziso-latin-1)zlatin-1-ziso-8859-1-ziso-latin-1-r   )lowerreplace
startswith)orig_encencs     r   _get_normal_namer      sw    2
3B3-




'
'S
1
1C
g~~11~w
666
~~ABB 7|Or   c                 N    	 dd }d} fd}fd} |            }|                     t                    rd|dd          }d}|s|g fS  ||          }|r||gfS t                              |          s||gfS  |            }|s||gfS  ||          }|r|||gfS |||gfS )NFr   c                  V    	               S # t           $ r t                      cY S w xY wrF   )StopIterationbytes)rg   s   r   read_or_stopz%detect_encoding.<locals>.read_or_stop  s<    	8:: 	 	 	77NNN	s   	 ((c                 |   	 |                      d          }n# t          $ r Y d S w xY wt                              |          }|sd S t	          |                    d                    }	 t          |          }n # t          $ r t          d|z             w xY wr|j	        dk    rt          d          |dz  }|S )Nasciir   zunknown encoding: r   zencoding problem: utf-8z-sig)
decodeUnicodeDecodeError	cookie_rematchr   r   r   LookupErrorSyntaxErrorname)r_   line_stringr   encodingcodec	bom_founds        r   find_cookiez$detect_encoding.<locals>.find_cookie  s    	++g..KK! 	 	 	44	,, 	4#EKKNN33	?8$$EE 	? 	? 	?2X=>>>	?  	zW$$!";<<<Hs    
''+A; ;BT   z	utf-8-sig)r   r   blank_rer   )rg   r   defaultr   r   firstsecondr   s   `      @r   detect_encodingr      s2   " IHG        , LNNE!! 	abb	 {{5!!H !%  >>%    \^^F  {6""H )%((UFO##r   c                 J    	 t                      }|                    |           S rF   )rl   r   )r   uts     r   r   r   :  s$    " 
B=="""r   c              #     K   	 dx}x}}d\  }}d }dg}d }d}	d}
d}	 	  |             }n# t           $ r d}Y nw xY w|dz   }dt          |          }}|r|st          d|          |                    |          }|r>|                    d          x}}t
          ||d |         z   |||f||z   fV  d\  }}d }nZ|rA|dd          dk    r3|d	d          d
k    r%t          ||z   ||t          |          f|fV  d}d }||z   }||z   }|dk    r|s|sn	d}||k     rO||         dk    r|dz   }n2||         dk    r|t          z  dz   t          z  }n||         dk    rd}nn|dz   }||k     O||k    rn|r|V  d }||         dv r||         dk    ry||d                              d          }|t          |          z   }t          |||f||t          |          z   f|fV  t          ||d          ||f|t          |          f|fV  n>t          t          f||         dk             ||d          ||f|t          |          f|fV  0||d         k    r/|                    |           t          |d |         |df||f|fV  ||d         k     rT||vrt          dd|||f          |d d         }|	r|
|d         k    rd}	d}d}
t          d||f||f|fV  ||d         k     T|	r|r|
|d         k    rd}	d}d}
n|st          d|df          d}||k     rt                              ||          }|r|                    d          \  }}||f||f|}}}|||         ||         }}|t"          j        v s|dk    r|dk    rt&          ||||fV  n|dv r,t(          }|dk    rt          }n|	rd}|r|V  d }|||||fV  nO|dk    r|r|V  d }t          ||||fV  n1|t*          v rpt,          |         }|                    ||          }|r9|                    d          }|||         }|r|V  d }t
          ||||f|fV  n||f}||d          }|}n|t.          v s"|d d         t.          v s|d d         t.          v rk|d         dk    rG||f}t,          |         p%t,          |d                  pt,          |d                  }||d          d}}|}nA|r|V  d }t
          ||||fV  n"|                                r|dv r|	r|dk    rt2          nt4          ||||fV  t6          ||||f}|dk    r|s|}/|dv rW|rU|d         t6          k    rD|d         dk    r8|dk    r
d}	|d         }
t2          |d         |d         |d         |d         fV  d }|r|V  d }|V  nk|dk    r|r|V  d }t          ||||f|fV  d}nJ|d v r|dz   }n	|d!v r|dz
  }|r|V  d }t8          ||||fV  n t          ||         ||f||dz   f|fV  |dz   }||k     |r|V  d }|dd          D ]}t          d|df|dfdfV  t:          d|df|dfdfV  d S )"Nr   )r#   r   Fr   r#   zEOF in multi-line stringz\
z\
rt   	z#
#z
r   z3unindent does not match any outer indentation levelz
<tokenize>zEOF in multi-line statement.Tr|   r   
)asyncawaitr   )defforr      \z([{z)]})r   r}   rP   r   r   STRING
ERRORTOKENtabsizerstripCOMMENTr   ru   r   IndentationErrorr   
pseudoprogspanstringdigitsr   r   triple_quotedendprogssingle_quotedisidentifierr   r   r   OP	ENDMARKER)rg   lnumparenlev	continuedcontstrneedcontcontliner   stashed	async_defasync_def_indentasync_def_nlr_   posmaxstrstartendprogendmatchr   columncomment_tokennl_pospseudomatchrv   sposeposr   initialnewliner   indents                                  r   r   r   O  s	      #$#D#8iGXHcG GIL}	8::DD 	 	 	DDD	axc$iiS J	 G !;XFFF}}T**H $LLOO+cwdsd3$ho? ? ? ?$)! 	d233i611d233i86K6K!7T>#dCII%6B B B B!D.#d?]]9]F))9##fqjVV#Y$&&&'/A2Ew1N#Y$&&Ag )) czz5 CyG##9##$(J$5$5f$=$=M 3}#5#55F"M #;sS5G5G/G(H$P P P PtFGG} &>D#d))+<dD D D D D =cc)9:DJ #;s4yy(94A A A A##v&&&tDSDzD!9tSk4HHHH72;&&((*M%tS$79 9 9 "#2#, )!1WR[!@!@ %I#(L'($rD#;sTBBBB 72;&&  %\ %.>'"+.M.M!	$#$   K !>q	JJJICii$**455K g(--a00
s#'-$cCd!%eCi$u+wfm++sNNu||!5$d;;;;;&&%G!||"$" ,'+ '%"&"E4t<<<<<^^ '%"&"E4t<<<<<m++&uoG&}}T377H &ll1oo $U3Y" +")MMM&*G%udT3KFFFFF$(%="&uvv,#'--"1"I.."1"I..RyD(($(%=#+G#4 $6q8J $6#+E!H#5  ,0L!#'" +")MMM&*G%udD$?????))++ ,8 222$ %,1W,<,<55%#($d#< < < <$dD9C'''"% ..# +$+AJ$$6$6$+AJ'$9$9$~~,0	3:2; 0#('!*#*1:wqz#*1:#/ / / / '+G '%"&IIII__ '%"&udT3K>>>> !II%''HqL E))hl8 '%"&udD$77777!49 #;s1ut= = = =AgS Ciii}~  !""+ 5 5rD!9tQi44444b4)dAY
333333s   
) 88__main__)R
__author____credits__r   recodecsr   r   lib2to3.pgen2.tokenr#   r   dir__all__r   	NameErrorstrr   r   r    r)   
WhitespaceCommentIgnoreName	Binnumber	Hexnumber	Octnumber	Decnumber	IntnumberExponent
PointfloatExpfloatFloatnumber
ImagnumberNumberSingleDoubleSingle3Double3
_litprefixTripleStringOperatorBracketSpecialFunny
PlainTokenTokenContStrPseudoExtrasPseudoTokenmapcompile	tokenprogr   r=   rD   _strprefixesr   r   r   r   	ExceptionrP   rW   rd   r   rf   rl   ASCIIr   r   r   r   r   r   rR   sysr}   argvopenrg   stdinr
   r   r   <module>r#     s  #0 *
F          # # # # # # # # ! ! ! !      
0
0cc%jj
0
0
0 4, 4, 4, ,		EE    EEE
 : 9 9 / / / 1 1 1  
 

	cc*z122	2UU7^^	C&	7	.	E+X66	E)Y	9==	#U57HIIEERZOO[
X%eJ))U&g(=>>
	z;		2	2 
$	#
2
27
	zE!:#5	6	6	z;;;;
= 
= 5GWeU%% 
 
%%
-
-h))U65&$//
 %
;;c:&&';;c:&&'( ( uZ&1155vugtLLL25#JWg638 38 /	:{K M#sC%%M#sC%%&&&&'  F##*"*V*<*<{9 9FFFFF9 GFFFF9 87,777	9 EN//,///0//,///0  	#J-----.-----.   ! ! ! ! ! ! ! ! % % % % %Y % % %? ? ? #-    &     6  6  6  6  6  6  6  6 p BJ@"(KK	2:0"(;;	 	 	G$ G$ G$R# # #*`4 `4 `4D zJJJ
s38}}q((44#4#4#=>>>>>
(39%
&
&
&
&
& s   ? A	A	