
    ]hR                       S SK Jr  S SKrS SKrS SKrS SKrS SKJrJrJ	r	  S SK
Jr  S SKJr  SSKJrJrJrJrJr  / SQrSS	 jrSS
 jr " S S\5      r\R0                  SS j5       rSS jrSS jrSS jrSS jr        SS jrg)    )annotationsN)LiteralProtocolcast)
deprecated)	strtobool   )BaseDistributionBaseEnvironmentFilesystemWheelMemoryWheelWheel)	r
   r   r   r   r   get_default_environmentget_environmentget_wheel_distributionselect_backendc                 \   [         R                  S:  a  g[        R                  " [        [
        5         [        [        [        R                  S   5      5      sSSS5        $ ! , (       d  f       O= f[         R                  S:  a  gSSK
n [        [        U R                  SS5      5      $ )a  Whether to use the ``importlib.metadata`` or ``pkg_resources`` backend.

By default, pip uses ``importlib.metadata`` on Python 3.11+, and
``pkg_resources`` otherwise. Up to Python 3.13, This can be
overridden by a couple of ways:

* If environment variable ``_PIP_USE_IMPORTLIB_METADATA`` is set, it
  dictates whether ``importlib.metadata`` is used, for Python <3.14.
* On Python 3.11, 3.12 and 3.13, Python distributors can patch
  ``importlib.metadata`` to add a global constant
  ``_PIP_USE_IMPORTLIB_METADATA = False``. This makes pip use
  ``pkg_resources`` (unless the user set the aforementioned environment
  variable to *True*).

On Python 3.14+, the ``pkg_resources`` backend cannot be used.
)      T_PIP_USE_IMPORTLIB_METADATANr      Fr   )sysversion_info
contextlibsuppressKeyError
ValueErrorboolr   osenvironimportlib.metadatagetattrmetadata	importlibs    Q/var/www/html/env/lib/python3.13/site-packages/pip/_internal/metadata/__init__.py_should_use_importlib_metadatar(      s{    " 7"			Xz	2Ibjj)FGHI 
3	2	2 '! 	**,I4PQQs   %A$$
A2c                     [         R                  S:  a  g SS Kn [        U R                  S5      (       a  g [        SSSSS9  g )	Nr   r   r   z7Using the pkg_resources metadata backend is deprecated.zpto use the default importlib.metadata backend, by unsetting the _PIP_USE_IMPORTLIB_METADATA environment variablez26.3i4  )reasonreplacementgone_inissue)r   r   r"   hasattrr$   r   r%   s    r'   )_emit_pkg_resources_deprecation_if_neededr/   <   sL    
'! 	y!!#@AA 	 HP     c                  4    \ rS rSr% S\S'   S\S'   S\S'   Srg	)
BackendU   z%Literal['importlib', 'pkg_resources']NAMEztype[BaseDistribution]Distributionztype[BaseEnvironment]Environment N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r7   r0   r'   r2   r2   U   s    
//((&&r0   r2   c                     [        5       (       a  SSKJn   [        [        U 5      $ [        5         SSKJn  [        [        U5      $ )Nr	   r%   )pkg_resources)r(    r&   r   r2   r/   r?   )r&   r?   s     r'   r   r   [   s1    %''GY''-/''r0   c                 F    [        5       R                  R                  5       $ )zGet the default representation for the current environment.

This returns an Environment instance from the chosen backend. The default
Environment instance should be built from ``sys.path`` and may use caching
to share instance state across calls.
)r   r6   defaultr7   r0   r'   r   r   i   s     ''//11r0   c                H    [        5       R                  R                  U 5      $ )a  Get a representation of the environment specified by ``paths``.

This returns an Environment instance from the chosen backend based on the
given import paths. The backend must build a fresh instance representing
the state of installed distributions when this function is called.
)r   r6   
from_paths)pathss    r'   r   r   s   s     ''22599r0   c                H    [        5       R                  R                  U 5      $ )zGet the distribution metadata representation in the specified directory.

This returns a Distribution instance from the chosen backend based on
the given on-disk ``.dist-info`` directory.
)r   r5   from_directory)	directorys    r'   get_directory_distributionrI   }   s     ((77	BBr0   c                H    [        5       R                  R                  X5      $ )zGet the representation of the specified wheel's distribution metadata.

This returns a Distribution instance from the chosen backend based on
the given wheel's ``.dist-info`` directory.

:param canonical_name: Normalized project name of the given wheel.
)r   r5   
from_wheel)wheelcanonical_names     r'   r   r      s     ((33EJJr0   c                L    [        5       R                  R                  U UU5      $ )a  Get the dist representation of the specified METADATA file contents.

This returns a Distribution instance from the chosen backend sourced from the data
in `metadata_contents`.

:param metadata_contents: Contents of a METADATA file within a dist, or one served
                          via PEP 658.
:param filename: Filename for the dist this metadata represents.
:param canonical_name: Normalized project name of the given dist.
)r   r5   from_metadata_file_contents)metadata_contentsfilenamerM   s      r'   get_metadata_distributionrR      s)     ((DD r0   )returnr   )rS   None)rS   r2   )rS   r   )rE   zlist[str] | NonerS   r   )rH   strrS   r
   )rL   r   rM   rU   rS   r
   )rP   bytesrQ   rU   rM   rU   rS   r
   )
__future__r   r   	functoolsr    r   typingr   r   r   pip._internal.utils.deprecationr   pip._internal.utils.miscr   baser
   r   r   r   r   __all__r(   r/   r2   cacher   r   r   rI   r   rR   r7   r0   r'   <module>r_      s    "   	 
 * * 6 . X X
RB2'h ' 
( 
(2:CK  	r0   