a DOg@sdZgdZdZddlZddlZddlZddZzddlmZmZWn"e yfdd Zd d ZYn0eZ Gd d d e Z Gddde Z Gddde ZGddde ZGddde ZGdddeZGdddZGdddeZGdddeZddZd d!Zee d"fee d"fee d#fee d$fd%Zd&d'Zd(d)Zd*ZGd+d,d,Zd-Zd.ZGd/d0d0Z Gd1d2d2Z!Gd3d4d4e!Z"Gd5d6d6e!Z#d7d8Z$eZ%dS)9z1.5.3)Option make_option SUPPRESS_HELPSUPPRESS_USAGEValuesOptionContainer OptionGroup OptionParser HelpFormatterIndentedHelpFormatterTitledHelpFormatter OptParseError OptionErrorOptionConflictErrorOptionValueErrorBadOptionError check_choicea" Copyright (c) 2001-2006 Gregory P. Ward. All rights reserved. Copyright (c) 2002-2006 Python Software Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. NcCsd|jjt||fS)Nz<%s at 0x%x: %s>) __class____name__idselfr-/opt/alt/python39/lib64/python3.9/optparse.py_reprOsr)gettextngettextcCs|SNr)messagerrrr\srcCs|dkr |S|SNr)ZsingularZpluralnrrrr_src@seZdZddZddZdS)r cCs ||_dSrmsgrr#rrr__init__hszOptParseError.__init__cCs|jSrr"rrrr__str__kszOptParseError.__str__Nr __module__ __qualname__r%r&rrrrr gsr c@seZdZddZddZdS)r cCs||_t||_dSr)r#str option_id)rr#optionrrrr%uszOptionError.__init__cCs |jrd|j|jfS|jSdS)Nz option %s: %s)r+r#rrrrr&yszOptionError.__str__Nr'rrrrr osr c@s eZdZdS)rNrr(r)rrrrrsrc@s eZdZdS)rNr-rrrrrsrc@seZdZddZddZdS)rcCs ||_dSr)opt_strrr.rrrr%szBadOptionError.__init__cCstd|jS)Nzno such option: %s)_r.rrrrr&szBadOptionError.__str__Nr'rrrrrsrc@seZdZddZddZdS)AmbiguousOptionErrorcCst||||_dSr)rr% possibilities)rr.r2rrrr%s zAmbiguousOptionError.__init__cCstd|jd|jfS)Nzambiguous option: %s (%s?), )r0r.joinr2rrrrr&szAmbiguousOptionError.__str__Nr'rrrrr1sr1c@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZddZddZd S)!r Znonec Csd|_||_|durJzttjd}Wnttfy@d}Yn0|d8}||_t|t |d|d|_ |_ d|_ d|_ d|_||_d|_i|_d|_d|_dS) NZCOLUMNSPrz%defaultz%s %sz%s=%s)parserindent_incrementintosenvironKeyError ValueErrorwidthminmax help_positionmax_help_positioncurrent_indentlevel help_width short_first default_tagoption_strings_short_opt_fmt _long_opt_fmtrr9rCr?rGrrrr%s&  zHelpFormatter.__init__cCs ||_dSr)r8rr8rrr set_parserszHelpFormatter.set_parsercCs&|dvrtd|d|d|_dS)N) z/invalid metavar delimiter for short options: %r%s)r>rJrZdelimrrrset_short_opt_delimiters z%HelpFormatter.set_short_opt_delimitercCs&|dvrtd|d|d|_dS)N)=rPz.invalid metavar delimiter for long options: %rrQ)r>rKrRrrrset_long_opt_delimiters z$HelpFormatter.set_long_opt_delimitercCs"|j|j7_|jd7_dSrrDr9rErrrrindentszHelpFormatter.indentcCs"|j|j8_|jd8_dSrrVrrrrdedentszHelpFormatter.dedentcCs tddSNzsubclasses must implementNotImplementedErrorrusagerrr format_usageszHelpFormatter.format_usagecCs tddSrYrZrZheadingrrrformat_headingszHelpFormatter.format_headingcCs.t|j|jd}d|j}tj||||dS)N rP)Zinitial_indentZsubsequent_indent)rAr?rDtextwrapZfill)rtextZ text_widthrWrrr _format_texts zHelpFormatter._format_textcCs|r||dSdSdSN rOrdr descriptionrrrformat_descriptionsz HelpFormatter.format_descriptioncCs|rd||dSdSdSrerg)repilogrrr format_epilogszHelpFormatter.format_epilogcCsP|jdus|js|jS|jj|j}|tus6|dur<|j}|j|jt |Sr) r8rHhelpdefaultsgetdest NO_DEFAULTNO_DEFAULT_VALUEreplacer*)rr,Z default_valuerrrexpand_defaults zHelpFormatter.expand_defaultcsg}j|}jjd}t||krBdjd|f}j}ndjd||f}d}|||jr|}t|j }|d|d|df| fdd|ddDn|d d kr|d d |S) Nr6%*s%s rOz %*s%-*s rcsg|]}djd|fqS)rurO)rB).0linerrr Esz/HelpFormatter.format_option..r rf) rIrBrDlenappendrmrtrbZwraprFextendr4)rr,resultoptsZ opt_widthZ indent_firstZ help_textZ help_linesrrr format_option(s&       zHelpFormatter.format_optioncCs|d}|jD],}||}||j|<t|t||j}q||jD]8}|jD],}||}||j|<t|t||j}qXqN||t |d|j |_ t|j |j d|_ dS)Nrr6ra)rW option_listformat_option_stringsrIrArzrD option_groupsrXr@rCrBr?rF)rr8Zmax_lenoptZstringsgrouprrrstore_option_stringsKs        z"HelpFormatter.store_option_stringscst|rF|jp|jfdd|jD}fdd|jD}n |j}|j}jrb||}n||}d|S)Ncsg|]}j|fqSr)rJ)rvZsoptmetavarrrrrxasz7HelpFormatter.format_option_strings..csg|]}j|fqSr)rK)rvZloptrrrrxcsr3) takes_valuerrpupper _short_opts _long_optsrGr4)rr,Z short_optsZ long_optsr~rrrr]s   z#HelpFormatter.format_option_stringsN)rr(r)rrr%rNrSrUrWrXr^r`rdrjrlrtrrrrrrrr s +  #r c@s&eZdZd ddZddZd d ZdS) r r6Nr cCst|||||dSrr r%rLrrrr%ts zIndentedHelpFormatter.__init__cCs td|S)Nz Usage: %s )r0r\rrrr^|sz"IndentedHelpFormatter.format_usagecCsd|jd|fS)Nz%*s%s: rO)rDr_rrrr`sz$IndentedHelpFormatter.format_heading)r6rNr rr(r)r%r^r`rrrrr ps r c@s&eZdZd ddZddZdd ZdS) r rrNcCst|||||dSrrrLrrrr%s zTitledHelpFormatter.__init__cCsd|td|fS)Nz%s %s ZUsage)r`r0r\rrrr^sz TitledHelpFormatter.format_usagecCsd|d|jt|fS)Nz%s %s z=-)rErzr_rrrr`sz"TitledHelpFormatter.format_heading)rrNrrrrrrr s r cCsh|dddkrd}nD|dddkrDd}|ddp@d}n|dddkrZd}nd}|||S) Nr6Z0xZ0b0r  )lower)valtyperadixrrr _parse_numsrcCs t|tSr)rr:)rrrr _parse_intsrZintegerzfloating-pointcomplex)r:longfloatrcCsFt|j\}}z ||WSty@ttd|||fYn0dS)Nzoption %s: invalid %s value: %r) _builtin_cvtrr>rr0)r,rvalueZcvtZwhatrrr check_builtins  rcCs:||jvr|Sdtt|j}ttd|||fdS)Nr3z.option %s: invalid choice: %r (choose from %s))choicesr4mapreprrr0)r,rrrrrrrs r)ZNOZDEFAULTc@seZdZgdZdZdZdZdZdZdZ e e e e e dZ d Z d d Zd d ZddZddZddZddZddZddZddZddZddZeeeeeeegZ d d!ZeZd"d#Zd$d%Zd&d'Zd(d)Zd*d+Z d,d-Z!d S).r) actionrrpdefaultnargsconstrcallback callback_argscallback_kwargsrmr) store store_const store_true store_falser{ append_constcountrrmversion)rrrrr{rr)rr{r)rr{)rr)stringr:rrrchoice)r:rrrrNcOsBg|_g|_||}|||||jD] }||q0dSr)rr_check_opt_strings_set_opt_strings _set_attrs CHECK_METHODS)rr~attrscheckerrrrr%4s    zOption.__init__cCsdd|D}|std|S)NcSsg|] }|r|qSrr)rvrrrrrxKz-Option._check_opt_strings..z+at least one option string must be supplied) TypeError)rr~rrrrGszOption._check_opt_stringscCs|D]}t|dkr$td||qt|dkrd|ddkrH|ddksVtd|||j|q|dddkr|ddkstd|||j|qdS) Nr6z>invalid option string %r: must be at least two characters longr-r zMinvalid short option string %r: must be of the form -x, (x any non-dash char)--zGinvalid long option string %r: must start with --, followed by non-dash)rzr rr{r)rr~rrrrrPs2  zOption._set_opt_stringscCsv|jD]F}||vr*t||||||=q|dkr@t||tqt||dq|rrt|}tdd||dS)Nrzinvalid keyword arguments: %sr3)ATTRSsetattrrqsortedkeysr r4)rrattrrrrres   zOption._set_attrscCs2|jdurd|_n|j|jvr.td|j|dS)Nrzinvalid action: %r)rACTIONSr rrrr _check_actionxs  zOption._check_actioncCs|jdur0|j|jvr|jdur(d|_qd|_n^t|jtrF|jj|_|jdkrVd|_|j|jvrrtd|j||j|jvrtd|j|dS)Nrrr*zinvalid option type: %rz$must not supply a type for action %r) rrALWAYS_TYPED_ACTIONSr isinstancerTYPESr TYPED_ACTIONSrrrr _check_type~s         zOption._check_typecCsr|jdkrT|jdur td|qnt|jttfsntdtt|jdd|n|jdurntd|j|dS)Nrz/must supply a list of choices for type 'choice'z1choices must be a list of strings ('%s' supplied)'r z#must not supply choices for type %r)rrr rtuplelistr*splitrrrr _check_choices     zOption._check_choicecCs\|j|jvp|jdu}|jdurX|rX|jrH|jddddd|_n|jdd|_dS)Nrr6rr0r )r STORE_ACTIONSrrprrsr)rrrrr _check_dests zOption._check_destcCs*|j|jvr&|jdur&td|j|dS)Nz*'const' must not be supplied for action %r)r CONST_ACTIONSrr rrrr _check_consts zOption._check_constcCs<|j|jvr|jdur8d|_n|jdur8td|j|dS)Nr z*'nargs' must not be supplied for action %r)rrrr rrrr _check_nargss   zOption._check_nargscCs|jdkrrt|js$td|j||jdurJt|jtsJtd|j||jdurt|jtstd|j|nB|jdurtd|j||jdurtd||jdurtd|dS)Nrzcallback not callable: %rz3callback_args, if supplied, must be a tuple: not %rz4callback_kwargs, if supplied, must be a dict: not %rz.callback supplied (%r) for non-callback optionz.callback_args supplied for non-callback optionz0callback_kwargs supplied for non-callback option) rcallablerr rrrrdictrrrr_check_callbacksL          zOption._check_callbackcCsd|j|jS)N/)r4rrrrrrr&szOption.__str__cCs |jduSr)rrrrrrszOption.takes_valuecCs|jr|jdS|jdSdSNr)rrrrrrget_opt_strings zOption.get_opt_stringcCs*|j|j}|dur|S||||SdSr) TYPE_CHECKERror)rrrrrrr check_valueszOption.check_valuecs:|dur6jdkr|Stfdd|DSdS)Nr csg|]}|qSr)r)rvvrrrrrxrz(Option.convert_value..)rrr)rrrrrr convert_values  zOption.convert_valuecCs$|||}||j|j||||Sr)r take_actionrrp)rrrvaluesr8rrrprocesss zOption.processc Cs@|dkrt|||n$|dkr2t|||jn |dkrHt||dn|dkr^t||dn|dkrz||g|n|dkr||g|jn|d krt||||d d n|d kr|jpd }|jpi}|j||||g|Ri|nF|dkr||n*|dkr.| |nt d|j d S)NrrrTrFr{rrrr rrrmrzunknown action %r) rr ensure_valuer{rrr print_helpexit print_versionr>r) rrrprrrr8argskwargsrrrrs4       zOption.take_action)"rr(r)rrrrrrrrrrrr%rrrrrrrrrrr&r__repr__rrrrrrrrrrrsR       rZ SUPPRESSHELPZ SUPPRESSUSAGEc@s^eZdZdddZddZeZddZdd Zd d Z d d Z dddZ dddZ ddZ dS)rNcCs&|r"|D]\}}t|||q dSr)itemsr)rrnrrrrrr%9szValues.__init__cCs t|jSr)r*__dict__rrrrr&>szValues.__str__cCs2t|tr|j|jkSt|tr*|j|kStSdSr)rrrrNotImplemented)rotherrrr__eq__Cs     z Values.__eq__cCs6t|D](}||vr||}|durt|||qdSr)dirr)rrrZdvalrrr_update_carefulKs  zValues._update_carefulcCs|j|dSr)rupdate)rrrrr _update_looseXszValues._update_loosecCs8|dkr||n |dkr(||n td|dS)NcarefulZloosezinvalid update mode: %r)rrr>)rrmoderrr_update`s   zValues._updatercCs&t|tj|}|t||dSr) __import__sysmodulesrvars)rmodnamermodrrr read_modulehs zValues.read_modulecCs&i}tt|||||dSr)execopenreadr)rfilenamerrrrr read_filemszValues.read_filecCs.t||rt||dur$t|||t||Sr)hasattrgetattrr)rrrrrrrrs zValues.ensure_value)N)r)r)rr(r)r%r&rrrrrrrrrrrrrr7s    rc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!S)"rcCs&|||_||||dSr)_create_option_list option_classset_conflict_handlerset_description)rrconflict_handlerrirrrr%s zOptionContainer.__init__cCsi|_i|_i|_dSr _short_opt _long_optrnrrrr_create_option_mappingssz'OptionContainer._create_option_mappingscCs|j|_|j|_|j|_dSrrrMrrr_share_option_mappingssz&OptionContainer._share_option_mappingscCs|dvrtd|||_dS)N)errorresolvez$invalid conflict_resolution value %r)r>r)rhandlerrrrrs z$OptionContainer.set_conflict_handlercCs ||_dSrrirhrrrrszOptionContainer.set_descriptioncCs|jSrrrrrrget_descriptionszOptionContainer.get_descriptioncCs|`|`|`dSrrrrrrdestroyszOptionContainer.destroycCsg}|jD]"}||jvr |||j|fq |jD]"}||jvr4|||j|fq4|r|j}|dkrtdddd|D|nd|dkr|D]V\}}|dr|j ||j|=n|j ||j|=|js|js|j j |qdS)Nr z conflicting option string(s): %sr3cSsg|] }|dqS)rr)rvcorrrrxrz3OptionContainer._check_conflict..r r) rrr{rrrrr4 startswithremove containerr)rr,Z conflict_optsrr Zc_optionrrr_check_conflicts2          zOptionContainer._check_conflictcOst|dtr |j|i|}n8t|dkrP|sP|d}t|tsXtd|ntd|||j|||_ |j D]}||j |<qz|j D]}||j |<q|jdur|jtur|j|j|j<n|j|jvrd|j|j<|S)Nrr znot an Option instance: %rinvalid arguments)rr*rrzrrrrr{rrrrrrprrqrn)rrrr,rrrr add_options(           zOptionContainer.add_optioncCs|D]}||qdSr)r)rrr,rrr add_optionsszOptionContainer.add_optionscCs|j|p|j|Sr)rrorr/rrr get_options  zOptionContainer.get_optioncCs||jvp||jvSr)rrr/rrr has_option s zOptionContainer.has_optioncCsn|j|}|dur |j|}|dur4td||jD] }|j|=q:|jD] }|j|=qN|jj|dS)Nzno such option %r) rrorr>rrrrr)rr.r,rrrr remove_options       zOptionContainer.remove_optioncCs>|js dSg}|jD]}|jtur|||qd|SNrO)rrmrr{rr4)r formatterr}r,rrrformat_option_helps  z"OptionContainer.format_option_helpcCs||Sr)rjrrrrrrrj(sz"OptionContainer.format_descriptioncCs:g}|jr||||jr0|||d|S)Nrf)rir{rjrrr4rrr}rrr format_help+s zOptionContainer.format_helpN)rr(r)r%r r rrrrrrrrrrrrjr!rrrrrxs      rc@s6eZdZd ddZddZddZdd Zd d ZdS) rNcCs$||_t||j|j|||_dSr)r8rr%rrtitle)rr8r"rirrrr%6s  zOptionGroup.__init__cCsg|_||jdSr)rr r8rrrrr<szOptionGroup._create_option_listcCs ||_dSr)r")rr"rrr set_title@szOptionGroup.set_titlecCst||`dSr)rrrrrrrrCs zOptionGroup.destroycCs0||j}||t||7}||Sr)r`r"rWrr!rXr rrrr!Js  zOptionGroup.format_help)N)rr(r)r%rr#rr!rrrrr4s  rc @s^eZdZgZddedddddddf ddZddZdd Zd d Zd d Z dOddZ ddZ ddZ ddZ ddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'ZdPd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9ZdQd;d<Z d=d>Z!d?d@Z"dRdAdBZ#dCdDZ$dSdEdFZ%dTdGdHZ&dIdJZ'dUdKdLZ(dVdMdNZ)dS)WrNr Tc Csrt||||||| |_||_d|_d|_|dur@t}||_|j || |_ |j ||d| dS)NT)add_help) rr% set_usageprograllow_interspersed_argsprocess_default_valuesr rrNrk_populate_option_list_init_parsing_state) rr]rrrrrirZadd_help_optionr&rkrrrr%s"   zOptionParser.__init__cCs.t||jD] }|q|`|`|`dSr)rrrrr)rrrrrrs    zOptionParser.destroycCsg|_g|_|dSr)rrr rrrrrsz OptionParser._create_option_listcCs|jdddtdddS)Nz-hz--helprmzshow this help message and exitrrmrr0rrrr_add_help_optionszOptionParser._add_help_optioncCs|jddtdddS)Nz --versionrz&show program's version number and exitr+r,rrrr_add_version_optionsz OptionParser._add_version_optioncCs>|jr||j|r |||jr.||r:|dSr)standard_option_listrrr.r-)rrr$rrrr)s  z"OptionParser._populate_option_listcCsd|_d|_d|_dSr)rargslargsrrrrrr*sz OptionParser._init_parsing_statecCsL|durtd|_n4|tur$d|_n$|drB|dd|_n||_dS)Nz%prog [options]zusage: )r0r]rrrr\rrrr%s zOptionParser.set_usagecCs d|_dS)NTr'rrrrenable_interspersed_argssz%OptionParser.enable_interspersed_argscCs d|_dS)NFr3rrrrdisable_interspersed_argssz&OptionParser.disable_interspersed_argscCs ||_dSr)r()rrrrrset_process_default_values sz'OptionParser.set_process_default_valuescCs||j|<dSr)rn)rrprrrr set_defaultszOptionParser.set_defaultcKs|j|dSr)rnr)rrrrr set_defaultsszOptionParser.set_defaultscCs*|jdd}|jD]}||jq|Sr)rrr|)rZoptionsrrrr_get_all_optionss zOptionParser._get_all_optionscCs`|jst|jS|j}|D]4}||j}t|tr"| }| ||||j<q"t|Sr) r(rrncopyr9rorprr*rr)rrnr,rr.rrrget_default_valuess     zOptionParser.get_default_valuescOst|dtr&t|g|Ri|}nJt|dkrh|sh|d}t|tsTtd||j|urptdntd|j||S)Nrr znot an OptionGroup instance: %rz"invalid OptionGroup (wrong parser)r) rr*rrzrr8r>rr{)rrrrrrradd_option_group+s     zOptionParser.add_option_groupcCs0|j|p|j|}|r,|j|ur,|jSdSr)rrorr)rr.r,rrrget_option_group;s   zOptionParser.get_option_groupcCs&|durtjddS|ddSdSr)rargv)rrrrr _get_argsEszOptionParser._get_argsc Cs||}|dur|}||_g|_}||_z||||}Wn6ttfyx}z|t |WYd}~n d}~00||}| ||Sr) r?r;r0r1r _process_argsrrr r* check_values)rrrr0r1stoperrrrr parse_argsKs   $zOptionParser.parse_argscCs||fSrr)rrrrrrrArs zOptionParser.check_valuescCs|r|d}|dkr|d=dS|dddkr<|||q|dddkrft|dkrf|||q|jr~|||d=qdSqdS)Nrrr6r r)_process_long_optrz_process_short_optsr'r{)rr1r0rargrrrr@s  zOptionParser._process_argscCs t||jSr) _match_abbrevr)rrrrr_match_long_optszOptionParser._match_long_optc Cs|d}d|vr4|dd\}}|d|d}n|}d}||}|j|}|r|j}t||kr|t dd|||dq|dkr|d} qt |d|} |d|=n|r|t d |nd} | || ||dS) NrrTr TF.%(option)s option requires %(number)d argument/%(option)s option requires %(number)d argumentsr,Znumberz%s option does not take a value) poprinsertrIrrrrzr rrr0r) rr0rrGrZnext_argZhad_explicit_valuer,rrrrrrEs6       zOptionParser._process_long_optc Cs|d}d}d}|ddD]}d|}|j|}|d7}|sJt||r|t|krv|d||dd}|j} t|| kr|t dd| || dq| dkr|d} qt |d| } |d| =nd} | || |||rqqdS) NrFr rTrJrKrL) rMrrorrrzrNrr rrr) rr0rrGrBiZchrr,rrrrrrFs<      z OptionParser._process_short_optscCs&|jdurtjtjdS|jSdSr)r&r;pathbasenamerr>rrrr get_prog_names zOptionParser.get_prog_namecCs|d|S)Nz%prog)rsrR)rsrrrexpand_prog_nameszOptionParser.expand_prog_namecCs ||jSr)rTrirrrrrszOptionParser.get_descriptionrcCs|rtj|t|dSr)rstderrwriter)rZstatusr#rrrrs zOptionParser.exitcCs(|tj|dd||fdS)Nr6z%s: error: %s ) print_usagerrUrrRr$rrrr s zOptionParser.errorcCs"|jr|j||jSdSdSr)r]rr^rTrrrr get_usage#s  zOptionParser.get_usagecCs|jrt||ddSN)file)r]printrXrrZrrrrW*s zOptionParser.print_usagecCs|jr||jSdSdSr)rrTrrrr get_version6s zOptionParser.get_versioncCs|jrt||ddSrY)rr[r]r\rrrr<szOptionParser.print_versioncCs|dur|j}||g}||td||jrZ|t|||d|j D]}|| ||dq`| d |ddS)NZOptionsrfrOry) rrr{r`r0rWrrrrr!rXr4)rrr}rrrrrGs    zOptionParser.format_option_helpcCs ||jSr)rlrkrrrrrlXszOptionParser.format_epilogcCsn|dur|j}g}|jr*||d|jrD|||d||||||d|Sre) rr]r{rXrirjrrlr4r rrrr![szOptionParser.format_helpcCs |durtj}||dSr)rstdoutrVr!r\rrrrgszOptionParser.print_help)T)NN)rN)N)N)N)N)N)*rr(r)r/rr%rrr-r.r)r*r%r4r5r6r7r8r9r;r<r=r?rDrAr@rIrErFrRrTrrr rXrWr]rrrlr!rrrrrrRs`F "     ' 3 $)     rcsZ|vr Sfdd|D}t|dkr6|dS|sDtn|t|dS)Ncsg|]}|r|qSr)r)rvZwordrSrrrxs z!_match_abbrev..r r)rrzrsortr1)rSZwordmapr2rr_rrHts  rH)& __version____all__Z __copyright__rr;rbrrr ImportErrorr0 Exceptionr r rrrr1r r r rrrrrrrrqrrrrrrrrHrrrrrs^     P      uA=&