/opt/cloudlinux/venv/lib/python3.11/site-packages/distlib/__pycache__
NameSizeModeActions
compat.cpython-311.pyc524130644editdlrm
database.cpython-311.pyc721940644editdlrm
index.cpython-311.pyc266750644editdlrm
locators.cpython-311.pyc658000644editdlrm
manifest.cpython-311.pyc170250644editdlrm
markers.cpython-311.pyc85590644editdlrm
metadata.cpython-311.pyc474400644editdlrm
resources.cpython-311.pyc190010644editdlrm
scripts.cpython-311.pyc212530644editdlrm
util.cpython-311.pyc982040644editdlrm
version.cpython-311.pyc348230644editdlrm
wheel.cpython-311.pyc594860644editdlrm
__init__.cpython-311.pyc14760644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/distlib/__pycache__/version.cpython-311.pyc (34823B)
§ ãÖx#ô0ïã óÊ—dZddlZddlZddlmZddlmZgd¢Zeje ¦«Z Gd„de ¦«Z Gd „d e ¦«ZGd „d e ¦«Zejd ej¦«Zd„ZeZGd„de¦«Zd„ZGd„de¦«Zejd¦«dfejd¦«dfejd¦«dfejd¦«dfejd¦«dfejd¦«dfejd¦«dfejd ¦«d!fejd"¦«d#fejd$¦«d%ff Zejd&¦«dfejd'¦«dfejd(¦«dfejd¦«dfejd)¦«dffZejd*¦«Zd+„Zd,„Zejd-ej¦«Zd.d.d/d.d0ddd1œZd2„ZGd3„d4e¦«Z Gd5„d6e¦«Z!ejd7ej¦«Z"d8„Z#d9„Z$Gd:„d;e¦«Z%Gd<„d=e¦«Z&Gd>„d?e ¦«Z'e'eee¦«e'ee!d@„¦«e'e$e&e¦«dAœZ(e(dBe(dC<dD„Z)dS)Ez~ Implementation of a flexible versioning scheme providing support for PEP-440, setuptools-compatible and semantic versioning. éNé)Ú string_types©Úparse_requirement)ÚNormalizedVersionÚNormalizedMatcherÚ LegacyVersionÚ LegacyMatcherÚSemanticVersionÚSemanticMatcherÚUnsupportedVersionErrorÚ get_schemecó—eZdZdZdS)r zThis is an unsupported version.N)Ú__name__Ú __module__Ú __qualname__Ú__doc__©óúa/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/distlib/version.pyr r s€€€€€Ø)Ð)Ø€Drr cól—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zed „¦«ZdS)ÚVersioncóÌ—| ¦«x|_}| |¦«x|_}t |t ¦«sJ‚t |¦«dksJ‚dS)Nr)ÚstripÚ_stringÚparseÚ_partsÚ isinstanceÚtupleÚlen)ÚselfÚsÚpartss rÚ__init__zVersion.__init__sY€ØŸ7š7™9œ9Ð$ˆŒ �qØ"Ÿjšj¨™mœmÐ+ˆŒ �eݘ%¥Ñ'Ô'Ð'Ð'Ð'Ý�5‰zŒz˜AŠ~ˆ~ˆ~ˆ~ˆ~ˆ~rcó —td¦«‚)Nzplease implement in a subclass©ÚNotImplementedError©r!r"s rrz Version.parse%s€Ý!Ð"BÑCÔCÐCrcóp—t|¦«t|¦«krtd|›d|›�¦«‚dS©Nzcannot compare z and )ÚtypeÚ TypeError©r!Úothers rÚ_check_compatiblezVersion._check_compatible(s<€Ý �‰:Œ:�˜e™œÒ $Ð $Ý�)¸$¸$¸$ÀÀÐFÑGÔGÐ Gð %Ð $rcóL—| |¦«|j|jkS©N©r/rr-s rÚ__eq__zVersion.__eq__,s%€Ø ×Ò˜uÑ%Ô%Ð%ØŒ{˜eœlÒ*Ð*rcó.—| |¦« Sr1©r3r-s rÚ__ne__zVersion.__ne__0󀨗;’;˜uÑ%Ô%Ð%Ð%rcóL—| |¦«|j|jkSr1r2r-s rÚ__lt__zVersion.__lt__3s%€Ø ×Ò˜uÑ%Ô%Ð%ØŒ{˜Uœ\Ò)Ð)rcóX—| |¦«p| |¦« Sr1©r9r3r-s rÚ__gt__zVersion.__gt__7s(€Ø—K’K Ñ&Ô&Ð<¨$¯+ª+°eÑ*<Ô*<Ð=Ð=rcóV—| |¦«p| |¦«Sr1r;r-s rÚ__le__zVersion.__le__:ó%€Ø�{Š{˜5Ñ!Ô!Ð7 T§[¢[°Ñ%7Ô%7Ð7rcóV—| |¦«p| |¦«Sr1)r<r3r-s rÚ__ge__zVersion.__ge__=r?rcó*—t|j¦«Sr1)Úhashr©r!s rÚ__hash__zVersion.__hash__As€Ý�D”KÑ Ô Ð rcó0—|jj›d|j›d�S)Nz('z')©Ú __class__rrrDs rÚ__repr__zVersion.__repr__Ds€Ø!œ^Ô4Ð4Ð4°d´l°l°lÐCÐCrcó—|jSr1©rrDs rÚ__str__zVersion.__str__Gó €ØŒ|Ðrcó —td¦«‚)NzPlease implement in subclasses.r&rDs rÚ is_prereleasezVersion.is_prereleaseJs€å!Ð"CÑDÔDÐDrN)rrrr$rr/r3r6r9r<r>rArErIrLÚpropertyrOrrrrrsñ€€€€€ðððð DðDðDðHðHðHð+ð+ð+ð&ð&ð&ð*ð*ð*ð>ð>ð>ð8ð8ð8ð8ð8ð8ð!ð!ð!ðDðDðDðððððEðEñ„XðEðEðErrc ó„—eZdZdZd„d„d„d„d„d„d„d „d œZd „Zd „Zd „Zed„¦«Z d„Z d„Z d„Z d„Z d„Zd„ZdS)ÚMatcherNcó—||kSr1r©ÚvÚcÚps rúzMatcher.Tó €˜Q šU€rcó—||kSr1rrTs rrXzMatcher.UrYrcó—||kp||kSr1rrTs rrXzMatcher.Vó€˜a 1šf˜o¨¨Aª€rcó—||kp||kSr1rrTs rrXzMatcher.Wr\rcó—||kSr1rrTs rrXzMatcher.Xó €˜a 1šf€rcó—||kSr1rrTs rrXzMatcher.Ys €˜q Ašv€rcó—||kp||kSr1rrTs rrXzMatcher.[r\rcó—||kSr1rrTs rrXzMatcher.\r_r)ú<ú>ú<=ú>=ú==ú===ú~=ú!=có —t|¦«Sr1rr(s rrzMatcher.parse_requirementas€Ý  Ñ#Ô#Ð#rcóZ—|j€td¦«‚| ¦«x|_}| |¦«}|std|z¦«‚|j|_|j ¦«|_g}|jr‰|jD]�\}}|  d¦«r8|dvrtd|z¦«‚|dd…d}}| |¦«n| |¦«d}}|  |||f¦«Œ‚t|¦«|_ dS) NzPlease specify a version classz Not valid: %rz.*)rgrjz#'.*' not allowed for %r constraintséþÿÿÿTF) Ú version_classÚ ValueErrorrrrÚnameÚlowerÚkeyÚ constraintsÚendswithÚappendrr)r!r"ÚrÚclistÚopÚvnÚprefixs rr$zMatcher.__init__dsM€Ø Ô Ð %ÝÐ=Ñ>Ô>Ð >ØŸ7š7™9œ9Ð$ˆŒ �qØ × "Ò " 1Ñ %Ô %ˆØð 2ݘ_¨qÑ0Ñ1Ô1Ð 1Ø”FˆŒ Ø”9—?’?Ñ$Ô$ˆŒØˆØ Œ=ð /àœð /ð /‘��AØ—:’:˜dÑ#Ô#ð >Ø Ð-Ð-Ý(ð*:Ø<>ñ*?ñ@ô@ð@ð"# 3 B 3¤¨˜�Bà×&Ò& rÑ*Ô*Ð*Ð*ð"&×!3Ò!3°AÑ!6Ô!6¸˜�BØ— ’ ˜b " fÐ-Ñ.Ô.Ð.Ð.ݘE‘l”lˆŒ ˆ ˆ rcóX—t|t¦«r| |¦«}|jD]w\}}}|j |¦«}t|t¦«rt ||¦«}|s |›d|jj›�}t|¦«‚||||¦«sdSŒxdS)zÉ Check if the provided version matches the constraints. :param version: The version to match against this instance. :type version: String or :class:`Version` instance. z not implemented for FT) rrrnrÚ _operatorsÚgetÚgetattrrHrr')r!ÚversionÚoperatorÚ constraintrzÚfÚmsgs rÚmatchz Matcher.match�sÍ€õ �g�|Ñ ,Ô ,ð 2Ø×(Ò(¨Ñ1Ô1ˆGØ,0¬Kð ð Ñ (ˆH�j &Ø”×#Ò# HÑ-Ô-ˆAݘ!�\Ñ*Ô*ð %ݘD !Ñ$Ô$�Øð /à#+ 8 8¨T¬^Ô-DÐ-DðF�å)¨#Ñ.Ô.Ð.Ø�1�W˜j¨&Ñ1Ô1ð Ø�u�uð àˆtrcóŠ—d}t|j¦«dkr(|jdddvr|jdd}|S)Nrr)rgrh)r r)r!Úresults rÚ exact_versionzMatcher.exact_version–sF€àˆÝ ˆtŒ{Ñ Ô ˜qÒ Ð  T¤[°¤^°AÔ%6¸-Ð%GÐ%GØ”[ ”^ AÔ&ˆF؈ rcó�—t|¦«t|¦«ks|j|jkrtd|›d|›�¦«‚dSr*)r+rpr,r-s rr/zMatcher._check_compatible�sK€Ý �‰:Œ:�˜e™œÒ $Ð $¨¬ °U´ZÒ(?Ð(?Ý�)¸$¸$¸$ÀÀÐFÑGÔGÐ Gð)@Ð(?rcól—| |¦«|j|jko|j|jkSr1)r/rrrr-s rr3zMatcher.__eq__¡s3€Ø ×Ò˜uÑ%Ô%Ð%ØŒx˜5œ9Ò$ÐD¨¬¸¼ Ò)DÐDrcó.—| |¦« Sr1r5r-s rr6zMatcher.__ne__¥r7rcóT—t|j¦«t|j¦«zSr1)rCrrrrDs rrEzMatcher.__hash__©s€Ý�D”H‰~Œ~¥ T¤[Ñ 1Ô 1Ñ1Ð1rcó0—|jj›d|j›d�S)Nú(ú)rGrDs rrIzMatcher.__repr__¬s€Øœ>Ô2Ð2Ð2°D´L°L°LÐAÐArcó—|jSr1rKrDs rrLzMatcher.__str__¯rMr)rrrrnr|rr$r„rPr‡r/r3r6rErIrLrrrrRrROs€€€€€Ø€Mð#Ð "Ø "Ð "Ø-Ð-Ø-Ð-Ø$Ð$Ø%Ð%à-Ð-Ø$Ð$ð ð €Jð$ð$ð$ð#ð#ð#ð:ððð*ððñ„Xðð HðHðHðEðEðEð&ð&ð&ð2ð2ð2ðBðBðBðððððrrRz�^v?(\d+!)?(\d+(\.\d+)*)((a|alpha|b|beta|c|rc|pre|preview)(\d+)?)?(\.(post|r|rev)(\d+)?)?([._-]?(dev)(\d+)?)?(\+([a-zA-Z\d]+(\.[a-zA-Z\d]+)?))?$có¤—| ¦«}t |¦«}|std|z¦«‚| ¦«}t d„|d d¦«D¦«¦«}t|¦«dkr5|ddkr)|dd…}t|¦«dkr |ddk°)|dsd}nt|ddd…¦«}|dd…}|d d …}|d d …}|d }|dkrd}n0|d€ |ddf}n|dt|d¦«f}|dkrd}n0|d€ |ddf}n|dt|d¦«f}|dkrd}n0|d€ |ddf}n|dt|d¦«f}|€d}nhg} | d¦«D]A} |   ¦«rdt| ¦«f} nd| f} |   | ¦«ŒBt | ¦«}|s |s|rd}nd}|sd}|sd}||||||fS)NzNot a valid version: %sc3ó4K—|]}t|¦«V—ŒdSr1©Úint©Ú.0rUs rú z_pep_440_key..¾s(èè€Ð6Ð6˜A•�Q‘”Ð6Ð6Ð6Ð6Ð6Ð6rrú.éÿÿÿÿréééé é é é )NNr)Úar˜)Úz)Ú_)Úfinal) rÚPEP440_VERSION_REr„r ÚgroupsrÚsplitr r“Úisdigitru) r"Úmr¥ÚnumsÚepochÚpreÚpostÚdevÚlocalr#Úparts rÚ _pep_440_keyr°¸s©€Ø �Љ Œ €AÝ×Ò Ñ"Ô"€AØ ðEÝ%Ð&?À!Ñ&CÑDÔDÐDØ �XŠX‰ZŒZ€FÝ Ð6Ð6 ¨¤§¢°Ñ!5Ô!5Ð6Ñ6Ô6Ñ 6Ô 6€DÝ ˆd‰)Œ)�aŠ-ˆ-˜D œH¨šM˜MØ�C�R�CŒyˆõ ˆd‰)Œ)�aŠ-ˆ-˜D œH¨šM˜Mð �!Œ9ð$؈ˆå�F˜1”I˜c˜r˜c”NÑ#Ô#ˆØ ��1�Œ+€CØ �!�A�#Œ;€DØ ��B�Œ-€CØ �2ŒJ€EØ ˆlÒÐØˆˆà ˆqŒ6ˆ>Ø�a”&˜!�)ˆCˆCà�a”&�#˜c !œf™+œ+Ð%ˆCØ ˆ|ÒÐØˆˆà �Œ7ˆ?ؘ”7˜A�:ˆDˆDà˜”7�C  Q¤™LœLÐ(ˆDØ ˆlÒÐØˆˆà ˆqŒ6ˆ>Ø�a”&˜!�)ˆCˆCà�a”&�#˜c !œf™+œ+Ð%ˆCØ €}؈ˆàˆØ—K’K Ñ$Ô$ð ð ˆDð�|Š|‰~Œ~ð !Ø�3˜t™9œ9�~��à˜4�y�Ø �LŠL˜Ñ Ô Ð Ð Ý�e‘ ” ˆØ ðàð ˜ð àˆCˆCàˆCà ðØˆØ ð؈à �$˜˜T 3¨Ð -Ð-rcóH—eZdZdZd„Zegd¢¦«Zed„¦«ZdS)raIA rational version. Good: 1.2 # equivalent to "1.2.0" 1.2.0 1.2a1 1.2.3a2 1.2.3b1 1.2.3c1 1.2.3.4 TODO: fill this out Bad: 1 # minimum two numbers 1.2a # release level must have a release serial 1.2.3b cóî—t|¦«}t |¦«}| ¦«}t d„|d d¦«D¦«¦«|_|S)Nc3ó4K—|]}t|¦«V—ŒdSr1r’r”s rr–z*NormalizedVersion.parse..s(èè€Ð$JÐ$J°¥S¨¡V¤VÐ$JÐ$JÐ$JÐ$JÐ$JÐ$Jrrr—)Ú_normalized_keyr¤r„r¥rr¦Ú_release_clause)r!r"r†r¨r¥s rrzNormalizedVersion.parsese€Ý  Ñ#Ô#ˆõ × #Ò # AÑ &Ô &ˆØ—’‘”ˆÝ$Ð$JÐ$J°V¸A´Y·_²_ÀSÑ5IÔ5IÐ$JÑ$JÔ$JÑJÔJˆÔ؈ r)r ÚbrVÚrcr­cóD‡—tˆfd„‰jD¦«¦«S)Nc3ó:•K—|]}|¯|d‰jvV—ŒdS)rN)Ú PREREL_TAGS)r•Útr!s €rr–z2NormalizedVersion.is_prerelease..!s4øèè€ÐFÐF°ÀAÐF�1�Q”4˜4Ô+Ð+ÐFÐFÐFÐFÐFÐFr)ÚanyrrDs`rrOzNormalizedVersion.is_prereleases(ø€åÐFÐFÐFÐF°T´[ÐFÑFÔFÑFÔFÐFrN) rrrrrÚsetrºrPrOrrrrrsc€€€€€ððð" ð ð ð�#Ð2Ð2Ð2Ñ3Ô3€Kà ðGðGñ„XðGðGðGrrcó²—t|¦«}t|¦«}||krdS| |¦«sdSt|¦«}||dkS)NTFr—)ÚstrÚ startswithr )ÚxÚyÚns rÚ _match_prefixrÄ$sV€Ý ˆA‰Œ€AÝ ˆA‰Œ€A؈A‚v€v؈tØ �<Š<˜‰?Œ?ð؈uÝ ˆA‰Œ€AØ ˆQŒ4�3Š;Ðrc ó^—eZdZeZddddddddd œZd „Zd „Zd „Zd „Z d„Z d„Z d„Z d„Z d„ZdS)rÚ_match_compatibleÚ _match_ltÚ _match_gtÚ _match_leÚ _match_geÚ _match_eqÚ_match_arbitraryÚ _match_ne)rircrdrerfrgrhrjcóØ—|rd|vo |jd}n|jd o |jd}|r6|j dd¦«d}| |¦«}||fS)Nú+r˜rr)rrr¦rn)r!rr�rzÚ strip_localr"s rÚ _adjust_localzNormalizedMatcher._adjust_local>sƒ€Ø ð KØ ZÐ/ÐF°G´NÀ2Ô4FˆKˆKð )Ô/°Ô3Ð3ÐJ¸¼ÀrÔ8JˆKØ ð ,Ø”×%Ò% c¨1Ñ-Ô-¨aÔ0ˆAØ×(Ò(¨Ñ+Ô+ˆGؘ Ð"Ð"rcó´—| |||¦«\}}||krdS|j}d d„|D¦«¦«}t||¦« S)NFr—có,—g|]}t|¦«‘ŒSr©r¿©r•Úis rú z/NormalizedMatcher._match_lt..Qó€Ð7Ð7Ð7 1�˜A™œÐ7Ð7Ð7r©rÑrµÚjoinrÄ©r!rr�rzÚrelease_clauseÚpfxs rrÇzNormalizedMatcher._match_ltLói€Ø"×0Ò0°¸*ÀfÑMÔMш�Ø �jÒ Ð Ø�5Ø#Ô3ˆØ�hŠhÐ7Ð7¨Ð7Ñ7Ô7Ñ8Ô8ˆÝ  ¨#Ñ.Ô.Ð.Ð.rcó´—| |||¦«\}}||krdS|j}d d„|D¦«¦«}t||¦« S)NFr—có,—g|]}t|¦«‘ŒSrrÔrÕs rr×z/NormalizedMatcher._match_gt..YrØrrÙrÛs rrÈzNormalizedMatcher._match_gtTrÞrcóB—| |||¦«\}}||kSr1©rÑ©r!rr�rzs rrÉzNormalizedMatcher._match_le\ó)€Ø"×0Ò0°¸*ÀfÑMÔMш�ؘ*Ò$Ð$rcóB—| |||¦«\}}||kSr1rârãs rrÊzNormalizedMatcher._match_ge`rärcól—| |||¦«\}}|s||k}nt||¦«}|Sr1©rÑrÄ©r!rr�rzr†s rrËzNormalizedMatcher._match_eqdsF€Ø"×0Ò0°¸*ÀfÑMÔMш�Øð 8Ø Ò+ˆFˆFå" 7¨JÑ7Ô7ˆF؈ rcóB—t|¦«t|¦«kSr1rÔrãs rrÌz"NormalizedMatcher._match_arbitraryls€Ý�7‰|Œ|�s :™œÒ.Ð.rcón—| |||¦«\}}|s||k}nt||¦« }|Sr1rçrès rrÍzNormalizedMatcher._match_neosI€Ø"×0Ò0°¸*ÀfÑMÔMш�Øð <Ø Ò+ˆFˆFå& w° Ñ;Ô;Ð;ˆF؈ rcóü—| |||¦«\}}||krdS||krdS|j}t|¦«dkr |dd…}d d„|D¦«¦«}t ||¦«S)NTFrr˜r—có,—g|]}t|¦«‘ŒSrrÔrÕs rr×z7NormalizedMatcher._match_compatible..‚rØr)rÑrµr rÚrÄrÛs rrÆz#NormalizedMatcher._match_compatiblews™€Ø"×0Ò0°¸*ÀfÑMÔMш�Ø �jÒ Ð Ø�4Ø �ZÒ Ð Ø�5ð$Ô3ˆÝ ˆ~Ñ Ô  Ò "Ð "Ø+¨C¨R¨CÔ0ˆNØ�hŠhÐ7Ð7¨Ð7Ñ7Ô7Ñ8Ô8ˆÝ˜W cÑ*Ô*Ð*rN)rrrrrnr|rÑrÇrÈrÉrÊrËrÌrÍrÆrrrrr/sÆ€€€€€Ø%€Mð"Ø Ø ØØØØ!Øð ð €Jð #ð #ð #ð/ð/ð/ð/ð/ð/ð%ð%ð%ð%ð%ð%ðððð/ð/ð/ðððð +ð +ð +ð +ð +rrz[.+-]$Úz^[.](\d)z0.\1z^[.-]z ^\((.*)\)$ú\1z^v(ersion)?\s*(\d+)z\2z^r(ev)?\s*(\d+)z[.]{2,}r—z\b(alfa|apha)\bÚalphaz\b(pre-alpha|prealpha)\bz pre.alphaz \(beta\)$Úbetaz ^[:~._+-]+z [,*")([\]]z[~:+_ -]z\.$z (\d+(\.\d+)*)cóÄ—| ¦« ¦«}tD]\}}| ||¦«}Œ|sd}t |¦«}|sd}|}�n%| ¦«d d¦«}d„|D¦«}t|¦«dkr(|  d¦«t|¦«dk°(t|¦«dkr||  ¦«d…}nNd  d„|dd…D¦«¦«||  ¦«d…z}|dd…}d  d„|D¦«¦«}| ¦«}|r#tD]\}}| ||¦«}Œ|s|}nd |vrd nd }||z|z}t|¦«sd}|S) z€ Try to suggest a semantic form for a version for which _suggest_normalized_version couldn't come up with anything. z0.0.0rr—có,—g|]}t|¦«‘ŒSrr’rÕs rr×z-_suggest_semantic_version..³s€Ð)Ð)Ð)˜Q•#�a‘&”&Ð)Ð)Ð)réNcó,—g|]}t|¦«‘ŒSrrÔrÕs rr×z-_suggest_semantic_version..¹s€Ð:Ð:Ð:¨!�s 1™vœvÐ:Ð:Ð:rcó,—g|]}t|¦«‘ŒSrrÔrÕs rr×z-_suggest_semantic_version..»s€Ð2Ð2Ð2 a�3˜q™6œ6Ð2Ð2Ð2rr­ú-rÏ)rrqÚ _REPLACEMENTSÚsubÚ_NUMERIC_PREFIXr„r¥r¦r ruÚendrÚÚ_SUFFIX_REPLACEMENTSÚ is_semver)r"r†ÚpatÚreplr¨rzÚsuffixÚseps rÚ_suggest_semantic_versionrŸsø€ð �WŠW‰YŒY�_Š_Ñ Ô €FÝ"ð'ð'‰ ˆˆTØ—’˜˜vÑ&Ô&ˆˆØ ð؈õ ×Ò˜fÑ%Ô%€AØ ð ØˆØˆ‰à—’‘”˜A”×$Ò$ SÑ)Ô)ˆØ)Ð) &Ð)Ñ)Ô)ˆÝ�&‰kŒk˜AŠoˆoØ �MŠM˜!Ñ Ô Ð õ�&‰kŒk˜AŠoˆoå ˆv‰;Œ;˜!Ò Ð Ø˜AŸEšE™GœG˜H˜HÔ%ˆFˆFà—X’XÐ:Ð:¨v°a°b°b¬zÐ:Ñ:Ô:Ñ;Ô;¸fÀQÇUÂUÁWÄWÀXÀXÔ>NÑNˆFؘB˜Q˜B”ZˆFØ—’Ð2Ð2¨6Ð2Ñ2Ô2Ñ3Ô3ˆØ—’‘”ˆØ ð+õ.ð +ð +‰IˆC�Ø—W’W˜T 6Ñ*Ô*ˆFˆFà ð'؈ˆà˜f�_�_ˆcˆc¨#ˆØ˜#‘ Ñ&ˆÝ �VÑ Ô ðØˆØ €Mrcóò— t|¦«|S#t$rYnwxYw| ¦«}dD]\}}| ||¦«}Œt jdd|¦«}t jdd|¦«}t jdd|¦«}t jdd |¦«}t jd d |¦«}| d ¦«r |d d…}t jdd |¦«}t jdd|¦«}t jdd|¦«}t jdd|¦«}t jdd|¦«}t jdd|¦«}t jdd|¦«}t jdd|¦«}t jdd|¦«}t jdd|¦«}t jdd |¦«} t|¦«n#t$rd}YnwxYw|S)!aèSuggest a normalized version close to the given version string. If you have a version string that isn't rational (i.e. NormalizedVersion doesn't like it) then you might be able to get an equivalent (or close) rational version from this function. This does a number of simple normalizations to the given string, based on observation of versions currently in use on PyPI. Given a dump of those version during PyCon 2009, 4287 of them: - 2312 (53.93%) match NormalizedVersion without change with the automatic suggestion - 3474 (81.04%) match when using this suggestion method @param s {str} An irrational version string. @returns A rational version string, or None, if couldn't determine one. ))z-alphar )z-betar¶)rïr )rðr¶)r·rV)z-finalrí)z-prerV)z-releaserí)z.releaserí)z-stablerí)rÏr—)r¢r—)ú rí)z.finalrí)r£rízpre$Úpre0zdev$Údev0z([abc]|rc)[\-\.](\d+)$z\1\2z[\-\.](dev)[\-\.]?r?(\d+)$z.\1\2z[.~]?([abc])\.?rîrUrNz\b0+(\d+)(?!\d)z (\d+[abc])$z\g<1>0z\.?(dev-r|dev\.r)\.?(\d+)$z.dev\2z-(a|b|c)(\d+)$z[\.\-](dev|devel)$z.dev0z(?![\.\-])dev$z(final|stable)$ríz\.?(r|-|-r)\.?(\d+)$z.post\2z\.?(dev|git|bzr)\.?(\d+)$z\.?(pre|preview|-c)(\d+)$zc\g<2>zp(\d+)$z.post\1)r´r rqÚreplaceÚrerørÀ)r"ÚrsÚorigrþs rÚ_suggest_normalized_versionr Ís1€ð" ݘÑÔÐØˆøÝ "ð ð ð Ø ˆð øøøð �ЉŒ€Bð&ð$ð$‰ ˆˆdð �ZŠZ˜˜dÑ #Ô #ˆˆõ Œ�˜ "Ñ %Ô %€BÝ Œ�˜ "Ñ %Ô %€Bõ ŒÐ)¨7°BÑ 7Ô 7€Bõ ŒÐ-¨x¸Ñ <Ô <€Bõ ŒÐ" E¨2Ñ .Ô .€Bð ‡}‚}�SÑÔðØ ���ŒVˆõ ŒÐ" E¨2Ñ .Ô .€Bõ Œ�  ¨2Ñ .Ô .€Bõ ŒÐ-¨y¸"Ñ =Ô =€Bõ ŒÐ! 7¨BÑ /Ô /€Bõ ŒÐ% x°Ñ 4Ô 4€Bõ ŒÐ! 8¨RÑ 0Ô 0€Bõ ŒÐ" B¨Ñ +Ô +€Bõ ŒÐ'¨°RÑ 8Ô 8€Bõ ŒÐ,¨i¸Ñ <Ô <€Bõ ŒÐ,¨i¸Ñ <Ô <€Bõ Œ� ˜J¨Ñ +Ô +€BðݘÑÔÐÐøÝ "ðððØ ˆˆˆðøøøà €Is‚“ Ÿ ÇG%Ç% G4Ç3G4z([a-z]+|\d+|[\.-])rVzfinal-ú@)r«Úpreviewrör·r­rír—cóf—d„}g}||¦«D]’}| d¦«rf|dkr0|r.|ddkr"| ¦«|r |ddk°"|r.|ddkr"| ¦«|r |ddk°"| |¦«Œ“t|¦«S)Ncó\—g}t | ¦«¦«D]g}t ||¦«}|rHd|dd…cxkrdkrnn| d¦«}nd|z}| |¦«Œh| d¦«|S)NÚ0rÚ9éÚ*ú*final)Ú _VERSION_PARTr¦rqÚ_VERSION_REPLACEr}Úzfillru)r"r†rWs rÚ get_partsz_legacy_key..get_partsMs·€ØˆÝ×$Ò$ Q§W¢W¡Y¤YÑ/Ô/ð !ð !ˆAÝ ×$Ò$ Q¨Ñ*Ô*ˆAØð !ؘ!˜B˜Q˜Bœ%Ð&Ð&Ò&Ð& 3Ò&Ð&Ð&Ð&Ð&ØŸš ™ œ �A�Aà˜a™�AØ— ’ ˜aÑ Ô Ð øØ� Š �hÑÔÐØˆ rrrr˜z*final-Ú00000000)rÀÚpoprur)r"rr†rWs rÚ _legacy_keyrLsã€ð ð ð ð€FØ ˆY�q‰\Œ\ððˆØ �<Š<˜Ñ Ô ð Ø�8Š|ˆ|Øð! ¨¤¨yÒ!8Ð!8Ø—J’J‘L”L�Lðð! ¨¤¨yÒ!8Ð!8àð ˜V BœZ¨:Ò5Ð5Ø— ’ ‘ ” � ðð ˜V BœZ¨:Ò5Ð5à� Š �aÑÔÐÐÝ �‰=Œ=Ðrcó*—eZdZd„Zed„¦«ZdS)r có —t|¦«Sr1)rr(s rrzLegacyVersion.parsegs€Ý˜1‰~Œ~Ðrcó†—d}|jD]6}t|t¦«r| d¦«r |dkrd}nŒ7|S)NFrrT)rrrrÀ)r!r†rÁs rrOzLegacyVersion.is_prereleasejsV€àˆØ”ð ð ˆAݘ1�lÑ+Ô+ð °· ² ¸SÑ0AÔ0Að Ø˜’L�LØ�Ø�øØˆ rN©rrrrrPrOrrrr r fs>€€€€€ððððððñ„Xðððrr cób—eZdZeZeej¦«Zded<ej d¦«Z d„Z dS)r rÆriz^(\d+(\.\d+)*)có4—||krdS|j t|¦«¦«}|st d||¦«dS| ¦«d}d|vr| dd¦«d}t||¦«S)NFzACannot compute compatible match for version %s and constraint %sTrr—r)Ú numeric_rer„r¿ÚloggerÚwarningr¥ÚrsplitrÄ)r!rr�rzr¨r"s rrÆzLegacyMatcher._match_compatible}sŸ€Ø �ZÒ Ð Ø�5Ø ŒO× !Ò !¥# j¡/¤/Ñ 2Ô 2ˆØð Ý �NŠNð0Ø18¸*ñ Fô Fð Fà�4Ø �HŠH‰JŒJ�qŒMˆØ �!ˆ8ˆ8Ø—’˜˜aÑ Ô  Ô#ˆAݘW aÑ(Ô(Ð(rN) rrrr rnÚdictrRr|rÚcompiler!rÆrrrr r usV€€€€€Ø!€Mà��gÔ(Ñ)Ô)€JØ*€JˆtÑà�”Ð-Ñ.Ô.€Jð )ð )ð )ð )ð )rr zN^(\d+)\.(\d+)\.(\d+)(-[a-z0-9]+(\.[a-z0-9-]+)*)?(\+[a-z0-9]+(\.[a-z0-9-]+)*)?$có6—t |¦«Sr1)Ú _SEMVER_REr„)r"s rrürü”s€Ý × Ò ˜AÑ Ô Ðrcóø—d„}t|¦«}|st|¦«‚| ¦«}d„|dd…D¦«\}}}||dd¦«||dd¦«}}|||f||fS)Ncó~—|€|f}n6|dd… d¦«}td„|D¦«¦«}|S)Nrr—cód—g|]-}| ¦«r| d¦«n|‘Œ.S)r)r§r)r•rWs rr×z5_semantic_key..make_tuple.. s3€ÐLÐLÐLÀ¨!¯)ª)©+¬+Ð<˜AŸGšG A™JœJ˜J¸1ÐLÐLÐLr)r¦r)r"Úabsentr†r#s rÚ make_tuplez!_semantic_key..make_tuple™sL€Ø ˆ9Ø�YˆFˆFà�a�b�b”E—K’K Ñ$Ô$ˆEõÐLÐLÀeÐLÑLÔLÑMÔMˆF؈ rcó,—g|]}t|¦«‘ŒSrr’rÕs rr×z!_semantic_key..§s€Ð6Ð6Ð6 a�3˜q™6œ6Ð6Ð6Ð6rróú|ér)rür r¥) r"r-r¨r¥ÚmajorÚminorÚpatchr«Úbuilds rÚ _semantic_keyr5˜s €ðððõ �!‰ Œ €AØ ð)Ý% aÑ(Ô(Ð(Ø �XŠX‰ZŒZ€FØ6Ð6¨6°"°1°"¬:Ð6Ñ6Ô6Ñ€Eˆ5�%à�˜F 1œI sÑ+Ô+¨Z¨Z¸¸q¼ À3Ñ-GÔ-Gˆ€CØ �5˜%Ð  # uÐ ,Ð,rcó*—eZdZd„Zed„¦«ZdS)r có —t|¦«Sr1)r5r(s rrzSemanticVersion.parse®s€Ý˜QÑÔÐrcó0—|jdddkS)Nrrr/)rrDs rrOzSemanticVersion.is_prerelease±s€àŒ{˜1Œ~˜aÔ  CÒ'Ð'rNrrrrr r ­s>€€€€€ð ð ð ðð(ð(ñ„Xð(ð(ð(rr có—eZdZeZdS)r N)rrrr rnrrrr r ¶s€€€€€Ø#€M€M€Mrr có.—eZdZdd„Zd„Zd„Zd„Zd„ZdS)Ú VersionSchemeNcó0—||_||_||_dSr1)rrÚmatcherÚ suggester)r!rrr=r>s rr$zVersionScheme.__init__»s€ØˆŒØˆŒ Ø"ˆŒˆˆrcóf— |j |¦«d}n#t$rd}YnwxYw|S©NTF)r=rnr ©r!r"r†s rÚis_valid_versionzVersionScheme.is_valid_versionÀsM€ð Ø ŒL× &Ò & qÑ )Ô )Ð )؈FˆFøÝ&ð ð ð ØˆFˆFˆFð øøøàˆ s ‚Ÿ .­.có\— | |¦«d}n#t$rd}YnwxYw|Sr@)r=r rAs rÚis_valid_matcherzVersionScheme.is_valid_matcherÈsF€ð Ø �LŠL˜‰OŒOˆO؈FˆFøÝ&ð ð ð ØˆFˆFˆFð øøøàˆ s ‚š )¨)cóp—| d¦«r |dd…}| d|z¦«S)z: Used for processing some metadata fields ú,Nr˜zdummy_name (%s))rtrDr(s rÚis_valid_constraint_listz&VersionScheme.is_valid_constraint_listÐs=€ð �:Š:�c‰?Œ?ð Ø�#�2�#”ˆAØ×$Ò$Ð%6¸Ñ%:Ñ;Ô;Ð;rcóD—|j€d}n| |¦«}|Sr1)r>rAs rÚsuggestzVersionScheme.suggestÙs'€Ø Œ>Ð !؈FˆFà—^’^ AÑ&Ô&ˆF؈ rr1)rrrr$rBrDrGrIrrrr;r;ºsd€€€€€ð#ð#ð#ð#ð ðððððð<ð<ð<ðððððrr;có—|Sr1rr(s rrXrXäs€È€r)Ú normalizedÚlegacyÚsemanticrKÚdefaultcóR—|tvrtd|z¦«‚t|S)Nzunknown scheme name: %r)Ú_SCHEMESro)rps rrrìs+€Ø •8ÐÐÝÐ2°TÑ9Ñ:Ô:Ð:Ý �DŒ>Ðr)*rÚloggingrÚcompatrÚutilrÚ__all__Ú getLoggerrr"ror ÚobjectrrRr&ÚIr¤r°r´rrÄrr÷rûrùrr rrrr r r(rür5r r r;rPrrrrúrXsðð ðð €€€Ø € € € à Ð Ð Ð Ð Ð Ø#Ð#Ð#Ð#Ð#Ð#ð 4ð 4ð 4€ð ˆÔ ˜8Ñ $Ô $€ð ð ð ð ð ˜jñ ô ð ð .Eð.Eð.Eð.Eð.Eˆfñ.Eô.Eð.EðbaðaðaðaðaˆfñaôaðaðH�B”Jð FàGIÄtñMôMÐð B.ðB.ðB.ðJ€ð!Gð!Gð!Gð!Gð!G˜ñ!Gô!Gð!GðHðððT+ðT+ðT+ðT+ðT+˜ñT+ôT+ðT+ðp€R„Z�ÑÔ˜2ÐØ€R„Z� ÑÔ˜gÐ&Ø€R„Z�ÑÔ˜"ÐØ€R„Z� ÑÔ Ð&Ø€R„ZÐ&Ñ'Ô'¨Ð/Ø€R„ZÐ"Ñ#Ô# UÐ+Ø€R„Z� ÑÔ˜CР؀R„ZÐ"Ñ#Ô# WÐ-Ø€R„ZÐ+Ñ,Ô,Øðà€R„Z� ÑÔ˜vÐ&ð € ð€R„Z� ÑÔ˜rÐ"Ø€R„Z� ÑÔ Ð#Ø€R„Z� ÑÔ˜SÐ!Ø€R„Z� ÑÔ˜CР؀R„Z�ÑÔ˜Ðð Ðð�"”*Ð-Ñ.Ô.€ð+ð+ð+ð\lðlðlðf�” Ð0°"´$Ñ7Ô7€ à ØØ Ø Ø Ø Ø ððÐðððð4 ð ð ð ð �Gñ ô ð ð)ð)ð)ð)ð)�Gñ)ô)ð)ð4ˆRŒZð:à;=¼4ñAôA€ ð ððð-ð-ð-ð*(ð(ð(ð(ð(�gñ(ô(ð(ð$ð$ð$ð$ð$�gñ$ô$ð$ð$ð$ð$ð$ð$�Fñ$ô$ð$ðP �- Ð1BØ ;ñ=ô=àˆm˜K¨Ð8IÐ8IÑJÔJØ� ˜m¨_Ø7ñ9ô9ð  ð €ð˜|Ô,€ˆÑðððððr