
    鴀jp                       d dl mZ d dlZd dlmZ d dlmZ d dlm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZmZ d d	lmZ e	rd d
lmZ e
d         ZddZ G d d          Z G d de          Z G d ded         ej                  ZdS )    )annotationsN)Iterable)AbstractContextManager)TYPE_CHECKINGLiteralProtocol)Version)
get_scheme)get_default_environmentget_environment)get_requirement)InstallRequirement)offvirtualvenvastrbreturntuple[str] | tuple[str, str]c                    | |k    r| |fn| fS N )r   r   s     f/workspace/show-city-briefing-agent/.venv/lib/python3.11/site-packages/pip/_internal/build_env/base.py_dedupr      s    !VVAq66!%    c                      e Zd Zddd
d	ZdS )PrefixN)venv_executablepathr   r   
str | Noner   Nonec                   || _         d| _        t          d|          }|j        | _        t          |j        |j                  | _        || _	        d S )NF )prefix)
r    setupr
   scriptsbin_dirr   purelibplatliblib_dirsr   )selfr    r   schemes       r   __init__zPrefix.__init__   sN    	
Bt,,,~v~v~>>.r   )r    r   r   r!   r   r"   )__name__
__module____qualname__r.   r   r   r   r   r      s5        CG / / / / / / / /r   r   c                      e Zd ZdZddZdS )BuildEnvironmentInstallerz]
    Interface for installing build dependencies into an isolated build
    environment.
    requirementsIterable[str]r%   r   kindr   for_reqInstallRequirement | Noner   r"   c                   d S r   r   )r,   r4   r%   r6   r7   s        r   installz!BuildEnvironmentInstaller.install*   s	     sr   N)
r4   r5   r%   r   r6   r   r7   r8   r   r"   )r/   r0   r1   __doc__r:   r   r   r   r3   r3   $   s2         
     r   r3   c                  z    e Zd ZU dZded<   ded<   ej        dd            ZddZej        dddd            Z	dS )BuildEnvironmentzACreates and manages an isolated environment to install build depsz	list[str]r+   r   python_executable	installerr3   c                    d S r   r   )r,   r?   s     r   r.   zBuildEnvironment.__init__:   s    >Acr   reqsr5   r   %tuple[set[tuple[str, str]], set[str]]c                j   t                      }t                      }|rt          | d          rt          | j                  nt	                      }|D ]}t          |          }|j        |j                            ddi          s5|                    |j	                  }|s|
                    |           gt          |j        t                    r|j	         d|j         }n|j	         d|j         }|j                            |j        d          s|
                    ||f           ||fS )	zReturn 2 sets:
        - conflicting requirements: set of (installed, wanted) reqs tuples
        - missing requirements: set of reqs
        r+   Nextrar$   z==z===T)prereleases)sethasattrr   r+   r   r   markerevaluateget_distributionnameadd
isinstanceversionr	   	specifiercontains)	r,   rA   missingconflictingenvreq_strreqdistinstalled_req_strs	            r   check_requirementsz#BuildEnvironment.check_requirements=   sU    %%ee 	B 4,,/...,.. 
   B B%g.. :)#*2E2EwPRm2T2T)++CH55 KK(((dlG44 G+.8(E(Et|(E(E%%+.8(F(F(F(F%}--dl-MM BOO%6$@AAAG##r   N)r7   r4   prefix_as_stringr6   r7   r8   r"   c                   d S r   r   )r,   r4   rY   r6   r7   s        r   install_requirementsz%BuildEnvironment.install_requirements_   s	     sr   )r?   r3   )rA   r5   r   rB   )
r4   r5   rY   r   r6   r   r7   r8   r   r"   )
r/   r0   r1   r;   __annotations__abcabstractmethodr.   rX   r[   r   r   r   r=   r=   4   s         KKAAA A $  $  $  $D 	 .2       r   r=   )	metaclass)r   r   r   r   r   r   )
__future__r   r]   collections.abcr   
contextlibr   ContextManagertypingr   r   r   pip._vendor.packaging.versionr	   pip._internal.locationsr
   pip._internal.metadatar   r   pip._internal.utils.packagingr   pip._internal.req.req_installr   BuildIsolationModer   r   r3   ABCMetar=   r   r   r   <module>rl      s   " " " " " " 



 $ $ $ $ $ $ ? ? ? ? ? ? 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 . . . . . . K K K K K K K K 9 9 9 9 9 9 A@@@@@@ 56 & & & &/ / / / / / / /        3 3 3 3 3~d+s{ 3 3 3 3 3 3r   