2bi"SrSSKrSSKJr SSKJr SSKJr SSKJ r J r SSK J r SSK Jr S r\R "\5rS \ S \S \\\44S jrS\ S \S \4SjrS\ S\S \4SjrS\ S\S \4SjrS\S \\S44SjrS\\S4S \S S4Sjrg)z0Support functions for working with wheel files. N)Message)Parser)Tuple) BadZipFileZipFile)canonicalize_name)UnsupportedWheel)r wheel_zipnamereturnc [X5n[X5n[U5n[ XA5 X#4$![a)n[SR U[ U555eSnAff=f)zExtract information from the provided wheel, ensuring it meets basic standards. Returns the name of the .dist-info directory and the parsed WHEEL metadata. z{} has an invalid wheel, {}N)wheel_dist_info_dirwheel_metadata wheel_versionr formatstrcheck_compatibility)r r info_dirmetadataversiones ڋ/builddir/build/BUILDROOT/alt-python313-pip-23.3.1-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/pip/_internal/utils/wheel.py parse_wheelrsj S&y7!)6)&   S<CCD#a&QRRSs!1 A$$AA$sourcecUR5Vs1sHo"RSS5SiM nnUVs/sHoDRS5(dMUPM nnU(d [S5e[ U5S:a)[SR SR U555eUSn[U5n[U5nURU5(d[SR Xh55eU$s snfs snf) zReturns the name of the contained .dist-info directory. Raises AssertionError or UnsupportedWheel if not found, >1 found, or it doesn't match the provided name. /r rz .dist-infoz.dist-info directory not foundz)multiple .dist-info directories found: {}z, z2.dist-info directory {!r} does not start with {!r}) namelistsplitendswithr lenrjoinr startswith) rr psubdirss info_dirsr info_dir_namecanonical_names rrr&s,2??+<=+ >tyy?S T  |H%h/M&t,N  # #N 3 3 @ G G   O/>@sC3C8C8pathcURU5$![[[4an[ SU<SU<35eSnAff=f)Nzcould not read z file: )readrKeyError RuntimeErrorr )rr*rs rread_wheel_metadata_filer/GsJG{{4   , /GuEFFGsA;A dist_info_dircUS3n[X5nUR5n[ 5R U5$![an[SU<SU<35eSnAff=f)zaReturn the WHEEL metadata of an extracted wheel, if possible. Otherwise, raise UnsupportedWheel. z/WHEELzerror decoding z: N)r/decodeUnicodeDecodeErrorr rparsestr)rr0r*wheel_contents wheel_textrs rrrPso_F #D-f;NB#**,  8  Z (( B1%@AABs; AAA wheel_data.cUSnUc [S5eUR5n[[[UR S555$![ a [SU<35ef=f)zZGiven WHEEL metadata, return the parsed Wheel-Version. Otherwise, raise UnsupportedWheel. z Wheel-VersionzWHEEL is missing Wheel-Version.zinvalid Wheel-Version: )r striptuplemapintr ValueError)r7 version_textrs rrrcsso.L?@@  "GFSgmmC0122 F!8 DEEFs 'A A'rc US[S:a8[SRUSR[ [ U5555eU[:a4[ RSSR[ [ U555 gg)aRaises errors or warns if called with an incompatible Wheel-Version. pip should refuse to install a Wheel-Version that's a major series ahead of what it's compatible with (e.g 2.0 > 1.1); and warn when installing a version only minor version ahead (e.g 1.2 > 1.1). version: a 2-tuple representing a Wheel-Version (Major, Minor) name: name of wheel or package to raise exception about :raises UnsupportedWheel: when an incompatible Wheel-Version is given rzB{}'s Wheel-Version ({}) is not compatible with this version of pipr9z*Installing from a newer Wheel-Version (%s)N)VERSION_COMPATIBLEr rr"r<rloggerwarning)rr s rrrssvqz&q)) VD#((3sG+<"=>   % % 8 HHSg& '  &)__doc__logging email.messager email.parserrtypingrzipfilerrpip._vendor.packaging.utilsrpip._internal.exceptionsr rA getLogger__name__rBrrrbytesr/rr=rrrDrrQs!'95   8 $7#%W 2E$ssBGWGCGEG)7)3)7)& Fg F%S/ F  sCx   rD