
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,a4  ã                	   @   sÎ   d dl Z d dlZd dlZd dlmZ d dlmZ ddddgZG dd„ dƒZddd„Z	dd„ Z
e dej¡jZdd„ Zdd„ ZedkrÊeejƒdkržeeƒ ƒ n,ejd Zeeƒ�Zeeeeƒƒ W 5 Q R X dS )é    N)Údeque)ÚStringIOÚshlexÚsplitÚquoteÚjoinc                   @   sn   e Zd Zddd„Zedd„ ƒZdd„ Zdd	d
„Zdd„ Zdd„ Z	dd„ Z
dd„ Zddd„Zdd„ Zdd„ ZdS )r   NFc                 C   s  t |tƒrt|ƒ}|d k	r(|| _|| _ntj| _d | _|| _|rHd | _nd| _d| _	d| _
| jrn|  j
d7  _
d| _d| _d| _d| _d	| _d
| _tƒ | _d| _d| _d| _tƒ | _d | _|sÄd}n|dkrÐd}|| _|�rtƒ | _|  j
d7  _
| j
 t |¡¡}| j
 |¡| _
d S )NÚ ú#Z?abcdfeghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_u|   ÃŸÃ Ã¡Ã¢Ã£Ã¤Ã¥Ã¦Ã§Ã¨Ã©ÃªÃ«Ã¬Ã­Ã®Ã¯Ã°Ã±Ã²Ã³Ã´ÃµÃ¶Ã¸Ã¹ÃºÃ»Ã¼Ã½Ã¾Ã¿Ã€Ã�Ã‚ÃƒÃ„Ã…Ã†Ã‡ÃˆÃ‰ÃŠÃ‹ÃŒÃ�ÃŽÃ�Ã�Ã‘Ã’Ã“Ã”Ã•Ã–Ã˜Ã™ÃšÃ›ÃœÃ�Ãžz 	
Fz'"ú\ú"ú é   r   Tz();<>|&z~-./*?=)Ú
isinstanceÚstrr   ÚinstreamÚinfileÚsysÚstdinÚposixÚeofÚ
commentersÚ	wordcharsÚ
whitespaceÚwhitespace_splitÚquotesÚescapeÚescapedquotesÚstater   ÚpushbackÚlinenoÚdebugÚtokenÚ	filestackÚsourceÚ_punctuation_charsÚ_pushback_charsÚ	maketransÚdictÚfromkeysÚ	translate)Úselfr   r   r   Úpunctuation_charsÚt© r-   ú*/opt/alt/python38/lib64/python3.8/shlex.pyÚ__init__   sJ    
zshlex.__init__c                 C   s   | j S ©N)r$   ©r*   r-   r-   r.   r+   D   s    zshlex.punctuation_charsc                 C   s*   | j dkrtdt|ƒ ƒ | j |¡ d S )Nr   zshlex: pushing token )r    ÚprintÚreprr   Ú
appendleft)r*   Útokr-   r-   r.   Ú
push_tokenH   s    
zshlex.push_tokenc                 C   sp   t |tƒrt|ƒ}| j | j| j| jf¡ || _|| _d| _| jrl|d k	r\t	d| jf ƒ nt	d| jf ƒ d S )Nr   zshlex: pushing to file %szshlex: pushing to stream %s)
r   r   r   r"   r4   r   r   r   r    r2   )r*   Ú	newstreamÚnewfiler-   r-   r.   Úpush_sourceN   s    
zshlex.push_sourcec                 C   sD   | j  ¡  | j ¡ \| _| _ | _| jr:td| j | jf ƒ d| _d S )Nzshlex: popping to %s, line %dr   )	r   Úcloser"   Úpopleftr   r   r    r2   r   r1   r-   r-   r.   Ú
pop_source\   s    

ÿzshlex.pop_sourcec                 C   sÔ   | j r.| j  ¡ }| jdkr*tdt|ƒ ƒ |S |  ¡ }| jd k	rz|| jkrz|  |  ¡ ¡}|rp|\}}|  ||¡ |  	¡ }q@|| j
kr¢| js�| j
S |  ¡  |  	¡ }qz| jdkrÐ|| j
krÈtdt|ƒ ƒ ntdƒ |S )Nr   zshlex: popping token zshlex: token=zshlex: token=EOF)r   r;   r    r2   r3   Ú
read_tokenr#   Ú
sourcehookr9   Ú	get_tokenr   r"   r<   )r*   r5   ÚrawÚspecr8   r7   r-   r-   r.   r?   e   s.    








zshlex.get_tokenc                 C   sÜ  d}d}| j r | jr | j ¡ }n| j d¡}|dkrB|  jd7  _| jdkr^td| j|f ƒ | jd krtd| _	�q„q| jdk�rš|s’d | _�q„�q‚|| j
krÈ| jdkr®td	ƒ | j	s¾| jr|r�q„nqnÐ|| jkrì| j ¡  |  jd7  _n¬| j�r|| jk�rd
}|| _nŒ|| jk�r&|| _	d
| _nr|| j k�r@|| _	d| _nX|| jk�rb| j�sZ|| _	|| _n6| j�rx|| _	d
| _n || _	| j	�s„| jr|r�q„nqq| j| jk�rDd}|�sÎ| jdk�rÆtdƒ tdƒ‚|| jk�r| j�sü|  j	|7  _	d| _�q„nd
| _n>| j�r4|| jk�r4| j| jk�r4| j}|| _n|  j	|7  _	q| j| jk�r¼|�st| jdk�rltdƒ tdƒ‚|| jk�r¦|| jk�r¦||k�r¦|  j	| j7  _	|  j	|7  _	|| _q| jdkr|�sØd | _�q„q|| j
k�r| jdk�røtdƒ d| _| j	�s„| jr|r�q„nqq|| jk�rh| j ¡  |  jd7  _| j�r‚d| _| j	�s„| jr|r�q„nqq| jdk�r´|| j k�r�|  j	|7  _	n"|| j
k�r¨| j |¡ d| _�q„q| j�rÐ|| jk�rÐ|| _q| j�rð|| jk�rðd
}|| _q|| jk�s|| jk�s| j�r,|| j k�r,|  j	|7  _	q| j �rB| j |¡ n| j |¡ | jdk�rbtdƒ d| _| j	�s„| jr|r�q„qqq| j	}d| _	| j�r¬|�s¬|dk�r¬d }| jdk�rØ|�rÐtdt|ƒ ƒ ntdƒ |S )NFr   r   Ú
é   z&shlex: in state %r I see character: %rr   é   z+shlex: I see whitespace in whitespace stateÚaÚcTz shlex: I see EOF in quotes statezNo closing quotationz shlex: I see EOF in escape statezNo escaped character)rE   rF   z%shlex: I see whitespace in word statez&shlex: I see punctuation in word statezshlex: raw token=zshlex: raw token=EOF)r+   r%   Úpopr   Úreadr   r    r2   r   r!   r   r   r   Úreadliner   r   r   r   Ú
ValueErrorr   Úappendr   r4   r3   )r*   ZquotedZescapedstateZnextcharÚresultr-   r-   r.   r=   …   s
   
ÿ




ÿÿÿ

ÿþzshlex.read_tokenc                 C   sV   |d dkr|dd… }t | jtƒrHtj |¡sHtj tj | j¡|¡}|t|dƒfS )Nr   r   r   éÿÿÿÿÚr)	r   r   r   ÚosÚpathÚisabsr   ÚdirnameÚopen)r*   r8   r-   r-   r.   r>     s
    zshlex.sourcehookc                 C   s(   |d kr| j }|d kr| j}d||f S )Nz"%s", line %d: )r   r   )r*   r   r   r-   r-   r.   Úerror_leader   s
    zshlex.error_leaderc                 C   s   | S r0   r-   r1   r-   r-   r.   Ú__iter__(  s    zshlex.__iter__c                 C   s   |   ¡ }|| jkrt‚|S r0   )r?   r   ÚStopIteration)r*   r!   r-   r-   r.   Ú__next__+  s    
zshlex.__next__)NNFF)N)NN)Ú__name__Ú
__module__Ú__qualname__r/   Úpropertyr+   r6   r9   r<   r?   r=   r>   rT   rU   rW   r-   r-   r-   r.   r      s     ÿ
/

	  	
FTc                 C   s$   t | |d�}d|_|sd|_t|ƒS )N)r   Tr   )r   r   r   Úlist)ÚsZcommentsr   Zlexr-   r-   r.   r   1  s
    c                 C   s   d  dd„ | D ƒ¡S )Nr   c                 s   s   | ]}t |ƒV  qd S r0   )r   )Ú.0Úargr-   r-   r.   Ú	<genexpr><  s     zjoin.<locals>.<genexpr>)r   )Zsplit_commandr-   r-   r.   r   :  s    z[^\w@%+=:,./-]c                 C   s,   | sdS t | ƒd kr| S d|  dd¡ d S )Nz''ú'z'"'"')Ú_find_unsafeÚreplace)r]   r-   r-   r.   r   A  s
    c                 C   s$   |   ¡ }|sq tdt|ƒ ƒ q d S )NzToken: )r?   r2   r3   )ZlexerZttr-   r-   r.   Ú_print_tokensM  s    rd   Ú__main__r   )FT)rO   Úrer   Úcollectionsr   Úior   Ú__all__r   r   r   ÚcompileÚASCIIÚsearchrb   r   rd   rX   ÚlenÚargvÚfnrS   Úfr-   r-   r-   r.   Ú<module>
   s&      
	

