a XC?hR� @s�dZdZddlZddlZddlmZmZddlTddlm Z dd �e e �D�gd �Z [ ze Wne yveZ Yn0d d �Zd d�Zdd�Zdd�ZdZdZeede�ee�ZdZdZdZdZedd�Zeeeee�ZdZedd�ee�ZdeZeee�Zed ed!�Z ee ee�Z!d"Z"d#Z#d$Z$d%Z%d&Z&ee&d'e&d(�Z'ee&d)e&d*�Z(ed+d,d-d.d/d0d1d2d3� Z)d4Z*ed5d6d7�Z+ee)e*e+�Z,ee!e,e(e�Z-ee-Z.ee&d8ed9d�e&d:ed;d��Z/edee'�Z0eee0e!e,e/e�Z1e2ej3e.e1e$e%f�\Z4Z5Z6Z7edd?�edGdPdQ�dQe=�Z?dRdS�Z@e@fdTdU�ZAdVdW�ZBGdXdY�dY�ZCe�3dZejD�ZEe�3d[ejD�ZFd\d]�ZGd^d_�ZHd`da�ZIdbdc�ZJeKddk�r�ddlLZLeMeLjN�dk�rxeAeOeLjNd�jP�n eAeLjQjP�dS)ezKa-Ping Yee z@GvR, ESR, Tim Peters, Thomas Wouters, Fred Drake, Skip Montanaro�N)�BOM_UTF8�lookup)�*�)�tokencCsg|]}|ddkr|�qS)r�_�)�.0�xrr�;/opt/alt/python39/lib64/python3.9/lib2to3/pgen2/tokenize.py� %�r )�tokenize�generate_tokens� untokenizecGsdd�|�dS)N�(�|�))�join��choicesrrr �group0r rcGs t|�dS)Nr�rrrrr �any1r rcGs t|�dS)N�?rrrrr �maybe2r rcst�fdd��D��S)Nc3s4|],}�dD]}|��|��kr||VqqdS))�N)�casefold)r r �y��lrr � 4sz _combinations..)�setrrrr � _combinations3s �r#z[ \f\t]*z #[^\r\n]*z\\\r?\nz\w+z0[bB]_?[01]+(?:_[01]+)*z(0[xX]_?[\da-fA-F]+(?:_[\da-fA-F]+)*[lL]?z0[oO]?_?[0-7]+(?:_[0-7]+)*[lL]?z[1-9]\d*(?:_\d+)*[lL]?z0[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>ZUr�UZUR�uZuRZur)r'r(r$r%cCsi|]}|�d�t�qS�r$)� single3prog�r �prefixrrr � yr r5cCsi|]}|�d�t�qS�r%)� double3progr3rrr r5zr cCsi|] }|d�qS�Nrr3rrr r5{r cCsh|]}|�d��qSr1rr3rrr � r r9cCsh|]}|�d��qSr6rr3rrr r9�r cCsh|]}|�d��qS)r'rr3rrr r9�r cCsh|]}|�d��qS)r(rr3rrr r9�r �c@s eZdZdS)� TokenErrorN��__name__� __module__� __qualname__rrrr r;�r r;c@s eZdZdS)�StopTokenizingNr<rrrr r@�r r@c Cs4|\}}|\}}td||||t|t|�f�dS)Nz%d,%d-%d,%d: %s %s)�print�tok_name�repr) �typerZxxx_todo_changemeZxxx_todo_changeme1�lineZsrowZscolZerowZecolrrr � printtoken�s �rFcCs&zt||�Wnty Yn0dSr8)� tokenize_loopr@)�readline� tokeneaterrrr r�s  rcCst|�D] }||�qdSr8)r)rHrIZ token_inforrr rG�s rGc@s,eZdZdd�Zdd�Zdd�Zdd�Zd S) � UntokenizercCsg|_d|_d|_dS)Nrr)�tokens�prev_row�prev_col)�selfrrr �__init__�szUntokenizer.__init__cCs*|\}}||j}|r&|j�d|�dS)N� )rMrK�append)rN�start�row�col� col_offsetrrr �add_whitespace�s zUntokenizer.add_whitespacecCs�|D]p}t|�dkr$|�||�qv|\}}}}}|�|�|j�|�|\|_|_|ttfvr|jd7_d|_qd� |j�S)N�rrr) �len�compatrVrKrQrLrM�NEWLINE�NLr)rN�iterable�t�tok_typerrR�endrErrr r�s      zUntokenizer.untokenizec Cs�d}g}|jj}|\}}|ttfvr,|d7}|ttfvr|t kr�|� �q@n*|ttfvr�d}n|r�|r�||d�d}||�q@dS)NFrPTrW�����) rKrQ�NAME�NUMBERrZr[�ASYNC�AWAIT�INDENT�DEDENT�pop) rNrr\� startline�indents� toks_append�toknum�tokval�tokrrr rY�s0     zUntokenizer.compatN)r=r>r?rOrVrrYrrrr rJ�srJz&^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)s^[ \t\f]*(?:[#\r\n]|$)cCsH|dd����dd�}|dks*|�d�r.dS|dvs@|�d�rDdS|S) N� r�-�utf-8zutf-8-)zlatin-1� iso-8859-1z iso-latin-1)zlatin-1-z iso-8859-1-z iso-latin-1-rq)�lower�replace� startswith)�orig_enc�encrrr �_get_normal_name�s�rwcs�d�d}d}�fdd�}�fdd�}|�}|�t�rHd�|dd�}d }|sT|gfS||�}|rj||gfSt�|�s~||gfS|�}|s�||gfS||�}|r�|||gfS|||gfS) NFrpcs&z��WSty t�YS0dSr8)� StopIteration�bytesr)rHrr � read_or_stops z%detect_encoding..read_or_stopcs�z|�d�}Wnty"YdS0t�|�}|s6dSt|�d��}z t|�}Wntyntd|��Yn0�r�|j dkr�td��|d7}|S)N�asciirzunknown encoding: rpzencoding problem: utf-8z-sig) �decode�UnicodeDecodeError� cookie_re�matchrwrr� LookupError� SyntaxError�name)rE� line_stringr�encoding�codec)� bom_foundrr � find_cookie s"     z$detect_encoding..find_cookieT�z utf-8-sig)rtr�blank_rer)rHr��defaultrzr��first�secondr)r�rHr �detect_encoding�s0         r�cCst�}|�|�Sr8)rJr)r\�utrrr r:srccs|d}}}d\}}d}dg}d}d} d} d} z |�} WntyNd} Yn0|d}dt| �} }|�r0| sztd|��|�| �}|r�|�d�} }t|| d|�|||f|| fVd\}}d}nd|�r| dd�dk�r| d d�d k�rt|| ||t| �f|fVd}d}q.n|| }|| }q.�nB|dk�rZ|�sZ| �sJ�q$d}| |k�r�| | d k�rp|d}n8| | d k�r�|tdt}n| | d k�r�d}n�q�| d} �qN| |k�r�q$|�r�|Vd}| | dv�r�| | dk�rR| | d��d�}| t|�}t ||| f|| t|�f| fVt | |d�||f|t| �f| fVq.t t f| | dk| | d�|| f|t| �f| fVq.||dk�r�|� |�t | d| �|df|| f| fV||dk�r2||v�r�t dd|| | f��|dd�}| �r| |dk�rd} d} d} td|| f|| f| fV�q�| �rr| �rr| |dk�rrd} d} d} n| �sntd|df��d}| |kr.t�| | �}|�r�|�d�\}}||f||f|}}} | ||�| |}}|tjv�s�|dk�r�|dk�r�t|||| fV�q|dv�rHt}|dk�rt }n | �r$d} |�r4|Vd}||||| fV�q|dk�rv|�rb|Vd}t |||| fV�q|tv�r�t|}|�| | �}|�r�|�d�} | || �}|�r�|Vd}t|||| f| fVn||f}| |d�}| }q.�q|tv�s"|dd�tv�s"|dd�tv�r�|ddk�rv||f}t|�pZt|d�pZt|d}| |d�d}}| }q.n |�r�|Vd}t|||| fV�q|���rz|dv�r�| �r�|dk�r�tnt|||| fV�qrt|||| f}|dk�r�|�s�|}�qr|dv�rb|�rb|dtk�rb|ddk�rb|dk�r>d} |d} t|d|d|d|dfVd}|�rr|Vd}|Vnz|dk�r�|�r�|Vd}t |||| f| fVd}nF|d v�r�|d}n|d!v�r�|d}|�r�|Vd}t|||| fVn(t| | || f|| df| fV| d} �qrq.|�r4|Vd}|dd�D]}td|df|dfdfV�q@td|df|dfdfVdS)"Nr)rrFrrzEOF in multi-line string�����z\ �����z\ rP� � z# �#z r`z3unindent does not match any outer indentation levelz zEOF in multi-line statement�.TrWr�� )�async�awaitr�)�def�forr���\z([{z)]})rxrXr;rr_�STRING� ERRORTOKEN�tabsize�rstrip�COMMENTr[rQre�IndentationErrorrf� pseudoprog�span�stringZdigitsrbrZ� triple_quoted�endprogs� single_quoted� isidentifierrcrdra�OP� ENDMARKER)rH�lnum�parenlev� continued�contstr�needcont�contlineriZstashedZ async_defZasync_def_indentZ async_def_nlrE�pos�max�strstart�endprog�endmatchr_�column� comment_tokenZnl_pos� pseudomatchrR�spos�eposr�initial�newlinerm�indentrrr rOs�      �*�     � ��    �   ��         �� �  �  � �  � �r�__main__)R� __author__� __credits__r��re�codecsrrZlib2to3.pgen2.tokenrr�dir�__all__ry� NameError�strrrrr#� Whitespace�Comment�Ignore�Name� Binnumber� Hexnumber� Octnumber� Decnumber� Intnumber�Exponent� Pointfloat�Expfloat� Floatnumber� Imagnumber�Number�Single�Double�Single3�Double3Z _litprefix�Triple�StringZOperatorZBracket�Special�Funny� PlainToken�Token�ContStr� PseudoExtras� PseudoToken�map�compileZ tokenprogr�r2r7Z _strprefixesr�r�r�r�� Exceptionr;r@rFrrGrJ�ASCIIr~r�rwr�rrr=�sysrX�argv�openrH�stdinrrrr �s��      � �  ��� �   ���� � � � � �� � �� 8 Ic &