grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026B ’«¼¥âb»ã&@s0dZdZdZdZdZdZdZdZddlZddl Z ddl Z ddl Z dd l Td d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/g&Z d0d1„Z d2d „Zd3d „Zd4d „Zd5d „Zd6d„Zd7d„Ze jje_d8d„Zd9d„Zd:d„Zd;d„Zyddd„Zd?d„Zd@d„Z dAdB„Z!yddClm"Z"Wnek �rxe!Z#Yn XdDd „Z#e#Z$e%e dEƒ�o e  &¡dFdGkZ'dOdHd+„Z(dId/„Z)y,e  &¡ddG…dJk�rÚddKlm*Z*ne‚Wn"e+efk �rdLdM„Z*YnXyddNlm,Z-Wnek �r*YnXdS)PÚ.z..ú\ú;ú/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Ú commonpathcCst|tƒrdSdSdS)Ns\/z\/)Ú isinstanceÚbytes)Úpath©r0ú+/opt/alt/python37/lib64/python3.7/ntpath.pyÚ _get_bothseps"s r2c Csxt |¡}y.t|tƒr&| dd¡ ¡S| dd¡ ¡SWn:ttfk rrt|ttfƒsltd|j j ƒd‚‚YnXdS)Nó/ó\rrz0normcase() argument must be str or bytes, not %r) ÚosÚfspathr-r.ÚreplaceÚlowerÚ TypeErrorÚAttributeErrorÚstrÚ __class__Ú__name__)Úsr0r0r1r,s  cCs2t |¡}t|ƒd}t|ƒdko0|dt|ƒkS)Nér)r5r6r Úlenr2)r>r0r0r1rCs  c GsTt |¡}t|tƒr"d}d}d}n d}d}d}yð|sD|dd…|t|ƒ\}}xŽttj|ƒD]~}t|ƒ\}} | r’| d|kr’|s†|sŠ|}| }q^n*|r¼||kr¼| ¡| ¡kr¸|}| }q^|}|rÔ|d|krÔ||}|| }q^W|�r|d|k�r|�r|dd…|k�r|||S||Sttt fk �rNt j d |f|žŽ‚YnXdS) Nr4s\/ó:rz\/ú:réÿÿÿÿr ) r5r6r-r.r Úmapr8r9r:Ú BytesWarningÚ genericpathÚ_check_arg_types) r/Úpathsr ÚsepsÚcolonZ result_driveZ result_pathÚpZp_driveZp_pathr0r0r1r KsF       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ér4r3rArrrBrérCr?)r5r6r@r-r.r7Úfind)rKr r#rJZnormpÚindexZindex2r0r0r1r zs.   $  cCs|t |¡}t|ƒ}t|ƒ\}}t|ƒ}x |rF||d|krF|d8}q(W|d|…||d…}}| |¡pn|}|||fS)Nr?)r5r6r2r r@Úrstrip)rKrIÚdÚiÚheadÚtailr0r0r1r ²s   cCs8t |¡}t|tƒr$t |ddd¡St |ddd¡SdS)Nr4r3ó.rrr)r5r6r-r.rFÚ _splitext)rKr0r0r1r És  cCs t|ƒdS)Nr?)r )rKr0r0r1r ÔscCs t|ƒdS)Nr)r )rKr0r0r1rÛsc Cs4yt |¡}Wnttfk r&dSXt |j¡S)NF)r5ÚlstatÚOSErrorr:ÚstatÚS_ISLNKÚst_mode)r/Ústr0r0r1râs cCs(yt |¡}Wntk r"dSXdS)NFT)r5rWrX)r/r\r0r0r1rîs )Ú_getvolumepathnamecCstt |¡}t|ƒ}t|ƒ}t|ƒ\}}|rD|d|krD| pB||kS||krPdStrl| |¡t|ƒ |¡kSdSdS)NrTF)r5r6r2rr r]rP)r/rIÚrootÚrestr0r0r1rs  cCst |¡}t|tƒrd}nd}| |¡s,|Sdt|ƒ}}x$||kr^||t|ƒkr^|d7}q4szrelpath..cSsg|] }|r|‘qSr0r0)rŒr�r0r0r1rŽ5srr?r()r5r6r-r.r{rrr rr Úzipr@r r9r:rEÚDeprecationWarningrFrG)r/Ústartr rrZ start_absZpath_absZ start_driveZ start_restZ path_driveZ path_restÚ start_listÚ path_listrRZe1Ze2Úrel_listr0r0r1r(sF         c s´|s tdƒ‚tttj|ƒƒ}t|dtƒr8d‰d‰d‰n d‰d‰d‰�y>‡‡fd d „|Dƒ}‡fd d „|Dƒ}yt‡fd d „|Dƒƒ\}Wntk r¨tdƒd‚YnXttdd „|DƒƒƒdkrÌtdƒ‚t |d  ˆˆ¡ƒ\}}|  ˆ¡}‡fdd „|Dƒ}‡fdd „|Dƒ}t |ƒ}t |ƒ}xBt|ƒD]&\} } | || k�r,|d| …}P�q,W|dt|ƒ…}|�rt|ˆn|} | ˆ |¡Sttfk �r®tjd|žŽ‚YnXdS)Nz%commonpath() arg is an empty sequencerr4r3rUrrrcs g|]}t| ˆˆ¡ ¡ƒ‘qSr0)r r7r8)rŒrK)r#r r0r1rŽaszcommonpath..csg|]\}}| ˆ¡‘qSr0)r )rŒrQrK)r r0r1rŽbsc3s"|]\}}|dd…ˆkVqdS)Nr?r0)rŒrQrK)r r0r1ú eszcommonpath..z%Can't mix absolute and relative pathscss|]\}}|VqdS)Nr0)rŒrQrKr0r0r1r•lsr?zPaths don't have the same drivecsg|]}|r|ˆkr|‘qSr0r0)rŒr~)rr0r1rŽqscsg|]}‡fdd„|Dƒ‘qS)csg|]}|r|ˆkr|‘qSr0r0)rŒr~)rr0r1rŽssz)commonpath...r0)rŒr>)rr0r1rŽssr,)r,)r{ÚtuplerDr5r6r-r.Úsetr@r r7r ÚminÚmaxÚ enumerater r9r:rFrG) rHZ drivesplitsÚ split_pathsrrkr/ÚcommonÚs1Ús2rRr~r„r0)r#rr r1r,PsF  )ér)Ú_getfinalpathnamecCs tt|ƒƒS)N)rr)Úfr0r0r1r ‘sr )Ú_isdir)N).rrr$r r!r#r"r%r5ÚsysrYrFÚ__all__r2rrr r r r rVÚ__doc__r rrrÚntr]Ú ImportErrorrrrrr‰rŠrr&Úhasattrr‹r'r(r,r r:r¢rr0r0r0r1Ú sx       /8   2q1   85