§
    ¸)ýf½4  ã                   óš  — d Z ddlZddlZddlZddlmZ ddlmZ g d¢Z G d„ d¦  «        Z	dd
„Z
d„ Z ej        dej        ¦  «        j        Zd„ Zd„ Zedk    rq eej        ¦  «        dk    r e e	¦   «         ¦  «         dS ej        d         Z ee¦  «        5 Z e e	ee¦  «        ¦  «         ddd¦  «         dS # 1 swxY w Y   dS dS )ú8A lexical analyzer class for simple shell-like syntaxes.é    N)Údeque)ÚStringIO)ÚshlexÚsplitÚquoteÚjoinc                   ón   — e Zd ZdZ	 	 dd„Zed„ ¦   «         Zd„ Zdd„Zd„ Z	d	„ Z
d
„ Zd„ Zdd„Zd„ Zd„ ZdS )r   r   NFc                 ó  — t          |t          ¦  «        rt          |¦  «        }|�|| _        || _        nt
          j        | _        d | _        || _        |rd | _        nd| _        d| _	        d| _
        | j        r| xj
        dz  c_
        d| _        d| _        d| _        d| _        d	| _        d
| _        t#          ¦   «         | _        d| _        d| _        d| _        t#          ¦   «         | _        d | _        |sd}n|du rd}|| _        |rvt#          ¦   «         | _        | xj
        dz  c_
        | j
                             t6                               |¦  «        ¦  «        }| j
                             |¦  «        | _
        d S d S )NÚ ú#Ú?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Úts         úQ/home/blender/git/blender-v430/install_release/4.3/python/lib/python3.11/shlex.pyÚ__init__zshlex.__init__   sŒ  € å�h¥Ñ$Ô$ð 	*Ý Ñ)Ô)ˆHØÐØ$ˆDŒMØ ˆDŒKˆKåœIˆDŒMØˆDŒKØˆŒ
Øð 	ØˆDŒHˆHàˆDŒHØˆŒðBˆŒàŒ:ð 	_ØˆNŒNð  ^ñ _ˆNŒNà#ˆŒØ %ˆÔØˆŒØˆŒØ ˆÔØˆŒ
Ý™œˆŒØˆŒØˆŒ
ØˆŒ
Ý™œˆŒØˆŒØ ð 	*Ø "ÐÐØ $Ð&Ð&Ø )ÐØ"3ˆÔØð 	9å#(¡7¤7ˆDÔ àˆNŒN˜iÑ'ˆNŒNà”×(Ò(­¯ªÐ7HÑ)IÔ)IÑJÔJˆAØ!œ^×5Ò5°aÑ8Ô8ˆDŒNˆNˆNð	9ð 	9ó    c                 ó   — | j         S ©N)r)   ©r/   s    r2   r0   zshlex.punctuation_charsD   s   € àÔ&Ð&r4   c                 óŽ   — | j         dk    rt          dt          |¦  «        z   ¦  «         | j                             |¦  «         dS )z:Push a token onto the stack popped by the get_token methodr   zshlex: pushing token N)r%   ÚprintÚreprr#   Ú
appendleft)r/   Útoks     r2   Ú
push_tokenzshlex.push_tokenH   sC   € àŒ:˜Š?ˆ?ÝÐ)­D°©I¬IÑ5Ñ6Ô6Ð6ØŒ× Ò  Ñ%Ô%Ð%Ð%Ð%r4   c                 óF  — t          |t          ¦  «        rt          |¦  «        }| j                             | j        | j        | j        f¦  «         || _        || _        d| _        | j        r4|�t          d| j        ›�¦  «         dS t          d| j        ›�¦  «         dS dS )z9Push an input source onto the lexer's input source stack.r   Nzshlex: pushing to file zshlex: pushing to stream )
r   r   r   r'   r;   r   r   r$   r%   r9   )r/   Ú	newstreamÚnewfiles      r2   Úpush_sourcezshlex.push_sourceN   s°   € å�i¥Ñ%Ô%ð 	,Ý  Ñ+Ô+ˆIØŒ×!Ò! 4¤;°´¸t¼{Ð"KÑLÔLÐLØˆŒØ!ˆŒØˆŒØŒ:ð 	HØÐ"Ý�°T´[°[ÐBÑCÔCÐCÐCÐCå�°t´}°}ÐFÑGÔGÐGÐGÐGð		Hð 	Hr4   c                 óè   — | j                              ¦   «          | j                             ¦   «         \  | _        | _         | _        | j        rt          d| j         | j        fz  ¦  «         d| _        dS )zPop the input source stack.zshlex: popping to %s, line %dr   N)	r   Úcloser'   Úpopleftr   r$   r%   r9   r"   r7   s    r2   Ú
pop_sourcezshlex.pop_source\   sq   € àŒ×ÒÑÔÐØ48´N×4JÒ4JÑ4LÔ4LÑ1ˆŒ�d”m T¤[ØŒ:ð 	2ÝÐ1Ø”] D¤KÐ0ñ1ñ 2ô 2ð 2àˆŒ
ˆ
ˆ
r4   c                 óÒ  — | j         rE| j                              ¦   «         }| j        dk    rt          dt	          |¦  «        z   ¦  «         |S |                      ¦   «         }| j        �n|| j        k    rc|                      |                      ¦   «         ¦  «        }|r|\  }}|                      ||¦  «         |  	                    ¦   «         }|| j        k    °c|| j
        k    rA| j        s| j
        S |                      ¦   «          |  	                    ¦   «         }|| j
        k    °A| j        dk    r:|| j
        k    r t          dt	          |¦  «        z   ¦  «         nt          d¦  «         |S )zBGet a token from the input stream (or from stack if it's nonempty)r   zshlex: popping token Nzshlex: token=zshlex: token=EOF)r#   rD   r%   r9   r:   Ú
read_tokenr(   Ú
sourcehookrA   Ú	get_tokenr   r'   rE   )r/   r<   ÚrawÚspecr@   r?   s         r2   rI   zshlex.get_tokene   s`  € àŒ=ð 	Ø”-×'Ò'Ñ)Ô)ˆCØŒz˜QŠˆÝÐ-µ°S±	´	Ñ9Ñ:Ô:Ð:ØˆJà�oŠoÑÔˆàŒ;Ð"Ø˜œÒ$Ð$Ø—’ t§¢Ñ'8Ô'8Ñ9Ô9�Øð 9Ø+/Ñ(�W˜iØ×$Ò$ Y°Ñ8Ô8Ð8Ø—n’nÑ&Ô&�ð ˜œÒ$Ð$ð �T”XŠoˆoØ”>ð 'Ø”x�à—’Ñ!Ô!Ð!Ø—n’nÑ&Ô&�ð �T”XŠoˆoð Œ:˜Š?ˆ?Ø�d”hŠˆÝ�o­¨S©	¬	Ñ1Ñ2Ô2Ð2Ð2åÐ(Ñ)Ô)Ð)Øˆ
r4   c                 ó"
  — d}d}	 | j         r!| j        r| j                             ¦   «         }n| j                             d¦  «        }|dk    r| xj        dz  c_        | j        dk    rt          d| j        ›d|›�¦  «         | j        €	d	| _	        �n!| j        dk    �r|s	d | _        �n
|| j
        v r-| j        d
k    rt          d¦  «         | j	        s	| j        r|r�nÕŒÛ|| j        v r+| j                             ¦   «          | xj        dz  c_        �nž| j        r|| j        v rd}|| _        �nƒ|| j        v r|| _	        d| _        �nj|| j         v r|| _	        d| _        �nQ|| j        v r| j        s|| _	        || _        �n1| j        r|| _	        d| _        �n|| _	        | j	        s	| j        r|r�n�Œ®| j        | j        v r¡d}|s)| j        d
k    rt          d¦  «         t%          d¦  «        ‚|| j        k    r)| j        s| xj	        |z  c_	        d| _        �n›d| _        �n�| j        r'|| j        v r| j        | j        v r| j        }|| _        �nb| xj	        |z  c_	        �nP| j        | j        v rs|s)| j        d
k    rt          d¦  «         t%          d¦  «        ‚|| j        v r&|| j        k    r||k    r| xj	        | j        z  c_	        | xj	        |z  c_	        || _        �nÏ| j        dv �rÅ|s	d | _        �n¼|| j
        v r5| j        d
k    rt          d¦  «         d| _        | j	        s	| j        r|r�n€�Œ1|| j        v rM| j                             ¦   «          | xj        dz  c_        | j        rd| _        | j	        s	| j        r|r�n,�Œ…�n&| j        dk    rF|| j         v r| xj	        |z  c_	        �n || j
        vr| j                             |¦  «         d| _        n×| j        r|| j        v r|| _        n½| j        r|| j        v r
d}|| _        n£|| j        v s|| j        v s| j        r|| j         vr| xj	        |z  c_	        np| j         r| j                             |¦  «         n| j                             |¦  «         | j        d
k    rt          d¦  «         d| _        | j	        s	| j        r|rn�Œ­�Œ®| j	        }d	| _	        | j        r
|s|d	k    rd }| j        dk    r1|r t          dt/          |¦  «        z   ¦  «         nt          d¦  «         |S )NFr   Tr   ú
é   zshlex: in state z I see character: r   é   z+shlex: I see whitespace in whitespace stateÚaÚcz shlex: I see EOF in quotes statezNo closing quotationz shlex: I see EOF in escape statezNo escaped character)rP   rQ   z%shlex: I see whitespace in word statez&shlex: I see punctuation in word statezshlex: raw token=zshlex: raw token=EOF)r0   r*   Úpopr   Úreadr$   r%   r9   r"   r&   r   r   r   Úreadliner    r   r   r   Ú
ValueErrorr!   Úappendr#   r;   r:   )r/   ÚquotedÚescapedstateÚnextcharÚresults        r2   rG   zshlex.read_token…   s"  € ØˆØˆðC	!ØÔ%ð 1¨$Ô*>ð 1ØÔ/×3Ò3Ñ5Ô5��àœ=×-Ò-¨aÑ0Ô0�Ø˜4ÒÐØ�”˜qÑ �”ØŒz˜QŠˆÝ�À$Ä*À*À*ØBJÀ(ðLñ Mô Mð MàŒzÐ!Ø�”
ÙØ”˜sÒ"Ñ"Øð "!Ø!%�D”JÙØ ¤Ð0Ð0Ø”z Q’�ÝÐKÑLÔLÐLØ”zð ! d¤jð !°Vð !Ùà Ø ¤Ð0Ð0Ø”M×*Ò*Ñ,Ô,Ð,Ø�K”K 1Ñ$�K”K‘KØ”Zð ! H°´Ð$;Ð$;Ø#&�LØ!)�D”J‘JØ ¤Ð/Ð/Ø!)�D”JØ!$�D”J‘JØ Ô!7Ð7Ð7Ø!)�D”JØ!$�D”J‘JØ ¤Ð,Ð,Øœ:ð .Ø%-˜œ
Ø!)�D”J‘JØÔ*ð !Ø!)�D”JØ!$�D”J‘Jà!)�D”JØ”zð ! d¤jð !°Vð !Ùá Ø”˜tœ{Ð*Ð*Ø�Øð =Ø”z Q’�ÝÐ@ÑAÔAÐAå$Ð%;Ñ<Ô<Ð<Ø˜tœzÒ)Ð)Øœ:ð )Ø˜
œ
 hÑ.˜
œ
Ø%(˜œ
Ùà%(˜œ
™
Ø”jð + X°´Ð%<Ð%<ÀÄØÔ+ðB,ð B,à#'¤:�LØ!)�D”J‘Jà�J”J (Ñ*�J”J‘JØ”˜tœ{Ð*Ð*Øð =Ø”z Q’�ÝÐ@ÑAÔAÐAå$Ð%;Ñ<Ô<Ð<ð ! D¤KÐ/Ð/Ø  D¤JÒ.Ð.°8¸|Ò3KÐ3KØ�J”J $¤*Ñ,�J”JØ�
”
˜hÑ&�
”
Ø)�”
‘
Ø”˜zÐ)Ñ)Øð 0!Ø!%�D”JÙØ ¤Ð0Ð0Ø”z Q’�ÝÐEÑFÔFÐFØ!$�D”JØ”zð ! d¤jð !°Vð !Ùá Ø ¤Ð0Ð0Ø”M×*Ò*Ñ,Ô,Ð,Ø�K”K 1Ñ$�K”KØ”zð %Ø%(˜œ
Øœ:ð %¨$¬*ð %¸ð %Ù!á$ñ%ð ”Z 3Ò&Ð&Ø 4Ô#9Ð9Ð9Ø˜
œ
 hÑ.˜
œ
™
à#¨4¬?Ð:Ð:Ø Ô0×7Ò7¸ÑAÔAÐAØ%(˜œ
ØØ”Zð ! H°´Ð$;Ð$;Ø!)�D”J�JØ”Zð ! H°´Ð$;Ð$;Ø#&�LØ!)�D”J�JØ $¤.Ð0Ð0°HÀÄÐ4KÐ4KØÔ/ð 5Là"¨$Ô*@Ð@Ð@Ø�J”J (Ñ*�J”J�JàÔ-ð ;ØÔ,×3Ò3°HÑ=Ô=Ð=Ð=àœ×0Ò0°Ñ:Ô:Ð:Ø”z Q’�ÝÐFÑGÔGÐGØ!$�D”JØ”zð ! d¤jð !°Vð !Øá ñGC	!ðH ”ˆØˆŒ
ØŒ:ð 	˜fð 	¨°2ª¨ØˆFØŒ:˜Š>ˆ>Øð .ÝÐ)­D°©L¬LÑ8Ñ9Ô9Ð9Ð9åÐ,Ñ-Ô-Ð-Øˆr4   c                 óH  — |d         dk    r
|dd…         }t          | j        t          ¦  «        rat          j                             |¦  «        sBt          j                             t          j                             | j        ¦  «        |¦  «        }|t          |d¦  «        fS )z(Hook called on a filename to be sourced.r   r   r   éÿÿÿÿÚr)	r   r   r   ÚosÚpathÚisabsr	   ÚdirnameÚopen)r/   r@   s     r2   rH   zshlex.sourcehook  sƒ   € à�1Œ:˜ÒÐØ˜a ˜d”mˆGå�d”k¥3Ñ'Ô'ð 	Jµ´·²¸gÑ0FÔ0Fð 	JÝ”g—l’l¥2¤7§?¢?°4´;Ñ#?Ô#?ÀÑIÔIˆGØ�˜g sÑ+Ô+Ð,Ð,r4   c                 ó4   — |€| j         }|€| j        }d||fz  S )z<Emit a C-compiler-like, Emacs-friendly error-message leader.Nz"%s", line %d: )r   r$   )r/   r   r$   s      r2   Úerror_leaderzshlex.error_leader   s*   € àˆ>Ø”[ˆFØˆ>Ø”[ˆFØ" f¨fÐ%5Ñ5Ð5r4   c                 ó   — | S r6   © r7   s    r2   Ú__iter__zshlex.__iter__(  s   € Øˆr4   c                 óR   — |                       ¦   «         }|| j        k    rt          ‚|S r6   )rI   r   ÚStopIteration)r/   r&   s     r2   Ú__next__zshlex.__next__+  s)   € Ø—’Ñ Ô ˆØ�D”HÒÐÝÐØˆr4   )NNFFr6   )NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r3   Úpropertyr0   r=   rA   rE   rI   rG   rH   rd   rg   rj   rf   r4   r2   r   r      sê   € € € € € Ø>Ð>Ø9>Ø#(ð-9ð -9ð -9ð -9ð^ ð'ð 'ñ „Xð'ð&ð &ð &ðHð Hð Hð Hðð ð ðð ð ð@Pð Pð Pðd-ð -ð -ð6ð 6ð 6ð 6ðð ð ðð ð ð ð r4   r   FTc                 ó¨   — | €!ddl }|                     dt          d¬¦  «         t          | |¬¦  «        }d|_        |sd|_        t          |¦  «        S )	z-Split the string *s* using shell-like syntax.Nr   z4Passing None for 's' to shlex.split() is deprecated.rO   )Ú
stacklevel)r   Tr   )ÚwarningsÚwarnÚDeprecationWarningr   r   r   Úlist)ÚsÚcommentsr   rr   Úlexs        r2   r   r   1  sh   € à€yØˆˆˆØ�ŠÐLÝ(°Qð 	ñ 	8ô 	8ð 	8å
�˜Ð
Ñ
Ô
€CØ€CÔØð ØˆŒÝ�‰9Œ9Ðr4   c                 ó@   — d                      d„ | D ¦   «         ¦  «        S )z3Return a shell-escaped string from *split_command*.r   c              3   ó4   K  — | ]}t          |¦  «        V — Œd S r6   )r   )Ú.0Úargs     r2   ú	<genexpr>zjoin.<locals>.<genexpr>@  s(   è è € Ð8Ð8 3•E˜#‘J”JÐ8Ð8Ð8Ð8Ð8Ð8r4   )r	   )Úsplit_commands    r2   r	   r	   >  s#   € à�8Š8Ð8Ð8¨-Ð8Ñ8Ô8Ñ8Ô8Ð8r4   z[^\w@%+=:,./-]c                 ód   — | sdS t          | ¦  «        €| S d|                      dd¦  «        z   dz   S )z1Return a shell-escaped version of the string *s*.z''Nú'z'"'"')Ú_find_unsafeÚreplace)rv   s    r2   r   r   E  s@   € àð ØˆtÝ�A�„ÐØˆð �—’˜3 	Ñ*Ô*Ñ*¨SÑ0Ð0r4   c                 ót   — 	 |                       ¦   «         }|sd S t          dt          |¦  «        z   ¦  «         Œ8)Nr   zToken: )rI   r9   r:   )ÚlexerÚtts     r2   Ú_print_tokensr†   Q  sA   € ð$Ø�_Š_ÑÔˆØð 	ØˆEÝˆi�$˜r™(œ(Ñ"Ñ#Ô#Ð#ð	$r4   Ú__main__r   )FT)rn   r^   Úrer   Úcollectionsr   Úior   Ú__all__r   r   r	   ÚcompileÚASCIIÚsearchr�   r   r†   rk   ÚlenÚargvÚfnrb   Úfrf   r4   r2   ú<module>r“      s¾  ðØ >Ð >ð 
€	€	€	Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð à
-Ð
-Ð
-€ð\ð \ð \ð \ð \ñ \ô \ð \ð|
ð 
ð 
ð 
ð9ð 9ð 9ð
 ˆrŒzÐ+¨R¬XÑ6Ô6Ô=€ð	1ð 	1ð 	1ð$ð $ð $ð ˆzÒÐØ
€sˆ3Œ8�}„}˜ÒÐØˆ�e�e‘g”gÑÔÐÐÐàŒX�aŒ[ˆØˆT�"‰XŒXð 	(˜ØˆM˜%˜%  2™,œ,Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð Ðs   ÂB>Â>CÃC