
    ,hh&                        S r SrS rSrSrSrSrSrSSKrSSK	r	SSK
r
SS	K
7  / S
QrS r SSKJrJrJr  S rS rS rS r SSKJr  S rS r\
R<                  R>                  \l        S r S r! SSKJ"r"  S r#\$" \%" S5       V s1 s H  n \&" U 5      iM     sn 1 Sk-  5      r'\$" 1 SkS Vs1 s H  nSU 3iM
     sn-  S Vs1 s H  nSU 3iM
     sn-  5      r(S  r)S! r*S" r+S# r, SS$KJ-r.   SS&KJ/r/  S' r0 SS)KJ1r1J2r2J3r4  \54S* jr6\54S+ jr7S,S-.S. jr8S0r9S;S1 jr:S2 r; SS3KJ<r=  SS4KJ>r?  SS5KJ@rA  SS6KJBrC  SS7KJDrE  SS8KJFrG   SS9KJHrH  S: rIg! \ a    S r GN$f = f! \ a    S r GN$f = f! \ a    Sr" GNf = fs  sn f s  snf s  snf ! \ a    S% r. Nf = f! \ a    S( r0 Nf = f! \ a
    S,S-.S/ jr8 Nf = f! \ a     Nf = f! \ a     gf = f)<...\;/z.;C:\binnul    N)*)+normcaseisabsjoin
splitdrive	splitrootsplitsplitextbasenamedirnamecommonprefixgetsizegetmtimegetatimegetctimeislinkexistslexistsisdirisfileismount
isreserved
expanduser
expandvarsnormpathabspathcurdirpardirseppathsepdefpathaltsepextsepdevnullrealpathsupports_unicode_filenamesrelpathsamefilesameopenfilesamestat
commonpath
isjunction
isdevdriveALLOW_MISSINGc                 0    [        U [        5      (       a  gg)N   \/\/)
isinstancebytespaths    //opt/python-3.13.8/usr/lib/python3.13/ntpath.py_get_bothsepsr=   "   s    $    )LCMapStringExLOCALE_NAME_INVARIANTLCMAP_LOWERCASEc                 p   [         R                  " U 5      n U (       d  U $ [        U [        5      (       a^  [        R
                  " 5       nU R                  US5      R                  SS5      n [        [        [        U 5      n U R                  US5      $ [        [        [        U R                  SS5      5      $ )Nsurrogateescaper   r   )osfspathr8   r9   sysgetfilesystemencodingdecodereplace_LCMapStringEx_LOCALE_NAME_INVARIANT_LCMAP_LOWERCASEencode)sencodings     r<   r
   r
   2   s    
 IIaLHa002H#45==c4HA5/4A88H&788!"8"2"#))C"68 8r>   c                 (   [         R                  " U 5      n [        U [        5      (       aH  [         R                  " [         R
                  " U 5      R                  SS5      R                  5       5      $ U R                  SS5      R                  5       $ )Nr   r   )rD   rE   r8   r9   fsencodefsdecoderI   lower)rN   s    r<   r
   r
   E   se    
 IIaLa;;r{{1~55c4@FFHIIyyd#))++r>   c                     [         R                  " U 5      n [        U [        5      (       a	  SnSnSnSnOSnSnSnSnU S S	 R	                  X!5      n U R                  US
5      =(       d    U R                  U5      $ )N   \   /s   :\   \\r   r   z:\\\      )rD   rE   r8   r9   rI   
startswith)rN   r%   r(   	colon_sep
double_seps        r<   r   r   P   sw    
		!A!U	
	
	"1f"A<<	1%Aj)AAr>   c                 T   [         R                  " U 5      n [        U [        5      (       a  SnSnSnOSnSnSn [	        U 5      u  pVnU H~  n[	        U5      u  pnU
(       a  U	(       d  U(       d  U	nU
nUnM.  U	(       a1  X:w  a,  U	R                  5       UR                  5       :w  a  U	nU
nUnMd  U	nU(       a  US   U;  a  Xr-   nX{-   nM     U(       a  U(       d  U(       a  US   U;  a  XR-   U-   $ XV-   U-   $ ! [        [        [        4 a    [        R                  " SU /UQ76   e f = f)	NrU   r6   s   :\/r   r7   z:\/r   )rD   rE   r8   r9   r   rS   	TypeErrorAttributeErrorBytesWarninggenericpath_check_arg_types)r;   pathsr%   seps
colon_sepsresult_driveresult_rootresult_pathpp_drivep_rootp_paths               r<   r   r   c   s3   99T?D$

1:4.;A&/l#GV,#*L$$W4==?l&8&8&::#*L"(K"(K&{2d:)/%.K+ . \"-Z?%33)K77~|4 $$VT:E:s   B6C8 1C8 8/D'c                 *    [        U 5      u  pnXU-   4$ N)r   )rk   driveroottails       r<   r   r      s    & "!E+r>   )_path_splitroot_exc                    [         R                  " U 5      n [        U [        5      (       a  SnSnSnSnSnO
SnSnSnS	nS
nU R	                  X!5      nUS S U:X  ay  USS U:X  af  US S R                  5       U:X  a  SOSnUR                  X5      nUS:X  a  XU4$ UR                  XS-   5      n	U	S:X  a  XU4$ U S U	 X	U	S-    X	S-   S  4$ XPS S U SS  4$ USS U:X  a!  USS U:X  a  U S S U SS U SS  4$ U S S XPSS  4$ XUU 4$ )NrU   rV      :   \\?\UNC\r>   r   r   :\\?\UNC\ rZ         r_   rY   )rD   rE   r8   r9   rI   upperfind)
rk   r%   r(   colon
unc_prefixemptynormpstartindexindex2s
             r<   r   r      sv    IIaLaCFE(JECFE'JE		&&!9QqzS  #2AY__.*<!

3.B;U?*C3R<U?*&z1FQJ#7A:;GG eQqrU**1QZ5 QqzS !ua!fae++ !ueqrU** ?"r>   c                    [         R                  " U 5      n [        U 5      n[        U 5      u  p#n [	        U 5      nU(       a$  XS-
     U;  a  US-  nU(       a  XS-
     U;  a  M  U S U XS  peX#-   UR                  U5      -   U4$ NrZ   )rD   rE   r=   r   lenrstrip)rk   rf   driheadrs   s          r<   r   r      s    
 			!ADlGA!AA
A#d"	Q A#d"2A"$54;;t$$d**r>   c                     [         R                  " U 5      n [        U [        5      (       a  [        R
                  " U SSS5      $ [        R
                  " U SSS5      $ )NrU   rV      .r   r   r   )rD   rE   r8   r9   rc   	_splitextrk   s    r<   r   r      sJ    
		!A!U$$QtT::$$Qc377r>   c                     [        U 5      S   $ r   r   r   s    r<   r   r          8A;r>   c                     [        U 5      S   $ )Nr   r   r   s    r<   r   r     r   r>   )_getvolumepathnamec                 r   [         R                  " U 5      n [        U 5      n[        U 5      n [	        U 5      u  p#nU(       a  US   U;   a  U(       + $ U(       a  U(       d  g[
        (       aL  U R                  U5      n[        U 5      R                  U5      nUR                  5       UR                  5       :H  $ g)Nr   TF)rD   rE   r=   r"   r   r   r   casefold)r;   rf   rq   rr   restxys          r<   r   r     s     99T?DD4=D!$EqT!xDKKd#**40zz|qzz|++r>       >	   "r	   r   rx   <>?r   |>   AUXCONNULPRNCONIN$CONOUT$u   123456789¹²³COMLPTc                     [         R                  " [        U 5      S   5      R                  [        [
        5      n [        S [        U R                  [
        5      5       5       5      $ )Nr{   c              3   8   #    U  H  n[        U5      v   M     g 7frp   )_isreservedname).0names     r<   	<genexpr>isreserved.<locals>.<genexpr><  s     K1Jt$$1Js   )	rD   rR   r   rI   r(   r%   anyreversedr   r:   s    r<   r   r   7  sF     ;;yq)*2263?DK$**S/1JKKKr>   c                     U SS  S;   a  U S;  $ [         R                  U 5      (       a  gU R                  S5      S   R                  S5      R	                  5       [
        ;   $ )Nr_   )r    )r   r   Tr   r   r   )_reserved_charsintersection	partitionr   r}   _reserved_names)r   s    r<   r   r   >  sb     BCyJ;&& ##D)) >>#q!((-335HHr>   c                 N   [         R                  " U 5      n [        U [        5      (       a  SnSnOSnSnU R	                  U5      (       d  U $ S[        U 5      pCX4:  a  X   U;  a  US-  nX4:  a
  X   U;  a  M  S[         R                  ;   a  [         R                  S   nOSS[         R                  ;  a  U $ [         R                  R                  SS	5      n[        U[         R                  S   5      nUS:w  az  U SU n[        U[        5      (       a  [         R                  " U5      n[         R                  R                  S
5      nXx:w  a&  U[        U5      :w  a  U $ [        [        U5      U5      n[        U [        5      (       a  [         R                  " U5      nXPUS  -   $ )Nr6      ~r7   ~rZ   USERPROFILEHOMEPATH	HOMEDRIVErz   USERNAME)rD   rE   r8   r9   r[   r   environgetr   rR   r   r   rQ   )	r;   rf   tilder   nuserhomerq   target_usercurrent_users	            r<   r   r   W  sb    99T?D$??5!!c$iq
%DG4'	Q %DG4' 

"::m,	2::	%

{B/rzz*56Av1Qik5))++k2Kzz~~j1& x11GH-{;H$;;x(12hr>   c                 &   [         R                  " U 5      n [        U [        5      (       aT  SU ;  a  SU ;  a  U $ SS Kn[        UR
                  UR                  -   S-   S5      nSnSnSnSnSn[        [         S	S 5      nOHS
U ;  a  SU ;  a  U $ SS KnUR
                  UR                  -   S-   nSnSnSnSnS
n[         R                  nU S S n	Sn
[        U 5      nX:  Ga  X
U
S-    nX:X  a3  X
S-   S  n [        U 5      n U R                  U5      n
XU S U
S-    -   -  n	GOX:X  a  X
S-   U
S-    U:X  a  X-  n	U
S-  n
GOX
S-   S  n [        U 5      n U R                  U5      n
U S U
 n Uc<  [         R                  " [         R                  [         R                  " U5         5      nOX   n X-  n	GO5X:X  Ga+  X
S-   U
S-    U:X  a  X-  n	U
S-  n
GOX
S-   U
S-    U:X  as  X
S-   S  n [        U 5      n U R                  U5      n
U S U
 n Uc<  [         R                  " [         R                  [         R                  " U5         5      nOX   n X-  n	OU S S nU
S-  n
X
U
S-    nU(       a#  X;   a  X-  nU
S-  n
X
U
S-    nU(       a  X;   a  M   Uc<  [         R                  " [         R                  [         R                  " U5         5      nOX   n X-  n	U(       a  U
S-  n
OX-  n	U
S-  n
X:  a  GM  U	$ ! [         a    XU -   -  n	US-
  n
 N'f = f! [         a    XM-   U-   n GNzf = f! [         a    XU -   -  n	US-
  n
 N[f = f! [         a    Xu-   U-   U-   n GNf = f! [         a    XU-   U -   -  n	US-
  n
 Nf = f! [         a    X}-   n Nf = f)N   $   %r   z_-ascii   '   {   }environb$%'{}rZ   r{   )rD   rE   r8   r9   stringascii_lettersdigitsgetattrr   r   r   
ValueErrorrQ   rR   KeyError)r;   r   varcharsquotepercentbracerbracedollarr   resr   pathlencvarvalues                  r<   r    r      s
    99T?D$tD 0K--=DgN"j$/d?s$K''&--7$>**
r(CE$iG
/uQw:	
#D$iG$

14
+++ \AIeai(G3
!GH~d)! JJw/E
 v,C8"?$&KK

2;;s;K0L$ME$+LE LC[AIeai(F2
ai	*e3!GH~d)! JJv.E
 v,C>"?$&KK

2;;s;K0L$ME$+LE LC2Ah
uqy)AMHCQJE519-A AM) "BJJr{{37G,H I ' QJEHC
W /X JI  $4x!$, $ 8 ' 78 " (T>)C#aKE(@ $ > & 4v => " (E>D00C#aKE(4   )"LE)s~   ?K5 L) '>L &L 1M  >M M >M? M? 5LLL&%L&)MMMM M<;M<?NN)_path_normpathc                 :   [         R                  " U 5      n [        U [        5      (       a	  SnSnSnSnOSnSnSnSnU R	                  X!5      n [        U 5      u  pVn XV-   nU R                  U5      nS	n	U	[        U5      :  ai  X   (       a  X   U:X  a  X	 ODX   U:X  a7  U	S	:  a  XS
-
     U:w  a  XS
-
  U	S
-   2	 U	S
-  n	OU	S	:X  a
  U(       a  X	 OU	S
-  n	OU	S
-  n	U	[        U5      :  a  Mi  U(       d  U(       d  UR                  U5        XqR                  U5      -   $ )NrU   rV   r      ..r   r   r   r   r   rZ   )
rD   rE   r8   r9   rI   r   r   r   appendr   )
r;   r%   r(   r#   r$   rq   rr   prefixcompsr   s
             r<   r!   r!     s    yydE""CFFFCFFF||F(%dOT

3#e*n8ux61HV#q5UQ3Z61c!A#gFA!VFAQ #e*n eLL ''r>   )_getfullpathnamec                     [        [        U 5      5      $ ! [        [        4 a     Of = f[        R
                  " U 5      n [        U 5      (       d  [        U [        5      (       a  Sn[        R                  nOSn[        R                  n[        U 5      u  p4n U(       d  U(       a6   [        [        X4-   5      U 5      n O.! [        [        4 a
    X1-   U -   n  Of = f[        U" 5       U 5      n [        U 5      $ )NrU   r   )r   r!   OSErrorr   rD   rE   r   r8   r9   getcwdbgetcwdr   r   )r;   r%   r   rq   rr   s        r<   r"   r"   =  s    	#HTN33$ 		 yyT{{$&& )$E. 0 >ED, . ;-D. FHd+~s    )))C CCc                     [         R                  " U 5      n [        U 5      (       dK  [        U [        5      (       a  [         R
                  " 5       nO[         R                  " 5       n[        X5      n [        U 5      $ rp   )	rD   rE   r   r8   r9   r   r   r   r!   )r;   cwds     r<   r"   r"   1  sN    yyT{{$&&jjliik?D~r>   )_findfirstfile_getfinalpathnamereadlinkc                    Sn[        5       n[        U 5      U;  a|  UR                  [        U 5      5         U n[        U 5      n [	        U 5      (       d3  [        U5      (       d  Un  U $ [        [        [        U5      U 5      5      n [        U 5      U;  a  M|  U $ ! U a  nUR                  U;   a   S nAU $ e S nAf[         a     U $ f = f)N)rZ   r{   rY         r   2   C   W   i&  i(  i)  )setr
   add_nt_readlinkr   r   r!   r   r   winerrorr   )r;   ignored_errorallowed_winerrorseenold_pathexs         r<   _readlink_deepr  _  s     LutnD(HHXd^$#D) T{{ "(++'  $D):D$ABD tnD(,  ! ;;"22
 	  s)   /B )B C B76B77CCc                 "   SnU S S nU (       a    [        U 5      n U(       a  [        X5      $ U $ U$ ! U a  nUR                  U;  a  e  [        U US9nXP:w  a  U(       a  [        XS5      OUs S nA$ O! U a     Of = fUR                  S;   a3   [	        U 5      n[        U 5      u  pO&! U a    [        U 5      u  p Of = f[        U 5      u  pU (       a  U(       d	  X-   s S nA$ U(       a  [        Xc5      OUn S nAOS nAff = fU (       a  GM  N)N)rZ   r{   rY   r   r   r   r   5   A   r   r   {      i      r   r   )rZ   r   r   r   r   r
  r  )r   r   r   r  r   r   )r;   r   r   rs   r  new_pathr   _s           r<   _getfinalpathname_nonstrictr    s   & ^ BQx:(.+/tD'9T96 5 ! :;;&66
  .d<I KH'7;tH3I ($  ;;"@@1-d3"'+a( 1%*4[
d1 "'tJD;&+/tD'T3:	 dsr   1 1 DC>	"A2+D1C>2A;8C>:A;;C>B('C>(B>;C>=B>>!C>D%C>>DF)strictc                   [        U 5      n [        U [        5      (       a.  SnSnSn[        R                  " 5       nSn[        U 5      U:X  a  gO-SnSnSn[        R                  " 5       nS	n[        U 5      U:X  a  g
U R                  U5      nU[        L a	  [        nSnOU(       a  SnO[        nU(       d  [        U 5      (       d  [        XP5      n  [        U 5      n Sn	U(       d_  U R                  U5      (       aI  U R                  U5      (       a  X@[%        U5      S  -   nOU [%        U5      S  n [        U5      U :X  a  Un U $ U $ ! [         a1  n
U(       a  [        [        U
5      5      S e[        U 5      n  S n
A
NS n
A
fU a   n
U
R                   n	[#        U US9n  S n
A
NS n
A
ff = f! [         a  n
 S n
A
U $ S n
A
f[         a  n
U
R                   W	:X  a  Un  S n
A
U $ S n
A
ff = f)Ns   \\?\rw   rW   s   nuls   \\.\NULz\\?\ry   rX   r   z\\.\NULT r   r  )r!   r8   r9   rD   r   r
   r   r[   r4   FileNotFoundErrorr   r   r   r   r   strr   r  r   )r;   r  r   r   new_unc_prefixr   r*   
had_prefixr   initial_winerrorr  spaths               r<   r+   r+     s   ~dE""F(J$N**,CG~($ ) F'J#N))+CG~(#__V,
]"-MFM#M%++?D	L$T*D   doof55 z**&c*o.>)??S[\*!$U+t3 D tG  	"
 c"g&D0D>D 	L!{{.t=JLD	L$      ! ;;"22 D!sB   E 2F) 
F&'E==	F&F!!F&)
G#9G#GG#c                    [        U 5      $ rp   )r"   )r;   r  s     r<   r+   r+   \  s    t}r>   Tc                 6   [         R                  " U 5      n U (       d  [        S5      e[        U [        5      (       a  SnSnSnOSnSnSnUc  UnO[         R                  " U5      n [        U5      n[        U 5      n[        U5      u  pxn	[        U5      u  pn[        U5      [        U
5      :w  a  [        SU
< S	U< 35      eU	(       a  U	R                  U5      O/ nU(       a  UR                  U5      O/ nS
n[        X5       H%  u  nn[        U5      [        U5      :w  a    O	US-  nM'     U/[        U5      U-
  -  XS  -   nU(       d  U$ UR                  U5      $ ! [        [        [        [        [        4 a    [         R"                  " SX5        e f = f)Nzno path specifiedrU   r   r   r   r   r   zpath is on mount z, start on mount r   rZ   r-   )rD   rE   r   r8   r9   r"   r   r
   r   zipr   r   r`   ra   rb   DeprecationWarningrc   rd   )r;   r   r%   r#   r$   	start_abspath_absstart_driver  
start_rest
path_drive	path_rest
start_list	path_listr   e1e2rel_lists                     r<   r-   r-     s   99T?D,--$}		% EN	4=%.y%9"
#,X#6 
yK HZ$88K) * * /9Z%%c*b
,5IOOC(2	*0FB|x|+FA 1
 8s:q01IbMAMxx!!z><AST $$Y<s   (C&E  E   8Fc           
         [        [        [        R                  U 5      5      n U (       d  [	        S5      e[        U S   [        5      (       a  SnSnSnOSnSnSn U  Vs/ s H+  n[        UR                  X!5      R                  5       5      PM-     nnU VVVs/ s H  u  pgoDR                  U5      PM     nnnn[        U VVVs1 s H  u  pgoFiM	     snnn5      S	:w  a  [	        S
5      e[        U S   R                  X!5      5      u  pn[        U VVVs1 s H  u  pgoGiM	     snnn5      S	:w  a  U	(       a  [	        S5      e[	        S5      eUR                  U5      nU Vs/ s H  o(       d  M  X:w  d  M  UPM     nnU VVs/ s H$  o Vs/ s H  o(       d  M  X:w  d  M  UPM     snPM&     nnn[        U5      n[        U5      n[        U5       H  u  nnUUU   :w  d  M  US U n  O   US [        U5       nX-   UR                  U5      -   $ s  snf s  snnnf s  snnnf s  snnnf s  snf s  snf s  snnf ! [         ["        4 a    [$        R&                  " S/U Q76   e f = f)Nz%commonpath() arg is an empty iterabler   rU   rV   r   r   r   r   rZ   zPaths don't have the same drivez%Can't mix absolute and relative pathsz%Can't mix rooted and not-rooted pathsr1   )tuplemaprD   rE   r   r8   r9   r   rI   rS   r   r   minmax	enumerater   r`   ra   rc   rd   )re   r%   r(   r#   rk   drivesplitsr   r   split_pathsrq   rr   r;   commonr   rN   s1s2r   s                     r<   r1   r1   F  s/   #bii'(E@AA%(E""!JOP%Qy6!7!=!=!?@%P3>?;awws|;?
 -gaA-.!3>??%eAh&6&6v&CDT-gaA-.!3 !HII !HIIC#9Vq!Q[!V9DOPKq1:1aak1:KPbMDAqBqEz "
 HSW%F|chhv...; Q?
 . . ::P ~& $$\:E:s   H=  2HH= H7H= HAH= H&%?H= $
H-2H-9H-?H= 	H7
H2H2$H2*H711H= &,H= H= 2H77H= =)I&)_path_isdir)_path_isfile)_path_islink)_path_isjunction)_path_exists)_path_lexists)_path_isdevdrivec                 L     [        [        U 5      5      $ ! [         a     gf = f)NF)r9  r"   r   r:   s    r<   r3   r3     s(    	#GDM22 		s    
##rp   )Jr#   r$   r)   r%   r&   r(   r'   r*   rD   rF   rc   __all__r=   _winapir?   rJ   r@   rK   rA   rL   r
   ImportErrorr   r   r   ntrt   r   r   r   r   __doc__r   r   r   r   	frozensetrangechrr   r   r   r   r   r    r   r!   r   r"   r   r   r   r   r   r  r  r+   r,   r-   r1   r3  r   r4  r   r5  r   r6  r2   r7  r   r8  r   r9  r3   )r   r   s   00r<   <module>rC     s|   
		

	

 	 
  *!,- -
8<B&)^.-#2h+*8 ((00 
%( 2YYSVY23
 5/0/1s1#Y/01/0/1s1#Y/01LI2,xj`&(-R)#6oNN ,3 (T 9@ 6p "' FT " ,r0f	 ())1)+
	#M  	,,	,N  +#*#+#V  .   10d  #("(#(T  
	
T  !& R	  		  		s   E E /E/ E>+F
F
'F .F 8
F+  $F> 	G
 	EE	E,+E,/E;:E;	FF	F('F(+F;:F;>GG
GG