CasperSecurity

Current Path : /lib/python3.10/__pycache__/
Upload File :
Current File : //lib/python3.10/__pycache__/ntpath.cpython-310.pyc

o

`�wi�k�@sdZdZdZdZdZdZdZdZdZdd	l	Z	dd	l
Z
dd	lZdd	lZdd
lTgd�Z
dd
�ZzddlmZmZmZdd�ZWn
eyKdd�ZYnwdd�Zdd�Zdd�Zdd�Zdd�Zejje_dd�Zdd�Zd d!�Z d"d#�Z!zdd$l"m#Z#Wney�d	Z#Ynwd%d&�Z$d'd(�Z%d)Z&d	a'd	a(d*d+�Z)d,d-�Z*d.d/�Z+zdd0l"m,Z,Wney�e+Z-Ynwd1d2�Z-z
dd3l"m.Z.m/Z0Wney�e-Z1Ynwd4d5�Z2d6d7�Z3d8d9�d:d;�Z1e4e
d<�o�e
�5�d=d>kZ6dDd?d@�Z7dAdB�Z8z	ddCl"m9Z:Wd	Se�y
Yd	Sw)Ez�Common pathname manipulations, WindowsNT/95 version.

Instead of importing this module directly, import os and refer to this
module as os.path.
�.�..�\�;�/z.;C:\bin�nul�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�rdSdS)N�\/�\/)�
isinstance�bytes��path�r5�/usr/lib/python3.10/ntpath.py�
_get_bothseps#s
r7)�
LCMapStringEx�LOCALE_NAME_INVARIANT�LCMAP_LOWERCASEcCsdt�|�}|s	|St|t�r(t��}|�|d��dd�}tt	t
|�}|�|d�Stt	t
|�dd��S)�nNormalize case of pathname.

        Makes all characters lowercase and all slashes into backslashes.
        �surrogateescaperr)�os�fspathr1r2�sys�getfilesystemencoding�decode�replace�_LCMapStringEx�_LOCALE_NAME_INVARIANT�_LCMAP_LOWERCASE�encode)�s�encodingr5r5r6r	3s

�
�r	cCs@t�|�}t|t�rt�t�|��dd����S|�dd���S)r;rr)r=r>r1r2�fsencode�fsdecoderB�lower�rGr5r5r6r	Fs

cCsjt�|�}t|t�r|�dd��d�rdSn|�dd��d�r!dSt|�d}t|�d	ko4|d	t|�vS)
zTest whether a path is absolute�/�\�\\?\Trr�\\?\�r)	r=r>r1r2rB�
startswithr�lenr7rLr5r5r6r
Ws

�r
c

Gs@t�|�}t|t�rd}d}d}nd}d}d}zs|s"|dd�|t|�\}}ttj|�D]>}t|�\}}	|	rG|	d|vrG|sB|sD|}|	}q.|r\||kr\|��|��krZ|}|	}q.|}|rh|d|vrh||}||	}q.|r�|d|vr�|r�|dd�|kr�|||WS||WSttt	fy�t
jd	|g|�R��w)
NrNr/�:rr0�:r���r)r=r>r1r2r�maprK�	TypeError�AttributeError�BytesWarning�genericpath�_check_arg_types)
r4�pathsr"�seps�colon�result_drive�result_path�p�p_drive�p_pathr5r5r6rgsL


�
�rcCst�|�}t|�dkr�t|t�rd}d}d}nd}d}d}|�||�}|dd�|dkrq|dd	�|krq|�|d�}|d
krG|dd�|fS|�||d�}||dkr]|dd�|fS|d
kret|�}|d|�||d�fS|dd�|kr�|dd�|dd�fS|dd�|fS)
a�Split a pathname into drive/UNC sharepoint and relative path specifiers.
    Returns a 2-tuple (drive_or_unc, path); either part may be empty.

    If you assign
        result = splitdrive(p)
    It is always true that:
        result[0] + result[1] == p

    If the path contained a drive letter, drive_or_unc will contain everything
    up to and including the colon.  e.g. splitdrive("c:/dir") returns ("c:", "/dir")

    If the path contained a UNC path, the drive_or_unc will contain the host name
    and share up to but not including the fourth directory separator character.
    e.g. splitdrive("//host/computer/dir") returns ("//host/computer", "/dir")

    Paths cannot contain both a drive letter and a UNC path.

    �rNrMrTrrrUr�rVNrQ)r=r>rSr1r2rB�find)rbr"r%r_�normp�index�index2r5r5r6r�s.

$rcCs�t�|�}t|�}t|�\}}t|�}|r+||d|vr+|d8}|r+||d|vs|d|�||d�}}|�|�p>|}|||fS)z~Split a pathname.

    Return tuple (head, tail) where tail is everything after the final slash.
    Either part may be empty.rQN)r=r>r7rrS�rstrip)rbr^�d�i�head�tailr5r5r6r
�s
�r
cCs4t�|�}t|t�rt�|ddd�St�|ddd�S)NrNrM�.rrr)r=r>r1r2r[�	_splitext�rbr5r5r6r�s

rcC�t|�dS)z)Returns the final component of a pathnamerQ�r
rrr5r5r6r��rcCrs)z-Returns the directory component of a pathnamerrtrrr5r5r6r�rurc
Cs6zt�|�}Wn
tttfyYdSwt�|j�S)zhTest whether a path is a symbolic link.
    This will always return false for Windows prior to 6.0.
    F)r=�lstat�OSError�
ValueErrorrY�stat�S_ISLNK�st_mode�r4�str5r5r6r�s�rc	Cs*zt�|�}WdSttfyYdSw)zCTest whether a path exists.  Returns True for broken symbolic linksFT)r=rvrwrxr|r5r5r6r
s��r)�_getvolumepathnamecCspt�|�}t|�}t|�}t|�\}}|r"|d|vr"|p!||vS||vr(dStr6|�|�t|��|�kSdS)zaTest whether a path is a mount point (a drive root, the root of a
    share, or a mounted volume)rTF)r=r>r7rrr~rk)r4r^�root�restr5r5r6r s
rcCsJt�|�}t|t�r
d}nd}|�|�s|Sdt|�}}||kr9||t|�vr9|d7}||kr9||t|�vs)dtjvrDtjd}n"dtjvrK|Sztjd}Wnty]d}Ynwt	|tjd�}|dkr�|d|�}t|t�rzt�
|�}tj�d�}||kr�|t|�kr�|St	t
|�|�}t|t�r�t�|�}|||d	�S)
zLExpand ~ and ~user constructs.

    If user or $HOME is unknown, do nothing.�~�~rQ�USERPROFILE�HOMEPATH�	HOMEDRIVE��USERNAMEN)r=r>r1r2rRrSr7�environ�KeyErrorrrJ�getrrrI)r4�tilderm�n�userhome�drive�target_user�current_userr5r5r6r;s@


�

�



rz.'[^']*'?|%(%|[^%]*%?)|\$(\$|[-\w]+|\{[^}]*\}?)cs�t�|�}t|t�r5d|vrd|vr|Sts$ddl}|�t��|j	�j
at}d�d�d�d�ttdd��n%d|vr?d	|vr?|StsMddl}|�t|j	�j
at}d	�d
�d�d�tj
������fdd
�}|||�S)zfExpand shell variables of the forms $var, ${var} and %var%.

    Unknown variables are left unchanged.�$�%rN�{�}�environb�$�%�{�}cs�|j}|dur|dS||}|dkr)|�kr|S|���s"|dS|dd�}n|�kr/|S|���rC|���s=|dS|dd�}z�durTt�tjt�|��WS�|WStye|dYSw)NrrQrV)�	lastindex�endswithrRr=rIr�rJr�)�mr��name��brace�dollarr��percent�rbracer5r6�repl�s.



�zexpandvars.<locals>.repl)r=r>r1r2�_varsubb�re�compile�_varpatternrF�ASCII�sub�getattr�_varsubr�)r4r�r�r�r5r�r6r|s4


rc	CsNt�|�}t|t�rd}d}d}d}d}n
d}d}d}d	}d
}|�|�r&|S|�||�}t|�\}}|�|�r@||7}|�|�}|�|�}d}|t	|�kr�||rW|||kr[||=n6|||kr�|dkr{||d|kr{||d|d�=|d8}n|dkr�|�
|�r�||=n	|d7}n|d7}|t	|�ksM|s�|s�|�|�||�|�S)
z0Normalize path, eliminating double slashes, etc.rNrMrp�..)s\\.\rOrrrr)z\\.\rPrrQ)
r=r>r1r2rRrBr�lstripr
rSr��appendr)	r4r"r%r r!�special_prefixes�prefix�compsrmr5r5r6r�sH







�
rcCs@t�|�}t|�st|t�rt��}nt��}t||�}t|�S)z�Return the absolute version of a path as a fallback function in case
    `nt._getfullpathname` is not available or raises OSError. See bpo-31047 for
    more.

    )	r=r>r
r1r2�getcwdb�getcwdrr)r4�cwdr5r5r6�_abspath_fallback�s



r�)�_getfullpathnamec	Cs.ztt|��WSttfyt|�YSw)z&Return the absolute version of a path.)rr�rwrxr�r3r5r5r6rs
�r)�_getfinalpathname�readlinkc
Cs�d}t�}t|�|vrY|�t|��z|}t|�}t|�s/t|�s&|}W|Sttt|�|��}Wn"t	yI}z
|j
|vrDWYd}~|S�d}~wtyRY|Swt|�|vs|S)N)rQrerf��� �2�C�Wi&i(i))�setr	�add�_nt_readlinkr
rrrrrw�winerrorrx)r4�allowed_winerror�seen�old_path�exr5r5r6�_readlink_deeps4	��

����r�cCs�d}d}|rqzt|�}|rt||�WS|WStyn}zM|j|vr#�zt|�}||kr<|r3t||�n|WWYd}~SWn	tyFYnwt|�\}}|r[|s[||WYd}~S|rbt||�n|}WYd}~nd}~ww|s|S)N)rQrerfr�r�r�r��5�Ar�r��{�i�i�r�)r�rrwr�r�r
)r4r�ror��new_pathr�r5r5r6�_getfinalpathname_nonstrict>s2
 �����r�F)�strictc

Csvt|�}t|t�r!d}d}d}t��}t|�tt�t��kr dSnd}d}d}t��}t|�tt�kr5dS|�	|�}|sEt
|�sEt||�}zt|�}d	}Wnt
yi}z|rX�|j}t|�}WYd}~nd}~ww|s�|�	|�r�|�	|�r�||t|�d�}	n|t|�d�}	zt|	�|kr�|	}W|SW|St
y�}z|j|kr�|	}WYd}~|SWYd}~|Sd}~ww|S)
NrOs\\?\UNC\s\\s\\.\NULrPz\\?\UNC\z\\z\\.\NULr)rr1r2r=r�r	rIr'r�rRr
rr�rwr�r�rS)
r4r�r��
unc_prefix�new_unc_prefixr��
had_prefix�initial_winerrorr��spathr5r5r6r(os^
�

��
��

���r(�getwindowsversionrfrecCsXt�|�}t|t�rd}d}d}nd}d}d}|dur|}|s#td��t�|�}zott|��}tt|��}t|�\}}t|�\}	}
t|�t|	�krQtd	|	|f��d
d�|�	|�D�}dd�|
�	|�D�}d
}
t
||�D]\}}t|�t|�krzn|
d7}
ql|gt|�|
||
d�}|s�|WSt|�WSt
ttttfy�t�d||��w)z#Return a relative version of a pathrNrpr�rrrNzno path specifiedz&path is on mount %r, start on mount %rcS�g|]}|r|�qSr5r5��.0�xr5r5r6�
<listcomp>��zrelpath.<locals>.<listcomp>cSr�r5r5r�r5r5r6r��r�rrQr*)r=r>r1r2rxrrrr	r
�ziprSrrXrYrZ�DeprecationWarningr[r\)r4�startr"r r!�	start_abs�path_abs�start_drive�
start_rest�
path_drive�	path_rest�
start_list�	path_listrm�e1�e2�rel_listr5r5r6r*�sJ


�

�r*c	s�|std��tttj|��}t|dt�rd�d�d�nd�d�d�z���fd	d
�|D�}�fdd
�|D�}zt�fdd
�|D��\}WntyPtd�d�wttdd
�|D���dkrbtd��t	|d�
����\}}|���}�fdd
�|D�}�fdd
�|D�}t|�}t
|�}t|�D]\}	}
|
||	kr�|d|	�}n	q�|dt|��}|r�|�n|}|��|�WSttfy�tjdg|�R��w)zDGiven a sequence of path names, returns the longest common sub-path.z%commonpath() arg is an empty sequencerrNrMrprrrcs g|]}t|��������qSr5)rrBrK)r�rb)r%r"r5r6r��s zcommonpath.<locals>.<listcomp>csg|]	\}}|����qSr5rt�r�rlrb�r"r5r6r��sc3s$�|]
\}}|dd��kVqdS)NrQr5r�r�r5r6�	<genexpr>�s�"zcommonpath.<locals>.<genexpr>z%Can't mix absolute and relative pathsNcss�|]\}}|VqdS�Nr5r�r5r5r6r��s�rQzPaths don't have the same drivec�g|]
}|r|�kr|�qSr5r5�r��c�r r5r6r���csg|]}�fdd�|D��qS)cr�r5r5r�r�r5r6r�r�z)commonpath.<locals>.<listcomp>.<listcomp>r5)r�rGr�r5r6r�sr.)rx�tuplerWr=r>r1r2r�rSrrBr
�min�max�	enumeraterrXrYr[r\)r]�drivesplits�split_pathsr
r�r4�common�s1�s2rmr�r�r5)r%r r"r6r.�sL
�
��r.)�_isdirr�);�__doc__r r!r&r"r#r%r$r'r=r?ryr[�__all__r7�_winapir8rCr9rDr:rEr	�ImportErrorr
rrr
rrqrrrr�ntr~rrr�r�r�rrr�r�rr�r�r�r(r�r��hasattrr�r)r*r.r�rr5r5r5r6�<module>s�	
�/8
�=A2��*1
4�
84�
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY