grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a XC?hcnã@sêdZdZdZdZdZdZdZdZddlZddl Z ddl Z ddl Z dd l Tgd ¢Z d d „Z d d„Zdd„Zdd„Zdd„Zdd„Zdd„Ze jje_dd„Zdd„Zdd„Zdd „Zzdd!lmZWneyØdZYn0d"d#„Zd$d%„Zd&d'„Zd(d)„Z d*d+„Z!zdd,lm"Z"Wne�y*e!Z#Yn 0d-d.„Z#zdd/lm$Z$m%Z&Wn"e�yjd0d1œd2d3„Z'Yn(0e(fd4d5„Z)e(fd6d7„Z*d0d1œd8d3„Z'e+e d9ƒ�o¬e  ,¡d:d;kZ-dAdd?„Z/zdd@lm0Z1Wne�yäYn0dS)BÚ.ú..ú\ú;ú/z.;C:\binZnuléN)Ú*)'ÚnormcaseÚisabsÚjoinÚ splitdriveÚsplitÚsplitextÚbasenameÚdirnameÚ commonprefixÚgetsizeÚgetmtimeÚgetatimeÚgetctimeÚislinkÚexistsÚlexistsÚisdirÚisfileÚismountÚ expanduserÚ expandvarsÚnormpathÚabspathÚcurdirÚpardirÚsepÚpathsepÚdefpathÚaltsepÚextsepÚdevnullÚrealpathÚsupports_unicode_filenamesÚrelpathÚsamefileÚ sameopenfileÚsamestatÚ commonpathÚ ALLOW_MISSINGcCst|tƒrdSdSdS)Nó\/ú\/)Ú isinstanceÚbytes©Úpath©r5ú+/opt/alt/python39/lib64/python3.9/ntpath.pyÚ _get_bothseps#s r7cCs8t |¡}t|tƒr$| dd¡ ¡S| dd¡ ¡SdS)Nó/ó\rr)ÚosÚfspathr1r2ÚreplaceÚlower©Úsr5r5r6r-s  rcCsjt |¡}t|tƒr,| dd¡ d¡rBdSn| dd¡ d¡rBdSt|ƒd}t|ƒd koh|d t|ƒvS) Nr8r9ó\\?\Trrú\\?\ér) r:r;r1r2r<Ú startswithr Úlenr7r>r5r5r6r >s   r c GsTt |¡}t|tƒr"d}d}d}n d}d}d}zð|sD|dd…|t|ƒ\}}ttj|ƒD]~}t|ƒ\}} | r�| d|vr�|s„|sˆ|}| }q\n*|rº||krº| ¡| ¡kr¶|}| }q\|}|rÒ|d|vrÒ||}|| }q\|�r|d|v�r|�r|dd…|k�r|||WS||WSttt f�yNt j d |g|¢RŽ‚Yn0dS) Nr9r/ó:rr0ú:réÿÿÿÿr ) r:r;r1r2r Úmapr=Ú TypeErrorÚAttributeErrorÚ BytesWarningÚ genericpathÚ_check_arg_types) r4Úpathsr!ÚsepsÚcolonZ result_driveZ result_pathÚpZp_driveZp_pathr5r5r6r NsL      ÿÿ r cCst |¡}t|ƒdk�rt|tƒr0d}d}d}n d}d}d}| ||¡}|dd…|dkrä|dd …|krä| |d¡}|d kr�|dd…|fS| ||d ¡}||d kr¼|dd…|fS|d krÌt|ƒ}|d|…||d…fS|d d…|k�r|dd…|dd…fS|dd…|fS) Nér9r8rErrrFrérGrB)r:r;rDr1r2r<Úfind)rQr!r$rPZnormpÚindexZindex2r5r5r6r }s.   $  r cCsxt |¡}t|ƒ}t|ƒ\}}t|ƒ}|rD||d|vrD|d8}q&|d|…||d…}}| |¡pj|}|||fS©NrB)r:r;r7r rDÚrstrip)rQrOÚdÚiÚheadÚtailr5r5r6r µs   r cCs8t |¡}t|tƒr$t |ddd¡St |ddd¡SdS)Nr9r8ó.rrr)r:r;r1r2rLÚ _splitext©rQr5r5r6r Ìs  r cCs t|ƒdSrV©r r^r5r5r6r×srcCs t|ƒdS)Nrr_r^r5r5r6rÞsrc Cs6zt |¡}Wntttfy(YdS0t |j¡S)NF)r:ÚlstatÚOSErrorÚ ValueErrorrJÚstatÚS_ISLNKÚst_mode©r4Ústr5r5r6rås rc Cs,zt |¡}Wnttfy&YdS0dS)NFT)r:r`rarbrfr5r5r6rñs r)Ú_getvolumepathnamecCstt |¡}t|ƒ}t|ƒ}t|ƒ\}}|rD|d|vrD| pB||vS||vrPdStrl| |¡t|ƒ |¡kSdSdS)NrTF)r:r;r7rr rhrW)r4rOÚrootÚrestr5r5r6rs  rcCsøt |¡}t|tƒrd}nd}| |¡s,|Sdt|ƒ}}||kr\||t|ƒvr\|d7}q:dtjvrrtjd}nDdtjvr€|Sztjd}Wnty¤d}Yn0t |tjdƒ}t|tƒrÊt  |¡}|dkrèt t |ƒ|d|…ƒ}|||d…S)Nó~ú~rBZ USERPROFILEZHOMEPATHZ HOMEDRIVEÚ) r:r;r1r2rCrDr7ÚenvironÚKeyErrorr Úfsencoder)r4ÚtilderYÚnÚuserhomeÚdriver5r5r6r"s.           rcCs&t |¡}t|tƒrhd|vr(d|vr(|Sddl}t|j|jddƒ}d}d}d}d}d}ttd dƒ}nFd |vr|d |vr||Sddl}|j|jd}d }d }d }d}d }tj}|dd…} d} t |ƒ} | | k�r"|| | d…} | |k�rV|| dd…}t |ƒ} z&|  | ¡} | | |d| d…7} Wn(t �yP| | |7} | d} Yn0�nÂ| |k�rD|| d| d…|k�rŒ| | 7} | d7} n´|| dd…}t |ƒ} z|  |¡} Wn(t �yÚ| ||7} | d} Ynf0|d| …} z.|du�r t  tjt  | ¡¡}n|| }Wn t�y6|| |}Yn0| |7} �nÔ| |k�r|| d| d…|k�r|| | 7} | d7} �q|| d| d…|k�rT|| dd…}t |ƒ} z|  |¡} Wn,t �yè| |||7} | d} Ynj0|d| …} z.|du�rt  tjt  | ¡¡}n|| }Wn$t�yH||| |}Yn0| |7} nº|dd…} | d7} || | d…} | �r¬| |v�r¬| | 7} | d7} || | d…} �qxz.|du�rÐt  tjt  | ¡¡}n|| }Wnt�yö|| }Yn0| |7} | �r| d8} n| | 7} | d7} qÆ| S)Nó$ó%rz_-Úasciió'ó{ó}Úenvironbú$ú%ú'Ú{Ú}rBrR)r:r;r1r2ÚstringZ ascii_lettersZdigitsÚgetattrrnrDrUrbrpÚfsdecodero)r4r�ZvarcharsZquoteZpercentZbraceZrbraceZdollarrnÚresrUZpathlenÚcÚvarÚvaluer5r5r6rRs¼                         rc CsPt |¡}t|tƒr*d}d}d}d}d}nd}d}d}d }d }| |¡rL|S| ||¡}t|ƒ\}}| |¡r€||7}| |¡}| |¡}d }|t |ƒk�r,||r°|||kr¸||=qŽ|||k�r"|d krú||d |krú||d |d …=|d 8}n&|d k�r|  |¡�r||=n|d 7}qŽ|d 7}qŽ|�sB|�sB|  |¡||  |¡S) Nr9r8r\ó..)s\\.\r@rrrr)z\\.\rArrB) r:r;r1r2rCr<r Úlstripr rDÚendswithÚappendr ) r4r!r$rr Zspecial_prefixesÚprefixÚcompsrYr5r5r6rÃsF             rcCs@t |¡}t|ƒs8t|tƒr&t ¡}nt ¡}t||ƒ}t|ƒS©N) r:r;r r1r2ÚgetcwdbÚgetcwdr r)r4Úcwdr5r5r6Ú_abspath_fallbackõs    r’)Ú_getfullpathnamec Cs2ztt|ƒƒWSttfy,t|ƒYS0dSrŽ)rr“rarbr’r3r5r5r6r sr)Ú_getfinalpathnameÚreadlinkF)ÚstrictcCst|ƒSrŽ)r)r4r–r5r5r6r'sr'c Cs¶d}tƒ}t|ƒ|vr²| t|ƒ¡z:|}t|ƒ}t|ƒs\t|ƒsJ|}Wq²ttt|ƒ|ƒƒ}Wq |yš}z$|j |vr„WYd}~q²‚WYd}~q d}~0t y®Yq²Yq 0q |S)N) rBrRrSééé é2éCéWi&i(i)) ÚsetrÚaddÚ _nt_readlinkr rrr rÚwinerrorrb)r4Ú ignored_errorÚallowed_winerrorÚseenZold_pathÚexr5r5r6Ú_readlink_deeps&     r¥c Csæd}d}|râzt|ƒ}|r$t||ƒn|WS|yÞ}zž|j|vrD‚z8t||d�}||krz|rht||ƒn|WWYd}~SWn|yŽYn0t|ƒ\}}|r¸|s¸||WYd}~S|rÆt||ƒn|}WYd}~qd}~00q|S)N) rBrRrSr—r˜r™ršr›rœé{i€i�rm©r¡)r”r r r¥r )r4r¡r¢r[r¤Únew_pathÚnamer5r5r6Ú_getfinalpathname_nonstrictEs, ÿ$  *rªc Csˆt|ƒ}t|tƒrBd}d}d}t ¡}t|ƒtt t¡ƒkrjdSn(d}d}d}t ¡}t|ƒttƒkrjdS|  |¡}|t ur†t }d }n|r�d }nt }|sªt |ƒsªt||ƒ}zt|ƒ}d }Wn6|yð} z| j}t||d �}WYd} ~ n d} ~ 00|�s„|  |¡�r„|  |¡�r&||t|ƒd…} n|t|ƒd…} zt| ƒ|k�rJ| }Wn6t �y‚} z| j|k�rn| }WYd} ~ n d} ~ 00|S) Nr@s\\?\UNC\s\\s\\.\NULrAz\\?\UNC\z\\z\\.\NULTr5rr§)rr1r2r:r�rrpr&r�rCr.ÚFileNotFoundErrorrar r r”r rªrD) r4r–rŒZ unc_prefixZnew_unc_prefixr‘Z had_prefixr¡Zinitial_winerrorr¤Zspathr5r5r6r'tsT    ÿ  ÚgetwindowsversionrSrRc Csdt |¡}t|tƒr"d}d}d}n d}d}d}|dur:|}|sFtdƒ‚t |¡}zàtt|ƒƒ}tt|ƒƒ}t|ƒ\}}t|ƒ\} } t|ƒt| ƒkr¢td| |fƒ‚d d „|  |¡Dƒ} d d „|   |¡Dƒ} d } t | | ƒD]$\}}t|ƒt|ƒkrôqþ| d 7} qØ|gt | ƒ| | | d…}|�s(|WSt |ŽWSt ttttf�y^t d||¡‚Yn0dS)Nr9r\rˆrrrzno path specifiedz&path is on mount %r, start on mount %rcSsg|] }|r|‘qSr5r5©Ú.0Úxr5r5r6Ú Ïózrelpath..cSsg|] }|r|‘qSr5r5r­r5r5r6r°Ðr±rrBr))r:r;r1r2rbrrr rr ÚziprDr rIrJrKÚDeprecationWarningrLrM)r4Ústartr!rr Z start_absZpath_absZ start_driveZ start_restZ path_driveZ path_restÚ start_listÚ path_listrYZe1Ze2Úrel_listr5r5r6r)³sH       ÿ  r)c s¶|s tdƒ‚tttj|ƒƒ}t|dtƒr8d‰d‰d‰n d‰d‰d‰�z>‡‡fd d „|Dƒ}‡fd d „|Dƒ}zt‡fd d „|Dƒƒ\}Wnty¦tdƒd‚Yn0ttdd „|DƒƒƒdkrÊtdƒ‚t |d  ˆˆ¡ƒ\}}|  ˆ¡}‡fdd „|Dƒ}‡fdd „|Dƒ}t |ƒ}t |ƒ}t|ƒD]*\} } | || k�r(|d| …}�qd�q(|dt|ƒ…}|�rr|ˆn|} | ˆ |¡WSttf�y°tjdg|¢RŽ‚Yn0dS)Nz%commonpath() arg is an empty sequencerr9r8r\rrrcs g|]}t| ˆˆ¡ ¡ƒ‘qSr5)r r<r=)r®rQ)r$r!r5r6r°ür±zcommonpath..csg|]\}}| ˆ¡‘qSr5r_©r®rXrQ©r!r5r6r°ýr±c3s"|]\}}|dd…ˆkVqdSrVr5r¸r¹r5r6Ú r±zcommonpath..z%Can't mix absolute and relative pathscss|]\}}|VqdSrŽr5r¸r5r5r6rºr±rBzPaths don't have the same drivecsg|]}|r|ˆkr|‘qSr5r5©r®r…©rr5r6r° r±csg|]}‡fdd„|Dƒ‘qS)csg|]}|r|ˆkr|‘qSr5r5r»r¼r5r6r°r±z)commonpath...r5)r®r?r¼r5r6r°r±r-)rbÚtuplerHr:r;r1r2r�rDr r<r ÚminÚmaxÚ enumerater rIrJrLrM) rNZ drivesplitsÚ split_pathsr rtr4ÚcommonÚs1Ús2rYr…rŒr5)r$rr!r6r-ësF    r-)Ú_isdir)N)2rr r%r!r"r$r#r&r:ÚsysrcrLÚ__all__r7rr r r r r r]Ú__doc__rrrrÚntrhÚ ImportErrorrrrrr’r“rr”r•rŸr'rar¥rªÚhasattrr¬r(r)r-rÅrr5r5r5r6Ú sn  /8    0q2  * /< ÿ 84