grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026ž ÷ fî,c@s(dZddlZddlZddlZddlmZddlmZdddgZGdd„dƒZ ddd d„Z ej d ejƒjZd d„Zed kr$eejƒd krÏe ƒZn"ejd Ze eeƒeƒZx0ejƒZeredeeƒƒqôPqôndS(u8A lexical analyzer class for simple shell-like syntaxes.iN(udeque(uStringIOushlexusplituquotecBs¤|EeZdZdZddddd„Zdd„Zddd„Zdd „Z d d „Z d d „Z dd„Z dddd„Z dd„Zdd„ZdS(ushlexu8A lexical analyzer class for simple shell-like syntaxes.cCsAt|tƒrt|ƒ}n|dk r?||_||_ntj|_d|_||_|rod|_ n d|_ d|_ d|_ |jr¥|j d7_ nd|_ d |_d|_d|_d|_d |_tƒ|_d |_d |_d|_tƒ|_d|_|jr=td |j|jfƒndS(Nuu#u?abcdfeghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_u|ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿÀÃ�ÂÃÄÅÆÇÈÉÊËÌÃ�ÃŽÃ�Ã�ÑÒÓÔÕÖØÙÚÛÜÃ�Þu u'"u\u"u iiushlex: reading from %s, line %dF(u isinstanceustruStringIOuNoneuinstreamuinfileusysustdinuposixueofu commentersu wordcharsu whitespaceuFalseuwhitespace_splituquotesuescapeu escapedquotesustateudequeupushbackulinenoudebugutokenu filestackusourceuprint(uselfuinstreamuinfileuposix((u*/opt/alt/python33/lib64/python3.3/shlex.pyu__init__s<                        ushlex.__init__cCs:|jdkr&tdt|ƒƒn|jj|ƒdS(u:Push a token onto the stack popped by the get_token methodiushlex: pushing token N(udebuguprintureprupushbacku appendleft(uselfutok((u*/opt/alt/python33/lib64/python3.3/shlex.pyu push_token8sushlex.push_tokencCs¢t|tƒrt|ƒ}n|jj|j|j|jfƒ||_||_d|_|jrž|dk r‡t d|jfƒqžt d|jfƒndS(u9Push an input source onto the lexer's input source stack.iushlex: pushing to file %sushlex: pushing to stream %sN( u isinstanceustruStringIOu filestacku appendleftuinfileuinstreamulinenoudebuguNoneuprint(uselfu newstreamunewfile((u*/opt/alt/python33/lib64/python3.3/shlex.pyu push_source>s"     ushlex.push_sourcecCsa|jjƒ|jjƒ\|_|_|_|jrTtd|j|jfƒnd|_dS(uPop the input source stack.ushlex: popping to %s, line %du N( uinstreamucloseu filestackupopleftuinfileulinenoudebuguprintustate(uself((u*/opt/alt/python33/lib64/python3.3/shlex.pyu pop_sourceLs  ! ushlex.pop_sourcecCs>|jrB|jjƒ}|jdkr>tdt|ƒƒn|S|jƒ}|jdk r¼x\||jkr¸|j|jƒƒ}|r©|\}}|j ||ƒn|j ƒ}q`Wnx9||j kr÷|j sÞ|j S|j ƒ|j ƒ}q¿W|jdkr:||j kr-tdt|ƒƒq:tdƒn|S(uBGet a token from the input stream (or from stack if it's nonempty)iushlex: popping token u shlex: token=ushlex: token=EOFN(upushbackupopleftudebuguprinturepru read_tokenusourceuNoneu sourcehooku push_sourceu get_tokenueofu filestacku pop_source(uselfutokurawuspecunewfileu newstream((u*/opt/alt/python33/lib64/python3.3/shlex.pyu get_tokenUs.      ushlex.get_tokencCs’d}d}x|jjdƒ}|dkr@|jd|_n|jdkrttdt|jƒdt|ƒƒn|jdkr�d|_ Pq|jdkrõ|s²d|_Pq||j krÿ|jdkrÝtd ƒn|j sõ|j r|rPqòqq||j kr.|jj ƒ|jd|_q|j rX||jkrXd }||_q||jkr|||_ d |_q||jkr¬|j s ||_ n||_q|jrÊ||_ d |_q||_ |j së|j r|rPqqq|j|jkrÑd}|s>|jdkr/td ƒntd ƒ‚n||jkr|j ss|j ||_ d|_PqÎd |_q|j r¾||jkr¾|j|jkr¾|j}||_q|j ||_ q|j|jkrp|s|jdkrtd ƒntdƒ‚n||jkrT||jkrT||krT|j |j|_ n|j ||_ ||_q|jd kr|s’d|_Pq||j krè|jdkr½tdƒnd|_|j sÞ|j r|rPqqq||j krK|jj ƒ|jd|_|j rd|_|j s>|j r|rPqHqqq|j ro||jkro||_q|j r™||jkr™d }||_q||jksÀ||jksÀ|jrÓ|j ||_ q|jj|ƒ|jdkrÿtdƒnd|_|j rPqqqq|j }d|_ |j rU| rU|dkrUd}n|jdkrŽ|r�tdt|ƒƒqŽtdƒn|S(Nu iu iushlex: in stateuI see character:uiu+shlex: I see whitespace in whitespace stateuau shlex: I see EOF in quotes stateuNo closing quotationu shlex: I see EOF in escape stateuNo escaped characteru%shlex: I see whitespace in word stateu&shlex: I see punctuation in word stateushlex: raw token=ushlex: raw token=EOFFT(uFalseuinstreamureadulinenoudebuguprintureprustateuNoneutokenu whitespaceuposixu commentersureadlineuescapeu wordcharsuquotesuwhitespace_splituTrueu ValueErroru escapedquotesupushbacku appendleft(uselfuquotedu escapedstateunextcharuresult((u*/opt/alt/python33/lib64/python3.3/shlex.pyu read_tokenusà                                         ushlex.read_tokencCs‚|ddkr#|dd…}nt|jtƒrotjj|ƒ rotjjtjj|jƒ|ƒ}n|t|dƒfS(u(Hook called on a filename to be sourced.iu"iuriÿÿÿÿ( u isinstanceuinfileustruosupathuisabsujoinudirnameuopen(uselfunewfile((u*/opt/alt/python33/lib64/python3.3/shlex.pyu sourcehookõs %'ushlex.sourcehookcCs>|dkr|j}n|dkr0|j}nd||fS(u<Emit a C-compiler-like, Emacs-friendly error-message leader.u"%s", line %d: N(uNoneuinfileulineno(uselfuinfileulineno((u*/opt/alt/python33/lib64/python3.3/shlex.pyu error_leaderþs     ushlex.error_leadercCs|S(N((uself((u*/opt/alt/python33/lib64/python3.3/shlex.pyu__iter__sushlex.__iter__cCs(|jƒ}||jkr$t‚n|S(N(u get_tokenueofu StopIteration(uselfutoken((u*/opt/alt/python33/lib64/python3.3/shlex.pyu__next__ s  ushlex.__next__NF(u__name__u __module__u __qualname__u__doc__uNoneuFalseu__init__u push_tokenu push_sourceu pop_sourceu get_tokenu read_tokenu sourcehooku error_leaderu__iter__u__next__(u __locals__((u*/opt/alt/python33/lib64/python3.3/shlex.pyushlexs$  €  cCs7t|d|ƒ}d|_|s-d|_nt|ƒS(NuposixuT(ushlexuTrueuwhitespace_splitu commentersulist(usucommentsuposixulex((u*/opt/alt/python33/lib64/python3.3/shlex.pyusplits   u[^\w@%+=:,./-]cCs8|s dSt|ƒdkr |Sd|jddƒdS(u1Return a shell-escaped version of the string *s*.u''u'u'"'"'N(u _find_unsafeuNoneureplace(us((u*/opt/alt/python33/lib64/python3.3/shlex.pyuquotes u__main__iuToken: FT(u__doc__uosureusysu collectionsudequeuiouStringIOu__all__ushlexuFalseuTrueusplitucompileuASCIIusearchu _find_unsafeuquoteu__name__ulenuargvulexerufileuopenu get_tokenuttuprinturepr(((u*/opt/alt/python33/lib64/python3.3/shlex.pyus(   ý