Qf dZgdZdZddlZddlZddlZdZ ddlmZmZeZ Gd d e Z Gd d e Z Gd de ZGdde ZGdde ZGddeZGddZGddeZGddeZdZdZee dfee dfee dfee dfd Zd!Zd"Zd#ZGd$d%Zd&Zd'ZGd(d)Z Gd*d+Z!Gd,d-e!Z"Gd.d/e!Z#d0Z$eZ%y#e $r dZdZYwxYw)1z1.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. NcLd|jjt||fzS)Nz<%s at 0x%x: %s>) __class____name__idselfs //opt/alt/python312/lib64/python3.12/optparse.py_reprrOs" !8!8"T(D I II)gettextngettextc|SN)messages rrr\src|dk(r|S|SNr!)singularpluralns rrr_s 6O rceZdZdZdZy)r c||_yr msgrr,s r__init__zOptParseError.__init__hs rc|jSr r+rs r__str__zOptParseError.__str__ks xxrNr __module__ __qualname__r.r0r!rrr r gs rr ceZdZ dZdZy)rc2||_t||_yr )r,str option_id)rr,options rr.zOptionError.__init__usVrcj|jrd|jd|jS|jS)Nzoption z: )r7r,rs rr0zOptionError.__str__ys% >>&*nndhh? ?88OrNr1r!rrrros %rrc eZdZy)rNrr2r3r!rrrrsrrc eZdZy)rNr;r!rrrrsrrceZdZ dZdZy)rc||_yr )opt_strrr?s rr.zBadOptionError.__init__s  rc2td|jzS)Nzno such option: %s)_r?rs rr0zBadOptionError.__str__s%&55rNr1r!rrrrs6rrceZdZ dZdZy)AmbiguousOptionErrorc>tj||||_yr )rr. possibilities)rr?rFs rr.zAmbiguousOptionError.__init__sg.*rchtd|jdj|jfzS)Nzambiguous option: %s (%s?), )rBr?joinrFrs rr0zAmbiguousOptionError.__str__s2./<<4+=+=!>?@ ArNr1r!rrrDrDs+ArrDcleZdZ dZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZy)r nonecdd|_||_|" ttjd}|dz}||_t|t|dz |dzx|_ |_ d|_ d|_ d|_||_d|_i|_d|_d|_y#t t f$rd}YwxYw) NCOLUMNSPrz%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_fmtrrRr\rXr`s rr.zHelpFormatter.__init__s  0 = BJJy12 QJE %s52:7G!7K'LM NT3 &% %$j)  sBB/.B/c||_yr )rQrrQs r set_parserzHelpFormatter.set_parsers  rcB|dvrtd|zd|zdz|_y)N) z/invalid metavar delimiter for short options: %r%s)rWrcrdelims rset_short_opt_delimiterz%HelpFormatter.set_short_opt_delimiters2  !AEIK K"UlT1rcB|dvrtd|zd|zdz|_y)N)=rkz.invalid metavar delimiter for long options: %rrl)rWrdrms rset_long_opt_delimiterz$HelpFormatter.set_long_opt_delimiters2  "@5HJ J!E\D0rcl|xj|jz c_|xjdz c_yr$r]rRr^rs rindentzHelpFormatter.indents& t444 a rcl|xj|jzc_|xjdzc_yr$rtrs rdedentzHelpFormatter.dedents& t444 a rctdNzsubclasses must implementNotImplementedErrorrusages r format_usagezHelpFormatter.format_usage!"=>>rctdryrzrheadings rformat_headingzHelpFormatter.format_headingrrc t|j|jz d}d|jz}tj||||S)N rk)initial_indentsubsequent_indent)rZrXr]textwrapfill)rtext text_widthrus r _format_textzHelpFormatter._format_textsP d&9&992> T(((}}T',2/57 7rc0|r|j|dzSyN rjrr descriptions rformat_descriptionz HelpFormatter.format_descriptions $$[1D8 8rc6|rd|j|zdzSyrr)repilogs r format_epilogzHelpFormatter.format_epilogs# $++F33d: :rc2|j |js |jS|jjj |j }|t us| |j}|jj|jt|Sr ) rQrahelpdefaultsgetdest NO_DEFAULTNO_DEFAULT_VALUEreplacer6)rr8 default_values rexpand_defaultzHelpFormatter.expand_defaultsv ;; d&6&6;;  ,,00= J &-*? 11M{{""4#3#3S5GHHrc tg}|j|}|j|jz dz }t||kDrd|jd|fz}|j}nd|jd||fz}d}|j ||j r~|j |}tj||j}|j d|d|dfz|j|ddDcgc]}d|jd|fzc}n|ddk7r|j ddj|Scc}w) NrOz%*s%s rjz %*s%-*s rr%r) rbr[r]lenappendrrrwrapr_extendrI) rr8resultopts opt_width indent_first help_text help_lineslines r format_optionzHelpFormatter.format_option(s=""6*&&)<)<>D--L$"5"5r9d!KKDL d ;;++F3I!y$//BJ MM)|RA&GG H MM'1!"~7'5t%(:(:B'EE'57 8 "X  MM$ wwv 7s*D5c|jd}|jD]D}|j|}||j|<t |t ||j z}F|j|jD]U}|jD]D}|j|}||j|<t |t ||j z}FW|j|jt|dz|j|_ t |j|jz d|_ y)NrrOr)ru option_listformat_option_stringsrbrZrr] option_groupsrwrYr\r[rXr_)rrQmax_lenoptstringsgroups rstore_option_stringsz"HelpFormatter.store_option_stringsKs  %%C005G'.D   $'3w<$2E2E#EFG& ))E((44S9+2##C(gs7|d6I6I'IJ)*   1d.D.DEdjj4+=+==rBrc |jry|jxs|jj}|jDcgc]}|j ||fz}}|j Dcgc]}|j||fz}}n|j}|j }|jr||z}n||z}dj|Scc}wcc}w)NrH) takes_valuemetavarrupper _short_optsrc _long_optsrdr`rI)rr8rsopt short_optslopt long_optsrs rrz#HelpFormatter.format_option_strings]sN    nn; (9(9(;G&,&8&8:&8d--w?&8 :&,%6%68%6T++tWo=%6 8 ++J))I    )Dz)Dyy:8s C 0CN)rr2r3rr.rhrorrrurwr~rrrrrrrrr!rrr r s^'R%22 1  ?? 7 I!FC$rr c*eZdZ ddZdZdZy)r Nc6tj|||||yr r r.res rr.zIndentedHelpFormatter.__init__t  "$5uk Krctd|zS)Nz Usage: %s )rBr|s rr~z"IndentedHelpFormatter.format_usage|s%''rc&d|jd|fzS)Nz%*s%s: rj)r]rs rrz$IndentedHelpFormatter.format_headingsT00"g>>>r)rONr%rr2r3r.r~rr!rrr r ps%#$#% K(?rr c*eZdZ ddZdZdZy)r Nc6tj|||||yr rres rr.zTitledHelpFormatter.__init__rrcB|jtdd|dS)NUsagez r)rrBr|s rr~z TitledHelpFormatter.format_usages!007 ?E7# $% %r)NODEFAULTceZdZ gdZdZdZdZdZdZdZ e e e e e dZ d Z d Zd Zd Zd ZdZdZdZdZdZdZdZeeeeeeegZ dZeZdZdZdZdZdZ dZ!y )r) actionrrdefaultnargsconstrcallback callback_argscallback_kwargsrr) store store_const store_true store_falser append_constcountrrversion)rrrrrrr)rrr)rr)rr)stringrSrrrchoice)rSrrrrNcg|_g|_|j|}|j||j ||j D] }|| yr )rr_check_opt_strings_set_opt_strings _set_attrs CHECK_METHODS)rrattrscheckers rr.zOption.__init__4sX&&t, d# ))G DM*rcN|Dcgc]}|s| }}|s td|Scc}w)Nz+at least one option string must be supplied) TypeErrorrrrs rrzOption._check_opt_stringsGs3 $+tst+IJ J ,s""cR|D]}t|dkrtd|z|t|dk(r;|ddk(r|ddk7std|z||jj|i|dddk(r|ddk7std|z||jj|y) NrOz>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)rrrrrrs rrzOption._set_opt_stringsPsC3x!|!;=@ABFHHSQA# #a&C-%HJMN  '',AaD(SVs]%CEHI&&s+%rc|jD]>}||vrt||||||=|dk(rt||t2t||d@|r7t|j }t ddj |z|y)Nrzinvalid keyword arguments: %srH)ATTRSsetattrrsortedkeysrrI)rrattrs rrzOption._set_attrsesJJDu}dE$K0$K9$D$ 3D$- 5::<(E/$))E2BB  rc|jd|_y|j|jvrtd|jz|y)Nrzinvalid action: %r)rACTIONSrrs r _check_actionzOption._check_actionxs? ;; !DK [[ ,2T[[@$G G-rc|j5|j|jvr|jd|_yd|_yyt |jtr|jj |_|jdk(rd|_|j|j vrtd|jz||j|jvrtd|jz|y)Nrrr6zinvalid option type: %rz$must not supply a type for action %r) rrALWAYS_TYPED_ACTIONSr isinstancerTYPESr TYPED_ACTIONSrs r _check_typezOption._check_type~s 99 {{d777<<+ (DI!)DI 8$))T* II.. yyE!$ yy *!";dii"GNN{{$"4"44!:T[[H$PP5rcX|jdk(rv|j td|t|jtt fs=tdt t|jjddz|y|jtd|jz|y)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)rrrrtuplelistr6splitrs r _check_choicezOption._check_choices 99 ||#!EtMM udm<!G$t||,-33C8;<=ACC=\\ %5 A4I I&rc |j|jvxs|jdu}|jO|rL|jr(|jdddj dd|_y|j dd|_yyy)NrrOr rBr%)r STORE_ACTIONSrrrrr)rrs r _check_destzOption._check_dests{{d&8&88-yy,  99  OOA.qr2::3D  ,,Q/2 "- rc|j|jvr&|jtd|jz|yy)Nz*'const' must not be supplied for action %r)r CONST_ACTIONSrrrs r _check_constzOption._check_constsB ;;d00 0TZZ5K"B Cz !%%+D))/RF DMM$UF DT DV Dv      KKM y  " KKM04;;>? ?r)"rr2r3r rr!rrr$rrrr3rr.rrrrrrr"r%r'r+r0r__repr__rr1r4r7r;r9r!rrrrs* E GM!M &%M DE$!. - - - , L M &,*&H P0 I 3 N8# " !!$ &M<H%'-H @rr SUPPRESSHELP SUPPRESSUSAGEcLeZdZd dZdZeZdZdZdZ dZ d dZ d d Z d Z y) rNcT|r&|jD]\}}t|||yyr )itemsr )rrrrs rr.zValues.__init__9s+ '~~/ sdC( 0 rc,t|jSr )r6__dict__rs rr0zValues.__str__>s4==!!rct|tr|j|jk(St|tr|j|k(StSr )rrrJr*NotImplemented)rothers r__eq__z Values.__eq__Cs> eV $==ENN2 2 t $==E) )! !rcZ t|D]}||vs||}|t|||yr )dirr )rr*rdvals r_update_carefulzValues._update_carefulKs9 IDt|Dz#D$- rc< |jj|yr )rJupdate)rr*s r _update_loosezValues._update_looseXs T"rcz|dk(r|j|y|dk(r|j|ytd|z)Ncarefulloosezinvalid update mode: %r)rRrUrW)rr*modes r_updatezValues._update`s> 9    & W_   t $6=> >rcvt|tj|}|jt ||yr ) __import__sysmodulesrZvars)rmodnamerYmods r read_modulezValues.read_modulehs*7kk'" T#Y%rcri}tt|j||j||yr )execopenreadrZ)rfilenamerYr_s r read_filezValues.read_filems, T(^ "D) T4 rcdt||r t|| t|||t||Sr )hasattrgetattrr )rrrs rr=zValues.ensure_valuers1tT"gdD&9&A D$ &tT""rr )rW)rr2r3r.r0rrCrNrRrUrZrbrhr=r!rrrr7s6) "H" .#?& ! #rrcneZdZ dZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZy)rcv|j||_|j||j|yr )_create_option_list option_classset_conflict_handlerset_description)rroconflict_handlerrs rr.zOptionContainer.__init__s5   "( !!"23 [)rc.i|_i|_i|_yr  _short_opt _long_optrrs r_create_option_mappingsz'OptionContainer._create_option_mappingss rcj|j|_|j|_|j|_yr rtrgs r_share_option_mappingsz&OptionContainer._share_option_mappingss)!++)) rc6|dvrtd|z||_y)N)errorresolvez$invalid conflict_resolution value %r)rWrr)rhandlers rrpz$OptionContainer.set_conflict_handlers$ . .CgMN N 'rc||_yr rrs rrqzOptionContainer.set_descriptions &rc|jSr rrs rget_descriptionzOptionContainer.get_descriptionsrc |`|`|`yr rtrs rdestroyzOptionContainer.destroys) O N Mrc g}|jD]1}||jvs|j||j|f3|jD]1}||jvs|j||j|f3|r|j }|dk(r/t ddj|Dcgc]}|d c}z||dk(r|D]\}}|jdr)|jj||j|=n(|jj||j|=|jru|jr|jjj|yyycc}w)Nr{z conflicting option string(s): %srHrr|r ) rrurrrvrrrrI startswithremove containerr)rr8 conflict_optsrr}coc_options r_check_conflictzOptionContainer._check_conflictsh %%Cdoo%$$c4??3+?%@A&$$Cdnn$$$c4>>#+>%?@% ++G'!)6ii ?2A ?@AI%'4OS(~~d+ ++2237 NN3/ ,,33C8 OOC0$00H4G4G **66==hG(5&  !@s+ E8c t|dtr|j|i|}n>t|dk(r%|s#|d}t|tst d|zt d|j ||jj|||_ |jD]}||j|<|jD]}||j|<|jh|jt ur%|j|j"|j<|S|j|j"vrd|j"|j<|S)Nrr%znot an Option instance: %rinvalid arguments)rr6rorrrrrrrrrurrvrrrr)rrArBr8rs r add_optionzOptionContainer.add_options/  d1gs #&T&&77F Y!^F!WFff- ||jvxs||jvSr )rurvr@s r has_optionzOptionContainer.has_option s$4??**4>>) +rcV|jj|}||jj|}|td|z|jD]}|j|=|j D]}|j|=|j jj|y)Nzno such option %r) rurrvrWrrrrr)rr?r8rs r remove_optionzOptionContainer.remove_options$$W- >^^''0F >07:; ;%%C$&$$Cs#%$$++F3rc|jsyg}|jD]5}|jtus|j|j |7dj |SNrj)rrrrrrI)r formatterrr8s rformat_option_helpz"OptionContainer.format_option_helpsV&&F;;-/ i55f=>'wwvrc@|j|jSr )rrrrs rrz"OptionContainer.format_description(s++D,@,@,BCCrcg}|jr |j|j||jr |j|j |dj |S)Nr)rrrrrrIrrrs r format_helpzOptionContainer.format_help+sV    MM$11)< =    MM$11)< =yy  rN)rr2r3r.rwryrprqrrrrrrrrrrrr!rrrrxsY< *(( ' H6<$ -+ 4 D!rrc,eZdZddZdZdZdZdZy)rNcx||_tj||j|j|||_yr )rQrr.rorrtitle)rrQrrs rr.zOptionGroup.__init__6s4   &%%v'>'>  M rcHg|_|j|jyr )rryrQrs rrnzOptionGroup._create_option_list<s ##DKK0rc||_yr )r)rrs r set_titlezOptionGroup.set_title@s  rc4 tj||`yr )rrrrs rrzOptionGroup.destroyCs)%  rc|j|j}|j|tj ||z }|j |Sr )rrrurrrwrs rrzOptionGroup.format_helpJsJ))$**5/--dI>> rr )rr2r3r.rnrrrr!rrrr4s 1rrc eZdZ gZddedddddddf dZdZdZdZdZ d)d Z d Z d Z d Z d ZdZdZdZdZdZdZdZdZd*dZdZdZdZdZdZdZdZdZd+dZ d Z!d!Z"d,d"Z#d#Z$d,d$Z%d,d%Z&d&Z'd,d'Z(d,d(Z)y)-r Nr{Tc >tj|||||j|| |_||_d|_d|_| t}||_|jj|| |_ |j|||jy)NT)add_help) rr. set_usageprograllow_interspersed_argsprocess_default_valuesr rrhr_populate_option_list_init_parsing_state) rr}rrorrrrradd_help_optionrrs rr.zOptionParser.__init__s   , 0+ ? u  '+$&*#  -/I" !!$' "";,; # =   "rc~ tj||jD]}|j|`|`|`yr )rrrrr)rrs rrzOptionParser.destroysA %''E MMO(     Nrc@g|_g|_|jyr )rrrwrs rrnz OptionParser._create_option_lists $$&rc@|jdddtdy)Nz-hz--helprzshow this help message and exitrrrrBrs r_add_help_optionzOptionParser._add_help_options$ h%@A  Crc>|jddtdy)Nz --versionrz&show program's version number and exitrrrs r_add_version_optionz OptionParser._add_version_options"  (GH  Jrc|jr|j|j|r|j||jr|j|r|j yyr )standard_option_listrrrr)rrrs rrz"OptionParser._populate_option_listsW  $ $   T66 7    [ ) <<  $ $ &   ! ! # rc.d|_d|_d|_yr )rargslargsr:rs rrz OptionParser._init_parsing_states   rc|td|_y|turd|_y|jj dr |dd|_y||_y)Nz%prog [options]zusage: )rBr}rrrr|s rrzOptionParser.set_usagesK =,-DJ n $DJ [[] % %i 0qrDJDJrc d|_y)NTrrs renable_interspersed_argsz%OptionParser.enable_interspersed_argss $ (,$rc d|_y)NFrrs rdisable_interspersed_argsz&OptionParser.disable_interspersed_argss (-$rc||_yr )r)rr;s rset_process_default_valuesz'OptionParser.set_process_default_values s &-#rc"||j|<yr )r)rrrs r set_defaultzOptionParser.set_defaults# drc :|jj|yr )rrT)rrBs r set_defaultszOptionParser.set_defaultss V$rc||jdd}|jD]}|j|j|Sr )rrr)roptionsrs r_get_all_optionszOptionParser._get_all_optionss9""1%''E NN5,, -(rcn|jst|jS|jj}|j D]]}|j |j }t|ts/|j}|j||||j <_t|Sr ) rrrcopyrrrrr6r1r4)rrr8rr?s rget_default_valueszOptionParser.get_default_valuess**$--( (==%%'++-Fll6;;/G'3' //1(.(:(:7G(L% . hrc0t|dtrt|g|i|}nWt|dk(r>|s<|d}t|tst d|z|j |urt dt d|jj||S)Nrr%znot an OptionGroup instance: %rz"invalid OptionGroup (wrong parser)r) rr6rrrrQrWrr)rrArBrs radd_option_groupzOptionParser.add_option_group+s d1gs #6t6v6E Y!^FGEe[1 AE IJJ||4' !EFF/0 0 !!%( rc|jj|xs|jj|}|r|j|ur |jSyr )rurrvr)rr?r8s rget_option_groupzOptionParser.get_option_group;sO//%%g....$$W-  f&&d2## #rc6|tjddS|ddSr$)r]argv)rrAs r _get_argszOptionParser._get_argsEs <88AB< 7Nrc: |j|}||j}||_gx|_}||_ |j |||}||z}|j||S#t tf$r$}|jt|Yd}~Ed}~wwxYwr ) rrrrr: _process_argsrrr{r6 check_values)rrAr:rrstoperrs r parse_argszOptionParser.parse_argsKs t$ >,,.F  U  !%%eUF;Du}  ..  01 ! JJs3x  !sA''B6BBc ||fSr r!)rr:rAs rrzOptionParser.check_valuesrs ~rc |rx|d}|dk(r|d=y|dddk(r|j||nK|dddk(r!t|dkDr|j||n"|jr|j ||d=ny|rwyy)Nrr rOr%r )_process_long_optr_process_short_optsrr)rrrr:args rrzOptionParser._process_argss (Cd{!HQqT!&&uf5RaCCHqL((7-- S!!H'rc0 t||jSr ) _match_abbrevrv)rrs r_match_long_optzOptionParser._match_long_opts S$..11rc&|jd}d|vr*|jdd\}}|jd|d}n|}d}|j|}|j|}|j rh|j }t||kr#|jtdd|||dznM|dk(r|jd} n6t|d|} |d|=n"|r|jtd |znd} |j| ||y) Nrrqr%TF.%(option)s option requires %(number)d argument/%(option)s option requires %(number)d argumentsr8numberz%s option does not take a value) poprinsertrrvrrrr{rrrBr;) rrr:rrnext_arghad_explicit_valuer8rrs rrzOptionParser._process_long_optsiil #:!iiQ/OS( LLH %!% C!& ""3'$    LLE5zE! 8DE),u=>?! ! eAen-!E'N  JJq:;cA BEsE640rc|jd}d}d}|ddD]}d|z}|jj|}|dz }|s t||j r|t |kr|j d||dd}|j} t || kr#|jtdd| || dzn-| dk(r|jd} nt|d| } |d| =nd} |j| |||syy) NrFr%r Trrr) rrurrrrrrr{rrr;) rrr:rrichrr8rrs rrz OptionParser._process_short_optss"iil ab'B(C__((-F FA$S))!!#s3x<LLCG,D u:%JJxHI -05!A BCaZ!IIaLE!%%.1Eag NN3vt 4Arc|j0tjjtj dS|jSr0)rrTpathbasenamer]rrs r get_prog_namezOptionParser.get_prog_names3 99 77##CHHQK0 099 rcB|jd|jS)Nz%prog)rr)rss rexpand_prog_namezOptionParser.expand_prog_namesyy$"4"4"677rc8|j|jSr )rrrs rrzOptionParser.get_descriptions$$T%5%566rcp|rtjj|tj|yr )r]stderrwriter?)rstatusr,s rr?zOptionParser.exits#  JJ  S ! rc |jtj|jd|j d|dy)NrOz : error: r) print_usager]rr?rr-s rr{zOptionParser.errors7 $ !$*<*<*>DErc|jr4|jj|j|jSyr)r}rr~rrs r get_usagezOptionParser.get_usage#s7 ::>>..%%djj13 3rcV |jrt|j|yyN)file)r}printrrrs rrzOptionParser.print_usage*s&  :: $.." . rcR|jr|j|jSyr)rrrs r get_versionzOptionParser.get_version6s! <<((6 6rcV |jrt|j|yyr)rrr rs rr@zOptionParser.print_version<s(  << $""$4 0 rc| |j}|j|g}|j|jt d|j |j r6|jtj|||jd|jD]3}|j|j||jd5|jdj|ddS)NOptionsrrjr) rrrrrBrurrrrrrwrI)rrrrs rrzOptionParser.format_option_helpGs  I&&t, i..q|<=    MM/<zOptionParser.print_helpgs, <::D 4##%&r)T)NN)rNr )*rr2r3rrr.rrnrrrrrrrrrrrrrrrrrrrrrrrrr?r{rrr r@rrrr>r!rrr r RsBH!$")!!%#D $' C J $ ,-.$%  "  %/N f2"1H$R 87 F / 1$"4 'rr c ||vr|S|jDcgc]}|j|r|}}t|dk(r|dS|s t||j t ||cc}w)Nr%r)rrrrsortrD)rwordmapwordrFs rrrts G|+2,,.0.$ OOA.. 0 }  " # # # #    &q-8 80sA2)& __version____all__ __copyright__r]rTrrrr ImportErrorrB Exceptionr rrrrrDr r r rrrrrrrrrrrrrrr rrr!rrrsy.  $ @J ) Y= ;   6m6 AN AMM^?]?&G=G&  %a l3%q|4!1%5#67%q|47 G% nnf " #>#>#By!y!x?<]'O]'D9: m1 sC99 DD