403Webshell
Server IP : 127.0.0.1  /  Your IP : 216.73.216.109
Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64
User : SERVERWEB ( 0)
PHP Version : 8.1.10
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : OFF |  Perl : OFF |  Python : OFF |  Sudo : OFF |  Pkexec : OFF
Directory :  C:/cygwin64/lib/python3.9/urllib/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : C:/cygwin64/lib/python3.9/urllib/__pycache__/parse.cpython-39.opt-2.pyc
a

]	dG��@s�ddlZddlZddlZddlZddlZgd�Zgd�Zgd�Zgd�Zgd�Z	gd�Z
gd�Zd	Zgd
�Z
dZiZdd
�ZdZdZdd�Zeefdd�Zeefdd�Zdd�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�dee�ZGd d!�d!ee�Zdd"lmZed#d$�Zed%d&�Zed'd(�Z d)e_!d*ej"_!d+ej#_!d,e_!d-ej$_!d.ej%_!d/ej&_!d0ej'_!d1ej#_!d2e _!ej$j!e j$_!ej%j!e j%_!ej&j!e j&_!d3e j(_!ej'j!e j'_!ej#j!e j#_!eZ)Gd4d#�d#ee�Z*Gd5d%�d%ee�Z+Gd6d'�d'e e�Z,Gd7d8�d8ee�Z-Gd9d:�d:ee�Z.Gd;d<�d<e e�Z/d=d>�Z0e0�[0d�dAdB�Z1dCdD�Z2d�dEdF�Z3dGdH�Z4d�dIdJ�Z5dKdL�Z6dMdN�Z7d�dOdP�Z8dQdR�Z9dSZ:da;dTdU�Z<e�=dV�Z>d�dYdZ�Z?d�d]d^�Z@d�d_d`�ZAd�dadb�ZBeCdc�ZDeEeD�ZFiZGGddde�deejH�ZId�dgdh�ZJd�didj�ZKd�dkdl�ZLd[d?ddeKfdmdn�ZMdodp�ZNdqdr�ZOdsdt�ZPdudv�ZQdaRdwdx�ZSdydz�ZTdaUd{d|�ZVd}d~�ZWdd��ZXd�d��ZYd�d��ZZd�d��Z[da\d�d��Z]d�d�d��Z^d�d�d��Z_d�d��Z`d�d��Zad�d��Zbd�d��Zcd�d��Zdd�d��Zed�d��Zfd�d��ZgdS)��N)�urlparse�
urlunparse�urljoin�	urldefrag�urlsplit�
urlunsplit�	urlencode�parse_qs�	parse_qsl�quote�
quote_plus�quote_from_bytes�unquote�unquote_plus�unquote_to_bytes�DefragResult�ParseResult�SplitResult�DefragResultBytes�ParseResultBytes�SplitResultBytes)��ftp�http�gopher�nntp�imap�wais�file�https�shttp�mms�prospero�rtsp�rtspu�sftp�svn�svn+ssh�ws�wss)rrrrr�telnetrrrr!rr �snewsr"r#r$�rsyncr&r'r%�nfs�gitzgit+sshr(r))rr�hdlr"rrrr r#r$�sip�sipsr!r%�tel)
rr/�mailto�newsr*rrr+r0r1)rrrrrr r!rr#r$r0r1)
rrr/rrr4rrrr r+rr"zAabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-.)�	�
�
�cCst��t��dS�N)�_parse_cache�clear�
_safe_quoters�r=r=�"/usr/lib/python3.9/urllib/parse.py�clear_cacheXsr?�ascii�strictcCs|Sr9r=)�objr=r=r>�_noopgsrCcCs|�||�Sr9��encode)rB�encoding�errorsr=r=r>�_encode_resultjsrHcst��fdd�|D��S)Nc3s"|]}|r|����ndVqdS)rN��decode��.0�x�rFrGr=r>�	<genexpr>p�z_decode_args.<locals>.<genexpr>)�tuple)�argsrFrGr=rNr>�_decode_argsnsrScGsVt|dt�}|dd�D]}|rt|t�|krtd��q|rH|tfSt|�tfS)Nr�z$Cannot mix str and non-str arguments)�
isinstance�str�	TypeErrorrCrSrH)rR�	str_input�argr=r=r>�_coerce_argsrs

rZc@seZdZdZddd�ZdS)�_ResultMixinStrr=r@rAcs|j��fdd�|D��S)Nc3s|]}|����VqdSr9rDrKrNr=r>rO�rPz)_ResultMixinStr.encode.<locals>.<genexpr>)�_encoded_counterpart��selfrFrGr=rNr>rE�sz_ResultMixinStr.encodeN)r@rA)�__name__�
__module__�__qualname__�	__slots__rEr=r=r=r>r[�sr[c@seZdZdZddd�ZdS)�_ResultMixinBytesr=r@rAcs|j��fdd�|D��S)Nc3s|]}|����VqdSr9rIrKrNr=r>rO�rPz+_ResultMixinBytes.decode.<locals>.<genexpr>)�_decoded_counterpartr]r=rNr>rJ�sz_ResultMixinBytes.decodeN)r@rA)r_r`rarbrJr=r=r=r>rc�srcc@sJeZdZdZedd��Zedd��Zedd��Zedd	��Ze	e
j�Zd
S)�_NetlocResultMixinBaser=cCs
|jdS)Nr��	_userinfo�r^r=r=r>�username�sz_NetlocResultMixinBase.usernamecCs
|jdS)NrTrfrhr=r=r>�password�sz_NetlocResultMixinBase.passwordcCsD|jd}|sdSt|t�r dnd}|�|�\}}}|��||S)Nr�%�%)�	_hostinforUrV�	partition�lower)r^�hostname�	separator�percent�zoner=r=r>rp�s
z_NetlocResultMixinBase.hostnamecCsj|jd}|durfzt|d�}Wn&tyFd|��}t|�d�Yn0d|kr\dksfntd��|S)NrT�
z+Port could not be cast to integer value as ri��zPort out of range 0-65535)rm�int�
ValueError)r^�port�messager=r=r>rw�s

z_NetlocResultMixinBase.portN)
r_r`rarb�propertyrirjrprw�classmethod�types�GenericAlias�__class_getitem__r=r=r=r>re�s




rec@s(eZdZdZedd��Zedd��ZdS)�_NetlocResultMixinStrr=cCsD|j}|�d�\}}}|r4|�d�\}}}|s<d}nd}}||fS)N�@�:��netloc�
rpartitionrn�r^r��userinfo�	have_info�hostinfori�
have_passwordrjr=r=r>rg�sz_NetlocResultMixinStr._userinfocCsl|j}|�d�\}}}|�d�\}}}|rL|�d�\}}}|�d�\}}}n|�d�\}}}|sdd}||fS)Nr�[�]r�r��r^r��_r��have_open_br�	bracketedrprwr=r=r>rm�sz_NetlocResultMixinStr._hostinfoN�r_r`rarbryrgrmr=r=r=r>r~�s

r~c@s(eZdZdZedd��Zedd��ZdS)�_NetlocResultMixinBytesr=cCsD|j}|�d�\}}}|r4|�d�\}}}|s<d}nd}}||fS)N�@�:r�r�r=r=r>rg�sz!_NetlocResultMixinBytes._userinfocCsl|j}|�d�\}}}|�d�\}}}|rL|�d�\}}}|�d�\}}}n|�d�\}}}|sdd}||fS)Nr��[�]r�r�r�r=r=r>rm�sz!_NetlocResultMixinBytes._hostinfoNr�r=r=r=r>r��s

r�)�
namedtuplerzurl fragmentrz!scheme netloc path query fragmentrz(scheme netloc path params query fragmentz�
DefragResult(url, fragment)

A 2-tuple that contains the url without fragment identifier and the fragment
identifier as a separate argument.
z$The URL with no fragment identifier.z�
Fragment identifier separated from URL, that allows indirect identification of a
secondary resource by reference to a primary resource and additional identifying
information.
z�
SplitResult(scheme, netloc, path, query, fragment)

A 5-tuple that contains the different components of a URL. Similar to
ParseResult, but does not split params.
z%Specifies URL scheme for the request.z0
Network location where the request is made to.
z@
The hierarchical path, such as the path to a file to download.
z�
The query component, that contains non-hierarchical data, that along with data
in path component, identifies a resource in the scope of URI's scheme and
network location.
z�
Fragment identifier, that allows indirect identification of a secondary resource
by reference to a primary resource and additional identifying information.
zq
ParseResult(scheme, netloc, path, params, query, fragment)

A 6-tuple that contains components of a parsed URL.
z�
Parameters for last path element used to dereference the URI in order to provide
access to perform some operation on the resource.
c@seZdZdZdd�ZdS)rr=cCs |jr|jd|jS|jSdS�N�#��fragment�urlrhr=r=r>�geturlCszDefragResult.geturlN�r_r`rarbr�r=r=r=r>rAsc@seZdZdZdd�ZdS)rr=cCst|�Sr9�rrhr=r=r>r�KszSplitResult.geturlNr�r=r=r=r>rIsc@seZdZdZdd�ZdS)rr=cCst|�Sr9�rrhr=r=r>r�PszParseResult.geturlNr�r=r=r=r>rNsc@seZdZdZdd�ZdS)rr=cCs |jr|jd|jS|jSdS)N�#r�rhr=r=r>r�VszDefragResultBytes.geturlNr�r=r=r=r>rTsrc@seZdZdZdd�ZdS)rr=cCst|�Sr9r�rhr=r=r>r�^szSplitResultBytes.geturlNr�r=r=r=r>r\src@seZdZdZdd�ZdS)rr=cCst|�Sr9r�rhr=r=r>r�cszParseResultBytes.geturlNr�r=r=r=r>rasrcCs4ttfttfttff}|D]\}}||_||_qdSr9)rrrrrrr\rd)Z
_result_pairsZ_decodedZ_encodedr=r=r>�_fix_result_transcodinggs�r�rTc
Csft||�\}}}t|||�}|\}}}}}|tvrHd|vrHt|�\}}nd}t||||||�}	||	�S)N�;r)rZr�uses_params�_splitparamsr)
r��scheme�allow_fragments�_coerce_result�splitresultr��queryr��params�resultr=r=r>rtsrcCsRd|vr,|�d|�d��}|dkr6|dfSn
|�d�}|d|�||dd�fS)N�/r�rrrT)�find�rfind)r��ir=r=r>r��s

r�cCsHt|�}dD]"}|�||�}|dkrt||�}q|||�||d�fS)Nz/?#r)�lenr��min)r��start�delim�c�wdelimr=r=r>�_splitnetloc�sr�cCs�|r|��rdSddl}|�dd�}|�dd�}|�dd�}|�dd�}|�d|�}||kr`dSdD] }||vrdtd	|d
d��qddS)Nrrrr�r��?�NFKCz/?#@:znetloc 'z' contains invalid z#characters under NFKC normalization)�isascii�unicodedata�replace�	normalizerv)r�r��n�netloc2r�r=r=r>�_checknetloc�s�r�c
Cs�t||�\}}}tD]}|�|d�}|�|d�}qt|�}|||t|�t|�f}t�|d�}|rh||�Stt�tkrzt	�d}}}	|�
d�}
|
dkr�|d|
�D]}|tvr�q�q�|d|
���||
dd�}}|dd�dk�r(t
|d�\}}d|v�rd|v�s d|v�r(d|v�r(td	��|�rHd
|v�rH|�d
d�\}}	d|v�rb|�dd�\}}t|�t|||||	�}|t|<||�S)Nrr�rrT��//r�r�zInvalid IPv6 URLr�r�)rZ�_UNSAFE_URL_BYTES_TO_REMOVEr��bool�typer:�getr��MAX_CACHE_SIZEr?r��scheme_charsror�rv�splitr�r)
r�r�r�r��b�key�cachedr�r�r�r�r��vr=r=r>r�sD
"��
rcCs<t|�\}}}}}}}|r&d||f}|t|||||f��S)Nz%s;%s)rZr)�
componentsr�r�r�r�r�r�r�r=r=r>r�s
�rcCs�t|�\}}}}}}|s4|r`|tvr`|dd�dkr`|rP|dd�dkrPd|}d|pXd|}|rp|d|}|r�|d|}|r�|d|}||�S)	Nr�r�rTr�rr�r�r�)rZ�uses_netloc)r�r�r�r�r�r�r�r=r=r>r�s� rc	Cs�|s|S|s|St||�\}}}t|d|�\}}}}}}	t|||�\}
}}}
}}|
|ks`|
tvrh||�S|
tvr�|r�|t|
|||
||f��S|}|s�|
s�|}|}
|s�|}|t|
|||
||f��S|�d�}|ddkr�|d=|dd�dkr�|�d�}n(||�d�}td|dd��|dd�<g}|D]N}|dk�rZz|��Wnt�yVYn0n|dk�rj�q(n
|�	|��q(|ddv�r�|�	d�|t|
|d�
|��p�d|
||f��S)Nrr����rT�..�.)r�r�)rZr�
uses_relativer�rr��filter�pop�
IndexError�append�join)�baser�r�r��bscheme�bnetloc�bpath�bparams�bquery�	bfragmentr�r��pathr�r�r��
base_parts�segments�
resolved_path�segr=r=r>rsb
�
�
�
�



��rc	CsTt|�\}}d|vr>t|�\}}}}}}t|||||df�}nd}|}|t||��S)Nr�r)rZrrr)	r�r��sr��p�a�q�frag�defragr=r=r>rQsr�0123456789ABCDEFabcdefc	Cs�|s|jdSt|t�r"|�d�}|�d�}t|�dkr<|S|dg}|j}tdurbdd�tD�a|dd�D]P}z(|t|dd��||dd��Wqnty�|d�||�Yqn0qnd�	|�S)	NrP�utf-8rlrTrcSs.i|]&}tD]}||��t�||��qqSr=)�_hexdigrE�bytes�fromhex)rLr�r�r=r=r>�
<dictcomp>ws
�z$unquote_to_bytes.<locals>.<dictcomp>r�)
r�rUrVrEr�r��
_hextobyter��KeyErrorr�)�string�bits�resr��itemr=r=r>rds,



�rz([-]+)r�r�cCs�t|t�rt|��||�Sd|vr,|j|S|dur8d}|durDd}t�|�}|dg}|j}tdt|�d�D],}|t||��||��|||d�qnd�	|�S)Nrkr�r�rrTr�r)
rUr�rrJr��_asciirer��ranger�r�)r�rFrGr�r�r�r�r=r=r>r�s 



rF�&c	CsNi}t|||||||d�}|D]*\}	}
|	|vr>||	�|
�q|
g||	<q|S)N)rFrG�max_num_fieldsrq)r
r�)�qs�keep_blank_values�strict_parsingrFrGr�rq�
parsed_result�pairs�name�valuer=r=r>r	�s�r	cCs.t|�\}}t|�\}}|r*t|ttf�s2td��|durXd|�|�}	||	krXtd��dd�|�|�D�}
g}|
D]�}|s�|s�qt|�dd�}
t|
�dkr�|r�td|f��|rt|
�d	�nqtt|
d�s�|rt|
d
�	dd�}t
|||d
�}||�}|
d�	dd�}t
|||d
�}||�}|�||f�qt|S)Nz*Separator must be of type string or bytes.rTzMax number of fields exceededcSsg|]}|�qSr=r=)rL�s1r=r=r>�
<listcomp>�rPzparse_qsl.<locals>.<listcomp>�=r�zbad query field: %rrr�+� rN)rZrUrVr�rv�countr�r�r�r�r)r�r�r�rFrGr�rqr�r��
num_fieldsr��r�
name_value�nvr�r�r=r=r>r
�s:r
cCs|�dd�}t|||�S)Nrr)r�r)r�rFrGr=r=r>r
srsBABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.-~c@s$eZdZdd�Zdd�Zdd�ZdS)�QuotercCst�|�|_dSr9)�_ALWAYS_SAFE�union�safe)r^r
r=r=r>�__init__%szQuoter.__init__cCsd|jjt|�fS)Nz<%s %r>)�	__class__r_�dictrhr=r=r>�__repr__)szQuoter.__repr__cCs(||jvrt|�nd�|�}|||<|S)Nz%{:02X})r
�chr�format)r^r�r�r=r=r>�__missing__-szQuoter.__missing__N)r_r`rarrrr=r=r=r>r
sr
r�cCsbt|t�r8|s|S|durd}|dur*d}|�||�}n |durHtd��|durXtd��t||�S)Nr�rAz,quote() doesn't support 'encoding' for bytesz*quote() doesn't support 'errors' for bytes)rUrVrErWr
)r�r
rFrGr=r=r>r3s'
rcCsdt|t�rd|vs$t|t�r2d|vr2t||||�St|t�rBd}nd}t|||||�}|�dd�S)Nr� r)rUrVr�rr�)r�r
rFrG�spacer=r=r>ris��
rcs�t|ttf�std��|sdSt|t�r6|�dd�}ntdd�|D��}|�t|�s^|��Szt	|�Wn$t
y�t|�jt	|<�Yn0d�
�fdd�|D��S)Nz!quote_from_bytes() expected bytesrr@�ignorecSsg|]}|dkr|�qS)�r=)rLr�r=r=r>r�rPz$quote_from_bytes.<locals>.<listcomp>csg|]}�|��qSr=r=)rL�char��quoterr=r>r�rP)rUr��	bytearrayrWrVrE�rstrip�_ALWAYS_SAFE_BYTESrJr<r�r
�__getitem__r�)�bsr
r=rr>r
zs
r
c	Cst|d�r|��}nNzt|�r0t|dt�s0t�Wn.ty`t��\}}}td��|��Yn0g}	|s�|D]j\}
}t|
t	�r�||
|�}
n|t
|
�|||�}
t|t	�r�|||�}n|t
|�|||�}|	�|
d|�qn�n |D�]\}
}t|
t	��r||
|�}
n|t
|
�|||�}
t|t	��r@|||�}|	�|
d|�q�t|t
��rn|||||�}|	�|
d|�q�zt|�}Wn8t�y�|t
|�|||�}|	�|
d|�Yq�0|D]B}
t|
t	��r�||
|�}
n|t
|
�|||�}
|	�|
d|
��q�q�d�|	�S)N�itemsrz1not a valid non-string sequence or mapping objectrr�)
�hasattrr!r�rUrQrW�sys�exc_info�with_tracebackr�rVr�r�)r��doseqr
rFrG�	quote_via�ty�va�tb�l�kr�rM�eltr=r=r>r�sR

�



rcCstjdtdd�t|�S)Nz/urllib.parse.to_bytes() is deprecated as of 3.8r���
stacklevel)�warnings�warn�DeprecationWarning�	_to_bytes�r�r=r=r>�to_bytes�s�r5cCsHt|t�rDz|�d���}Wn&tyBtdt|�d��Yn0|S)N�ASCIIzURL z contains non-ASCII characters)rUrVrErJ�UnicodeError�reprr4r=r=r>r3�s
�r3cCs`t|���}|dd�dkr<|dd�dkr<|dd���}|dd�dkr\|dd���}|S)NrT�<r��>�zURL:)rV�stripr4r=r=r>�unwrap�s r=cCstjdtdd�t|�S)NzUurllib.parse.splittype() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�r.)r0r1r2�
_splittyper4r=r=r>�	splittypes�r?cCsDtdurt�dtj�at�|�}|r<|��\}}|��|fSd|fS)Nz
([^/:]+):(.*))�	_typeprog�re�compile�DOTALL�match�groupsro)r�rDr��datar=r=r>r>
s
r>cCstjdtdd�t|�S)NzUurllib.parse.splithost() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�r.)r0r1r2�
_splithostr4r=r=r>�	splithosts�rHcCsXtdurt�dtj�at�|�}|rP|��\}}|rH|ddkrHd|}||fSd|fS)Nz//([^/#?]*)(.*)rr�)�	_hostprogrArBrCrDrE)r�rD�	host_portr�r=r=r>rGs
rGcCstjdtdd�t|�S)NzUurllib.parse.splituser() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�r.)r0r1r2�
_splituser��hostr=r=r>�	splituser.s�rNcCs |�d�\}}}|r|nd|fS)Nr�r�)rM�userr�r=r=r>rK5srKcCstjdtdd�t|�S)NzWurllib.parse.splitpasswd() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�r.)r0r1r2�_splitpasswd)rPr=r=r>�splitpasswd;s�rRcCs |�d�\}}}||r|ndfS�Nr��rn)rPr��passwdr=r=r>rQBsrQcCstjdtdd�t|�S)NzUurllib.parse.splitport() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�r.)r0r1r2�
_splitportrLr=r=r>�	splitportHs�rWcCsDtdurt�dtj�at�|�}|r<|��\}}|r<||fS|dfS)Nz
(.*):([0-9]*))�	_portprogrArBrC�	fullmatchrE)rMrDrwr=r=r>rVQs
rVr�cCstjdtdd�t||�S)NzVurllib.parse.splitnport() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�r.)r0r1r2�_splitnport)rM�defportr=r=r>�
splitnport_s�r\cCsR|�d�\}}}|s|}n0|rJzt|�}Wnty@d}Yn0||fS||fSrS)r�rurv)rMr[r�rw�nportr=r=r>rZfs
rZcCstjdtdd�t|�S)NzVurllib.parse.splitquery() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�r.)r0r1r2�_splitqueryr4r=r=r>�
splitqueryws�r_cCs$|�d�\}}}|r||fS|dfS)Nr�rO)r�r�r�r�r=r=r>r^~sr^cCstjdtdd�t|�S)NzTurllib.parse.splittag() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�r.)r0r1r2�	_splittagr4r=r=r>�splittag�s�racCs$|�d�\}}}|r||fS|dfSr�rO)r�r�r��tagr=r=r>r`�sr`cCstjdtdd�t|�S)NzUurllib.parse.splitattr() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�r.)r0r1r2�
_splitattrr4r=r=r>�	splitattr�s�rdcCs|�d�}|d|dd�fS)Nr�rrT)r�)r��wordsr=r=r>rc�s
rccCstjdtdd�t|�S)NzWurllib.parse.splitvalue() is deprecated as of 3.8, use urllib.parse.parse_qsl() insteadr�r.)r0r1r2�_splitvalue)�attrr=r=r>�
splitvalue�s�rhcCs |�d�\}}}||r|ndfS)NrrT)rgr�r�r=r=r>rf�srf)rT)r)rT)T)r�r�)FFr�r�Nr�)FFr�r�Nr�)r�r�)r�NN)rNN)r�)r�)r�)hrAr#r{�collectionsr0�__all__r�r�r��non_hierarchical�
uses_query�
uses_fragmentr�r�r�r:r?�_implicit_encoding�_implicit_errorsrCrHrSrZ�objectr[rcrer~r�r��_DefragResultBase�_SplitResultBase�_ParseResultBase�__doc__r�r�r�r�r�r�r��
ResultBaserrrrrrr�rr�r�r�rrrrrr�r�rrBr�rr	r
r�	frozensetrr�rr<�defaultdictr
rrr
rr5r3r=r?r@r>rHrIrGrNrKrRrQrWrXrVr\rZr_r^rar`rdrcrhrfr=r=r=r>�<module>s��
�
'
��

	

9
E

�
*�
C
	
6

�
Q





Youez - 2016 - github.com/yon3zu
LinuXploit