1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
Ë
@ñúhz-ãó<—ddlZddlmZddlmZmZmZddlm    Z    ddl
m Z ddl m Z ddlmZddlmZej$ZGd    „d
e«ZGd „d e«ZGd „de«ZGd„de«ZGd„de«Zd„Zd„Zd„Zed«Zd„Z    ddddddœd„Ze d„«Zy)éN)Úcompile)Ú    signatureÚgetdocÚ    Parameter)ÚArgumentParser)Úcontextmanager)Úwraps)ÚIOBase)ÚAutocommandErrorcó—eZdZdZy)ÚAnnotationErrorzEAnnotation error: annotation must be a string, type, or tuple of bothN©Ú__name__Ú
__module__Ú __qualname__Ú__doc__©óú[H:\Change_password\venv_build\Lib\site-packages\setuptools/_vendor/autocommand/autoparse.pyr r s„ÚOrr có—eZdZdZy)ÚPositionalArgErrorzQ
    Postional Arg Error: autocommand can't handle postional-only parameters
    Nrrrrrr#s„òrrcó—eZdZdZy)Ú
KWArgErrorz:kwarg Error: autocommand can't handle a **kwargs parameterNrrrrrr)s„ÚDrrcó—eZdZdZy)ÚDocstringErrorzDocstring errorNrrrrrr-s„Úrrcó—eZdZdZy)ÚTooManySplitsErrorz±
    The docstring had too many ---- section splits. Currently we only support
    using up to a single split, to split the docstring into description and
    epilog parts.
    Nrrrrrr1s„òrrcóR—|turyt|«r|dfSt|t«rd|fSt|t«rD    |\}}t|«rt|t«r||fSt|t«rt|«r||fSt |«‚#t
$r}t |«|‚d}~wwxYw)z¾
    Given an annotation, return the (type, description) for the parameter.
    If you provide an annotation that is somehow both a string and a callable,
    the behavior is undefined.
    )NNN)Ú_emptyÚcallableÚ
isinstanceÚstrÚtupleÚ
ValueErrorr )Ú
annotationÚarg1Úarg2Úes    rÚ_get_type_descriptionr)9s¯€ð ”VÑØÜ    *Ô    Ø˜4ÐÐÜ    J¤Ô    $ؐZÐÐÜ    J¤Ô    &ð    "Ø#‰JˆD$ô˜Œ~¤*¨T´3Ô"7ؘTzÐ!ܘD¤#Ô&¬8°D¬>ؘTzÐ!ä
˜*Ó
%Ð%øôò    5Ü! *Ó-°1Ð 4ûð    5ús¾B      B& B!Â!B&cóä—|j|jur t|«‚|j|jur t    |«‚i}d}t |j «\}}|j}|€|tdhvr t|«}|tur||d<d}|?|tur|r|turd|d<nd|d<d}nt|t«r
t|d<n||d<|j|jurd    |d
<|||d <g}    |j}
|rŠ|
d |
d j!«fD]9} | |vsŒ|j#| «|    j%d j'| ««nt)|
«dkDs|    s |    j%dj'|
««|
|d<n|    j%|
«|j*|    i|¤Ž|r8|tur/|j+dj'|
«d|
|tur|nd¬«yyy)aš
    Add the argument(s) to an ArgumentParser (using add_argument) for a given
    parameter. used_char_args is the set of -short options currently already in
    use, and is updated (if necessary) by this function. If add_nos is True,
    this will also add an inverse switch for all boolean options. For
    instance, for the boolean parameter "verbose", this will create --verbose
    and --no-verbose.
    FNÚdefaultTÚ
store_trueÚactionÚ store_falseÚtypeÚ*ÚnargsÚhelprz-{}éz--{}Údestz--no-{}Ú store_const)r-r4Úconst)ÚkindÚPOSITIONAL_ONLYrÚ VAR_KEYWORDrr)r%r+rr/Úboolr!r
r"ÚVAR_POSITIONALÚnameÚswapcaseÚaddÚappendÚformatÚlenÚ add_argument) ÚparamÚparserÚused_char_argsÚadd_nosÚarg_specÚ    is_optionÚarg_typeÚ descriptionr+Úflagsr<Úletters             rÚ_add_argumentsrMSs#€ð ‡zzU×*Ñ*Ñ*Ü  Ó'Ð'Ø    ‰u×(Ñ(Ñ    (ܘÓÐð€HØ€Iô2°%×2BÑ2BÓCÑ€Hˆkðm‰m€GðИG¬F°D¨>Ñ9ܘ“=ˆð”fÑØ%ˆÑ؈    ðÐà ”tÑ Ù˜g¬Ñ/Ø%1˜Ò"à%2˜Ñ"ð‰Iô˜¤Ô (Ü"ˆHVÒ ð (ˆHVÑ ð
 ‡zzU×)Ñ)Ñ)àˆÑðÐØ&ˆÑð €EØ :‰:€Dáà˜1‘g˜t A™w×/Ñ/Ó1Ð1ò    ˆFؘ^Ò+Ø×"Ñ" 6Ô*Ø— ‘ ˜UŸ\™\¨&Ó1Ô2Ùð        ô ˆt‹9qŠ=¡Ø L‰L˜Ÿ™ tÓ,Ô -àˆÒà  ‰ TÔà€F×јÐ+ (Ò+ñ8œtÑ#Ø×ÑØ × Ñ ˜TÓ "Ø ØØ$¬FÑ2‘'¸ð        õ    ?ð$€wrcóœ—t||¬«}dh}t|jj«d„¬«}|D]}t    ||||«Œ|S)zE
    Given the signature of a function, create an ArgumentParser
    )rJÚepilogÚhcó2—t|j«dkDS©Nr3)rAr<)rCs rú<lambda>zmake_parser.<locals>.<lambda>Ìs€œ#˜eŸj™j›/¨AÑ-€r)Úkey)rÚsortedÚ
parametersÚvaluesrM)Úfunc_sigrJrOrFrDrEÚparamsrCs        rÚ make_parserrZ¿s^€ô¨ ¸FÔ C€FàU€Nô
Ø×Ñ×"Ñ"Ó$Ù -ô/€Fðò?ˆÜu˜f n°gÕ>ð?ð €Mrz\n\s*-{4,}\s*\ncóš—|€ytj|«}t|«dk(r|dfSt|«dk(r
|d|dfSt«‚)zH
    Given a docstring, parse it into a description and epilog part
    )Úr\r3r\ér)Ú_DOCSTRING_SPLITÚsplitrAr)Ú    docstringÚpartss  rÚparse_docstringrb×sY€ðÐØä × "Ñ " 9Ó -€Eä
ˆ5ƒzQ‚ؘ"ˆ}ÐÜ     ˆU‹qŠØQ‰x˜˜q™Ð!Ð!ä Ó"Ð"rF©rJrOrFrDcó⇇‡‡‡‡—‰€ˆˆˆˆfd„St‰«Štt‰««\}}‰€t‰‰xs|‰xs|‰«Št    ‰«dˆˆˆfd„    «}‰|_‰|_|S)a
    This decorator converts a function that takes normal arguments into a
    function which takes a single optional argument, argv, parses it using an
    argparse.ArgumentParser, and calls the underlying function with the parsed
    arguments. If it is not given, sys.argv[1:] is used. This is so that the
    function can be used as a setuptools entry point, as well as a normal main
    function. sys.argv[1:] is not evaluated until the function is called, to
    allow injecting different arguments for testing.
 
    It uses the argument signature of the function to create an
    ArgumentParser. Parameters without defaults become positional parameters,
    while parameters *with* defaults become --options. Use annotations to set
    the type of the parameter.
 
    The `desctiption` and `epilog` parameters corrospond to the same respective
    argparse parameters. If no description is given, it defaults to the
    decorated functions's docstring, if present.
 
    If add_nos is True, every boolean option (that is, every parameter with a
    default of True/False or a type of bool) will have a --no- version created
    as well, which inverts the option. For instance, the --verbose option will
    have a --no-verbose counterpart. These are not mutually exclusive-
    whichever one appears last in the argument list will have precedence.
 
    If a parser is given, it is used instead of one generated from the function
    signature. In this case, no parser is created; instead, the given parser is
    used to parse the argv argument. The parser's results' argument names must
    match up with the parameter names of the decorated function.
 
    The decorated function is attached to the result as the `func` attribute,
    and the parser is attached as the `parser` attribute.
    có$•—t|‰‰‰‰¬«S)Nrc)Ú    autoparse)ÚfrFrJrOrDs €€€€rrSzautoparse.<locals>.<lambda>sø€œØ ˜;ØØØô    €rcóì•—|€tjdd}‰j«}|jj    t ‰j |«««‰|ji|j¤ŽSrR)    ÚsysÚargvÚ bind_partialÚ    argumentsÚupdateÚvarsÚ
parse_argsÚargsÚkwargs)rjÚ parsed_argsÚfuncrXrDs  €€€rÚautoparse_wrapperz$autoparse.<locals>.autoparse_wrapper"sgø€à ˆ<Ü—8‘8˜A˜B<ˆDð
×+Ñ+Ó-ˆ Ø×Ñ×$Ñ$¤T¨&×*;Ñ*;¸DÓ*AÓ%BÔCá[×%Ñ%Ð<¨×);Ñ);Ñ<Ð<r©N)rrbrrZr    rsrD)    rsrJrOrFrDÚdocstr_descriptionÚ docstr_epilogrtrXs    `````   @rrfrfèsŒý€ðP €|öð    ô ˜‹€Hä(7¼¸t» Ó(EÑ%И à €~ÜØ Ø Ò -Ð-Ø Ò #mØ ó    ˆô  ˆ4ƒ[ö
=óð
=ð"ÐÔØ%ÐÔØ Ðrc/óœK—t|tttf«rt    |g|¢­i|¤Ž5}|–—ddd«y|–—y#1swYyxYw­w)a]
    This context manager allows you to open a filename, if you want to default
    some already-existing file object, like sys.stdout, which shouldn't be
    closed at the end of the context. If the filename argument is a str, bytes,
    or int, the file object is created via a call to open with the given *args
    and **kwargs, sent to the context, and closed at the end of the context,
    just like "with open(filename) as f:". If it isn't one of the openable
    types, the object simply sent to the context unchanged, and left unclosed
    at the end of the context. Example:
 
        def work_with_file(name=sys.stdout):
            with smart_open(name) as f:
                # Works correctly if name is a str filename or sys.stdout
                print("Some stuff", file=f)
                # If it was a filename, f is closed at the end here.
    N)r!r"ÚbytesÚintÚopen)Úfilename_or_filerprqÚfiles    rÚ
smart_openr~7sUèø€ô$Ð"¤S¬%´Ð$5Ô6Ü Ð"Ð 4 TÒ 4¨VÑ 4ð    ¸ØŠJ÷    ð    ðÓ÷    ð    üs‚+A ­A²A ÁA    ÁA ru) riÚrerÚ compile_regexÚinspectrrrÚargparserÚ
contextlibrÚ    functoolsr    Úior
Úautocommand.errorsr Úemptyrr rrrrr)rMrZr^rbrfr~rrrú<module>rˆsÇðó$ Ý'ß0Ñ0Ý#Ý%ÝÝÝ/ð
‰€ôPÐ&ôPôÐ)ôô EÐ!ôEôÐ%ôô˜ôò&ò4i?òXñ*!Ð!3Ó4Ðò#ð$ðLàØØØô Lð^ñóñr