hyb
2026-01-30 7657e1b2fa251a2ea372710ad75cb395a3c0e374
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
Ë
ñúh4mãóv—dZddlmZddlZddlZddlZddlZddlZddlZddl    Z
ddl Z ddl Z ddl Z ddlZddlZddlmZddlmZmZmZmZddlmZddlmZmZmZddlmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%dd    l&m'Z'm(Z(dd
l)m*Z*dd l+m,Z,dd l-m.Z.dd l/m0Z0ddl1m2Z2ddl3m4Z4m5Z5m6Z6ddl7m8Z8m9Z9ddl:m;Z;m<Z<ddl=m>Z>m?Z?ddl@mAZAmBZBmCZCmDZDddlEmFZFmGZGmHZHmIZIddlJmKZKGd„de#«ZLejšeN«ZOe"deP«ZQeReQePe$eSePffZTd0d1d„ZUd2d„ZVd3d„ZWd4d„ZXd5d„ZYd6d„ZZ                d7d„Z[d8d „Z\d9d!„Z]                                                d:d"„Z^d;d#„Z_Gd$„d%«Z`Gd&„d'«ZaGd(„d)e0«Zbd<d*„ZcGd+„d,e*«Zd                d=                                                                    d>d-„ZeejÌd?d.„«Zg                d=                                                                    d@d/„Zhy)AzFSupport for installing and building the "wheel" binary package format.é)Ú annotationsN)Úurlsafe_b64encode)Ú    GeneratorÚIterableÚIteratorÚSequence)ÚMessage)ÚchainÚ filterfalseÚstarmap)ÚIOÚAnyÚBinaryIOÚCallableÚNewTypeÚProtocolÚUnionÚcast)ÚZipFileÚZipInfo)Ú ScriptMaker)Úget_export_entry)Úcanonicalize_name)ÚInstallationError)Úget_major_minor_version)ÚBaseDistributionÚFilesystemWheelÚget_wheel_distribution)ÚDIRECT_URL_METADATA_NAMEÚ    DirectUrl)Ú SCHEME_KEYSÚScheme)Úadjacent_tmp_fileÚreplace)Ú StreamWrapperÚ
ensure_dirÚ    hash_fileÚ    partition)Ú current_umaskÚis_within_directoryÚ2set_extracted_file_to_default_mode_plus_executableÚzip_item_is_executable)Ú parse_wheelcó4—eZdZUded<ded<ded<d    d„Zy)
ÚFileÚ
RecordPathÚsrc_record_pathÚstrÚ    dest_pathÚboolÚchangedcó—y©N©©Úselfs úYH:\Change_password\venv_build\Lib\site-packages\pip/_internal/operations/install/wheel.pyÚsavez    File.save>s€Ø óN©ÚreturnÚNone)Ú__name__Ú
__module__Ú __qualname__Ú__annotations__r<r8r=r;r/r/9s…ØÓ؃NØ ƒMô r=r/r0có®—t||«\}}dt|j««jd«j    d«z}|t |«fS)z?Return (encoded_digest, length) for path using hashlib.sha256()zsha256=Úlatin1ú=)r'rÚdigestÚdecodeÚrstripr2)ÚpathÚ    blocksizeÚhÚlengthrHs     r;ÚrehashrOHsM€ä˜$     Ó*I€A€vØ Ô*¨1¯8©8«:Ó6×=Ñ=¸hÓG×NÑNÈsÓSÑ S€FØ ”C˜“KÐ  Ð r=có—|dddœS)zPReturn keyword arguments to properly open a CSV file
    in the given mode.
    Úúutf-8)ÚmodeÚnewlineÚencodingr8)rSs r;Ú csv_io_kwargsrVOs€ð R°WÑ =Ð=r=có0—tjj|«sJ‚t|d«5}|j    «}|j d«s
    ddd«yt jjt j««}d|ztjjd«z}|j«}ddd«t|d«5}|j«|j«ddd«y#1swYŒAxYw#1swYyxYw)    zQReplace #!python with #!/path/to/python
    Return True if file was changed.
    Úrbs#!pythonNFs#!ÚasciiÚwbT) ÚosrKÚisfileÚopenÚreadlineÚ
startswithÚsysÚ
executableÚencodeÚgetfilesystemencodingÚlinesepÚreadÚwrite)rKÚscriptÚ    firstlineÚexenameÚrests     r;Ú
fix_scriptrkVsé€ô
7‰7>‰>˜$Ô ÐÐ ä     ˆdDÓ    ð˜VØ—O‘OÓ%ˆ    Ø×#Ñ# KÔ0Ø÷ðô—.‘.×'Ñ'¬×(AÑ(AÓ(CÓDˆØ˜G‘O¤b§j¡j×&7Ñ&7¸Ó&@Ñ@ˆ    Ø{‰{‹}ˆ÷ ô
ˆdDÓ    ð˜V؏ ‰ YÔØ ‰ TÔ÷ð ÷ðú÷ð ús®#DÁA&DÃ#D ÄD    Ä DcóH—|jdd«j«dk(S)NzRoot-Is-PurelibrQÚtrue)ÚgetÚlower)Úmetadatas r;Úwheel_root_is_purelibrqjs"€Ø <‰<Ð)¨2Ó .× 4Ñ 4Ó 6¸&Ñ @Ð@r=cóà—i}i}|j«D]T}|jdk(r|j||j<Œ,|jdk(sŒ<|j||j<ŒV||fS)NÚconsole_scriptsÚ gui_scripts)Úiter_entry_pointsÚgroupÚvalueÚname)ÚdistrsrtÚ entry_points    r;Úget_entrypointsr{nsz€Ø€OØ€KØ×-Ñ-Ó/ò>ˆ Ø × Ñ Р1Ò 1Ø0;×0AÑ0AˆO˜K×,Ñ,Ò -Ø × Ñ  -Ó /Ø,7×,=Ñ,=ˆK˜ ×(Ñ(Ò )ð    >ð
˜KÐ 'Ð'r=c    ó‚—|sytjt«}|D]T}tjj |«}tjj |«}||j|«ŒVtjjdd«jtj«Dcgc][}tjjtjj|««jtj«‘Œ]}}|j!tjjtjjtjj t"j$««««|j'«Dcic]F\}}tjjtjj|««|vr||“ŒH}}}|syg}|j'«D]l\}}    t)|    «}
t+|
«dk(r
d|
d›d} n,dj-d    j/|
dd
«d z|
d
z«} |j!d | ›d |›d«Œnd} t+|«dk(r!|j!| j-d««n |j!| j-d««t1d„tjjdd«jtj«D««} | rd}|j!|«dj/|«Scc}wcc}}w)zDetermine if any scripts are not on PATH and format a warning.
    Returns a warning message if one or more scripts are not on PATH,
    otherwise None.
    NÚPATHrQézscript rz iszscripts {} areú, éÿÿÿÿz and zThe z installed in 'z' which is not on PATH.zeConsider adding {} to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.zthis directoryzthese directoriesc3ó2K—|]}|sŒ|ddk(–—Œy­w)rú~Nr8)Ú.0Úis  r;ú    <genexpr>z4message_about_scripts_not_on_PATH.<locals>.<genexpr>³sèø€òØÊQˆˆ!‰ ñùs‚Š ziNOTE: The current PATH contains path(s) starting with `~`, which may not be expanded by all applications.ú
)Ú collectionsÚ defaultdictÚsetr[rKÚdirnameÚbasenameÚaddÚenvironrnÚsplitÚpathsepÚnormcaseÚnormpathrJÚsepÚappendr`raÚitemsÚsortedÚlenÚformatÚjoinÚany)ÚscriptsÚgrouped_by_dirÚdestfileÚ
parent_dirÚ script_namer„Ú not_warn_dirsÚwarn_forÚ    msg_linesÚ dir_scriptsÚsorted_scriptsÚ
start_textÚ last_line_fmtÚwarn_for_tildeÚtilde_warning_msgs               r;Ú!message_about_scripts_not_on_PATHr¨ysÑ€ñ
Øô+6×*AÑ*AÄ#Ó*F€NØò4ˆÜ—W‘W—_‘_ XÓ.ˆ
Ü—g‘g×&Ñ& xÓ0ˆ ؐzÑ"×&Ñ& {Õ3ð4ô—‘—‘ ¨Ó+×1Ñ1´"·*±*Ó=öà ô     ‰×ÑœŸ™×)Ñ)¨!Ó,Ó-×4Ñ4´R·V±VÕ<ð€Mðð ×ÑÜ
‰×ÑœŸ™×)Ñ)¬"¯'©'¯/©/¼#¿.¹.Ó*IÓJÓKôð
$2×#7Ñ#7Ó#9÷%á ˆJ˜Ü 7‰7× Ñ œBŸG™G×,Ñ,¨ZÓ8Ó 9ÀÑ Nð    GÑð%€Hñ%ñ
Øð€IØ#+§>¡>Ó#3ò 
ш
KÜ$*¨;Ó$7ˆÜ ˆ~Ó  !Ò #Ø" >°!Ñ#4Ð"5°SÐ9‰Jà)×0Ñ0Ø—    ‘    ˜.¨¨"Ð-Ó.°Ñ8¸>È"Ñ;MÑMóˆJð    ×ÑØ:,˜o¨j¨\Ð9PÐ Qõ    
ð 
ð    Cðô ˆ9ƒ~˜ÒØ×ј×-Ñ-Ð.>Ó?Õ@à×ј×-Ñ-Ð.AÓBÔCôñÜŸZ™ZŸ^™^¨F°BÓ7×=Ñ=¼b¿j¹jÓIôó€Nñð =ð    ð    ×ÑÐ*Ô+ð 9‰9YÓ Ðùòkùó%sÂ5A L6Æ A L;có&—td„|D««S)aŸNormalize the given rows of a RECORD file.
 
    Items in each row are converted into str. Rows are then sorted to make
    the value more predictable for tests.
 
    Each row is a 3-tuple (path, hash, size) and corresponds to a record of
    a RECORD file (see PEP 376 and PEP 427 for details).  For the rows
    passed to this function, the size can be an integer as an int or string,
    or the empty string.
    c3ó@K—|]\}}}||t|«f–—Œy­wr7)r2)rƒÚ record_pathÚhash_Úsizes    r;r…z&_normalized_outrows.<locals>.<genexpr>Ös&èø€òÙ,D¨K¸ÀˆeœS ›YÔ'ñùs‚)r•)Úoutrowss r;Ú_normalized_outrowsr¯Ás€ô* ñØHOôó ðr=cóB—tjj||«Sr7)r[rKr˜)r«Úlib_dirs  r;Ú_record_to_fs_pathr²Ûs€Ü 7‰7<‰<˜ Ó -Ð-r=cóp—tjj|«dj«tjj|«dj«k(r tjj    ||«}|j tjj d«}td|«S)Nrú/r0)r[rKÚ
splitdriveroÚrelpathr$r’r)rKr±s  r;Ú_fs_to_record_pathr·ßs€ô
‡ww×ј$Ó Ñ"×(Ñ(Ó*¬b¯g©g×.@Ñ.@ÀÓ.IÈ!Ñ.L×.RÑ.RÓ.TÒT܏w‰w‰˜t WÓ-ˆà <‰<œŸ™Ÿ ™  SÓ )€DÜ  ˜dÓ #Ð#r=có—g}|D]¢}t|«dkDrtjd|«td|d«}|j    ||«}||vrt t ||««\}    }
n*t|«dkDr|dnd}    t|«dkDr|dnd}
|j||    |
f«Œ¤|D]0} t| |«} t | «\}    }
|j| |    |
f«Œ2||j«D cgc]} | ddf‘Œ    c} zScc} w)z_
    :param installed: A map from archive RECORD path to installation RECORD
        path.
    éz,RECORD line has more than three elements: %sr0rr~rQé)
r–ÚloggerÚwarningrÚpoprOr²r“r·Úvalues)Ú old_csv_rowsÚ    installedr5Ú    generatedr±Úinstalled_rowsÚrowÚold_record_pathÚnew_record_pathrHrNÚfrKÚinstalled_record_paths              r;Úget_csv_rows_for_installedrÈés(€ð-/€NØò
AˆÜ ˆs‹8aŠ<Ü N‰NÐIÈ3Ô Oܘ|¨S°©VÓ4ˆØ#Ÿ-™-¨¸ÓIˆØ ˜gÑ %Ü#Ô$6°ÈÓ$PÓQ‰NˆF‘Fä" 3›x¨!š|S˜’V°ˆFÜ" 3›x¨!š|S˜’V°ˆFØ×ј°¸Ð?Õ@ð
Aðò6ˆÜ! ! WÓ-ˆÜ ›‰ˆØ×јt V¨VÐ4Õ5ð6ð ØEN×EUÑEUÓEWöØ,AР     BÒ'òñ ðùòsÃ2 Dcó^—|j«}g}|jdd«}|rÀdtjvr|j    d|z«tjj dd«dk7r(|j    dt jd›d|›«|j    dt«›d|›«|Dcgc]}tjd    |«sŒ|‘Œ}}|D]}||=Œ|jd
d«}|rudtjvr|j    d |z«|j    d t«›d|›«|Dcgc]}tjd |«sŒ|‘Œ}}|D]}||=Œ|jtdj|j«««|Scc}wcc}w)zk
    Given the mapping from entrypoint name to callable, return the relevant
    console script specs.
    ÚpipNÚENSUREPIP_OPTIONSzpip = rQÚ
altinstallrz = zpip(\d+(\.\d+)?)?$Ú easy_installzeasy_install = z easy_install-zeasy_install(-\d+\.\d+)?$ú{} = {})Úcopyr½r[rr“rnr`Ú version_inforÚreÚmatchÚextendr r—r”)ÚconsoleÚscripts_to_generateÚ
pip_scriptÚkÚpip_epÚeasy_install_scriptÚeasy_install_eps       r;Úget_console_script_specsrÛ    s°€ð l‰l‹n€GàÐðB—‘˜U DÓ)€JÙØ ¤b§j¡jÑ 0Ø × &Ñ & x°*Ñ'<Ô =ä :‰:>‰>Ð-¨rÓ 2°lÒ BØ × &Ñ &¨¬S×-=Ñ-=¸aÑ-@Ð,AÀÀZÀLÐ'QÔ Rà×"Ñ" SÔ)@Ó)BÐ(CÀ3ÀzÀlÐ#SÔTà$ÖK˜¬¯©Ð1FÈÕ(J’!ÐKˆÐKØò    ˆAؘ‘
ð    à!Ÿ+™+ n°dÓ;ÐÙØ ¤b§j¡jÑ 0Ø × &Ñ &Ð'8Ð;NÑ'NÔ Oà×"Ñ"ØÔ3Ó5Ð6°cÐ:MÐ9NÐ Oô    
ð
ö
ؤ"§(¡(Ð+GÈÕ"KŠAð
ˆð
ð!ò    ˆAؘ‘
ð    ð×Ñœw y×'7Ñ'7¸¿¹»ÓIÔJà Ðùò+Lùò
sÂ;F%ÃF%ÅF*Å F*có4—eZdZ                                dd„Zdd„Zdd„Zy)Ú ZipBackedFilecó<—||_||_||_d|_y©NF)r1r3Ú    _zip_filer5)r:r1r3Úzip_files    r;Ú__init__zZipBackedFile.__init__Us!€ð /ˆÔØ"ˆŒØ!ˆŒØˆ r=cóL—|jj|j«Sr7)ràÚgetinfor1r9s r;Ú_getinfozZipBackedFile._getinfo]s€Ø~‰~×%Ñ% d×&:Ñ&:Ó;Ð;r=có$—tjj|j«rtj|j«|j «}t |jd«5}|jdkDrQ|jj |«5}t|jd«}tj|||«ddd«ddd«t|«rt|j«yy#1swYŒ3xYw#1swYŒ7xYw)NrZré)r[rKÚexistsr3Úunlinkrår]Ú    file_sizeràÚminÚshutilÚ copyfileobjr,r+)r:ÚzipinfoÚdestrÆrLs     r;r<zZipBackedFile.save`sЀô 7‰7>‰>˜$Ÿ.™.Ô )Ü I‰Id—n‘nÔ %à—-‘-“/ˆô$—.‘. $Ó 'ð    ;¨4Ø× Ñ  1Ò$Ø—^‘^×(Ñ(¨Ó1ð;°QÜ # G×$5Ñ$5°{Ó CIÜ×&Ñ& q¨$°    Ô:÷;÷    ;ô " 'Ô *Ü >¸t¿~¹~Õ Nð +÷    ;ð;ú÷    ;ð    ;ús$Á/+DÂ.C:ÃDÃ:D    Ã?DÄDN)r1r0r3r2rárr?r@)r?rr>)rArBrCrârår<r8r=r;rÝrÝTs2„ðØ)ðØ69ðØELðà     óó<ôOr=rÝcó—eZdZdd„Zdd„Zy)Ú
ScriptFilecóŒ—||_|jj|_|jj|_d|_yrß)Ú_filer1r3r5)r:Úfiles  r;râzScriptFile.__init__{s3€ØˆŒ
Ø#Ÿz™z×9Ñ9ˆÔØŸ™×-Ñ-ˆŒØˆ r=cól—|jj«t|j«|_yr7)rór<rkr3r5r9s r;r<zScriptFile.saves €Ø 
‰
‰ÔÜ! $§.¡.Ó1ˆ r=N)rôr/r?r@r>)rArBrCrâr<r8r=r;rñrñzs „óô 2r=rñc󠇗eZdZdˆfd„ ZˆxZS)ÚMissingCallableSuffixcó,•—t‰|d|›d«y)NzInvalid script entry point: z… - A callable suffix is required. See https://packaging.python.org/specifications/entry-points/#use-for-scripts for more information.)Úsuperrâ)r:rzÚ    __class__s  €r;râzMissingCallableSuffix.__init__‡s!ø€Ü ‰ÑØ*¨;¨-ð8ð õ    
r=)rzr2r?r@)rArBrCrâÚ __classcell__©rús@r;r÷r÷†s ø„÷
ñ
r=r÷có`—t|«}|!|j€tt|««‚yyr7)rÚsuffixr÷r2)Ú specificationÚentrys  r;Ú_raise_for_invalid_entrypointrs2€Ü ˜]Ó +€EØ Ð˜UŸ\™\Ð1Ü#¤C¨£JÓ/Ð/ð2Ðr=cóR‡—eZdZejd«Z    d                    dˆfd„ ZˆxZS)ÚPipScriptMakerzâ        import sys
        from %(module)s import %(import_name)s
        if __name__ == '__main__':
            if sys.argv[0].endswith('.exe'):
                sys.argv[0] = sys.argv[0][:-4]
            sys.exit(%(func)s())
có:•—t|«t‰|    ||«Sr7)rrùÚmake)r:rÿÚoptionsrús   €r;rzPipScriptMaker.make¤sø€ô    & mÔ4܉w‰|˜M¨7Ó3Ð3r=r7)rÿr2rzdict[str, Any] | Noner?ú    list[str])rArBrCÚtextwrapÚdedentÚscript_templaterrûrüs@r;rr–sCø„ð&h—o‘oð    ó    €OðDHð4Ø ð4Ø+@ð4à    ÷4ñ4r=rc
óÒ ‡‡:‡;‡<‡=‡>‡?‡@—t||«\}}    t|    «r |jŠ@n |jŠ@iŠ?t    «Š;g}
    d                            d ˆ;ˆ?ˆ@fd„ } d!d„} d"ˆfd„ Š:                        d#ˆ:fd„ }                         d$ˆ:ˆfd„ }d!d„}t t t|j««}t| |«}t||«\}}| |‰@«}t||«}d!d„}t||«\}}|||«}t||«}t||«}tt‰«t|««}t!|«\Š<Š>d%ˆ<ˆ>fd    „ }t||«}t||«}tt"|«}t||«}t    «}|D]ƒ}t$j&j)|j*«} | |vrt-| «|j/| «|j1«| |j2|j*|j4«Œ…d&ˆ?ˆ@fd
„ }!d'd „}"|r"t7j8t;j<t>j@««5}#tCjD«5tCjFd «|!«D]ƒ}$tIjJ|$d d ¬«}%|%sŒ|"|$«}&t$j&jM|&«sJ‚t d|&jOt$j&jPd««}'| |'|&«Œ…    ddd«ddd«tRjU#jW««tYd|jZ«}(d |(_.dh|(_/d |(_0tc‰<«})t tedjf‰>ji«««}*|(jk|)«}+|
jm|+«|
jm|(jk|*dd i««|r"to|+«},|,tRjq|,«dts«zŠ=t6jtd(ˆ=fd„ «}-t$j&jw‰@|«}.t$j&jw|.d«}/|-|/«5}0|0jyd«ddd«|
j{|/«|tt$j&jw|.t|«}1|-|1«5}2|2jy|j«jd««ddd«|
j{|1«|rGt$j&jw|.d«}3tƒ|3d«5    ddd«|
j{|3«|j…d«}4t t‡jˆ|4j‹«««}5t|5‰?‰;|
‰@¬«}6t$j&jw|.d«}7|-|7fitd«¤Ž5}8t‡jt d|8««}9|9j“t•|6««ddd«y#1swYŒxYw#1swYŒ"xYw#1swYŒ¶xYw#1swYŒMxYw#1swYŒxYw#1swYyxYw))aInstall a wheel.
 
    :param name: Name of the project to install
    :param wheel_zip: open ZipFile for wheel being installed
    :param scheme: Distutils scheme dictating the install directories
    :param req_description: String used in place of the requirement, for
        logging
    :param pycompile: Whether to byte-compile installed Python files
    :param warn_script_location: Whether to check that scripts are installed
        into a directory on PATH
    :raises UnsupportedWheel:
        * when the directory holds an unpacked wheel with incompatible
          Wheel-Version
        * when the .dist-info dir does not match the wheel
    r0cóP•—t|‰«}|‰|<|r‰j|«yy)z6Map archive RECORD paths to installation RECORD paths.N)r·rŒ)ÚsrcfilerœÚmodifiedÚnewpathr5rÀr±s    €€€r;Úrecord_installedz(_install_wheel.<locals>.record_installedÓs/ø€ô% X¨wÓ7ˆØ$ˆ    'ÑÙ Ø K‰K˜Õ  ð r=có$—|jd«S)Nr´)Úendswith©rKs r;Ú is_dir_pathz#_install_wheel.<locals>.is_dir_pathÜs€Ø}‰}˜SÓ!Ð!r=cóZ•—t||«sd}t|j‰||««‚y)NzRThe wheel {!r} has a file {!r} trying to install outside the target directory {!r})r*rr—)Ú dest_dir_pathÚ target_pathÚmessageÚ
wheel_paths   €r;Úassert_no_path_traversalz0_install_wheel.<locals>.assert_no_path_traversalßs;ø€Ü" =°+Ô>ð5ð ô$Ø—‘˜z¨;¸ ÓFóð ð ?r=c󕇇—dˆˆˆfd„ }|S)Ncó®•—tjj|«}tjj‰|«}‰‰|«t    ||‰«Sr7)r[rKr‘r˜rÝ)r«Ú normed_pathr3rrïrás   €€€r;Úmake_root_scheme_filezM_install_wheel.<locals>.root_scheme_file_maker.<locals>.make_root_scheme_fileìsDø€ÜŸ'™'×*Ñ*¨;Ó7ˆKÜŸ™Ÿ ™  T¨;Ó7ˆIÙ $ T¨9Ô 5Ü  ¨i¸ÓBÐ Br=©r«r0r?r/r8)rárïrrs`` €r;Úroot_scheme_file_makerz._install_wheel.<locals>.root_scheme_file_makerésú€÷    Cð %Ð$r=cóf•‡‡—tDcic]}|t||«“Œc}Šdˆˆˆˆfd„ }|Scc}w)Nc
óÜ•—tjj|«}    |jtjjd«\}}}    ‰
|}tjj||«}‰    ||«t||‰ «S#t
$rd‰ ›d|›d}t |«‚wxYw#t$r5djt‰
««}d‰ ›d|›d|›d|›d        }t |«‚wxYw)
NrºzUnexpected file in z: zG. .data directory contents should be named like: '<scheme key>/<path>'.rzUnknown scheme key used in z  (for file zW). .data directory contents should be in subdirectories named with a valid scheme key (ú)) r[rKr‘rŽr’Ú
ValueErrorrÚKeyErrorr˜r•rÝ) r«rÚ_Ú
scheme_keyÚ dest_subpathrÚ scheme_pathÚvalid_scheme_keysr3rÚ scheme_pathsrrás          €€€€r;Úmake_data_scheme_filezM_install_wheel.<locals>.data_scheme_file_maker.<locals>.make_data_scheme_fileùsø€ÜŸ'™'×*Ñ*¨;Ó7ˆKð 1Ø.9×.?Ñ.?ÄÇÁÇ Á ÈQÓ.OÑ+:˜|ð
1Ø*¨:Ñ6 ôŸ™Ÿ ™  [°,Ó?ˆIÙ $ [°)Ô <Ü  ¨i¸ÓBÐ Bøô+ò 1à)¨*¨°R¸ °ðGMðMðô(¨Ó0Ð0ð  1ûôò 1Ø$(§I¡I¬f°\Ó.BÓ$CÐ!à1°*°¸RÀ
¸|ðL!Ø!, ð0à-Ð.¨að1ðô (¨Ó0Ð0ð 1ús¢.B ÁB- B*Â->C+r)r!Úgetattr)ráÚschemeÚkeyr,r+rrs`   @€€r;Údata_scheme_file_makerz._install_wheel.<locals>.data_scheme_file_makerôs<ú€ô>IÖI°c˜œW V¨SÓ1Ñ1ÒIˆ ÷    Cð    Cð6%Ð$ùò;JsŒ.cóJ—|jdd«djd«S)Nr´r~rú.data)rŽrrs r;Úis_data_scheme_pathz+_install_wheel.<locals>.is_data_scheme_paths#€Øz‰z˜#˜qÓ! !Ñ$×-Ñ-¨gÓ6Ð6r=có‚—|jdd«}t|«dkDxr|djd«xr|ddk(S)Nr´rºrr2r~rš)rŽr–r)rKÚpartss  r;Úis_script_scheme_pathz-_install_wheel.<locals>.is_script_scheme_path sB€Ø—
‘
˜3 Ó"ˆÜ5‹z˜A‰~ÒV %¨¡(×"3Ñ"3°GÓ"<ÒVÀÀqÁÈYÑAVÐVr=cóP•—|j}tjj|«}|j    «j d«r|dd}nL|j    «j d«r|dd}n'|j    «j d«r|dd}n|}|‰vxs|‰vS)Nz.exeéüÿÿÿz
-script.pyiöÿÿÿz.pya)r3r[rKr‹ror)rôrKrxÚ    matchnamerÔÚguis    €€r;Úis_entrypoint_wrapperz-_install_wheel.<locals>.is_entrypoint_wrapper3s™ø€ð~‰~ˆÜw‰w×Ñ Ó%ˆØ :‰:‹<×  Ñ   Ô (ؘS˜b˜    ‰IØ Z‰Z‹\× "Ñ " <Ô 0ؘT˜c˜
‰IØ Z‰Z‹\× "Ñ " 6Ô *ؘS˜b˜    ‰IàˆIà˜GÐ#Ò7 y°CÐ'7Ð7r=c3ó•K—tt‰j«««D]X}tjj ‰|«}tjj |«sŒC|jd«sŒU|–—ŒZy­w)Nz.py)r•r‰r¾r[rKr˜r\r)Úinstalled_pathÚfull_installed_pathrÀr±s  €€r;Úpyc_source_file_pathsz-_install_wheel.<locals>.pyc_source_file_pathsVskøèø€ô
%¤S¨×)9Ñ)9Ó);Ó%<Ó=ò    &ˆNÜ"$§'¡'§,¡,¨w¸Ó"GÐ Ü—7‘7—>‘>Ð"5Ô6ØØ&×/Ñ/°Ô6ØØ%Ó %ñ     &ùsƒA?Bcó@—tjj|«S)z8Return the path the pyc file would have been written to.)Ú    importlibÚutilÚcache_from_sourcers r;Úpyc_output_pathz'_install_wheel.<locals>.pyc_output_pathcs€ä~‰~×/Ñ/°Ó5Ð5r=ÚignoreT)ÚforceÚquietr´NrQrÎr:i¶c;óĕK—t|fi|¤Ž5}|–—ddd«tjj‰«t    |j|«y#1swYŒ@xYw­wr7)r#r[Úchmodrxr$)rKÚkwargsrÆÚgenerated_file_modes   €r;Ú_generate_filez&_install_wheel.<locals>._generate_filešsPøèø€ä ˜tÑ . vÑ .ð    °!ØŠG÷    ä
‰—‘Ð,Ô-ܐ—‘˜Õ÷    ð    üsƒ A A•?A ÁAÁA Ú    INSTALLERspip
rRÚ    REQUESTEDrZÚRECORD)rÀr5rÁr±ÚwzIO[str])F)r r0rœr2rr4r?r@)rKr0r?r4)rr2rr2r?r@)rárrïr2r?úCallable[[RecordPath], File])rárr.r"r?rQ)rôr/r?r4)r?zGenerator[str, None, None])rKr2r?r2)rKr2rJrr?zGenerator[BinaryIO, None, None])Kr-rqÚpurelibÚplatlibr‰rÚlistr0Únamelistr r(Úmapr
rrrr{rñr[rKrŠr3r&rŒr<r1r5Ú
contextlibÚredirect_stdoutr%Ú from_streamr`ÚstdoutÚwarningsÚcatch_warningsÚfilterwarningsÚ
compileallÚ compile_filerèr$r’r»ÚdebugÚgetvaluerršÚclobberÚvariantsÚset_moderÛr r—r”Ú make_multiplerÓr¨r¼r)Úcontextmanagerr˜rfr“rÚto_jsonrbr]Ú    read_textÚcsvÚreaderÚ
splitlinesrÈrVÚwriterÚ    writerowsr¯)ArxÚ    wheel_ziprr.Ú    pycompileÚwarn_script_locationÚ
direct_urlÚ    requestedÚinfo_dirrprÁrrr r0r3ÚpathsÚ
file_pathsÚroot_scheme_pathsÚdata_scheme_pathsrÚfilesr6Úother_scheme_pathsÚscript_scheme_pathsr,Úother_scheme_filesÚ distributionr;Úscript_scheme_filesÚexisting_parentsrôrr?rDrZrKÚsuccessÚpyc_pathÚpyc_record_pathÚmakerrÕÚgui_scripts_to_generateÚgenerated_console_scriptsÚmsgrLÚ dest_info_dirÚinstaller_pathÚinstaller_fileÚdirect_url_pathÚdirect_url_fileÚrequested_pathÚ record_textÚ record_rowsÚrowsr«Ú record_filerlrr5rÔrKr:rÀr±sA  `                                                       @@@@@@@r;Ú_install_wheelr«sÿ€ô2% Y°Ó5Ñ€Hˆhä˜XÔ&Ø—.‘.‰à—.‘.ˆð /1€IÜ"›u€GØ€Ið>Cð!Øð!Ø'*ð!Ø6:ð!à     ÷!ó"õð    %Øð    %Ø!$ð    %à    %õ    %ð %Øð %Ø#)ð %à    %ö %óD7ô ””jÑ! 9×#5Ñ#5Ó#7Ó 8€Eܘ[¨%Ó0€JÜ+4Ð5HÈ*Ó+UÑ(ÐÐ(á2°9¸gÓFÐÜР5Ð7HÓI€EóWô/8ØÐ0ó/Ñ+ÐÐ+ñ3°9¸fÓEÐÜÐ2Ð4FÓGÐÜ %Ð+Ó ,€Eô*ܘ
Ó#ܘ$Óó€Lô# <Ó0L€GˆSö8ô +.ØÐ2ó+Ðô&Ð&;Ð=PÓQÐÜœjÐ*=Ó>ÐÜ %Ð,Ó -€Eä“uÐØò    Mˆô—W‘W—_‘_ T§^¡^Ó4ˆ
Ø Ð-Ñ -Ü zÔ "Ø ×  Ñ   Ô ,Ø     ‰    Œ Ù˜×-Ñ-¨t¯~©~¸t¿|¹|ÕLð    Mö &ó6ò
Ü × 'Ñ 'Ü × %Ñ %¤c§j¡jÓ 1ó
ð     Dà Ü×(Ñ(Ó*ñ
DÜ×'Ñ'¨Ô1Ù1Ó3òDDÜ(×5Ñ5°dÀ$ÈdÔSGÚÙ#2°4Ó#8˜Ü!Ÿw™wŸ~™~¨hÔ7Ð7Ð7Ü*.Ø(¨(×*:Ñ*:¼2¿7¹7¿;¹;ÈÓ*Ló+˜ñ)¨¸(ÕCñD÷
D÷     Dô     ‰ V—_‘_Ó&Ô'ä ˜4 §¡Ó 0€Eð€E„Mð
T€E„Nð
€E„Nô3°7Ó;Ðä"¤7¨9×+;Ñ+;¸S¿Y¹Y»[Ó#IÓJÐà %× 3Ñ 3Ð4GÓ HÐØ ×ÑÐ.Ô/à ×ѐU×(Ñ(Ð)@À5È$À-ÓPÔQáÜ/Ð0IÓJˆØ ˆ?Ü N‰N˜3Ô à¤=£?Ð"2Ñ2Ðä×Ñôóðô —G‘G—L‘L ¨(Ó3€Mô—W‘W—\‘\ -°Ó=€NÙ    ˜Ó    'ð'¨>Ø×јXÔ&÷'à ×ѐ^Ô$ðÐÜŸ'™'Ÿ,™, }Ô6NÓOˆÙ ˜OÓ ,ð    H°Ø × !Ñ ! *×"4Ñ"4Ó"6×"=Ñ"=¸gÓ"FÔ G÷    Hà×јÔ)ñÜŸ™Ÿ™ m°[ÓAˆÜ . $Ó 'ñ    Ø ÷    à×јÔ(à×(Ñ(¨Ó2€KÜ”s—z‘z +×"8Ñ"8Ó":Ó;Ó<€Kä %ØØØØØô  €Dô—'‘'—,‘,˜}¨hÓ7€Ká    ˜ Ñ    :¤}°SÓ'9Ñ    :ð4¸kô—‘œD ¨KÓ8Ó9ˆØ×ÑÔ,¨TÓ2Ô3÷    4ð4÷s
Dñ
Dú÷     Dñ     Dú÷x'ñ'ú÷    Hñ    Hú÷    ñ    ú÷$4ð4ús[ÉX)É:XÊA(XÌX)Ñ0X6Ó    /YÔ?Y×:YØX&    Ø!X)Ø)X3Ø6YÙY ÙYÙY&c#ózK—    d–—y#t$r&}d|›d|jd›}t|«|‚d}~wwxYw­w)Nz    For req: z. r)rÚargs)Úreq_descriptionÚers   r;Úreq_error_contextr•ÌsEèø€ð0Ü øÜ ò0ؘoÐ.¨b°·±¸±° Ð<ˆÜ Ó(¨aÐ/ûð0üs‚;„    ˆ;‰    8’!3³8¸;c ó®—t|d¬«5}t|«5t||||||||¬«ddd«ddd«y#1swYŒxYw#1swYyxYw)NT)Ú
allowZip64)rxrnrr.rorprqrr)rr•r)    rxrr.r“rorprqrrÚzs             r;Ú install_wheelr™Õsg€ô
¨Ô    -ð °Ü ˜Ó /ñ
    Ü ØØØ%ØØ#Ø%9Ø%Ø#õ     ÷
    ÷ ð ÷
    ð
    ú÷ ð úsŽ A š?®A ¿A    ÁA Á A)rç)rKr2rLÚintr?ztuple[str, str])rSr2r?zdict[str, Any])rKr2r?r4)rpr    r?r4)ryrr?z%tuple[dict[str, str], dict[str, str]])ršz Sequence[str]r?z
str | None)r®zIterable[InstalledCSVRow]r?zlist[tuple[str, str, str]])r«r0r±r2r?r2)rKr2r±r2r?r0) r¿zlist[list[str]]rÀzdict[RecordPath, RecordPath]r5zset[RecordPath]rÁrr±r2r?zlist[InstalledCSVRow])rÔzdict[str, str]r?r)rÿr2r?r@)TTNF)rxr2rnrrr2r.r"ror4rpr4rqúDirectUrl | Nonerrr4r?r@)r“r2r?zGenerator[None, None, None])rxr2rr2r.r"r“r2ror4rpr4rqr›rrr4r?r@)iÚ__doc__Ú
__future__rr‡r^rWrirAÚloggingÚos.pathr[rÑrìr`rr[Úbase64rÚcollections.abcrrrrÚ email.messager    Ú    itertoolsr
r r Útypingr rrrrrrrÚzipfilerrÚpip._vendor.distlib.scriptsrÚpip._vendor.distlib.utilrÚpip._vendor.packaging.utilsrÚpip._internal.exceptionsrÚpip._internal.locationsrÚpip._internal.metadatarrrÚpip._internal.models.direct_urlrr Úpip._internal.models.schemer!r"Úpip._internal.utils.filesystemr#r$Úpip._internal.utils.miscr%r&r'r(Úpip._internal.utils.unpackingr)r*r+r,Úpip._internal.utils.wheelr-r/Ú    getLoggerrAr»r2r0ÚtupleršÚInstalledCSVRowrOrVrkrqr{r¨r¯r²r·rÈrÛrÝrñr÷rrrrfr•r™r8r=r;ú<module>rµs…ðÙLå"ãÛÛÛ
ÛÛÛÛ    Û Û
ÛÛÝ$ßCÓCÝ!ß1Ñ1÷    ÷    ó    ÷%å3Ý5Ý9å6Ý;÷ñ÷
Pß;ßEßTÓT÷óõ 2ô ˆ8ô ð
ˆ×    Ñ    ˜8Ó    $€á \ 3Ó '€
ؘ
 C¨¨s°C¨x©Ð8Ñ9€ô!ó>óó(Aó(óE ðPØ &ðàóó4.ó$ðØ!ðà+ððððð    ð
ð ð ó ó@H÷V#Oñ#O÷L    2ñ    2ô
Ð-ô
ó0ô 4[ô4ð4Ø!%Ø#'Øð^4Ø
ð^4àð^4ðð^4ð ð    ^4ð
ð ^4ð ð ^4ð!ð^4ðð^4ð
ó^4ðB     ×Ñò0óð0ðØ!%Ø#'ØðØ
ðàðð ððð    ð
ð ð ð ð!ðððð
ôr=