£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
a
    Re                     @   s   d dl Z d dlZd dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZmZ d dlmZ d dlmZ d d	lmZ d d
lmZ eeZee eedf edddZeedddZeedddZe jddeedddZ dS )    N)Message)
FeedParser)OptionalTuple)pkg_resources)
specifiersversionRequirement)Distribution)NoneMetadataError)display_path.)requires_pythonversion_inforeturnc                 C   s4   | du rdS t | }tdtt|}||v S )a  
    Check if the given Python version matches a "Requires-Python" specifier.

    :param version_info: A 3-tuple of ints representing a Python
        major-minor-micro version to check (e.g. `sys.version_info[:3]`).

    :return: `True` if the given Python version satisfies the requirement.
        Otherwise, return `False`.

    :raises InvalidSpecifier: If `requires_python` has an invalid format.
    NT.)r   SpecifierSetr   parsejoinmapstr)r   r   requires_python_specifierpython_version r   /builddir/build/BUILDROOT/alt-python39-pip-21.3.1-2.el8.x86_64/opt/alt/python39/lib/python3.9/site-packages/pip/_internal/utils/packaging.pycheck_requires_python   s
    
r   )distr   c                 C   s   d}t | tjr&| |r&| |}n0| dr@d}| |}ntdt| j d}|du rht	| |t
 }|| | S )z
    :raises NoneMetadataError: if the distribution reports `has_metadata()`
        True but `get_metadata()` returns None.
    METADATAzPKG-INFOzNo metadata found in %s N)
isinstancer   DistInfoDistributionhas_metadataget_metadataloggerwarningr   locationr   r   feedclose)r   metadata_namemetadatafeed_parserr   r   r   r"   )   s    


r"   c                 C   s2   |  dr.| dD ]}| r|   S qdS )N	INSTALLERr   )r!   get_metadata_linesstrip)r   liner   r   r   get_installerD   s
    
r/   i   )maxsize)
req_stringr   c                 C   s   t | S )z5Construct a packaging.Requirement object with cachingr	   )r1   r   r   r   get_requirementL   s    r2   )!	functoolsloggingemail.messager   email.parserr   typingr   r   pip._vendorr   Zpip._vendor.packagingr   r   Z"pip._vendor.packaging.requirementsr
   pip._vendor.pkg_resourcesr   pip._internal.exceptionsr   pip._internal.utils.miscr   	getLogger__name__r#   r   intboolr   r"   r/   	lru_cacher2   r   r   r   r   <module>   s$   

