ó
    �RjC  ã                   óè   • S SK r S SKrS SKJrJr  S SKJrJr  S SKJ	r	  \R                  " \5      r\ R                  " SS9S\\   S\\S	4   S
\4S j5       r\ R                  " SS9S\S
\	4S j5       rg)é    N)ÚOptionalÚTuple)Ú
specifiersÚversion©ÚRequirementé    )ÚmaxsizeÚrequires_pythonÚversion_info.Úreturnc                 ó¤   • U c  g[         R                  " U 5      n[        R                  " SR	                  [        [        U5      5      5      nX2;   $ )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.
TÚ.)r   ÚSpecifierSetr   ÚparseÚjoinÚmapÚstr)r   r   Úrequires_python_specifierÚpython_versions       ÚID:\diplom_project\venv\Lib\site-packages\pip/_internal/utils/packaging.pyÚcheck_requires_pythonr      sE   € ð ÑàÜ *× 7Ò 7¸Ó HÐä—]’] 3§8¡8¬C´°\Ó,BÓ#CÓD€NØÑ6Ð6ó    i'  Ú
req_stringc                 ó   • [        U 5      $ )z5Construct a packaging.Requirement object with cachingr   )r   s    r   Úget_requirementr   #   s   € ô �zÓ"Ð"r   )Ú	functoolsÚloggingÚtypingr   r   Úpip._vendor.packagingr   r   Ú"pip._vendor.packaging.requirementsr   Ú	getLoggerÚ__name__ÚloggerÚ	lru_cacher   ÚintÚboolr   r   © r   r   Ú<module>r)      s”   ðÛ Û ß "ç 5Ý :à	×	Ò	˜8Ó	$€ð ×Ò˜RÑ ð7Ø˜c‘]ð7Ø27¸¸S¸±/ð7à	ó7ó !ð7ð. ×Ò˜UÑ#ð# ð #¨ó #ó $ñ#r   