hyb
2025-11-18 7539e6f48c75dcaeb808359cccfd1c0d0d182ce8
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
Ë
@ñúh×Bãóì—ddlmZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl m Z ddlZddlZddlmZmZmZddlZddlZGd„de«ZGd„d«ZGd    „d
«Zd „Zd „Zd „Zej:j=dddefddefg«ej:j?e    j@dddk(xre    j@jBdk7d¬«d„««Z"ej:j?e    j@dddk(xre    j@jBdk7d¬«d„«Z#ej:j=dddg«d„«Z$d„Z%Gd„d «Z&Gd!„d"«Z'y)#é)Ú annotationsN)Úmock)ÚDistInfoDistributionÚ DistributionÚEggInfoDistributioncó—eZdZd„Zy)Ú
EggRemovercóЗ|tjvrtjj|«tjj    |«rtj|«yy©N)ÚsysÚpathÚremoveÚosÚexists)Úselfs úYH:\Change_password\venv_build\Lib\site-packages\pkg_resources/tests/test_pkg_resources.pyÚ__call__zEggRemover.__call__s>€Ø ”3—8‘8Ñ Ü H‰HO‰O˜DÔ !Ü 7‰7>‰>˜$Ô Ü I‰IdOð  óN)Ú__name__Ú
__module__Ú __qualname__r©rrr    r    s„órr    cóx—eZdZUgZded<ej
dddddd«Z    ed    „«Zed
„«Z    d „Z
d „Z y )ÚTestZipProviderzlist[EggRemover]Ú
finalizersiÝéé é ércó†—tjdd¬«}tj|d«}tj«}d|_|j j«|_|j|d«tj«}d|_|j j«|_|j|d«tj«}d    |_|j j«|_|j|d
«tj«}d |_|j j«|_|j|d «|j«|j«tjj|j«tjj!|jd «}tjj|«|j"jt%|««|j"jt%|j««y)z'create a zip egg and add it to sys.pathz.eggF)ÚsuffixÚdeleteÚwúmod.pyzx = 3
údata.datú hello, world!zsubdir/mod2.pyzx = 6
zsubdir/data2.datzgoodbye, world!ÚsubdirN)ÚtempfileÚNamedTemporaryFileÚzipfileÚZipFileÚZipInfoÚfilenameÚref_timeÚ    timetupleÚ    date_timeÚwritestrÚcloser r ÚappendÚnamerÚjoinrr    )ÚclsÚeggÚzip_eggÚzip_infor's     rÚ setup_classzTestZipProvider.setup_class&s‹€ô×)Ñ)°ÀÔFˆÜ—/‘/ # sÓ+ˆÜ—?‘?Ó$ˆØ$ˆÔØ Ÿ\™\×3Ñ3Ó5ˆÔØ×ј 9Ô-Ü—?‘?Ó$ˆØ&ˆÔØ Ÿ\™\×3Ñ3Ó5ˆÔØ×ј ?Ô3Ü—?‘?Ó$ˆØ,ˆÔØ Ÿ\™\×3Ñ3Ó5ˆÔØ×ј 9Ô-Ü—?‘?Ó$ˆØ.ˆÔØ Ÿ\™\×3Ñ3Ó5ˆÔØ×јÐ#4Ô5؏ ‰ ŒØ     ‰    Œ ä ‰‰˜Ÿ™Ô!Ü—‘—‘˜cŸh™h¨Ó1ˆÜ ‰‰˜ÔØ ‰×Ñœj¨Ó0Ô1Ø ‰×Ñœj¨¯©Ó2Õ3rcó4—|jD]    }|«Œ yr )r)r6Ú    finalizers  rÚteardown_classzTestZipProvider.teardown_classDs€àŸ™ò    ˆIÙ Kñ    rcó —ddl}tj|«}gd¢}t|j    d««|k(sJ‚ddg}t|j    d««|k(sJ‚t|j    d««|k(sJ‚|j    d«gk(sJ‚|j    d    «gk(sJ‚ddl}tj|«}t|j    d««|k(sJ‚|j    d«gk(sJ‚|j    d«gk(sJ‚y)
Nr)r%r$r'Úz    data2.datzmod2.pyr'zsubdir/Ú nonexistentz nonexistent/)ÚmodÚ pkg_resourcesÚ ZipProviderÚsortedÚresource_listdirÚmod2)rrAÚzpÚ expected_rootÚexpected_subdirrFÚzp2s       rÚtest_resource_listdirz%TestZipProvider.test_resource_listdirIs€Ûä × &Ñ & sÓ +ˆâ8ˆ ܐb×)Ñ)¨"Ó-Ó.°-Ò?Ð?Ð?à&¨    Ð2ˆÜb×)Ñ)¨(Ó3Ó4¸ÒGÐGÐGܐb×)Ñ)¨)Ó4Ó5¸ÒHÐHÐHà×"Ñ" =Ó1°RÒ7Ð7Ð7Ø×"Ñ" >Ó2°bÒ8Ð8Ð8ãä×'Ñ'¨Ó-ˆäc×*Ñ*¨2Ó.Ó/°?ÒBÐBÐBà×#Ñ# HÓ-°Ò3Ð3Ð3Ø×#Ñ# IÓ.°"Ò4Ð4Ñ4rcó’—ddl}tj«}tj|«}|j    |d«}t
j
j tj|«j«}||jk(sJ‚t|dd¬«}|jd«|j«|jj«}tj|||f«|j    |d«}t|d¬«5}|j!«dk(sJ‚    ddd«|j#«y#1swYŒxYw)    a
        If a previous call to get_resource_filename has saved the file, but
        the file has been subsequently mutated with different file of the
        same size and modification time, it should not be overwritten on a
        subsequent call to get_resource_filename.
        rNr%r#úutf-8©Úencodingz hello, world?r&)rArBÚResourceManagerrCÚget_resource_filenameÚdatetimeÚ fromtimestamprÚstatÚst_mtimer.ÚopenÚwriter2Ú    timestampÚutimeÚreadÚcleanup_resources)rrAÚmanagerrGr-ÚactualÚfÚtss        rÚ)test_resource_filename_rewrites_on_changez9TestZipProvider.test_resource_filename_rewrites_on_changeas€ó    ä×/Ñ/Ó1ˆÜ × &Ñ & sÓ +ˆØ×+Ñ+¨G°ZÓ@ˆÜ×"Ñ"×0Ñ0´·±¸Ó1B×1KÑ1KÓLˆØ˜Ÿ™Ò&Ð&Ð&Ü ˜3¨Ô 1ˆØ    ‰Ô Ø    ‰Œ    Ø ]‰]× $Ñ $Ó &ˆÜ
‰˜B ˜8Ô$Ø×+Ñ+¨G°ZÓ@ˆÜ ( WÔ -ð    /°Ø—6‘6“8˜Ò.Ð .Ñ.÷    /à×!Ñ!Õ#÷    /ð    /ús Ä D=Ä=EN) rrrrÚ__annotations__rRr.Ú classmethodr:r=rKr`rrrrr s\…Ø#%€JРÓ%à ˆx× Ñ   q¨"¨b°"°aÓ8€HØ.àñ4óð4ð:ñóðò5ó0$rrcó —eZdZd„Zd„Z    d„Zy)ÚTestResourceManagercó®—tj«}|jd«}tt    |««}d|z}t |t«sJ|«‚y)NÚfooz%Unexpected type from get_cache_path: )rBrPÚget_cache_pathÚstrÚtypeÚ
isinstance)rÚmgrr Útype_Úmessages     rÚtest_get_cache_pathz'TestResourceManager.test_get_cache_path{sL€Ü×+Ñ+Ó-ˆØ×!Ñ! %Ó(ˆÜ”D˜“J“ˆØ9¸EÑAˆÜ˜$¤Ô$Ð- gÓ-Ñ$rcóV‡—tjfˆfd„    Šg‰_tj«}|j    t |««t jjd«}tjjtd‰¬«5|j|«ddd«‰j}t|«dk(sJ‚|djt j«dddd    gk(sJ‚|d
jt j«d ddgk(sJ‚y#1swYŒ}xYw) Ncó|•—‰jj|«||«}|stj|«|Sr )Údirnamesr3rÚmakedirs)ÚdirnameÚunpatched_isdirÚwas_dirÚ patched_isdirs   €rrvzCTestResourceManager.test_get_cache_path_race.<locals>.patched_isdir„s5ø€Ø × "Ñ "× )Ñ )¨'Ô 2á% gÓ.ˆGÙÜ— ‘ ˜GÔ$؈Nr)rfÚbarÚbazÚisdir)Únewéréþÿÿÿrfrwééÿÿÿÿ)rBryrqrPÚset_extraction_pathrhrÚsepr5rÚpatchÚobjectrgÚlenÚsplit)rÚtmpdirrkÚ archive_nameÚcalled_dirnamesrvs     @rÚtest_get_cache_path_racez,TestResourceManager.test_get_cache_path_race‚sø€ä3@×3FÑ3Fõ    ð"$ˆ Ôô×+Ñ+Ó-ˆØ ×Ѥ F£ Ô,ä—v‘v—{‘{Ð#8Ó9ˆ Ü Z‰Z× Ñ œ}¨g¸=Ð Ó Iñ    -Ø × Ñ ˜|Ô ,÷    -ð (×0Ñ0ˆÜ?Ó# qÒ(Ð(Ð(ؘqÑ!×'Ñ'¬¯©Ó/°°Ð4¸À¸ÒFÐFÐFؘqÑ!×'Ñ'¬¯©Ó/°°Ð4¸¸Ò?Ð?Ñ?÷    -ð    -ús ÂDÄD(cóv—d}tjddj|«g}tj|«y)z
        In a separate Python environment, import pkg_resources and assert
        that action doesn't cause setuptools to be imported.
        )zimport pkg_resourcesz
import syszAassert "setuptools" not in sys.modules, "setuptools was imported"z-cz; N)r Ú
executabler5Ú
subprocessÚ
check_call)rÚlinesÚcmds   rÚtest_setuptools_not_importedz0TestResourceManager.test_setuptools_not_imported¢s2€ð
 
ˆô
~‰~˜t T§Y¡Y¨uÓ%5Ð6ˆÜ×јcÕ"rN)rrrrnrˆrrrrrdrdzs„ò.ò@ð8ó #rrdcó—tjj|«}tj|«t    |d«5}|j |«ddd«t tj|««}|\}|S#1swYŒ-xYw)a†
    Make a test Distribution object, and return it.
 
    :param metadata_path: the path to the metadata file that should be
        created. This should be inside a distribution directory that should
        also be created. For example, an argument value might end with
        "<project>.dist-info/METADATA".
    :param metadata: the desired contents of the metadata file, as bytes.
    ÚwbN)    rr rsÚmkdirrVrWÚlistrBÚdistributions_from_metadata)Ú metadata_pathÚmetadataÚdist_dirr^ÚdistsÚdists      rÚmake_test_distributionrš°sp€ôw‰w‰˜}Ó-€H܇HHˆXÔÜ     ˆm˜TÓ    "ð aØ    ‰Ô÷ä ”×:Ñ:¸8ÓDÓ E€E؁G€Tà €K÷ ðús ÁA?Á?Bcóš—d}tjjt|«d|«}dj    d«}t ||¬«}t jt«5}|j|«ddd«j}t|«}d}||vs
Jd|›«‚|j|«s
Jd|›«‚y#1swYŒLxYw)    zI
    Test a metadata file with bytes that can't be decoded as utf-8.
    ÚMETADATAz foo.dist-infounéez
iso-8859-1)r–Nz`codec can't decode byte 0xe9 in position 1: invalid continuation byte in METADATA file at path: zactual: ) rr r5rhÚencoderšÚpytestÚraisesÚUnicodeDecodeErrorÚ get_metadataÚvalueÚendswith)    r…r-r•r–r™ÚexcinfoÚexcr]Úexpecteds             rÚtest_get_metadata__bad_utf8r§Äsǀð€Hä—G‘G—L‘L¤ V£¨o¸xÓH€Mà}‰}˜\Ó*€HÜ ! -¸(Ô C€Dä    ‰Ô)Ó    *ð$¨gØ ×ј(Ô#÷$ð -‰-€CÜ ‹X€Fð    ?ð ð vÑ Ð2 ¨&¨Ð2Ó2Ð Ø ?‰?˜=Ô )Ð>¨X°f°XÐ+>Ó>Ñ )÷$ð$ús Á$CÃC
có֗||z }|j«|jd«j«tt    j
|««}t |«dk(sJ‚|\}||fS)zN
    Create a distribution directory with no file containing the version.
    ztemp.txtr})Ú
ensure_dirr5Úensurer“rBr”rƒ)r…Úbasenamer—r˜r™s     rÚmake_distribution_no_versionr¬Þsg€ð˜Ñ €HØ ×ÑÔð ‡MM*Ó×$Ñ$Ô&ä ”×:Ñ:¸8ÓDÓ E€EÜ ˆu‹:˜Š?Ј?؁G€Tà ˆ>Ðr)r!Úexpected_filenameÚexpected_dist_typezegg-infozPKG-INFOz    dist-inforœr{)érÚfinalz/https://github.com/python/cpython/issues/103632©ÚreasoncóÊ—d|›}t||«\}}d|›d}tjj||«}t    j
t «5}    |jddd«t    j«}
||
vsJt||
f««‚|    jj\} }|| vsJ‚|| vsJt|| f««‚t|«|usJ‚y#1swYŒyxYw)zI
    Test Distribution.version when the "Version" header is missing.
    zfoo.z!Missing 'Version:' header and/or z file at path: N) r¬rr r5ržrŸÚ
ValueErrorÚversionrhr¢Úargsri) r…r!r­r®r«r™r—Ú expected_textr•r¤ÚerrÚmsgs             rÚ!test_distribution_version_missingrºïsù€ð"fXˆ€HÜ1°&¸(ÓCN€Dˆ(ð ,Ð,=Ð+>¸oÐNðô—G‘G—L‘L Ð+<Ó=€Mô
‰”zÓ    "ð gØ  Š ÷ô ˆgm‰mÓ
€Cð ˜CÑ Ð:¤ m°SÐ%9Ó!:Ó:Ð ð— ‘ ×"Ñ"I€CˆØ ˜CÑ ÐÐ à ˜CÑ Ð:¤ m°SÐ%9Ó!:Ó:Ð Ü ‹:Ð+Ñ +Ð+Ñ +÷ðús Á CÃC"cóҗtd«}tjt«5}|jddd«j
j \}}d}||k(sJ‚y#1swYŒ,xYw)zl
    Test Distribution.version when the "Version" header is missing and
    the path can't be detected.
    z/fooNzJMissing 'Version:' header and/or PKG-INFO file at path: [could not detect])rržrŸr´rµr¢r¶)r™r¤r¹r¦s    rÚ1test_distribution_version_missing_undetected_pathr¼sc€ô ˜Ó €DÜ    ‰”zÓ    "ð gØ  Š ÷ð— ‘ ×"Ñ"I€CˆàTð ð (Š?Љ?÷ðús ¥ AÁA&ÚonlyFTcó„—|dz }|j«tjt|«t|«|«rJ‚y)z5Test path containing a file with dist-info extension.zfoobar.dist-infoN)ÚtouchrBÚ dist_factoryrh)Útmp_pathr½Ú    dist_infos   rÚtest_dist_info_is_not_dirrÃ/s<€ðÐ-Ñ-€IØ ‡OOÔÜ×)Ñ)¬#¨h«-¼¸Y»ÈÔNÐNÐ NÐNrc󐇇—tjŠ|jdtjd¬««t‰dz d«5}t j ddi|«ddd«|jd    tjd
¬««ˆˆfd „}tjd tj|¬ ««5}tjj«tj«ddgk(sJ‚tjj«ddd«j«y#1swYŒÐxYw#1swYŒ&xYw)z-Regression test for pkg_resources._macos_verszplatform.mac_ver)r?rr?)Ú return_valueú
fake.plistr‘ÚProductVersionz11.4Nzos.path.existsTcó"•—‰‰dz g|¢­i|¤ŽS)NrÆr)Úfiler¶ÚkwargsÚ    orig_openrÁs   €€rÚ    fake_openz+test_macos_vers_fallback.<locals>.fake_openEsø€Ù˜ LÑ0ÐB°4ÒB¸6ÑBÐBrz builtins.open)Ú side_effectÚ11Ú4) ÚbuiltinsrVÚsetattrrÚMockÚplistlibÚdumprrBÚ _macos_versÚ cache_clearÚ assert_called)Ú monkeypatchrÁÚ    fake_filerÌÚmrËs `   @rÚtest_macos_vers_fallbackrÛ7sù€ä— ‘ €Ið×ÑÐ*¬D¯I©IÀ<Ô,PÔQô
ˆh˜Ñ% tÓ    ,ð=°    Ü ‰ Ð'¨Ð0°)Ô<÷=ð×ÑÐ(¬$¯)©)ÀÔ*FÔGõCô
‰O¤T§Y¡Y¸9Ô%EÓ    Fð0È!Ü×!Ñ!×-Ñ-Ô/Ü×(Ñ(Ó*¨t°S¨kÒ9Ð9Ð9Ü×!Ñ!×-Ñ-Ô/÷0ð
‡OOÕ÷=ð=ú÷0ð0úsÁD0Â?AD<Ä0D9Ä<Ecó*—eZdZejd„«Zd„Zd„Zejjdgd¢«d„«Z
ejje jjd«e jjd«k7d    ¬
«ejjdd g«d „««Zejje jj d k7d¬
«ejjdgd¢«d„««Zy)ÚTestDeepVersionLookupDistutilscó ‡—Gd„dt«}|‰«}‰jtj«d}t    ˆfd„|D««|_t ttj|j
j«««|S)zq
        Create a package environment, similar to a virtualenv,
        in which packages are installed.
        có —eZdZy)ú7TestDeepVersionLookupDistutils.env.<locals>.EnvironmentN)rrrrrrÚ EnvironmentràYs„Ø rrá)ÚhomeÚlibÚscriptsÚdatazegg-basec3ó>•K—|]}|t‰|z «f–—Œy­wr )rh)Ú.0rsr…s  €rú    <genexpr>z5TestDeepVersionLookupDistutils.env.<locals>.<genexpr>_s øèø€ÒN¸g˜'¤3 v°Ñ'7Ó#8Ô9ÑNùsƒ) rhÚchmodrTÚS_IRWXUÚdictÚpathsr“Úmaprr’Úvalues)rr…ráÚenvÚsubss `   rrïz"TestDeepVersionLookupDistutils.envRsgø€ô    œ#ô    ñ˜&Ó!ˆØ ‰ ”T—\‘\Ô"Ø;ˆÜÓNÈÔNÓNˆŒ    Ü ŒS”—‘˜3Ÿ9™9×+Ñ+Ó-Ó .Ô/؈
rcó<—d}td||¬«}tjj|«}tjj
j |«}|j «|jd|_|j«|j«y)zj
        Create a foo package installed (distutils-style) to env.paths['lib']
        as version.
        u&This package has unicode metadata! â„rf)r4rµÚlong_descriptionrãN) rëÚ    distutilsr™rÚcommandÚinstall_egg_infoÚinitialize_optionsrìÚ install_dirÚfinalize_optionsÚrun)rrïrµÚldÚattrsr™Úiei_cmds       rÚcreate_foo_pkgz-TestDeepVersionLookupDistutils.create_foo_pkgcsy€ð
6ˆÜ˜%¨À2ÔFˆÜ~‰~×*Ñ*¨5Ó1ˆÜ×#Ñ#×4Ñ4×EÑEÀdÓKˆØ×"Ñ"Ô$Ø!Ÿi™i¨Ñ.ˆÔØ× Ñ Ô"؏ ‰  rcóð—d}|j||«tjjd«}tj|j
dg«j |«}|j|k(sJ‚y)Nz1.11.0.dev0+2329eaezfoo>=1.9rã)rýrBÚ RequirementÚparseÚ
WorkingSetrìÚfindrµ)rrïrµÚreqr™s     rÚ#test_version_resolved_from_egg_infozBTestDeepVersionLookupDistutils.test_version_resolved_from_egg_infoqsh€Ø'ˆØ ×јC Ô)ô×'Ñ'×-Ñ-¨jÓ9ˆÜ×'Ñ'¨¯©°5Ñ)9Ð(:Ó;×@Ñ@ÀÓEˆØ|‰|˜wÒ&Ð&Ñ&r)Ú unnormalizedÚ
normalized))rfrf)zfoo/rf)úfoo/barr)zfoo/bar/rcóf—tj|«}tj|«}||k(sJ‚y)zeEnsure the trailing slash is cleaned for path comparison.
 
        See pypa/setuptools#1519.
        N©rBÚnormalize_path©rrrÚresult_from_unnormalizedÚresult_from_normalizeds     rÚ test_normalize_path_trailing_sepz?TestDeepVersionLookupDistutils.test_normalize_path_trailing_sep{s5€ô$1×#?Ñ#?À Ó#MРÜ!.×!=Ñ!=¸jÓ!IÐØ'Ð+AÒAÐAÑArÚAÚaz%Testing case-insensitive filesystems.r±)z
MiXeD/CasEz
mixed/casecóf—tj|«}tj|«}||k(sJ‚y)z@Ensure mixed case is normalized on case-insensitive filesystems.Nr    r s     rÚtest_normalize_path_normcasez;TestDeepVersionLookupDistutils.test_normalize_path_normcases5€ô$1×#?Ñ#?À Ó#MРÜ!.×!=Ñ!=¸jÓ!IÐØ'Ð+AÒAÐAÑArú\z5Testing systems using backslashes as path separators.)rr¦))z forward/slashú forward\slash)zforward/slash/r)zbackward\slash\zbackward\slashcóT—tj|«}|j|«sJ‚y)z;Ensure path seps are cleaned on backslash path sep systems.N)rBr
r£)rrr¦Úresults    rÚ!test_normalize_path_backslash_sepz@TestDeepVersionLookupDistutils.test_normalize_path_backslash_seps&€ô×-Ñ-¨lÓ;ˆØ‰˜xÔ(Ð(Ñ(rN)rrrržÚfixturerïrýrÚmarkÚ parametrizerÚskipifrr Únormcaserr€rrrrrÝrÝQs"„Ø ‡^^ñóðò  ò'ð ‡[[×ÑØ&ò    
óñBóðBð ‡[[×ÑØ
‰×јӠ§¡×!1Ñ!1°#Ó!6Ñ6Ø6ðóð ‡[[×ÑØ&à (ð    
óñ Bó ó    ðBð  ‡[[×ÑØ
‰ ‰ tÑØFðóð ‡[[×ÑØ$ò    
óñ)óó    ñ)rrÝcóh—eZdZd„ZdddddœZej jdgd¢«d    „«Zy
) ÚTestWorkdirRequirecóZ—|dz }|j«|jj«D]M\}}||z }|jjdd¬«|j    t j |«d¬«ŒO|jtd|g«tj|«S)Nz site-packagesT)Úexist_okÚparentsrMrNr ) r’ÚFILESÚitemsÚparentÚ
write_textÚinspectÚcleandocrÑr rÚfspath)rrÁrØÚ
dist_filesÚ site_packagesrÉÚcontentr s        rÚfake_site_packagesz%TestWorkdirRequire.fake_site_packages°s›€Ø  ?Ñ2ˆ Ø×ÑÔØ!ŸZ™Z×-Ñ-Ó/ò    I‰MˆD'Ø  4Ñ'ˆDØ K‰K× Ñ  t°TÐ Ô :Ø O‰OœG×,Ñ,¨WÓ5ÀˆOÕ Hð    Ið
    ×ÑœC ¨-¨Ô9܏y‰y˜Ó'Ð'rze
            Metadata-Version: 2.4
            Name: pkg1.mod
            Version: 1.2.3
            zd
            Metadata-Version: 2.1
            Name: pkg2.mod
            Version: 0.42
            zE
            Name: pkg3.mod
            Version: 1.2.3.4
            zD
            Name: pkg4.mod
            Version: 0.42.1
            )z!pkg1_mod-1.2.3.dist-info/METADATAz pkg2.mod-0.42.dist-info/METADATAzpkg3_mod.egg-info/PKG-INFOzpkg4.mod.egg-info/PKG-INFO)rµÚ requirement))z1.2.3z pkg1.mod>=1)z0.42z pkg2.mod>=0.4)z1.2.3.4z pkg3.mod<=2)z0.42.1zpkg4.mod>0.2,<1cóz—|j|||j«}tj|g«}||j    dd«fD]q}|j |«\}|j |k(sJ‚tjjtjj|j|g«|«rŒqJ‚y)Nú.ú-) r,r"rBrÚreplaceÚrequirerµrr ÚsamefileÚ
commonpathÚlocation)    rrÁrØrµr-r*Úwsrr™s             rÚ test_require_non_normalised_namez3TestWorkdirRequire.test_require_non_normalised_nameÐs©€ð×/Ñ/°¸+ÀtÇzÁzÓRˆ Ü × %Ñ % } oÓ 6ˆà ×!4Ñ!4°S¸#Ó!>Ð?ò    ˆCØ—Z‘Z “_‰FˆTØ—<‘< 7Ò*Ð *Ð*Ü—7‘7×#Ñ#Ü—‘×"Ñ" D§M¡M°=Ð#AÓBÀMõð ðñ    rN)    rrrr,r"ržrrr7rrrrr¯sM„ò    (ð.ð
-ð
'ð'ñ €Eð* ‡[[×ÑØ"ò    
óñ óñ rr)(Ú
__future__rrÐrRr&rrÓrTr‹r r(r*ÚunittestrržrBrrrÚ"distutils.command.install_egg_inforóÚdistutils.distrhr    rrdršr§r¬rrÚxfailÚ version_infoÚ releaselevelrºr¼rÃrÛrÝrrrrú<module>r?s˜ðÝ"ãÛÛÛ    ÛÛ ÛÛ
ÛÛÝã ãßQÑQã)Ûôô÷W$ñW$÷t3#ñ3#òlò(?ò4ð"‡×ÑØ9à    ZÐ!4Ð5Ø    jÐ"6Ð7ðóð‡×ÑØ×ѐRaИGÑ#ÒP¨×(8Ñ(8×(EÑ(EÈÑ(PØ <ðóñ,ó    óð,ð>‡×ÑØ×ѐRaИGÑ#ÒP¨×(8Ñ(8×(EÑ(EÈÑ(PØ <ðóñó    ðð$‡×ј %¨ Ó/ñOó0ðOò÷4[)ñ[)÷|6ò6r