+
    iM7              	      D  a  0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
Ht ^ RIHt ^ RIHt ^ RIHt ^RIHt ^RIHtHtHtHtHtHt . R5Ot]P8                  ! ]4      t]! ]R	R
4      t R]!R&   ]PD                  R68  t#R R lt$]$! 4       t%]%'       g   ^RIH&t& ]#'       d   ]%'       g   ]PN                  t(M]PR                  t(R R lt*R R lt+]PX                  R R l4       t-]PX                  R R l4       t.]PX                  R R l4       t/]PX                  R R l4       t0]PX                  R R l4       t1]PX                  R R l4       t2R  R! lt3]PX                  R"R#R$RR%RR&R/R' R( ll4       t4R7R) R* llt5R+ R, lt6R- R. lt7R/ R0 lt8R1 R2 lt9R3 R4 lt:R# )8    )annotationsN)SCHEME_KEYSScheme)WINDOWS)
deprecated)running_under_virtualenv)
_sysconfig)USER_CACHE_DIRget_major_minor_versionget_src_prefixis_osx_frameworksite_packages	user_site
platlibdirlibstr_PLATLIBDIRc                   V ^8  d   QhRR/#    returnbool )formats   "f/Users/ahmad/.openclaw/workspace/venv/lib/python3.14/site-packages/pip/_internal/locations/__init__.py__annotate__r   /   s     R Rt R    c                 >    \        \        \        R\        4      4      # )a\  This function determines the value of _USE_SYSCONFIG.

By default, pip uses sysconfig on Python 3.10+.
But Python distributors can override this decision by setting:
    sysconfig._PIP_USE_SYSCONFIG = True / False
Rationale in https://github.com/pypa/pip/issues/10647

This is a function for testability, but should be constant during any one
run.
_PIP_USE_SYSCONFIG)r   getattr	sysconfig_USE_SYSCONFIG_DEFAULTr   r   r   _should_use_sysconfigr#   /   s     	#79OPQQr   
_distutilsc                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   M   s     , ,t ,r   c                 ^    ^ RI Hp   V R,          R,          pVR8H  #   \         d     R# i ; i)zkThe resolution to bpo-44860 will change this incorrect platlib.

See <https://bugs.python.org/issue44860>.
INSTALL_SCHEMES	unix_userplatlibFz	$usersite)distutils.command.installr)   KeyError)r)   unix_user_platlibs     r   _looks_like_bpo_44860r/   M   s=    
 :+K8C ++  s    ,,c                    V ^8  d   QhRRRR/# )r   schemezdict[str, str]r   r   r   )r   s   "r   r   r   [   s     J J J4 Jr   c                    V R ,          pRV9   d   VP                  RR\         R24      pRV9  d   R# VP                  RR4      pVP                  RR4      V R,          8H  # )	r+   z/$platlibdir///lib64/Fz/lib/z
$platbase/z$base/purelib)replacer   )r1   r+   	unpatcheds   &  r   +_looks_like_red_hat_patched_platlib_purelibr8   [   se    YG'!///Q{m13EF	73I\84y8IIIr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   f   s       r   c                    a  ^ RI Ho  \        ;QJ d    V 3R lR 4       F  '       d   K   R# 	  R# ! V 3R lR 4       4      # )zRed Hat patches platlib in unix_prefix and unix_home, but not purelib.

This is the only way I can see to tell a Red Hat-patched Python.
r(   c              3  b   <"   T F$  pVS9   ;'       d    \        SV,          4      x  K&  	  R # 5iN)r8   ).0kr)   s   & r   	<genexpr>*_looks_like_red_hat_lib.<locals>.<genexpr>m   s>       .A 	
_ 	L 	L78JK	L-s   //FT)unix_prefix	unix_home)r,   r)   allr(   s   @r   _looks_like_red_hat_librD   e   sG     :3  .33 3 3  .  r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   u   s     O O4 Or   c                 2    ^ RI Hp  RV 9   ;'       d    RV 9   # )z#Debian adds two additional schemes.r(   
deb_system
unix_local)r,   r)   r(   s    r   _looks_like_debian_schemerI   t   s     :?*NN|/NNr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   }   s      D r   c                 X   ^ RI Hp  ^ RIHp V ! V! 4       4      pVP	                  4        VP
                  \        P                  P                  \        P
                  4       R28H  ;'       d>    VP                  \        P                  P                  \        P                  4       R28H  # )aH  Red Hat patches ``sys.prefix`` and ``sys.exec_prefix``.

Red Hat's ``00251-change-user-install-location.patch`` changes the install
command's ``prefix`` and ``exec_prefix`` to append ``"/local"``. This is
(fortunately?) done quite unconditionally, so we create a default command
object without any configuration to detect this.
)install)Distributionz/local)r,   rL   distutils.distrM   finalize_optionsexec_prefixospathnormpathsysprefix)rL   rM   cmds      r   _looks_like_red_hat_schemerW   |   s     2+
,.
!Cbgg..s?@GG 	B 	BJJRWW--cjj9:&AAr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     H Hd Hr   c                     \         f   R#  \        P                  ! RRR7      p RT R,          9   ;'       d
    R\         9  #   \         d     R# i ; i)zSlackware patches sysconfig but fails to patch distutils and site.

Slackware changes sysconfig's user scheme to use ``"lib64"`` for the lib
path, but does not do the same to the site module.
F
posix_user)r1   expandr4   r5   )r   r!   	get_pathsr-   pathss    r   _looks_like_slackware_schemer_      sW     ##<F i((GGYi-GG  s   A AAc                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s       r   c                    a  \         P                  ! RRR7      o \        ;QJ d&    R V 3R lR 4        4       F  '       d   K   R# 	  R# ! R V 3R lR 4        4       4      # )aq  MSYS2 patches distutils and sysconfig to use a UNIX-like scheme.

However, MSYS2 incorrectly patches sysconfig ``nt`` scheme. The fix is
likely going to be included in their 3.10 release, so we ignore the warning.
See msys2/MINGW-packages#9319.

MSYS2 MINGW's patch uses lowercase ``"lib"`` instead of the usual uppercase,
and is missing the final ``"site-packages"``.
ntF)r[   c              3     "   T F5  pR V9  ;'       d$    RV9   ;'       d    VP                  R4      '       * x  K7  	  R# 5i)Libr   zsite-packagesN)endswith)r=   ps   & r   r?   1_looks_like_msys2_mingw_scheme.<locals>.<genexpr>   s>      ?A 	QII5A:IIajj.I*II?s   ???c              3  6   <"   T F  pSV,          x  K  	  R # 5ir<   r   )r=   keyr^   s   & r   r?   rg      s     ?(>%**(>s   Tr+   r5   )r!   r\   rC   r]   s   @r   _looks_like_msys2_mingw_schemerk      s^     U3E3 ?(>?33 3 3 ?(>?  r   c               (    V ^8  d   QhRRRRRRRR/# )r   oldpathlib.Pathnewri   r   r   Noner   )r   s   "r   r   r      s.     C C, C\ C3 C4 Cr   c               F    R pRp\         P                  \        WBW0V4       R# )z(https://github.com/pypa/pip/issues/10151zSValue for %s does not match. Please report this to <%s>
distutils: %s
sysconfig: %sN)loggerlog_MISMATCH_LEVEL)rm   ro   ri   	issue_urlmessages   &&$  r   _warn_mismatchedrw      s%    :I	 
 JJicBr   c               (    V ^8  d   QhRRRRRRRR/# )r   rm   rn   ro   ri   r   r   r   r   )r   s   "r   r   r      s(      < l C D r   c               0    W8X  d   R # \        WVR7       R# )Fri   T)rw   )rm   ro   ri   s   &&$r   _warn_if_mismatchr{      s    
zS3'r   userFhomerootrU   c          
     ,    V ^8  d   QhRRRRRRRRRR/# )	r   r|   r   r}   
str | Noner~   rU   r   rp   r   )r   s   "r   r   r      sC     L L
L L 	L
 L 
Lr   c                d    . ROp\         P                  \        RP                  V4      WW#4       R# )Additional context:
N)r   z	user = %rz	home = %rz	root = %rzprefix = %r)rr   rs   rt   join)r|   r}   r~   rU   partss   $$$$ r   _log_contextr      s&    E JJ		% 0$dKr   c               4    V ^8  d   QhRRRRRRRRRRR	RR
R/# )r   	dist_namer   r|   r   r}   r   r~   isolatedrU   r   r   r   )r   s   "r   r   r      sW     c cc
c c 	c
 c c cr   c           
     8	  aa \         P                  ! V VVVVVR 7      p\        '       d   V# \        P                  ! V VVVVVR 7      o. p\         EF  p\
        P                  ! \        SV4      4      p	\
        P                  ! \        Wh4      4      p
W8X  d   KK  \        P                  P                  R8H  ;'       dy    VRJ;'       dm    VR9   ;'       d`    V	P                  V
P                  8H  ;'       d?    V	P                  P                  R4      ;'       d    V
P                  P                  R4      pV'       d   K  T;'       dp    \        4       ;'       d^    VR8H  ;'       dQ    V	P                  P                  V
P                  8H  ;'       d&    V	P                  P                  P                  R4      pV'       d   EKv  VR8X  d   \        4       '       d   EK  T;'       d<    VR8H  ;'       d/    \        '       * ;'       d    \         R8g  ;'       d    \#        4       pV'       d   EK  T;'       d+    VR9   ;'       d    \        '       * ;'       d    \%        4       pV'       d   EK  T;'       g    T;'       g    T;'       g    \'        4       '       * ;'       d    V	P(                  R,          R8H  ;'       d    \+        V
P(                  4      ^8  ;'       dy    V
P(                  ^,          R8H  ;'       d[    \+        V
P(                  4      ^8  ;'       g    V
P(                  ^,          R	8g  ;'       d    \-        4       ;'       g    \/        4       pV'       d   EK  \        ;'       d    VR9   ;'       d    \1        4       pV'       d   EKE  \2        P4                  ! R
R7      ;'       d    \        '       * ;'       d    VR9   pV'       d   EK  VP7                  WRV 234       EK  	  V'       g   S# \        P8                  ! V VVVVVR
R7      o\:        ;QJ d$    VV3R l\         4       F  '       g   K   R
M	  RM! VV3R l\         4       4      '       d   \=        RRRR7       S# V F  w  rp\?        WVR7       K  	  \A        WW5R7       S# ))r|   r}   r~   r   rU   pypyNr+   pythonheadersr   :      NusrlocalT)
check_homezscheme.)ignore_config_filesc              3  P   <"   T F  pSV,          \        SV4      8g  x  K  	  R # 5ir<   )r    )r=   r>   default_oldrm   s   & r   r?   get_scheme.<locals>.<genexpr>h  s      
Bk;q>WS!_,ks   #&FzConfiguring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621)reasonreplacementgone_inrz   )r|   r}   r~   rU   rj   )r   r   )r   includeplatinclude)!r	   
get_scheme_USE_SYSCONFIGr%   r   pathlibPathr    rT   implementationnameparent
startswithr   rD   r   r   r/   r_   r   r   lenrW   rI   rk   r!   is_python_buildappenddistutils_schemeanyr   rw   r   )r   r|   r}   r~   r   rU   ro   warning_contextsr>   old_vnew_vskip_pypy_special_case$skip_osx_framework_user_special_caseskip_bpo_44860skip_slackware_user_schemeskip_linux_system_special_caseskip_msys2_mingw_bugskip_cpython_buildri   r   rm   s   &&&&&&             @@r   r   r      sb    

C ~



C [WS!_-WS_-> ##v- . .D . .++. . ,. . 

%%h/	. .
 

%%f- 	 "  7 7 "7 7Y7 7 ##u||37 7 !!,,X6 	- 0 	>577  ( (Y( (( ( u$( ( &' 	 
  / /++/ // / -.	 	# & EEEEEE+C+EF N NC $44N NEKK 1$N N A%'N N U[[!A%BBQ7)B	N N
 ,-LL1J1L 	' *
 XX33XX8V8X 	   %%6 ; ;; ;:: 	
 } =>G J 

 -- K s
Bk
Bsss
Bk
BBBL
 		
 
 .c3/ .dD@Jr   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r   }  s       r   c                    \         P                  ! 4       p \        '       d   V # \        P                  ! 4       p\	        \
        P                  ! V4      \
        P                  ! V 4      R R7      '       d   \        4        V# )
bin_prefixrz   )r	   get_bin_prefixr   r%   r{   r   r   r   ro   rm   s     r   r   r   }  sS    

#
#
%C~


#
#
%Cc*GLL,=<PPJr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     s     8 8c 8r   c                 F    \         P                  ! R RR7      P                  # ) T)r|   )r	   r   scriptsr   r   r   get_bin_userr     s      $/777r   c                    V ^8  d   QhRRRR/# )r   valuer   r   r   r   )r   s   "r   r   r     s        r   c                <    \        4       '       g   R# V R8X  d   R# R# )a  Check if the value is Debian's APT-controlled dist-packages.

Debian's ``distutils.sysconfig.get_python_lib()`` implementation returns the
default package path controlled by APT, but does not patch ``sysconfig`` to
do the same. This is similar to the bug worked around in ``get_scheme()``,
but here the default is ``deb_system`` instead of ``unix_local``. Ultimately
we can't do anything about this Debian bug, and this detection allows us to
skip the warning when needed.
Fz/usr/lib/python3/dist-packagesT)rI   )r   s   &r   $_looks_like_deb_system_dist_packagesr     s     %&&00r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     s      S r   c                 (   \         P                  ! 4       p \        '       d   V # \        P                  ! 4       p\	        V4      '       d   V# \        \        P                  ! V4      \        P                  ! V 4      RR7      '       d   \        4        V# )z,Return the default pure-Python lib location.r5   rz   )	r	   get_purelibr   r%   r   r{   r   r   r   r   s     r   r   r     sc    

 
 
"C~


 
 
"C+C00
c*GLL,=9MMJr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     s      S r   c                 ,   \         P                  ! 4       p \        '       d   V # ^RIHp VP                  ! 4       p\        V4      '       d   V# \        \        P                  ! V4      \        P                  ! V 4      RR7      '       d   \        4        V# )z0Return the default platform-shared lib location.r$   r+   rz   )
r	   get_platlibr   r   r%   r   r{   r   r   r   )ro   r%   rm   s      r   r   r     sf    

 
 
"C~


 
 
"C+C00
c*GLL,=9MMJr   )
r
   r   r   r   r   r   r   r   r   r   )r   
   )FNNFN);__conditional_annotations__
__future__r   	functoolsloggingrQ   r   rT   r!   pip._internal.models.schemer   r   pip._internal.utils.compatr   pip._internal.utils.deprecationr   pip._internal.utils.virtualenvr   r   r	   baser
   r   r   r   r   r   __all__	getLogger__name__rr   r    r   __annotations__version_infor"   r#   r   r%   WARNINGrt   DEBUGr/   r8   cacherD   rI   rW   r_   rk   rw   r{   r   r   r   r   r   r   r   )r   s   @r   <module>r      s   " "   	  
  ; . 6 C   
		8	$ 3e4S 4))W4 R '(  .ooOmmO,J   O O  & H H  " C C LL L 	L
 L L$cL8"r   