
    vKg(              
          S r SSKrSSKrSSKrSSKrSSKrSSKrSSKJr  SSK	J
r
  SSKJrJrJrJrJrJrJrJr  SSKJr  SSKJr  SSKJr  SS	KJr  SS
KJrJrJ r   SSK!J"r"J#r#  SSK$J%r%  SSK&J'r'  SSK(J)r)  SSK*J+r+J,r,  \(       a  SSK-J.r.  \R^                  " \05      r1S\2S\2S\\\2   \\2\24   4   4S jr3 " S S5      r4S\24S jr5S\\2   4S jr6 " S S5      r7 " S S\75      r8g)z;Build Environment used for isolation during sdist building
    N)OrderedDict)TracebackType)TYPE_CHECKINGIterableListOptionalSetTupleTypeUnion)where)Version)__file__)open_spinner)get_platlibget_purelib
get_scheme)get_default_environmentget_environment)VERBOSE)get_requirement)call_subprocess)TempDirectorytempdir_kinds)PackageFinderabreturnc                     X:w  a  X4$ U 4$ N )r   r   s     W/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/pip/_internal/build_env.py_dedupr#       s    VA6%!%    c                   &    \ rS rSrS\SS4S jrSrg)_Prefix$   pathr   Nc                     Xl         SU l        [        SUS9nUR                  U l        [        UR                  UR                  5      U l        g )NF )prefix)	r(   setupr   scriptsbin_dirr#   purelibplatliblib_dirs)selfr(   schemes      r"   __init___Prefix.__init__%   s;    	
Bt,~~v~~v~~>r$   )r.   r1   r(   r,   )__name__
__module____qualname____firstlineno__strr4   __static_attributes__r!   r$   r"   r&   r&   $   s    ?S ?T ?r$   r&   c                      [         R                  " [        5      R                  5       R                  n U R                  5       (       d  [        U 5      $ [        R                  " U S-  5      $ )zGet a file to pass to a Python executable, to run the currently-running pip.

This is used to run a pip subprocess, for installing requirements into the build
environment.
z__pip-runner__.py)	pathlibPathpip_locationresolveparentis_dirr:   osfsdecode)sources    r"   get_runnable_piprF   -   sM     \\,'//188F==?? 6{;;v 3344r$   c                      [        [        S5      (       a  [        R                  " 5       n O[        5       [	        5       /n U  Vs1 sH"  n[
        R                  R                  U5      iM$     sn$ s  snf )zGet system site packages

Usually from site.getsitepackages,
but fallback on `get_purelib()/get_platlib()` if unavailable
(e.g. in a virtualenv created by virtualenv<20)

Returns normalized set of strings.
getsitepackages)hasattrsiterH   r   r   rC   r(   normcase)system_sitesr(   s     r"   _get_system_sitepackagesrM   =   sW     t&''++- ${}5/;<|tBGGT"|<<<s   (A/c                       \ rS rSrSrSS jrSS jrS\\\	      S\\	   S	\\
   SS4S
 jrS\\   S\\\\\4      \\   4   4S jrSSS\\   S\S\SS4
S jr\S\SSS\\   S\S\SS4S j5       rSrg)BuildEnvironmentQ   zACreates and manages an isolated environment to install build depsr   Nc                   ^ [        [        R                  SS9m[        U4S jS 5       5      U l        / U l        / U l        [        [        U R                  R                  5       5      5       HM  nU R
                  R                  UR                  5        U R                  R                  UR                  5        MO     [        5       n[        R                   R#                  TR                   S5      U l        [        R                   R'                  U R$                  5      (       d   [        R(                  " U R$                  5        [+        [        R                   R#                  U R$                  S5      SSS	9 nUR-                  [.        R0                  " S
5      R3                  X R                  S95        S S S 5        g ! , (       d  f       g = f)NT)kindglobally_managedc              3      >#    U H:  nU[        [        R                  R                  TR                  U5      5      4v   M<     g 7fr    )r&   rC   r(   join).0nametemp_dirs     r"   	<genexpr>,BuildEnvironment.__init__.<locals>.<genexpr>W   s5      %
- 7277<<t<=>-s   AA)normaloverlayrJ   zsitecustomize.pywzutf-8)encodinga  
                import os, site, sys

                # First, drop system-sites related paths.
                original_sys_path = sys.path[:]
                known_paths = set()
                for path in {system_sites!r}:
                    site.addsitedir(path, known_paths=known_paths)
                system_paths = set(
                    os.path.normcase(path)
                    for path in sys.path[len(original_sys_path):]
                )
                original_sys_path = [
                    path for path in original_sys_path
                    if os.path.normcase(path) not in system_paths
                ]
                sys.path = original_sys_path

                # Second, add lib directories.
                # ensuring .pth file are processed.
                for path in {lib_dirs!r}:
                    assert not path in sys.path
                    site.addsitedir(path)
                )rL   r1   )r   r   	BUILD_ENVr   	_prefixes	_bin_dirs	_lib_dirsreversedlistvaluesappendr.   extendr1   rM   rC   r(   rU   	_site_direxistsmkdiropenwritetextwrapdedentformat)r2   r+   rL   fprX   s       @r"   r4   BuildEnvironment.__init__T   s<    m&=&=PTU$ %
-%
 

 %'$&tDNN$9$9$;<=FNN!!&..1NN!!&//2 > 01hmmV<ww~~dnn--HHT^^$GGLL);<cG
HH2 &l^^&L5
 
 
s   9=F??
Gc                    S Vs0 sH$  nU[         R                  R                  US 5      _M&     snU l        U R                  S S  nU R                  S   nU(       a.  UR                  UR                  [         R                  5      5        U R                  /n[         R                  R                  [         R                  R                  U5      S[         R                  R                  U5      S.5        g s  snf )N)PATHPYTHONNOUSERSITE
PYTHONPATHrs   1)rC   environget	_save_envra   rg   splitpathseprh   updaterU   )r2   rW   r(   old_path
pythonpaths        r"   	__enter__BuildEnvironment.__enter__   s     C
B "**..t,,B

 ~~a >>&)KKrzz23nn%





-$' jjooj9	

s   *C5exc_typeexc_valexc_tbc                     U R                   R                  5        H=  u  pEUc"  [        R                  R	                  US 5        M*  U[        R                  U'   M?     g r    )ry   itemsrC   rw   pop)r2   r   r   r   varname	old_values         r"   __exit__BuildEnvironment.__exit__   sD     #'.."6"6"8G 

w-&/

7#	 #9r$   reqsc                    [        5       n[        5       nU(       Ga?  [        U S5      (       a  [        U R                  5      O	[	        5       nU GH  n[        U5      nUR                  b$  UR                  R                  SS05      (       d  M@  UR                  UR                  5      nU(       d  UR                  U5        Mu  [        UR                  [        5      (       a  UR                   SUR                   3nOUR                   SUR                   3nUR                  R                  UR                  SS9(       a  M  UR                  X45        GM     X24$ )zvReturn 2 sets:
- conflicting requirements: set of (installed, wanted) reqs tuples
- missing requirements: set of reqs
rb   extrar*   z==z===T)prereleases)setrI   r   rb   r   r   markerevaluateget_distributionrW   add
isinstanceversionr   	specifiercontains)	r2   r   missingconflictingenvreq_strreqdistinstalled_req_strs	            r"   check_requirements#BuildEnvironment.check_requirements   s    %e 4--  /,. 
  %g. ::)#**2E2EwPRm2T2T++CHH5KK(dllG44+.88*Bt||n(E%+.88*C~(F%}}--dll-MMOO%6$@A  " ##r$   finderr   requirementsprefix_as_stringrR   c                    U R                   U   nUR                  (       a   eSUl        U(       d  g U R                  [        5       UUUUS9  g )NT)rR   )r`   r,   _install_requirementsrF   )r2   r   r   r   rR   r+   s         r"   install_requirements%BuildEnvironment.install_requirements   sR      01<<"" 	# 	
r$   pip_runnabler+   c          
         [         R                  U SSSSUR                  SS/	n[        R	                  5       [
        R                  ::  a  UR                  S5        O-[        R	                  5       [        ::  a  UR                  S5        S	 Ha  n[        UR                  U5      nUR                  S
UR                  SS5      -   SR                  [        U=(       d    S15      5      45        Mc     UR                  nU(       a6  UR                  SUS   /5        USS   H  n	UR                  SU	/5        M     OUR                  S5        UR                    H  n
UR                  SU
/5        M     UR"                   H  nUR                  SU/5        M     UR$                  (       a  UR                  S5        UR&                  (       a  UR                  S5        UR                  S
5        UR                  U5        S[)        5       0n[+        SU 35       n[-        USU 3UUS9  S S S 5        g ! , (       d  f       g = f)Ninstallz--ignore-installedz	--no-userz--prefixz--no-warn-script-locationz--disable-pip-version-checkz-vvz-v)	no_binaryonly_binaryz--_-,z:none:z-ir      z--extra-index-urlz
--no-indexz--find-linksz--trusted-hostz--prez--prefer-binary_PIP_STANDALONE_CERTzInstalling zpip subprocess to install )command_descspinnerextra_environ)sys
executabler(   loggergetEffectiveLevelloggingDEBUGrf   r   getattrformat_controlrg   replacerU   sorted
index_urls
find_linkstrusted_hostsallow_all_prereleasesprefer_binaryr   r   r   )r   r   r   r+   rR   argsr   formatsr   extra_indexlinkhostr   r   s                 r"   r   &BuildEnvironment._install_requirements   s    NN KK')

 ##%6KK%%'72KK:Nf33^DGKK>11#s;;HHVG$9z:; ; &&
KKz!}-.)!"~0+>?  . KK%%%DKK./ & ((DKK)401 )''KK KK)*DL!/9Kv./79$@+	 0//s   H//
H=)ra   rb   r`   ry   rh   r   N)r6   r7   r8   r9   __doc__r4   r   r   r   BaseExceptionr   r   r   r:   r
   r	   r   r   staticmethodr&   r   r;   r!   r$   r"   rO   rO   Q   s   K4l
*
04./
0 -(
0 '	
0
 

0 $SM $	s5c?#SX-	. $D

 sm
 	
 
 

* 999 sm9 	9 9 
9 9r$   rO   c            
           \ rS rSrSrSS jrSS jrS\\\	      S\\	   S	\\
   SS4S
 jrSS jrSSS\\   S\S\SS4
S jrSrg)NoOpBuildEnvironmenti  z0A no-op drop-in replacement for BuildEnvironmentr   Nc                     g r    r!   r2   s    r"   r4   NoOpBuildEnvironment.__init__"      r$   c                     g r    r!   r   s    r"   r   NoOpBuildEnvironment.__enter__%  r   r$   r   r   r   c                     g r    r!   )r2   r   r   r   s       r"   r   NoOpBuildEnvironment.__exit__(  s     	r$   c                     g r    r!   r   s    r"   cleanupNoOpBuildEnvironment.cleanup0  r   r$   r   r   r   r   rR   c                    [        5       er    )NotImplementedError)r2   r   r   r   rR   s        r"   r   )NoOpBuildEnvironment.install_requirements3  s     "##r$   r!   r   )r6   r7   r8   r9   r   r4   r   r   r   r   r   r   r   r   r:   r   r;   r!   r$   r"   r   r     s    :4./ -( '	
 
$$ sm$ 	$ $ 
$r$   r   )9r   r   rC   r=   rJ   r   rm   collectionsr   typesr   typingr   r   r   r   r	   r
   r   r   pip._vendor.certifir   pip._vendor.packaging.versionr   pipr   r?   pip._internal.cli.spinnersr   pip._internal.locationsr   r   r   pip._internal.metadatar   r   pip._internal.utils.loggingr   pip._internal.utils.packagingr   pip._internal.utils.subprocessr   pip._internal.utils.temp_dirr   r   "pip._internal.index.package_finderr   	getLoggerr6   r   r:   r#   r&   rF   rM   rO   r   r!   r$   r"   <module>r      s     	   
  #  S S S % 1 ( 3 H H K / 9 : E@			8	$&c &c &eE#Jc3h$?@ &? ?5# 5 =#c( =(K K\$+ $r$   