grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026U iÛfwã@s,dZddddddddd d d d d ddddgZddlZddlZddlZddlZ ddl m Z m Z dZ dZdZdZdZdZdZGdd„deƒZdd„ZGd d„deƒZGd!d„deƒZGd"d„deƒZGd#d„deƒZGd$d „d eƒZd%d&„ZGd'd„deƒZGd(d„deƒZGd)d „d eƒZ Gd*d+„d+e ƒZ!Gd,d-„d-e ƒZ"Gd.d/„d/e"ƒZ#Gd0d1„d1e"ƒZ$Gd2d3„d3e ƒZ%Gd4d5„d5e ƒZ&Gd6d7„d7e ƒZ'Gd8d9„d9e ƒZ(Gd:d;„d;e ƒZ)Gdd?„d?e%ƒZ+Gd@d„deƒZ,GdAd „d eƒZ-GdBdC„dCeƒZ.GdDdE„dEe.ƒZ/GdFdG„dGe/ƒZ0GdHd„dee.ƒZ1dS)Iz1.1ÚArgumentParserÚ ArgumentErrorÚArgumentTypeErrorÚFileTypeÚ HelpFormatterÚArgumentDefaultsHelpFormatterÚRawDescriptionHelpFormatterÚRawTextHelpFormatterÚMetavarTypeHelpFormatterÚ NamespaceÚActionÚ ONE_OR_MOREÚOPTIONALÚPARSERÚ REMAINDERÚSUPPRESSÚ ZERO_OR_MOREéN)ÚgettextÚngettextz ==SUPPRESS==ú?Ú*ú+zA...ú...Z_unrecognized_argsc@s$eZdZdd„Zdd„Zdd„ZdS)Ú_AttributeHoldercCsŒt|ƒj}g}i}| ¡D]}| t|ƒ¡q| ¡D],\}}| ¡rZ| d||f¡q6|||<q6|rz| dt|ƒ¡d|d |¡fS)Nú%s=%rz**%sú%s(%s)ú, )ÚtypeÚ__name__Ú _get_argsÚappendÚreprÚ _get_kwargsÚ isidentifierÚjoin)ÚselfZ type_nameÚ arg_stringsZ star_argsÚargÚnameÚvalue©r*ú-/opt/alt/python38/lib64/python3.8/argparse.pyÚ__repr__ts   z_AttributeHolder.__repr__cCst|j ¡ƒS©N)ÚsortedÚ__dict__Úitems©r%r*r*r+r"ƒsz_AttributeHolder._get_kwargscCsgSr-r*r1r*r*r+r†sz_AttributeHolder._get_argsN)rÚ __module__Ú __qualname__r,r"rr*r*r*r+rks rcCs6|dkr gSt|ƒtkr$|dd…Sddl}| |¡S)Nr)rÚlistÚcopy)r0r5r*r*r+Ú _copy_itemsŠs   r6c@sðeZdZd:dd„Zdd„Zdd „ZGd d „d eƒZd d „Zdd„Z dd„Z dd„Z d;dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Zd2d3„Zd4d5„Zd6d7„Zd8d9„ZdS)rDr1r*r*r+Ú_indent¿szHelpFormatter._indentcCs"|j|j8_|jd8_dSrQrSr1r*r*r+Ú_dedentÃszHelpFormatter._dedentc@seZdZddd„Zdd„ZdS)zHelpFormatter._SectionNcCs||_||_||_g|_dSr-)Ú formatterÚparentÚheadingr0)r%rVrWrXr*r*r+rPÊszHelpFormatter._Section.__init__cCsŽ|jdk r|j ¡|jj}|dd„|jDƒƒ}|jdk rD|j ¡|sLdS|jtk rz|jdk rz|jj}d|d|jf}nd}|d||dgƒS)NcSsg|]\}}||Ž‘qSr*r*)Ú.0ÚfuncÚargsr*r*r+Ú Õsz6HelpFormatter._Section.format_help..Úz%*s%s: Ú ) rWrVrTÚ _join_partsr0rUrXrrC)r%r$Z item_helpZcurrent_indentrXr*r*r+Ú format_helpÐs    z"HelpFormatter._Section.format_help)N)rr2r3rPr`r*r*r*r+rFÈs rFcCs|jj ||f¡dSr-)rHr0r )r%rZr[r*r*r+Ú _add_itemçszHelpFormatter._add_itemcCs0| ¡| ||j|¡}| |jg¡||_dSr-)rTrFrHrar`)r%rXZsectionr*r*r+Ú start_sectioníszHelpFormatter.start_sectioncCs|jj|_| ¡dSr-)rHrWrUr1r*r*r+Ú end_sectionós zHelpFormatter.end_sectioncCs$|tk r |dk r | |j|g¡dSr-)rraÚ _format_text)r%Útextr*r*r+Úadd_text÷szHelpFormatter.add_textcCs&|tk r"||||f}| |j|¡dSr-)rraÚ _format_usage)r%ÚusageÚactionsÚgroupsÚprefixr[r*r*r+Ú add_usageûs zHelpFormatter.add_usagecCsv|jtk rr|j}||ƒg}| |¡D]}| ||ƒ¡q$tdd„|Dƒƒ}||j}t|j|ƒ|_| |j |g¡dS)NcSsg|] }t|ƒ‘qSr*©Úlen©rYÚsr*r*r+r\ sz.HelpFormatter.add_argument..) ÚhelprÚ_format_action_invocationÚ_iter_indented_subactionsr r@rCrEraÚ_format_action)r%ÚactionZget_invocationZ invocationsÚ subactionZinvocation_lengthZ action_lengthr*r*r+Ú add_arguments   ÿzHelpFormatter.add_argumentcCs|D]}| |¡qdSr-)rw)r%rirur*r*r+Ú add_argumentsszHelpFormatter.add_argumentscCs.|j ¡}|r*|j d|¡}| d¡d}|S)Nú r^)rGr`rMÚsubÚstrip)r%rqr*r*r+r`s  zHelpFormatter.format_helpcCsd dd„|Dƒ¡S)Nr]cSsg|]}|r|tk r|‘qSr*)r)rYÚpartr*r*r+r\!sþz-HelpFormatter._join_parts..)r$)r%Z part_stringsr*r*r+r_ s ÿzHelpFormatter._join_partscs|dkrtdƒ}|dk r,|t|jd�}�nÖ|dkrL|sLdt|jd�}�n¶|dk�rdt|jd�}g}g}|D] }|jrˆ| |¡qr| |¡qr|j} | |||ƒ} d dd„|| fDƒ¡}|j|j‰t |ƒt |ƒˆk�rd} | ||ƒ} | ||ƒ} t   | | ¡}t   | | ¡}d‡fdd „ }t |ƒt |ƒd ˆk�rždt |ƒt |ƒd }|�r|||g|||ƒ}|  |||ƒ¡n |�r–||g|||ƒ}n|g}nZdt |ƒ}||}|||ƒ}t |ƒd k�rîg}|  |||ƒ¡|  |||ƒ¡|g|}d  |¡}d ||fS)Nzusage: ©rNz%(prog)sú cSsg|] }|r|‘qSr*r*ror*r*r+r\Asz/HelpFormatter._format_usage..z%\(.*?\)+(?=\s|$)|\[.*?\]+(?=\s|$)|\S+csÆg}g}|dk rt|ƒd}n t|ƒd}|D]Z}|dt|ƒˆkrn|rn| |d |¡¡g}t|ƒd}| |¡|t|ƒd7}q.|r¢| |d |¡¡|dk rÂ|dt|ƒd…|d<|S)NrRr~r)rnr r$)ÚpartsÚindentrkÚlinesÚlineZline_lenr|©Ú text_widthr*r+Ú get_linesUs"   z.HelpFormatter._format_usage..get_linesgè?rRr^z%s%s )N) Ú_Údictr=Úoption_stringsr Ú_format_actions_usager$rBrCrnrIÚfindallÚextend)r%rhrirjrkrNÚ optionalsÚ positionalsruÚformatZ action_usageZ part_regexpZ opt_usageZ pos_usageZ opt_partsZ pos_partsr…r€r�rr*rƒr+rg%sX     ÿ        zHelpFormatter._format_usagec Csòtƒ}i}|D�]}z| |jd¡}Wntk r@YqYqX|t|jƒ}|||…|jkr|jD]}| |¡qh|jsÄ||kr˜||d7<nd||<||krº||d7<nd||<nF||krÞ||d7<nd||<||k�r||d7<nd||<t|d|ƒD]} d || <�qqg} t|ƒD�]"\} }|j t k�r–|   d¡|  | ¡d k�rr|  | ¡n"|  | d¡d k�rX|  | d¡nÂ|j�sò| |¡} | || ¡} ||k�ræ| ddk�ræ| d dk�ræ| dd …} |   | ¡nf|jd} |jdk�rd | } n"| |¡} | || ¡}d | |f} |j�sN||k�rNd | } |   | ¡�q6t|dd�D]} || g| | | …<�qhd dd„| Dƒ¡}d}d}t d|d|¡}t d|d|¡}t d||fd|¡}t dd|¡}| ¡}|S)Nrz [ú[ú]z (ú(ú)rRú|éÿÿÿÿú%sú%s %sú[%s]T)Úreverser~cSsg|]}|dk r|‘qSr-r*)rYÚitemr*r*r+r\Þsz7HelpFormatter._format_actions_usage..z[\[(]z[\])]z(%s) z\1ú (%s)z%s *%sr]z \(([^|]*)\))ÚsetÚindexÚ_group_actionsÚ ValueErrorrnÚaddÚrequiredÚrangeÚ enumeraterqrr ÚgetÚpoprˆÚ#_get_default_metavar_for_positionalÚ _format_argsÚnargsÚ!_get_default_metavar_for_optionalr.r$rIrzr{)r%rirjÚ group_actionsZinsertsÚgroupÚstartÚendruÚirÚdefaultr|Ú option_stringÚ args_stringreÚopenÚcloser*r*r+r‰…sz                    z#HelpFormatter._format_actions_usagecCsFd|kr|t|jd�}t|j|jdƒ}d|j}| |||¡dS)Nz%(prog)r}é r~ry)r‡r=r@rBrCÚ _fill_text)r%rer„r€r*r*r+rdìs  zHelpFormatter._format_textc Cs:t|jd|jƒ}t|j|dƒ}||jd}| |¡}|jsV|jd|f}d|}n@t|ƒ|kr~|jd||f}d|}d}n|jd|f}d|}|}|g}|jrø|  |¡} |  | |¡} |  d|d| df¡| dd…D]} |  d|d| f¡qÜn|  d¡�s|  d¡|  |¡D]} |  | | ¡¡�q| |¡S) Nr7r³r]z%*s%s z %*s%-*s rrRr^)r?rErAr@rBrCrrrqrnÚ _expand_helpÚ _split_linesr Úendswithrsrtr_) r%ruZ help_positionZ help_widthZ action_widthZ action_headerÚtupZ indent_firstrZ help_textZ help_linesr‚rvr*r*r+rtós8 ÿ         zHelpFormatter._format_actioncCs„|js&| |¡}| ||¡dƒ\}|Sg}|jdkrB| |j¡n4| |¡}| ||¡}|jD]}| d||f¡q^d |¡SdS)NrRrr–r) rˆr¥Ú_metavar_formatterr§r‹r¨r¦r r$)r%rur®Úmetavarrr°r¯r*r*r+rr"s     z'HelpFormatter._format_action_invocationcsP|jdk r|j‰n.|jdk rsz4HelpFormatter._metavar_formatter..z{%s}ú,cstˆtƒrˆSˆf|SdSr-)Ú isinstanceÚtuple)Z tuple_size©Úresultr*r+rŽCs z0HelpFormatter._metavar_formatter..format)rºÚchoicesr$)r%ruÚdefault_metavarZ choice_strsrŽr*rÀr+r¹:s   z HelpFormatter._metavar_formattercCsô| ||¡}|jdkr$d|dƒ}nÌ|jtkr.zinvalid nargs valuer~) r¹r§r rr rrrr¡Ú TypeErrorržr$)r%rurÃZ get_metavarrÁZformatsr*r*r+r¦Js*        zHelpFormatter._format_argscCs˜tt|ƒ|jd�}t|ƒD]}||tkr||=qt|ƒD] }t||dƒr:||j||<q:| d¡dk rŠd dd„|dDƒ¡}||d<|  |¡|S)Nr}rrÂrcSsg|] }t|ƒ‘qSr*r»)rYÚcr*r*r+r\ksz.HelpFormatter._expand_help..) r‡Úvarsr=r4rÚhasattrrr£r$Ú_get_help_string)r%ruZparamsr(Z choices_strr*r*r+rµbs   zHelpFormatter._expand_helpccs@z |j}Wntk rYnX| ¡|ƒEdH| ¡dSr-)Ú_get_subactionsÚAttributeErrorrTrU)r%ruZget_subactionsr*r*r+rsos  z'HelpFormatter._iter_indented_subactionscCs&|j d|¡ ¡}ddl}| ||¡S)Nr~r)rLrzr{ÚtextwrapZwrap)r%rerOrËr*r*r+r¶yszHelpFormatter._split_linescCs,|j d|¡ ¡}ddl}|j||||d�S)Nr~r)Zinitial_indentZsubsequent_indent)rLrzr{rËZfill)r%rerOr€rËr*r*r+r´€s þzHelpFormatter._fill_textcCs|jSr-)rq©r%rur*r*r+rȇszHelpFormatter._get_help_stringcCs |j ¡Sr-)ÚdestÚupperrÌr*r*r+r¨Šsz/HelpFormatter._get_default_metavar_for_optionalcCs|jSr-)rÍrÌr*r*r+r¥�sz1HelpFormatter._get_default_metavar_for_positional)r7r8N)N)rr2r3rPrTrUÚobjectrFrarbrcrfrlrwrxr`r_rgr‰rdrtrrr¹r¦rµrsr¶r´rÈr¨r¥r*r*r*r+ršs< ü  `g/  c@seZdZdd„ZdS)rcs d ‡fdd„|jdd�Dƒ¡S)Nr]c3s|]}ˆ|VqdSr-r*)rYr‚©r€r*r+Ú ™sz9RawDescriptionHelpFormatter._fill_text..T)Úkeepends)r$Ú splitlines)r%rerOr€r*rÐr+r´˜sz&RawDescriptionHelpFormatter._fill_textN)rr2r3r´r*r*r*r+r‘sc@seZdZdd„ZdS)rcCs| ¡Sr-)rÓ)r%rerOr*r*r+r¶£sz!RawTextHelpFormatter._split_linesN)rr2r3r¶r*r*r*r+rœsc@seZdZdd„ZdS)rcCs>|j}d|jkr:|jtk r:ttg}|js2|j|kr:|d7}|S)Nz %(default)z (default: %(default)s))rqr®rr rrˆr§)r%rurqZdefaulting_nargsr*r*r+rÈ®s  z.ArgumentDefaultsHelpFormatter._get_help_stringN)rr2r3rÈr*r*r*r+r§sc@seZdZdd„Zdd„ZdS)r cCs|jjSr-©rrrÌr*r*r+r¨Àsz:MetavarTypeHelpFormatter._get_default_metavar_for_optionalcCs|jjSr-rÔrÌr*r*r+r¥Ãsz.r*©r%Únamesr*r1r+r"?s÷ zAction._get_kwargscCsttdƒƒ‚dS)Nz.__call__() not defined)ÚNotImplementedErrorr†©r%ÚparserÚ namespaceÚvaluesr¯r*r*r+Ú__call__MszAction.__call__)NNNNNFNN)N)rr2r3rPr"rèr*r*r*r+r ös6ö cs(eZdZd‡fdd„ Zddd„Z‡ZS) Ú _StoreActionNFc sT|dkrtdƒ‚|dk r,|tkr,tdtƒ‚tt|ƒj||||||||| | d� dS)Nrz…nargs for store actions must be != 0; if you have nothing to store, actions such as store true or store const may be more appropriateú nargs must be %r to supply constrÛ)ržr ÚsuperrérPrÝ©Ú __class__r*r+rPSs   öz_StoreAction.__init__cCst||j|ƒdSr-)ÚsetattrrÍrär*r*r+rèpsz_StoreAction.__call__)NNNNNFNN)N©rr2r3rPrèÚ __classcell__r*r*rìr+réQsörécs(eZdZd‡fdd„ Zddd„Z‡ZS) Ú_StoreConstActionNFc s"tt|ƒj||d||||d�dS)Nr)rˆrÍr§rÜr®r rq)rërñrP©r%rˆrÍrÜr®r rqrºrìr*r+rPvs ùz_StoreConstAction.__init__cCst||j|jƒdSr-)rîrÍrÜrär*r*r+rè‡sz_StoreConstAction.__call__)NFNN)Nrïr*r*rìr+rñts ùrñcseZdZd‡fdd„ Z‡ZS)Ú_StoreTrueActionFNcs tt|ƒj||d|||d�dS)NT©rˆrÍrÜr®r rq)rërórP©r%rˆrÍr®r rqrìr*r+rP�s úz_StoreTrueAction.__init__)FFN©rr2r3rPrðr*r*rìr+ró‹sûrócseZdZd‡fdd„ Z‡ZS)Ú_StoreFalseActionTFNcs tt|ƒj||d|||d�dS)NFrô)rër÷rPrõrìr*r+rPžs úz_StoreFalseAction.__init__)TFNrör*r*rìr+r÷œsûr÷cs(eZdZd‡fdd„ Zddd„Z‡ZS) Ú _AppendActionNFc sT|dkrtdƒ‚|dk r,|tkr,tdtƒ‚tt|ƒj||||||||| | d� dS)NrzŒnargs for append actions must be != 0; if arg strings are not supplying the value to append, the append const action may be more appropriaterêrÛ)ržr rërørPrÝrìr*r+rP¯s   öz_AppendAction.__init__cCs2t||jdƒ}t|ƒ}| |¡t||j|ƒdSr-)rßrÍr6r rî©r%rårærçr¯r0r*r*r+rèÌs z_AppendAction.__call__)NNNNNFNN)Nrïr*r*rìr+rø­sörøcs(eZdZd‡fdd„ Zddd„Z‡ZS) Ú_AppendConstActionNFc s$tt|ƒj||d|||||d�dS)Nr)rˆrÍr§rÜr®r rqrº)rërúrPròrìr*r+rPÕs øz_AppendConstAction.__init__cCs4t||jdƒ}t|ƒ}| |j¡t||j|ƒdSr-)rßrÍr6r rÜrîrùr*r*r+rèçs z_AppendConstAction.__call__)NFNN)Nrïr*r*rìr+rúÓs ùrúcs(eZdZd‡fdd„ Zddd„Z‡ZS) Ú _CountActionNFcs tt|ƒj||d|||d�dS)Nr)rˆrÍr§r®r rq)rërûrPrõrìr*r+rPðs úz_CountAction.__init__cCs0t||jdƒ}|dkrd}t||j|dƒdS©NrrR)rßrÍrî)r%rårærçr¯Úcountr*r*r+rèþsz_CountAction.__call__)NFN)Nrïr*r*rìr+rûîs ûrûcs.eZdZeedf‡fdd„ Zddd„Z‡ZS)Ú _HelpActionNcstt|ƒj|||d|d�dS©Nr)rˆrÍr®r§rq)rërþrP)r%rˆrÍr®rqrìr*r+rPs ûz_HelpAction.__init__cCs| ¡| ¡dSr-)Ú print_helpÚexiträr*r*r+rèsz_HelpAction.__call__)N©rr2r3rrPrèrðr*r*rìr+rþs ü rþcs0eZdZdeedf‡fdd„ Zddd„Z‡ZS)Ú_VersionActionNz&show program's version number and exitcs$tt|ƒj|||d|d�||_dSrÿ)rërrPÚversion)r%rˆrrÍr®rqrìr*r+rPs ûz_VersionAction.__init__cCsD|j}|dkr|j}| ¡}| |¡| | ¡tj¡| ¡dSr-)rÚ_get_formatterrfÚ_print_messager`Ú_sysÚstdoutr)r%rårærçr¯rrVr*r*r+rè(s z_VersionAction.__call__)Nrr*r*rìr+rs ûrcsPeZdZGdd„deƒZedddf‡fdd„ Zdd„Zd d „Zd d d „Z ‡Z S)Ú_SubParsersActioncseZdZ‡fdd„Z‡ZS)z&_SubParsersAction._ChoicesPseudoActioncs@|}}|r|dd |¡7}ttj|ƒ}|jg|||d�dS)Nršr)rˆrÍrqrº)r$rër Ú_ChoicesPseudoActionrP)r%r(ÚaliasesrqrºrÍZsuprìr*r+rP6s  ÿz/_SubParsersAction._ChoicesPseudoAction.__init__rör*r*rìr+r 4sr FNc s<||_||_i|_g|_tt|ƒj||t|j|||d�dS)N)rˆrÍr§rÂr rqrº)Ú _prog_prefixÚ _parser_classÚ_name_parser_mapÚ_choices_actionsrër rPr)r%rˆrNÚ parser_classrÍr rqrºrìr*r+rP>s  ùz_SubParsersAction.__init__cKs†| d¡dkr d|j|f|d<| dd¡}d|krX| d¡}| |||¡}|j |¡|jf|Ž}||j|<|D]}||j|<qr|S)NrNr–r r*rq)r£r r¤r rr r r)r%r(Úkwargsr rqZ choice_actionråÚaliasr*r*r+Ú add_parserUs      z_SubParsersAction.add_parsercCs|jSr-)rr1r*r*r+rÉlsz!_SubParsersAction._get_subactionsc CsÒ|d}|dd…}|jtk r,t||j|ƒz|j|}Wn<tk rv|d |j¡dœ}tdƒ|}t||ƒ‚YnX| |d¡\} }t | ƒ  ¡D]\} } t|| | ƒq”|rÎt |ƒ  t g¡t |t ƒ |¡dS)NrrRr)Ú parser_namerÂz5unknown parser %(parser_name)r (choices: %(choices)s))rÍrrîrÚKeyErrorr$r†rÚparse_known_argsrÆr0Ú setdefaultÚ_UNRECOGNIZED_ARGS_ATTRrßr‹) r%rårærçr¯rr&r[ÚmsgZ subnamespaceÚkeyr)r*r*r+rèos$   ÿ  z_SubParsersAction.__call__)N) rr2r3r r rrPrrÉrèrðr*r*rìr+r 2sùr c@seZdZddd„ZdS)Ú _ExtendActionNcCs2t||jdƒ}t|ƒ}| |¡t||j|ƒdSr-)rßrÍr6r‹rîrùr*r*r+rè�s z_ExtendAction.__call__)N)rr2r3rèr*r*r*r+r�src@s&eZdZd dd„Zdd„Zdd „ZdS) rÚrr”NcCs||_||_||_||_dSr-)Ú_modeÚ_bufsizeÚ _encodingÚ_errors)r%ÚmodeÚbufsizeÚencodingÚerrorsr*r*r+rP«szFileType.__init__c Csž|dkr>d|jkrtjSd|jkr(tjStdƒ|j}t|ƒ‚zt||j|j|j|j ƒWSt k r˜}z"||dœ}tdƒ}t ||ƒ‚W5d}~XYnXdS)Nú-rÚwzargument "-" with mode %r)ÚfilenameÚerrorz$can't open '%(filename)s': %(error)s) rrÚstdinrr†ržr±rrr ÚOSErrorr)r%ÚstringrÚer[rÙr*r*r+rè±s  ÿ zFileType.__call__cCsT|j|jf}d|jfd|jfg}d dd„|Dƒdd„|Dƒ¡}dt|ƒj|fS)Nr#r$rcSsg|]}|dkrt|ƒ‘qS)r”)r!)rYr'r*r*r+r\Èsz%FileType.__repr__..cSs$g|]\}}|dk rd||f‘qS)Nrr*)rYÚkwr'r*r*r+r\Ésÿr)rrrr r$rr)r%r[rZargs_strr*r*r+r,Ås   ÿzFileType.__repr__)rr”NN)rr2r3rPrèr,r*r*r*r+ršs c@s$eZdZdd„Zdd„Zdd„ZdS)r cKs|D]}t||||ƒqdSr-)rî)r%rr(r*r*r+rPØszNamespace.__init__cCst|tƒstSt|ƒt|ƒkSr-)r¾r ÚNotImplementedrÆ)r%Úotherr*r*r+Ú__eq__Üs zNamespace.__eq__cCs ||jkSr-)r/)r%rr*r*r+Ú __contains__ászNamespace.__contains__N)rr2r3rPr0r1r*r*r*r+r Ñscs¨eZdZ‡fdd„Zdd„Zd&dd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zd'dd„Zdd„Zd d!„Zd"d#„Zd$d%„Z‡ZS)(Ú_ActionsContainercstt|ƒ ¡||_||_||_||_i|_| ddt ¡| ddt ¡| ddt ¡| ddt ¡| ddt ¡| ddt ¡| ddt¡| ddt¡| dd t¡| dd t¡| dd t¡| dd t¡| ¡g|_i|_g|_g|_i|_t d ¡|_g|_dS)NruZstoreZ store_constÚ store_trueZ store_falser Z append_constrýrqrÚparsersr‹z^-\d+$|^-\d*\.\d+$)rër2rPÚ descriptionÚargument_defaultÚ prefix_charsÚconflict_handlerÚ _registriesÚregisterrérñrór÷rørúrûrþrr rÚ _get_handlerÚ_actionsÚ_option_string_actionsÚ_action_groupsÚ_mutually_exclusive_groupsÚ _defaultsrIrJÚ_negative_number_matcherÚ_has_negative_number_optionals)r%r5r7r6r8rìr*r+rPçs4 z_ActionsContainer.__init__cCs|j |i¡}|||<dSr-)r9r)r%Ú registry_namer)rÏÚregistryr*r*r+r:sz_ActionsContainer.registerNcCs|j| ||¡Sr-)r9r£)r%rCr)r®r*r*r+Ú _registry_get sz_ActionsContainer._registry_getcKs2|j |¡|jD]}|j|kr||j|_qdSr-)r@Úupdater<rÍr®)r%rrur*r*r+Ú set_defaults&s   z_ActionsContainer.set_defaultscCs8|jD]"}|j|kr|jdk r|jSq|j |d¡Sr-)r<rÍr®r@r£)r%rÍrur*r*r+Ú get_default/s  z_ActionsContainer.get_defaultcOsD|j}|r&t|ƒdkrH|dd|krH|r:d|kr:tdƒ‚|j||Ž}n |j||Ž}d|kr’|d}||jkr~|j||d<n|jdk r’|j|d<| |¡}t|ƒs²td|fƒ‚|f|Ž}|  d|j |j ¡}t|ƒsätd|fƒ‚|t krútd |fƒ‚t |d ƒ�r:z|  ¡ |d¡Wntk �r8td ƒ‚YnX| |¡S) NrRrrÍz+dest supplied twice for positional argumentr®zunknown action "%s"rú%r is not callablez<%r is a FileType class object, instance of it must be passedrz,length of metavar tuple does not match nargs)r7rnržÚ_get_positional_kwargsÚ_get_optional_kwargsr@r6Ú_pop_action_classÚcallablerErrrÇrr¦rÄÚ _add_action)r%r[rÚcharsrÍZ action_classruÚ type_funcr*r*r+rw9s:         ÿ z_ActionsContainer.add_argumentcOs t|f|ž|Ž}|j |¡|Sr-)Ú_ArgumentGroupr>r )r%r[rrªr*r*r+Úadd_argument_groupls z$_ActionsContainer.add_argument_groupcKst|f|Ž}|j |¡|Sr-)Ú_MutuallyExclusiveGroupr?r )r%rrªr*r*r+Úadd_mutually_exclusive_groupqs  z._ActionsContainer.add_mutually_exclusive_groupcCs`| |¡|j |¡||_|jD]}||j|<q"|jD]"}|j |¡r8|js8|j d¡q8|S)NT) Ú_check_conflictr<r Ú containerrˆr=rAÚmatchrB)r%rur¯r*r*r+rNvs      z_ActionsContainer._add_actioncCs|j |¡dSr-)r<ÚremoverÌr*r*r+Ú_remove_action‹sz _ActionsContainer._remove_actioncCsÚi}|jD].}|j|kr.tdƒ}t||jƒ‚|||j<q i}|jD]D}|j|krn|j|j|j|jd�||j<|jD]}||j||<qtqD|jD]&}|j |j d�}|jD] }|||<q¨q�|j D]}|  ||¡  |¡q¾dS)Nz.cannot merge actions - two groups are named %r)Útitler5r8)r )r>rZr†ržrRr5r8r�r?rTr r<r£rN)r%rVZtitle_group_maprªrZ group_mapruÚ mutex_groupr*r*r+Ú_add_container_actionsŽs0     ý   ÿ   z(_ActionsContainer._add_container_actionscKs^d|krtdƒ}t|ƒ‚| d¡ttfkr2d|d<| d¡tkrPd|krPd|d<t||gd�S)Nr z1'required' is an invalid argument for positionalsr§Tr®©rÍrˆ)r†rÄr£r rr‡)r%rÍrrr*r*r+rJ¶sz(_ActionsContainer._get_positional_kwargsc Osäg}g}|D]n}|d|jkr>||jdœ}tdƒ}t||ƒ‚| |¡|d|jkr t|ƒdkr |d|jkr | |¡q | dd¡}|dkrÖ|rž|d}n|d}| |j¡}|sÊtdƒ}t||ƒ‚| dd¡}t|||d �S) Nr)Úoptionr7zNinvalid option string %(option)r: must start with a character %(prefix_chars)rrRrÍz%dest= is required for options like %rr%r†r]) r7r†ržr rnr¤ÚlstripÚreplacer‡) r%r[rrˆZlong_option_stringsr¯rrÍZdest_option_stringr*r*r+rKÆs2ÿ         z&_ActionsContainer._get_optional_kwargscCs| d|¡}| d||¡S)Nru)r¤rE)r%rr®rur*r*r+rLês z#_ActionsContainer._pop_action_classcCsFd|j}z t||ƒWStk r@tdƒ}t||jƒ‚YnXdS)Nz_handle_conflict_%sz%invalid conflict_resolution value: %r)r8rßrÊr†rž)r%Zhandler_func_namerr*r*r+r;îs   z_ActionsContainer._get_handlercCsLg}|jD]&}||jkr |j|}| ||f¡q |rH| ¡}|||ƒdSr-)rˆr=r r;)r%ruZconfl_optionalsr¯Zconfl_optionalr8r*r*r+rU÷s   z!_ActionsContainer._check_conflictcCs6tddt|ƒƒ}d dd„|Dƒ¡}t|||ƒ‚dS)Nzconflicting option string: %szconflicting option strings: %srcSsg|] \}}|‘qSr*r*)rYr¯rur*r*r+r\ sÿz<_ActionsContainer._handle_conflict_error..)rrnr$r)r%ruÚconflicting_actionsrÙZconflict_stringr*r*r+Ú_handle_conflict_errorsþ þz(_ActionsContainer._handle_conflict_errorcCs>|D]4\}}|j |¡|j |d¡|js|j |¡qdSr-)rˆrXr=r¤rVrY)r%rurar¯r*r*r+Ú_handle_conflict_resolves   z*_ActionsContainer._handle_conflict_resolve)N)N)rr2r3rPr:rErGrHrwrRrTrNrYr\rJrKrLr;rUrbrcrðr*r*rìr+r2ås$ 5   3($   r2cs6eZdZd‡fdd„ Z‡fdd„Z‡fdd„Z‡ZS) rQNc sˆ|j}|d|jƒ|d|jƒ|d|jƒtt|ƒj}|fd|i|—Ž||_g|_|j |_ |j |_ |j |_ |j |_ |j |_ |j|_dS)Nr8r7r6r5)rr8r7r6rërQrPrZr�r9r<r=r@rBr?)r%rVrZr5rrFZ super_initrìr*r+rPs    ÿz_ArgumentGroup.__init__cs tt|ƒ |¡}|j |¡|Sr-)rërQrNr�r rÌrìr*r+rN5s z_ArgumentGroup._add_actioncs tt|ƒ |¡|j |¡dSr-)rërQrYr�rXrÌrìr*r+rY:sz_ArgumentGroup._remove_action)NN©rr2r3rPrNrYrðr*r*rìr+rQs rQcs.eZdZd‡fdd„ Zdd„Zdd„Z‡ZS) rSFcs tt|ƒ |¡||_||_dSr-)rërSrPr Ú _container)r%rVr rìr*r+rPAsz _MutuallyExclusiveGroup.__init__cCs2|jrtdƒ}t|ƒ‚|j |¡}|j |¡|S)Nz-mutually exclusive arguments must be optional)r r†ržrerNr�r )r%rurr*r*r+rNFs   z#_MutuallyExclusiveGroup._add_actioncCs|j |¡|j |¡dSr-)rerYr�rXrÌr*r*r+rYNs z&_MutuallyExclusiveGroup._remove_action)Frdr*r*rìr+rS?srSc s&eZdZddddgeddddddf ‡fdd„ Zdd„Zd d „Zd d „Zd d„Zdd„Z d@dd„Z dAdd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„ZdBd%d&„ZdCd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„ZdDd5d6„ZdEd7d8„ZdFd9d:„ZdGdd?„Z ‡Z!S)HrNr%r(Tc  s"tt|ƒj} | ||| | d�|dkr6tj tjd¡}||_||_ ||_ ||_ ||_ | |_ | |_|j}|tdƒƒ|_|tdƒƒ|_d|_dd„}| dd|¡d|krªdn|d}|j rÜ|j|d |d d d ttd ƒd �|D]<}| |¡z |j}Wntk �rYqàX|j |¡qàdS)N)r5r7r6r8rzpositional argumentszoptional argumentscSs|Sr-r*)r+r*r*r+ÚidentityŒsz)ArgumentParser.__init__..identityrr%Úhr7rqzshow this help message and exit)rur®rq)rërrPÚ_osÚpathÚbasenamerÚargvrNrhÚepilogÚformatter_classÚfromfile_prefix_charsÚadd_helpÚ allow_abbrevrRr†Ú _positionalsÚ _optionalsÚ _subparsersr:rwrr\r@rÊrF)r%rNrhr5rlÚparentsrmr7rnr6r8rorpZ superinitZ add_grouprfZdefault_prefixrWÚdefaultsrìr*r+rPfsJ ý ý  zArgumentParser.__init__cs"ddddddg}‡fdd„|DƒS) NrNrhr5rmr8rocsg|]}|tˆ|ƒf‘qSr*rÞràr1r*r+r\¯sz.ArgumentParser._get_kwargs..r*rár*r1r+r"¦súzArgumentParser._get_kwargsc Ksä|jdk r| tdƒ¡| dt|ƒ¡d|ks8d|krht| dd¡ƒ}t| dd¡ƒ}| ||¡|_n|j|_| d¡dkr¶|  ¡}|  ¡}|j }|  |j ||d¡| ¡ ¡|d<| |d¡}|fd gi|—Ž}|j |¡|S) Nz(cannot have multiple subparser argumentsrrZr5Z subcommandsrNr]r4rˆ)rsr(r†rrr¤rRrqr£rÚ_get_positional_actionsr?rlrhr`r{rLrN) r%rrZr5rVr�rjZ parsers_classrur*r*r+Úadd_subparsers´s$   zArgumentParser.add_subparserscCs$|jr|j |¡n |j |¡|Sr-)rˆrrrNrqrÌr*r*r+rNÓs zArgumentParser._add_actioncCsdd„|jDƒS)NcSsg|]}|jr|‘qSr*©rˆ©rYrur*r*r+r\Ûsþz8ArgumentParser._get_optional_actions..©r<r1r*r*r+Ú_get_optional_actionsÚsÿz$ArgumentParser._get_optional_actionscCsdd„|jDƒS)NcSsg|]}|js|‘qSr*rxryr*r*r+r\àsþz:ArgumentParser._get_positional_actions..rzr1r*r*r+rvßsÿz&ArgumentParser._get_positional_actionscCs4| ||¡\}}|r0tdƒ}| |d |¡¡|S©Nzunrecognized arguments: %sr~)rr†r(r$©r%r[rærkrr*r*r+Ú parse_argsçs zArgumentParser.parse_argscCs|dkrtjdd…}nt|ƒ}|dkr.tƒ}|jD]4}|jtk r4t||jƒs4|jtk r4t ||j|jƒq4|j D] }t||ƒspt |||j |ƒqpz>|  ||¡\}}t|t ƒrÈ|  t|t ƒ¡t|t ƒ||fWStk �rt ¡d}| t|ƒ¡YnXdSrQ)rrkr4r r<rÍrrÇr®rîr@Ú_parse_known_argsrr‹rßÚdelattrrÚexc_infor(r¼)r%r[rærurÍÚerrr*r*r+rîs,          zArgumentParser.parse_known_argscsˆ jdk rˆ  ˆ¡‰i‰ˆ jD]R}|j}t|jƒD]<\}}ˆ |g¡}| |d|…¡| ||dd…¡q2qi‰g}tˆƒ} t| ƒD]^\}} | dkrº| d¡| D]} | d¡q¨qŠˆ   | ¡} | dkrÒd} n | ˆ|<d} | | ¡qŠd  |¡‰t ƒ‰t ƒ‰d‡‡‡‡‡ fdd„ ‰ ‡‡‡‡‡ ‡ fd d „} ˆ   ¡‰‡‡‡‡ ‡ fd d „}g‰d ‰ ˆ�r`t ˆƒ}nd}ˆ |k�rÞt‡ fdd„ˆDƒƒ}ˆ |k�r®|ˆ ƒ}|ˆ k�rª|‰ �qdn|‰ ˆ ˆk�rÒˆˆ |…}ˆ |¡|‰ | ˆ ƒ‰ �qd|ˆ ƒ}ˆ ˆ|d…¡g}ˆ jD]|}|ˆk�r|j�r(| t|ƒ¡nT|jdk �rt|jtƒ�rtˆ|jƒ�r|jtˆ|jƒk�rtˆ|jˆ  ||j¡ƒ�q|�ržˆ  tdƒd  |¡¡ˆ jD]X}|j�r¤|jD]}|ˆk�r¶�q¤�q¶dd„|jDƒ}tdƒ}ˆ  |d  |¡¡�q¤ˆˆfS)NrRú--r%ÚAÚOr]cs|ˆ |¡ˆ ||¡}||jk rbˆ |¡ˆ |g¡D]*}|ˆkr6tdƒ}t|ƒ}t|||ƒ‚q6|tk rx|ˆˆ||ƒdS)Nznot allowed with argument %s)rŸÚ _get_valuesr®r£r†r×rr)ruZargument_stringsr¯Zargument_valuesZconflict_actionrZ action_name)Úaction_conflictsræÚ seen_actionsÚseen_non_default_actionsr%r*r+Ú take_action@s    z5ArgumentParser._parse_known_args..take_actioncs~ˆ|}|\}}}ˆj}g}|dkr:ˆ ˆ|¡|dS|dk �r||dƒ}ˆj}|dkrÐ|d|krÐ| |g|f¡|d} | |d}|dd…pšd} ˆj} || kr¸| |}| }ntdƒ} t|| |ƒ‚nB|dkrü|d} |g}| |||f¡�q\ntdƒ} t|| |ƒ‚q|d}ˆ|d…}|||ƒ}||} ˆ|| …}| |||f¡�q\q|D]\}}}ˆ|||ƒ�q`| S)NrRr„rzignored explicit argument %r)Ú_match_argumentr r7r=r†r)Ú start_indexÚ option_tuplerur¯Ú explicit_argZmatch_argumentZ action_tuplesÚ arg_countrOÚcharZnew_explicit_argZ optionals_maprÚstopr[r«Zselected_patterns)r&Úarg_strings_patternÚextrasÚoption_string_indicesr%rŠr*r+Úconsume_optionalUsL       z:ArgumentParser._parse_known_args..consume_optionalcsnˆj}ˆ|d…}|ˆ|ƒ}tˆ|ƒD]*\}}ˆ|||…}||7}ˆ||ƒq&ˆt|ƒd…ˆdd…<|Sr-)Ú_match_arguments_partialÚziprn)rŒZ match_partialZselected_patternZ arg_countsrur�r[)r&r’r�r%rŠr*r+Úconsume_positionals¢s   z=ArgumentParser._parse_known_args..consume_positionalsrr”csg|]}|ˆkr|‘qSr*r*)rYrœ)rŒr*r+r\¿sþz4ArgumentParser._parse_known_args..z(the following arguments are required: %srcSsg|]}|jtk rt|ƒ‘qSr*)rqrr×ryr*r*r+r\þs þz#one of the arguments %s is requiredr~)N)rnÚ_read_args_from_filesr?r�r¢rr‹Úiterr Ú_parse_optionalr$r›rvr@r?r<r r×r®r¾r¼rÇrÍrßrîÚ _get_valuer(r†)r%r&rær[r©r­Z mutex_actionZ conflictsZarg_string_pattern_partsZarg_strings_iterÚ arg_stringr�Úpatternr•r˜Zmax_option_string_indexZnext_option_string_indexZpositionals_end_indexZstringsZ stop_indexZrequired_actionsrurªrârr*) r‡r&r’r“rær”r�rˆr‰r%rŒrŠr+rs¤        J   þ          ÿ þý ÿ ÿ    ÿz ArgumentParser._parse_known_argsc CsÄg}|D]¶}|r|d|jkr*| |¡qzdt|dd…ƒ�J}g}| ¡ ¡D]}| |¡D]}| |¡q\qN| |¡}| |¡W5QRXWqtk r¼t   ¡d}|  t |ƒ¡YqXq|Srü) rnr r±ÚreadrÓÚconvert_arg_line_to_argsr™r‹r*rr�r(r¼)r%r&Znew_arg_stringsr�Z args_fileÚarg_liner'r‚r*r*r+r™s    z$ArgumentParser._read_args_from_filescCs|gSr-r*)r%r¡r*r*r+r !sz'ArgumentParser.convert_arg_line_to_argscCsz| |¡}t ||¡}|dkrldtdƒttdƒttdƒi}| |j¡}|dkrbtdd|jƒ|j}t ||ƒ‚t |  d¡ƒS)Nzexpected one argumentzexpected at most one argumentzexpected at least one argumentzexpected %s argumentzexpected %s argumentsrR) Ú_get_nargs_patternrIrWr†r r r£r§rrrnrª)r%rur’Ú nargs_patternrWZ nargs_errorsrr*r*r+r‹$s(  ý þþ zArgumentParser._match_argumentcsrg}tt|ƒddƒD]X}|d|…}d ‡fdd„|Dƒ¡}t ||¡}|dk r| dd„| ¡Dƒ¡qnq|S)Nrr”r]csg|]}ˆ |¡‘qSr*)r¢ryr1r*r+r\@sÿz;ArgumentParser._match_arguments_partial..cSsg|] }t|ƒ‘qSr*rm)rYr+r*r*r+r\Ds)r¡rnr$rIrWr‹rj)r%rir’rÁr­Z actions_sliceržrWr*r1r+r–:s ÿ z'ArgumentParser._match_arguments_partialc Cs|sdS|d|jkrdS||jkr8|j|}||dfSt|ƒdkrHdSd|kr~| dd¡\}}||jkr~|j|}|||fS| |¡}t|ƒdkrÊd dd„|Dƒ¡}||dœ}tdƒ}| ||¡nt|ƒdkrà|\} | S|j  |¡rö|j södSd |k�rdSd|dfS) NrrRú=rcSsg|]\}}}|‘qSr*r*)rYrur¯rŽr*r*r+r\isÿz2ArgumentParser._parse_optional..)r^Zmatchesz4ambiguous option: %(option)s could match %(matches)sr~) r7r=rnÚsplitÚ_get_option_tuplesr$r†r(rArWrB) r%r�rur¯rŽZ option_tuplesZoptionsr[rr�r*r*r+r›Js>          ÿ    zArgumentParser._parse_optionalc Cs0g}|j}|d|kr€|d|kr€|jr~d|krB| dd¡\}}n|}d}|jD],}| |¡rP|j|}|||f}| |¡qPn¬|d|k�r|d|k�r|}d}|dd…}|dd…} |jD]T}||krî|j|}||| f}| |¡qÂ| |¡rÂ|j|}|||f}| |¡qÂn| tdƒ|¡|S)NrrRr¤r7zunexpected option string: %s)r7rpr¥r=Ú startswithr r(r†) r%r¯rÁrOZ option_prefixrŽrur¸Zshort_option_prefixZshort_explicit_argr*r*r+r¦„s:             z!ArgumentParser._get_option_tuplescCsœ|j}|dkrd}nf|tkr"d}nX|tkr0d}nJ|tkr>d}n<|tkrLd}n.|tkrZd}n |tkrhd}ndd  d |¡}|jr˜|  d d ¡}|  d d ¡}|S) Nz(-*A-*)z(-*A?-*)z (-*[A-]*)z (-*A[A-]*)z([-AO]*)z (-*A[-AO]*)z(-*-*)z(-*%s-*)z-*r„r]r%) r§r rr rrrr$rˆr`)r%rur§r£r*r*r+r¢±s(  z!ArgumentParser._get_nargs_patterncCs4| ||¡\}}|r0tdƒ}| |d |¡¡|Sr|)Úparse_known_intermixed_argsr†r(r$r}r*r*r+Úparse_intermixed_argsâs z$ArgumentParser.parse_intermixed_argsc sª| ¡‰dd„ˆDƒ}|r,td|djƒ‚‡fdd„|jDƒrHtdƒ‚�zN|j}z¦|jdkrp| ¡dd…|_ˆD] }|j|_t |_|j|_t |_qt|  ||¡\}}ˆD]J}t ||j ƒrªt ||j ƒgkrªddlm}|d |j |fƒt||j ƒqªW5ˆD]}|j|_|j|_qþX| ¡}zJ|D]}|j|_d |_�q$|jD]} | j| _d | _�q@|  ||¡\}} W5|D]}|j|_�qn|jD]} | j| _�q„XW5||_X|| fS) NcSsg|]}|jttfkr|‘qSr*)r§rrryr*r*r+r\÷sÿz>ArgumentParser.parse_known_intermixed_args..z3parse_intermixed_args: positional arg with nargs=%srcs&g|]}|jD]}|ˆkr|j‘qqSr*)r�rÍ)rYrªru©r�r*r+r\ýs ÿz;parse_intermixed_args: positional in mutuallyExclusiveGroupé)ÚwarnzDo not expect %s in %sF)rvrÄr§r?rhZ save_nargsZ save_defaultr®Ú format_usagerrrÇrÍrßÚwarningsr¬r€r{Z save_requiredr ) r%r[ræÚaZ save_usageruZremaining_argsr¬rŒrªr“r*rªr+r¨és` ÿ ÿ ÿ     ÿ   z*ArgumentParser.parse_known_intermixed_argscs‚ˆjttfkr2z| d¡Wntk r0YnX|szˆjtkrzˆjrNˆj}nˆj}t |t ƒrvˆ  ˆ|¡}ˆ  ˆ|¡�n|s²ˆjt kr²ˆjs²ˆjdk r ˆj}n|}ˆ  ˆ|¡nÌt|ƒdkrìˆjdtfkrì|\}ˆ  ˆ|¡}ˆ  ˆ|¡n’ˆjtk�r‡‡fdd„|Dƒ}npˆjtk�r@‡‡fdd„|Dƒ}ˆ  ˆ|d¡n>ˆjtk�rRt}n,‡‡fdd„|Dƒ}|D]}ˆ  ˆ|¡�qj|S)NrƒrRcsg|]}ˆ ˆ|¡‘qSr*©rœ©rYÚv©rur%r*r+r\Z sz.ArgumentParser._get_values..csg|]}ˆ ˆ|¡‘qSr*r°r±r³r*r+r\^ srcsg|]}ˆ ˆ|¡‘qSr*r°r±r³r*r+r\g s)r§rrrXržr rˆrÜr®r¾r¼rœÚ _check_valuerrnr)r%rur&r)r�r²r*r³r+r†6 sD  ÿ     zArgumentParser._get_valuesc CsÎ| d|j|j¡}t|ƒs0tdƒ}t|||ƒ‚z ||ƒ}WnŒtk r~t|jdt|jƒƒ}tt   ¡dƒ}t||ƒ‚YnLt t fk rÈt|jdt|jƒƒ}||dœ}tdƒ}t|||ƒ‚YnX|S)NrrIrrR)rr)z!invalid %(type)s value: %(value)r) rErrMr†rrrßr!r¼rr�rÄrž)r%rur�rPrrÁr(r[r*r*r+rœn s   zArgumentParser._get_valuecCsF|jdk rB||jkrB|d tt|jƒ¡dœ}tdƒ}t|||ƒ‚dS)Nr)r)rÂz3invalid choice: %(value)r (choose from %(choices)s))rÂr$Úmapr!r†r)r%rur)r[rr*r*r+r´ˆ s ÿzArgumentParser._check_valuecCs$| ¡}| |j|j|j¡| ¡Sr-)rrlrhr<r?r`)r%rVr*r*r+r­“ s  ÿzArgumentParser.format_usagecCst| ¡}| |j|j|j¡| |j¡|jD]0}| |j ¡| |j¡|  |j ¡|  ¡q.| |j ¡| ¡Sr-)rrlrhr<r?rfr5r>rbrZrxr�rcrlr`)r%rVZ action_groupr*r*r+r`™ s ÿ       zArgumentParser.format_helpcCs|j|jd�S)Nr})rmrNr1r*r*r+r° szArgumentParser._get_formattercCs"|dkrtj}| | ¡|¡dSr-)rrrr­©r%Úfiler*r*r+Ú print_usage¶ szArgumentParser.print_usagecCs"|dkrtj}| | ¡|¡dSr-)rrrr`r¶r*r*r+r» szArgumentParser.print_helpcCs |r|dkrtj}| |¡dSr-)rÚstderrÚwrite)r%rÙr·r*r*r+rÀ szArgumentParser._print_messagercCs |r| |tj¡t |¡dSr-)rrr¹r)r%ZstatusrÙr*r*r+rÉ szArgumentParser.exitcCs0| tj¡|j|dœ}| dtdƒ|¡dS)N)rNrÙr7z%(prog)s: error: %(message)s )r¸rr¹rNrr†)r%rÙr[r*r*r+r(Î s  zArgumentParser.error)NN)NN)NN)NN)N)N)N)rN)"rr2r3rrPr"rwrNr{rvr~rrr™r r‹r–r›r¦r¢r©r¨r†rœr´r­r`rr¸rrrr(rðr*r*rìr+rSsTô@  #w:-1  M8    )2Ú __version__Ú__all__ÚosrhÚrerIZshutilr:Úsysrrr†rrr rr rrrrÏrr6rrrrr r×Ú Exceptionrrr rérñrór÷rørúrûrþrr rrr r2rQrSrr*r*r*r+ÚAs~ïz    [#&] 7:"