+
     h*  c                   s   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^ RIHtHtHtHtHtHtHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHt ^ R	IH t H!t! ^ R
I"H#t# ^ RI$H%t% ^ RI&H't' ^ RI(H)t)H*t* ]'       d   ^ RI+H,t, ]PZ                  ! ].4      t/R R lt0 ! R R4      t1R R lt2R R lt3 ! R R4      t4 ! R R]44      t5R# )z:Build Environment used for isolation during sdist buildingN)OrderedDict)TracebackType)TYPE_CHECKINGIterableListOptionalSetTupleTypeUnion)Version)__file__)open_spinner)get_platlibget_purelib
get_scheme)get_default_environmentget_environment)VERBOSE)get_requirement)call_subprocess)TempDirectorytempdir_kinds)PackageFinderc          
      s    V ^8  d   QhR\         R\         R\        \        \         ,          \        \         \         3,          3,          /# )   abreturn)strr	   r   format   "</usr/lib/python3.14/site-packages/pip/_internal/build_env.py__annotate__r!      s7     & &c &c &eE#Jc3h$?@ &    c                 s    W8w  d   W3# V 3# N )r   r   s   &&r    _dedupr%      s    VA6%!%r"   c                   s2   a  ] tR t^"t o V 3R lR ltRtV tR# )_Prefixc                s$   < V ^8  d   QhRS[ RR/# )r   pathr   Nr   r   __classdict__   "r    r!   Z_Prefix.__annotate__#   s     ? ?S ?T ?r"   c                s    Wn         R V n        \        RVR7      pVP                  V n        \        VP                  VP                  4      V n        R# )F )prefixN)	r'   setupr   Zscriptsbin_dirr%   ZpurelibZplatliblib_dirs)selfr'   Zschemes   && r    __init__Z_Prefix.__init__#   s;    	
Bt,~~v~~v~~>r"   )r/   r0   r'   r.   N)__name__
__module____qualname____firstlineno__r2   __static_attributes____classdictcell__r*      @r    r&   r&   "   s     ? ?r"   r&   c                s$    V ^8  d   QhR\         /# r   r   r(   r   r   r    r!   r!   +   s     5 5# 5r"   c                 s    \         P                  ! \        4      P                  4       P                  p V P                  4       '       g   \        V 4      # \        P                  ! V R,          4      # )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)	pathlibZPathpip_locationZresolveZparentZis_dirr   osZfsdecode)Zsources    r    get_runnable_pipr?   +   sM     \\,'//188F==?? 6{;;v 3344r"   c                s:    V ^8  d   QhR\         \        ,          /# r;   )r   r   r   r   r    r!   r!   ;   s     = =#c( =r"   c                 s    \        \        R4      '       d   \        P                  ! 4       p M\        4       \	        4       .p V  Uu0 uF"  p\
        P                  P                  V4      kK$  	  up# u upi )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siter@   r   r   r>   r'   Znormcase)system_sitesr'   s     r    _get_system_sitepackagesrD   ;   sW     t&''++- ${}5/;<|tBGGT"|<<<s   (A0c                   s   a  ] tR t^Ot o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	]
V 3R lR l4       tRtV tR# )BuildEnvironmentzACreates and manages an isolated environment to install build depsc                   < V ^8  d   QhRR/# r   r   Nr$   r)   r+   r    r!   BuildEnvironment.__annotate__R   s     4 4$ 4r"   c           	     s  a \        \        P                  R R7      o\        V3R lR 4       4      V n        . V n        . V n        \        \        V P                  P                  4       4      4       FM  pV P
                  P                  VP                  4       V P                  P                  VP                  4       KO  	  \        4       p\        P                   P#                  SP                   R4      V n        \        P                   P'                  V P$                  4      '       g!   \        P(                  ! V P$                  4       \+        \        P                   P#                  V P$                  R4      RRR7      ;_uu_ 4       pVP-                  \.        P0                  ! R4      P3                  W P                  R	7      4       R
R
R
4       R
#   + '       g   i     R
# ; i)T)kindZglobally_managedc              3   s   <"   T F:  pV\        \        P                  P                  SP                  V4      4      3x  K<  	  R # 5ir#   )r&   r>   r'   join)Z.0nametemp_dirs   & r    Z	<genexpr>Z,BuildEnvironment.__init__.<locals>.<genexpr>U   s5      %
- 7277<<t<=>-s   AArB   zsitecustomize.pyZwzutf-8)Z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)
                )rC   r0   N)ZnormalZoverlay)r   r   Z	BUILD_ENVr    	_prefixes	_bin_dirs	_lib_dirsZreversedZlistZvaluesappendr/   extendr0   rD   r>   r'   rJ   	_site_dirZexistsZmkdirZopenZwritetextwrapZdedentr   )r1   r-   rC   ZfprL   s   &   @r    r2   ZBuildEnvironment.__init__R   sF    m&=&=PTU$ %
-%
 

 %'$&tDNN$9$9$;<=FNN!!&..1NN!!&//2 > 01hmmV<ww~~dnn--HHT^^$GGLL);<cG
 
HH2 &l^^&L5
 
 
 
s   A GG#	c                rF   rG   r$   r)   r+   r    r!   rH      s     
 
4 
r"   c           
     s   R Uu/ uF$  pV\         P                  P                  VR4      bK&  	  upV n        V P                  R,          pV P                  R ,          pV'       d/   VP                  VP                  \         P                  4      4       V P                  .p\         P                  P                  R \         P                  P                  V4      RRR\         P                  P                  V4      /4       R# u upi )PATHPYTHONNOUSERSITE
PYTHONPATHN:NNNZ1)rT   rU   rV   )r>   environZget	_save_envrN   rQ   ZsplitZpathseprR   ZupdaterJ   )r1   rK   r'   Zold_pathZ
pythonpaths   &    r    	__enter__ZBuildEnvironment.__enter__   s     C
B "**..t,,B

 ~~a >>&)KKrzz23nn%





-"Cbjjooj9	

s   *Dc                p   < V ^8  d   QhRS[ S[S[,          ,          RS[ S[,          RS[ S[,          RR/# r   exc_typeexc_valexc_tbr   Nr   r   ZBaseExceptionr   r)   r+   r    r!   rH      sG     
0 
04./
0 -(
0 '	
0
 

0r"   c                s    V P                   P                  4        F>  w  rEVf#   \        P                  P	                  VR 4       K+  V\        P                  V&   K@  	  R # r#   )rX   Zitemsr>   rW   Zpop)r1   r\   r]   r^   ZvarnameZ	old_values   &&&&  r    __exit__ZBuildEnvironment.__exit__   sD     #'.."6"6"8G 

w-&/

7#	 #9r"   c                s   < V ^8  d   QhRS[ S[,          RS[S[S[S[S[3,          ,          S[S[,          3,          /# )r   reqsr   )r   r   r   r   r)   r+   r    r!   rH      s<      $  $SM $	s5c?#SX-	. $r"   c                s   \        4       p\        4       pV'       EdI   \        V R4      '       d   \        V P                  4      M	\	        4       pV EF  p\        V4      pVP                  e&   VP                  P                  RR/4      '       g   KB  VP                  VP                  4      pV'       g   VP                  V4       Kx  \        VP                  \        4      '       d   VP                   RVP                   2pMVP                   RVP                   2pVP                  P                  VP                  RR7      '       d   K  VP                  W34       EK  	  W23# )zvReturn 2 sets:
- conflicting requirements: set of (installed, wanted) reqs tuples
- missing requirements: set of reqs
rO   Zextrar,   z==z===T)Zprereleases)ZsetrA   r   rO   r   r   ZmarkerZevaluateZget_distributionrK   ZaddZ
isinstanceZversionr
   Z	specifierZcontains)	r1   ra   ZmissingZconflictingZenvZreq_strZreqZdistZinstalled_req_strs	   &&       r    check_requirementsZ#BuildEnvironment.check_requirements   s    %e4 4--  /,. 
  %g. ::)#**2E2EwPRm2T2T++CHH5KK(dllG44+.88*Bt||n(E%+.88*C~(F%}}--dll-MMOO%6$@A  " ##r"   c          
      D   < V ^8  d   QhRRRS[ S[,          RS[RS[RR/# r   finderr   requirementsprefix_as_stringrI   r   Nr   r   r)   r+   r    r!   rH      sA     
 

 sm
 	
 
 

r"   c               s    V P                   V,          pVP                  '       d   Q hR Vn        V'       g   R# V P                  \        4       VVVVR7       R# )TN)rI   )rM   r.   _install_requirementsr?   )r1   re   rf   rg   rI   r-   s   &&&&$ r    install_requirementsZ%BuildEnvironment.install_requirements   sT      01<<<"" 	# 	
r"   c                sJ   < V ^8  d   QhRS[ RRRS[S[ ,          RS[RS[ RR/# )	r   pip_runnablere   r   rf   r-   rI   r   N)r   r   r&   r)   r+   r    r!   rH      sQ     E EEE smE 	E E 
Er"   c               s   \         P                  V R RRRVP                  RRRRR.p\        P	                  4       \
        P                  8:  d   VP                  R	4       M.\        P	                  4       \        8:  d   VP                  R
4       R Ff  p\        VP                  V4      pTP                  RVP                  RR4      ,           RP                  \        T;'       g    R04      4      34       Kh  	  VP                  pV'       d?   VP                  RV^ ,          .4       VR,           F  p	VP                  RV	.4       K  	  MVP                  R4       VP                    F  p
VP                  RV
.4       K  	  VP"                  '       d   VP                  RVP"                  .4       VP$                   F  pVP                  RV.4       K  	  VP&                  '       d   VP                  RVP&                  .4       VP(                  '       d   VP                  RVP(                  .4       VP*                  '       d   VP                  R4       VP,                  '       d   VP                  R4       VP                  R4       VP                  V4       \/        RV 24      ;_uu_ 4       p\1        VRV 2VR7       RRR4       R#   + '       g   i     R# ; i) Zinstallz--ignore-installedz	--no-userz--prefixz--no-warn-script-locationz--disable-pip-version-checkz--no-compilez--targetr,   z-vvz-vz--Z_Z-Z,z:none:z-i:i   NNz--extra-index-urlz
--no-indexz--find-linksz--proxyz--trusted-hostz--certz--client-certz--prez--prefer-binaryzInstalling zpip subprocess to install )Zcommand_descspinnerN)Z	no_binaryZonly_binary)sysZ
executabler'   loggerZgetEffectiveLevelloggingZDEBUGrP   r   Zgetattrformat_controlrQ   ZreplacerJ   Zsorted
index_urlsZ
find_linksZproxyZtrusted_hostsZcustom_certZclient_certZallow_all_prereleasesZprefer_binaryr   r   )rk   re   rf   r-   rI   Zargsrp   Zformatsrq   Zextra_indexZlinkZhostrl   s   &&&&$        r    ri   Z&BuildEnvironment._install_requirements   sZ    NN KK')  #
& ##%6KK%%'72KK:Nf33^DGKK>11#s;;HHVG$9$9z:; ; &&
KKz!}-.)"~~0+>?  . KK%%%DKK./ & <<<KKFLL12((DKK)401 )KK6#5#567KK&*<*<=>'''KK KK)*DL!Kv.//79$@ 0///s   4KK!	)rN   rO   rM   rX   rR   N)r3   r4   r5   r6   __doc__r2   rY   r`   rb   rj   Zstaticmethodri   r7   r8   r9   r:   r    rE   rE   O   sR     K4 4l
 
*
0 
0 $  $D
 
* E Er"   rE   c                   s~   a  ] tR tRt o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 lR
 ltV 3R lR lt	Rt
V tR# )NoOpBuildEnvironmenti)  z0A no-op drop-in replacement for BuildEnvironmentc                rF   rG   r$   r)   r+   r    r!   !NoOpBuildEnvironment.__annotate__,  s      $ r"   c                    R # r#   r$   r1      &r    r2   ZNoOpBuildEnvironment.__init__,      r"   c                rF   rG   r$   r)   r+   r    r!   rt   /  s      4 r"   c                ru   r#   r$   rv   rw   r    rY   ZNoOpBuildEnvironment.__enter__/  rx   r"   c                rZ   r[   r_   r)   r+   r    r!   rt   2  sG      4./ -( '	
 
r"   c                ru   r#   r$   )r1   r\   r]   r^   s   &&&&r    r`   ZNoOpBuildEnvironment.__exit__2  s     	r"   c                rF   rG   r$   r)   r+   r    r!   rt   :  s       r"   c                ru   r#   r$   rv   rw   r    cleanupZNoOpBuildEnvironment.cleanup:  rx   r"   c          
      rc   rd   rh   r)   r+   r    r!   rt   =  sA     $ $$ sm$ 	$ $ 
$r"   c               s    \        4       hr#   )ZNotImplementedError)r1   re   rf   rg   rI   s   &&&&$r    rj   Z)NoOpBuildEnvironment.install_requirements=  s     "##r"   r$   N)r3   r4   r5   r6   rr   r2   rY   r`   ry   rj   r7   r8   r9   r:   r    rs   rs   )  s:     :    $ $r"   rs   )6rr   ro   r>   r<   rB   rm   rS   Zcollectionsr    Ztypesr   Ztypingr   r   r   r   r   r   r   r	   Zpip._vendor.packaging.versionr
   Zpipr   r=   Zpip._internal.cli.spinnersr   Zpip._internal.locationsr   r   r   Zpip._internal.metadatar   r   Zpip._internal.utils.loggingr   Zpip._internal.utils.packagingr   Zpip._internal.utils.subprocessr   Zpip._internal.utils.temp_dirr   r   Z"pip._internal.index.package_finderr   Z	getLoggerr3   rn   r%   r&   r?   rD   rE   rs   r$   r"   r    <module>rz      s    @  	   
  #  S S S 1 ( 3 H H K / 9 : E@			8	$&? ?5 =(W Wt$+ $r"   