???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................U
    &.e                     @   s  d dl Z d dlZd dlZd dlZd dlZdddddddd	d
ddddddddddddgZdddddddddd d!d"d#d$d%d&d'd(d)gZdddddd*dddd!dd d+d"d#d$d,d&d'd%d-d.d/d(d)gZddd0d"dddd d#d$d1d2d!d%d3gZdd0d4d5d*ddd+d1d2g
Z	dddddd d!dd#d$d1d2gZ
ddd0ddd5dddd d+dd"gZd6Zd7Zd8d9d:gZd;Zi Zd<d= Zd>Zd?Zd@dA ZeefdBdCZeefdDdEZdFdG ZG dHdI dIeZG dJdK dKeZG dLdM dMeZG dNdO dOeeZG dPdQ dQeeZd dRlmZ eddSZeddTZ eddUZ!dVe_"dWej#_"dXej$_"dYe _"dZe j%_"d[e j&_"d\e j'_"d]e j(_"d^e j$_"d_e!_"e j%j"e!j%_"e j&j"e!j&_"e j'j"e!j'_"d`e!j)_"e j(j"e!j(_"e j$j"e!j$_"eZ*G dad deeZ+G dbd de eZ,G dcd de!eZ-G ddd deeZ.G ded de eZ/G dfd de!eZ0dgdh Z1e1  [1ddjdZ2dkdl Z3ddmdnZ4dodp Z5dqdr Z6ddsdZ7dtd Z8dud Z9ddvdZ:dwd Z;dxZ<da=dyd Z>e ?dzZ@dd}dZAddd	ZBG dd deCZDdZEdaFddd
ZGdddZHeIdZJeKeJZLi ZMG dd dejNZOdddZPdddZQdddZRd~dddeQfddZSdd ZTdd ZUdd ZVdd ZWdaXdd ZYdd ZZda[dd Z\dd Z]dd Z^dd Z_dd Z`dd Zadabdd ZcdddZddddZedd Zfdd Zgdd Zhdd Zidd Zjdd Zkdd Zldd ZmdS )    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 ZftphttpZgopherZnntpZimapZwaisfileZhttpsZshttpZmmsZprosperoZrtspZrtspuZsftpZsvnzsvn+sshZwsZwssZtelnetZsnewsZrsyncZnfsZgitzgit+sshZhdlZsipZsipsZtelZmailtoZnewszAabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-.z! 	
 	
   c                   C   s   t   t  d S N)_parse_cacheclear_safe_quoters r"   r"   $/usr/lib64/python3.8/urllib/parse.pyclear_cache`   s    r$   asciistrictc                 C   s   | S r   r"   )objr"   r"   r#   _noopo   s    r(   c                 C   s   |  ||S r   encode)r'   encodingerrorsr"   r"   r#   _encode_resultr   s    r-   c                    s   t  fdd| D S )Nc                 3   s"   | ]}|r|  nd V  qdS )r   Ndecode.0xr+   r,   r"   r#   	<genexpr>x   s     z_decode_args.<locals>.<genexpr>)tuple)argsr+   r,   r"   r3   r#   _decode_argsv   s    r7   c                  G   sV   t | d t}| dd  D ]}|rt |t|krtdq|rH| tf S t| tf S )Nr      z$Cannot mix str and non-str arguments)
isinstancestr	TypeErrorr(   r7   r-   )r6   Z	str_inputargr"   r"   r#   _coerce_argsz   s    

r=   c                   @   s   e Zd ZdZdddZdS )_ResultMixinStrr"   r%   r&   c                    s   | j  fdd| D  S )Nc                 3   s   | ]}|  V  qd S r   r)   r0   r3   r"   r#   r4      s     z)_ResultMixinStr.encode.<locals>.<genexpr>)_encoded_counterpartselfr+   r,   r"   r3   r#   r*      s    z_ResultMixinStr.encodeN)r%   r&   )__name__
__module____qualname__	__slots__r*   r"   r"   r"   r#   r>      s   r>   c                   @   s   e Zd ZdZdddZdS )_ResultMixinBytesr"   r%   r&   c                    s   | j  fdd| D  S )Nc                 3   s   | ]}|  V  qd S r   r.   r0   r3   r"   r#   r4      s     z+_ResultMixinBytes.decode.<locals>.<genexpr>)_decoded_counterpartr@   r"   r3   r#   r/      s    z_ResultMixinBytes.decodeN)r%   r&   )rB   rC   rD   rE   r/   r"   r"   r"   r#   rF      s   rF   c                   @   s@   e Zd ZdZedd Zedd Zedd Zedd	 Zd
S )_NetlocResultMixinBaser"   c                 C   s
   | j d S )Nr   	_userinforA   r"   r"   r#   username   s    z_NetlocResultMixinBase.usernamec                 C   s
   | j d S )Nr8   rI   rK   r"   r"   r#   password   s    z_NetlocResultMixinBase.passwordc                 C   sD   | j d }|sd S t|tr dnd}||\}}}| | | S )Nr   %   %)	_hostinfor9   r:   	partitionlower)rA   hostname	separatorZpercentZzoner"   r"   r#   rS      s    
z_NetlocResultMixinBase.hostnamec                 C   sl   | j d }|d k	rhzt|d}W n( tk
rH   d|}t|d Y nX d|  kr^dkshn td|S )Nr8   
   z+Port could not be cast to integer value as r   i  zPort out of range 0-65535)rP   int
ValueError)rA   portmessager"   r"   r#   rX      s    

z_NetlocResultMixinBase.portN)	rB   rC   rD   rE   propertyrL   rM   rS   rX   r"   r"   r"   r#   rH      s   



rH   c                   @   s(   e Zd ZdZedd Zedd ZdS )_NetlocResultMixinStrr"   c                 C   sD   | j }|d\}}}|r4|d\}}}|s<d }nd  }}||fS )N@:netloc
rpartitionrQ   rA   r_   ZuserinfoZ	have_infohostinforL   Zhave_passwordrM   r"   r"   r#   rJ      s    z_NetlocResultMixinStr._userinfoc                 C   sl   | j }|d\}}}|d\}}}|rL|d\}}}|d\}}}n|d\}}}|sdd }||fS )Nr\   []r]   r^   rA   r_   _rb   Zhave_open_brZ	bracketedrS   rX   r"   r"   r#   rP      s    z_NetlocResultMixinStr._hostinfoNrB   rC   rD   rE   rZ   rJ   rP   r"   r"   r"   r#   r[      s
   
r[   c                   @   s(   e Zd ZdZedd Zedd ZdS )_NetlocResultMixinBytesr"   c                 C   sD   | j }|d\}}}|r4|d\}}}|s<d }nd  }}||fS )N   @   :r^   ra   r"   r"   r#   rJ      s    z!_NetlocResultMixinBytes._userinfoc                 C   sl   | j }|d\}}}|d\}}}|rL|d\}}}|d\}}}n|d\}}}|sdd }||fS )Nri      [   ]rj   r^   re   r"   r"   r#   rP      s    z!_NetlocResultMixinBytes._hostinfoNrg   r"   r"   r"   r#   rh      s
   
rh   )
namedtuplezurl fragmentz!scheme netloc path query fragmentz(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                   @   s   e Zd ZdZdd ZdS )r   r"   c                 C   s    | j r| jd | j  S | jS d S N#fragmenturlrK   r"   r"   r#   geturlI  s    zDefragResult.geturlNrB   rC   rD   rE   rs   r"   r"   r"   r#   r   G  s   c                   @   s   e Zd ZdZdd ZdS )r   r"   c                 C   s   t | S r   r   rK   r"   r"   r#   rs   Q  s    zSplitResult.geturlNrt   r"   r"   r"   r#   r   O  s   c                   @   s   e Zd ZdZdd ZdS )r   r"   c                 C   s   t | S r   r   rK   r"   r"   r#   rs   V  s    zParseResult.geturlNrt   r"   r"   r"   r#   r   T  s   c                   @   s   e Zd ZdZdd ZdS )r   r"   c                 C   s    | j r| jd | j  S | jS d S )N   #rp   rK   r"   r"   r#   rs   \  s    zDefragResultBytes.geturlNrt   r"   r"   r"   r#   r   Z  s   c                   @   s   e Zd ZdZdd ZdS )r   r"   c                 C   s   t | S r   ru   rK   r"   r"   r#   rs   d  s    zSplitResultBytes.geturlNrt   r"   r"   r"   r#   r   b  s   c                   @   s   e Zd ZdZdd ZdS )r   r"   c                 C   s   t | S r   rv   rK   r"   r"   r#   rs   i  s    zParseResultBytes.geturlNrt   r"   r"   r"   r#   r   g  s   c                  C   s4   t tfttfttff} | D ]\}}||_||_qd S r   )r   r   r   r   r   r   r?   rG   )Z_result_pairsZ_decodedZ_encodedr"   r"   r#   _fix_result_transcodingm  s    rx   Tc           
      C   sf   t | |\} }}t| ||}|\}}} }}|tkrHd| krHt| \} }nd}t||| |||}	||	S )N;r   )r=   r   uses_params_splitparamsr   )
rr   schemeallow_fragments_coerce_resultZsplitresultr_   queryrq   paramsresultr"   r"   r#   r   z  s    c                 C   sR   d| kr,|  d| d}|dk r6| dfS n
|  d}| d | | |d d  fS )N/ry   r   r   r8   )findrfind)rr   ir"   r"   r#   r{     s    

r{   c                 C   sH   t | }dD ]"}| ||}|dkrt||}q| || | |d  fS )Nz/?#r   )lenr   min)rr   startdelimcZwdelimr"   r"   r#   _splitnetloc  s    r   c                 C   s   | r|   rd S dd l}| dd}|dd}|dd}|dd}|d|}||kr`d S dD ] }||krdtd	|  d
 d qdd S )Nr   r\   r   r]   ro   ?NFKCz/?#@:znetloc 'z' contains invalid z#characters under NFKC normalization)isasciiunicodedatareplace	normalizerW   )r_   r   nZnetloc2r   r"   r"   r#   _checknetloc  s    r   c                 C   s   t D ]}| |d} q| S )Nr   )_UNSAFE_URL_BYTES_TO_REMOVEr   )rr   br"   r"   r#   _remove_unsafe_bytes_from_url  s    r   c                 C   s  t | |\} }}t| } t|}| t} |t}t|}| ||t| t|f}t|d }|rj||S t	tt
kr|t  d } }}| d}	|	dkr| d |	 dkrn| |	d d  } | d d dkrt| d\}} d|krd	|ksd	|krd|krtd
|r,d| kr,| dd\} }d| krF| dd\} }t| td|| ||}
|
t|< ||
S | d |	 D ]}|tkrz qҐqz| |	d d  }|rtdd |D r| d |	  | }} | d d dkr"t| d\}} d|krd	|ksd	|kr"d|kr"td
|rBd| krB| dd\} }d| kr\| dd\} }t| t||| ||}
|
t|< ||
S )Nr   r]   r   r   r8      //rc   rd   zInvalid IPv6 URLro   r   c                 s   s   | ]}|d kV  qdS )
0123456789Nr"   r1   r   r"   r"   r#   r4     s     zurlsplit.<locals>.<genexpr>)r=   r   lstrip_WHATWG_C0_CONTROL_OR_SPACEstripbooltyper   getr   MAX_CACHE_SIZEr$   r   r   rW   splitr   r   scheme_charsanyrR   )rr   r|   r}   r~   keycachedr_   r   rq   r   vr   restr"   r"   r#   r     sn    







c                 C   s<   t |  \}}}}}}}|r&d||f }|t|||||fS )Nz%s;%s)r=   r   )
componentsr|   r_   rr   r   r   rq   r~   r"   r"   r#   r     s
    c                 C   s   t |  \}}}}}}|s4|r`|tkr`|d d dkr`|rP|d d dkrPd| }d|pXd | }|rp|d | }|r|d | }|r|d | }||S )	Nr   r   r8   r   r   r]   r   ro   )r=   uses_netloc)r   r|   r_   rr   r   rq   r~   r"   r"   r#   r     s      c              	   C   s  | s|S |s| S t | |\} }}t| d|\}}}}}}	t|||\}
}}}}}|
|ks`|
tkrh||S |
tkr|r|t|
|||||fS |}|s|s|}|}|s|}|t|
|||||fS |d}|d dkr|d= |d d dkr|d}n(||d }td |dd |dd< g }|D ]P}|dkr\z|  W n tk
rX   Y nX n|dkrlq(n
|	| q(|d dkr|	d |t|
|d
|pd|||fS )Nr   r   r8   ...)r   r   )r=   r   uses_relativer   r   r   filterpop
IndexErrorappendjoin)baserr   r}   r~   ZbschemeZbnetlocZbpathZbparamsZbqueryZ	bfragmentr|   r_   pathr   r   rq   Z
base_partsZsegmentsZresolved_pathZsegr"   r"   r#   r     sp    


  
  



   c           	      C   sT   t | \} }d| kr>t| \}}}}}}t|||||df}nd}| }|t||S )Nro   r   )r=   r   r   r   )	rr   r~   sr   paqZfragZdefragr"   r"   r#   r   T  s    Z0123456789ABCDEFabcdefc              	   C   s   | s| j  dS t| tr"| d} |  d}t|dkr<| S |d g}|j}td krbdd tD a|dd  D ]R}z(|t|d d   ||dd   W qn tk
r   |d || Y qnX qnd	|S )	N    utf-8rO   r8   r   c                 S   s.   i | ]&}t D ]}||  t|| qqS r"   )_hexdigr*   bytesfromhex)r1   r   r   r"   r"   r#   
<dictcomp>z  s
     
 z$unquote_to_bytes.<locals>.<dictcomp>r   )
r   r9   r:   r*   r   r   
_hextobyter   KeyErrorr   )stringbitsresr   itemr"   r"   r#   r   g  s,    



z([ -]+)r   r   c                 C   s   t | trtdd| kr$| j | S |d kr0d}|d kr<d}t| }|d g}|j}tdt|dD ],}|t|| 	|| |||d   qfd
|S )	NzExpected str, got bytesrN   r   r   r   r8   r   r   )r9   r   r;   r   _asciirer   ranger   r   r/   r   )r   r+   r,   r   r   r   r   r"   r"   r#   r     s     



Fc              	   C   sN   i }t | ||||||d}|D ]*\}	}
|	|kr>||	 |
 q|
g||	< q|S )N)r+   r,   max_num_fieldsrT   )r
   r   )qskeep_blank_valuesstrict_parsingr+   r,   r   rT   Zparsed_resultpairsnamevaluer"   r"   r#   r	     s      c                   @   s   e Zd ZdS )_QueryStringSeparatorWarningN)rB   rC   rD   r"   r"   r"   r#   r     s   r   z/etc/python/urllib.cfgc              	   C   s  t | \} }t|tr |d}|r2t|ttfsB|d k	rBtdt }|d krRt}d}	|d krrtj	
|	}d}
|d krztt}W n tk
r   Y nJX |: dd l}|jd dd}|| |j
d|	d d	}|aW 5 Q R X t}
|d krd
| krddlm} |dtdd d}n:|dkr(|}n*t|dkrRt|	 d|
 dd d |d k	r||krd| d | d
 }nd| | }||k rtd||krdd | dD }ndd | |D }g }|D ]}|s|sq|dd}t|dkr4|rtd|f |r|d nqt|d sH|r|d dd}t|||d}||}|d dd}t|||d}||}|||f q|S ) Nr%   z*Separator must be of type string or bytes.ZPYTHON_URLLIB_QS_SEPARATORzenvironment variabler   )ro   )ZinterpolationZcomment_prefixesr	   )Zfallbackry   )warna  The default separator of urllib.parse.parse_qsl and parse_qs was changed to '&' to avoid a web cache poisoning issue (CVE-2021-23336). By default, semicolons no longer act as query field separators. See https://access.redhat.com/articles/5860431 for more details.r   
stacklevel&Zlegacyr8   z (from z) must contain z1 character, or "legacy". See z<https://access.redhat.com/articles/5860431 for more details.zMax number of fields exceededc                 S   s    g | ]}| d D ]}|qqS )ry   r   )r1   s1s2r"   r"   r#   
<listcomp>7  s       zparse_qsl.<locals>.<listcomp>c                 S   s   g | ]}|qS r"   r"   )r1   r   r"   r"   r#   r   9  s     =zbad query field: %rr   + r3   )r=   r9   r   r/   r:   rW   object_default_qs_separatorosenvironr   open_QS_SEPARATOR_CONFIG_FILENAMEFileNotFoundErrorconfigparserZConfigParserZ	read_filewarningsr   r   r   countr   r   r   r   )r   r   r   r+   r,   r   rT   r~   Z_legacyZenvvar_nameZconfig_sourcer   r   Zconfigr   
num_fieldsr   rZ
name_valueZnvr   r   r"   r"   r#   r
     s    





 
	



c                 C   s   |  dd} t| ||S )Nr   r   )r   r   )r   r+   r,   r"   r"   r#   r   Q  s    sB   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.-~c                   @   s$   e Zd Zdd Zdd Zdd ZdS )Quoterc                 C   s   t || _d S r   )_ALWAYS_SAFEunionsafe)rA   r   r"   r"   r#   __init__i  s    zQuoter.__init__c                 C   s   d| j jt| f S )Nz<%s %r>)	__class__rB   dictrK   r"   r"   r#   __repr__m  s    zQuoter.__repr__c                 C   s(   || j krt|nd|}|| |< |S )Nz%{:02X})r   chrformat)rA   r   r   r"   r"   r#   __missing__q  s    zQuoter.__missing__N)rB   rC   rD   r   r   r   r"   r"   r"   r#   r   a  s   r   r   c                 C   sb   t | tr8| s| S |d krd}|d kr*d}| ||} n |d k	rHtd|d k	rXtdt| |S )Nr   r&   z,quote() doesn't support 'encoding' for bytesz*quote() doesn't support 'errors' for bytes)r9   r:   r*   r;   r   )r   r   r+   r,   r"   r"   r#   r   w  s    '
c                 C   sd   t | trd| ks$t | tr2d| kr2t| |||S t |trBd}nd}t| || ||} | ddS )Nr       r   )r9   r:   r   r   r   )r   r   r+   r,   Zspacer"   r"   r#   r     s    
c                    s   t | ttfstd| sdS t |tr6|dd}ntdd |D }| t| s^|  S zt	|  W n& t
k
r   t|j t	|<  Y nX d fdd| D S )Nz!quote_from_bytes() expected bytesr   r%   ignorec                 S   s   g | ]}|d k r|qS )   r"   r   r"   r"   r#   r     s      z$quote_from_bytes.<locals>.<listcomp>c                    s   g | ]} |qS r"   r"   )r1   charZquoterr"   r#   r     s     )r9   r   	bytearrayr;   r:   r*   rstrip_ALWAYS_SAFE_BYTESr/   r!   r   r   __getitem__r   )Zbsr   r"   r   r#   r     s    
c              	   C   s  t | dr|  } nPzt| r0t| d ts0tW n0 tk
rb   t \}}}td|Y nX g }	|s| D ]j\}
}t|
t	r||
|}
n|t
|
|||}
t|t	r|||}n|t
||||}|	|
d |  qpn"| D ]\}
}t|
t	r||
|}
n|t
|
|||}
t|t	rB|||}|	|
d |  qt|t
rp|||||}|	|
d |  qzt|}W n: tk
r   |t
||||}|	|
d |  Y qX |D ]B}t|t	r|||}n|t
||||}|	|
d |  qqd|	S )Nitemsr   z1not a valid non-string sequence or mapping objectr   r   )hasattrr   r   r9   r5   r;   sysexc_infowith_tracebackr   r:   r   r   )r   Zdoseqr   r+   r,   Z	quote_viaZtyZvatblkr   r2   Zeltr"   r"   r#   r     sR    





c                 C   s   t jdtdd t| S )Nz/urllib.parse.to_bytes() is deprecated as of 3.8r   r   )r   r   DeprecationWarning	_to_bytesrr   r"   r"   r#   to_bytes%  s
     r  c                 C   sJ   t | trFz| d } W n( tk
rD   tdt|  d Y nX | S )NASCIIzURL z contains non-ASCII characters)r9   r:   r*   r/   UnicodeErrorreprr  r"   r"   r#   r  +  s    
r  c                 C   s`   t |  } | d d dkr<| dd  dkr<| dd  } | d d dkr\| dd   } | S )Nr8   <r   >   zURL:)r:   r   r  r"   r"   r#   unwrap9  s     r  c                 C   s   t jdtdd t| S )NzUurllib.parse.splittype() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr   r   )r   r   r  
_splittyper  r"   r"   r#   	splittypeF  s
     r  c                 C   sD   t d krtdtja t | }|r<| \}}| |fS d | fS )Nz([^/:]+):(.*))	_typeprogrecompileDOTALLmatchgroupsrR   )rr   r  r|   datar"   r"   r#   r  N  s    
r  c                 C   s   t jdtdd t| S )NzUurllib.parse.splithost() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr   r   )r   r   r  
_splithostr  r"   r"   r#   	splithost[  s
     r  c                 C   sX   t d krtdtja t | }|rP| \}}|rH|d dkrHd| }||fS d | fS )Nz//([^/#?]*)(.*)r   r   )	_hostprogr  r  r  r  r  )rr   r  Z	host_portr   r"   r"   r#   r  c  s    
r  c                 C   s   t jdtdd t| S )NzUurllib.parse.splituser() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr   r   )r   r   r  
_splituserhostr"   r"   r#   	splituserr  s
     r  c                 C   s    |  d\}}} |r|nd | fS )Nr\   r`   )r  userr   r"   r"   r#   r  y  s    r  c                 C   s   t jdtdd t| S )NzWurllib.parse.splitpasswd() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr   r   )r   r   r  _splitpasswd)r  r"   r"   r#   splitpasswd  s
     r!  c                 C   s    |  d\} }}| |r|nd fS Nr]   rQ   )r  r   Zpasswdr"   r"   r#   r     s    r   c                 C   s   t jdtdd t| S )NzUurllib.parse.splitport() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr   r   )r   r   r  
_splitportr  r"   r"   r#   	splitport  s
     r%  c                 C   sD   t d krtdtja t | }|r<| \} }|r<| |fS | d fS )Nz(.*):([0-9]*))	_portprogr  r  r  	fullmatchr  )r  r  rX   r"   r"   r#   r$    s    
r$  r   c                 C   s   t jdtdd t| |S )NzVurllib.parse.splitnport() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr   r   )r   r   r  _splitnport)r  defportr"   r"   r#   
splitnport  s
     r*  c                 C   sT   |  d\} }}|s|} n2|rLzt|}W n tk
rB   d }Y nX | |fS | |fS r"  )r`   rV   rW   )r  r)  r   rX   Znportr"   r"   r#   r(    s    
r(  c                 C   s   t jdtdd t| S )NzVurllib.parse.splitquery() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr   r   )r   r   r  _splitqueryr  r"   r"   r#   
splitquery  s
     r,  c                 C   s$   |  d\}}}|r||fS | d fS )Nr   r  )rr   r   r   r   r"   r"   r#   r+    s    r+  c                 C   s   t jdtdd t| S )NzTurllib.parse.splittag() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr   r   )r   r   r  	_splittagr  r"   r"   r#   splittag  s
     r.  c                 C   s$   |  d\}}}|r||fS | d fS rn   r  )rr   r   r   tagr"   r"   r#   r-    s    r-  c                 C   s   t jdtdd t| S )NzUurllib.parse.splitattr() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr   r   )r   r   r  
_splitattrr  r"   r"   r#   	splitattr  s
     r1  c                 C   s   |  d}|d |dd  fS )Nry   r   r8   r   )rr   Zwordsr"   r"   r#   r0    s    
r0  c                 C   s   t jdtdd t| S )NzWurllib.parse.splitvalue() is deprecated as of 3.8, use urllib.parse.parse_qsl() insteadr   r   )r   r   r  _splitvalue)attrr"   r"   r#   
splitvalue  s
     r4  c                 C   s    |  d\} }}| |r|nd fS )Nr   r#  )r3  r   r   r"   r"   r#   r2    s    r2  )r   T)r   )r   T)T)r   r   )FFr   r   NN)FFr   r   NN)r   r   )r   NN)r   NN)r   )r   )r   )nr  r   r   collectionsr   __all__r   r   rz   Znon_hierarchicalZ
uses_queryZuses_fragmentr   r   r   r   r   r$   Z_implicit_encodingZ_implicit_errorsr(   r-   r7   r=   r   r>   rF   rH   r[   rh   rm   Z_DefragResultBaseZ_SplitResultBaseZ_ParseResultBase__doc__rr   rq   r|   r_   r   r   r   Z
ResultBaser   r   r   r   r   r   rx   r   r{   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r	   RuntimeWarningr   r   r   r
   r   	frozensetr   r   r   r!   defaultdictr   r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r!  r   r%  r&  r$  r*  r(  r,  r+  r.  r-  r1  r0  r4  r2  r"   r"   r"   r#   <module>"   s                                                            


%
  

	

?
E

        
)        
}
	
6


Q

