U @d@sddlZddlZddlZddlZdddddddd d d d d dddddddddgZdddddddddd d!d"d#d$d%d&d'd(d)gZdddddd*dddd!dd d+d"d#d$d,d&d'd%d-d.d/d(d)gZddd0d"dddd d#d$d1d2d!d%d3gZdd0d4d5d*ddd+d1d2g Zdddddd d!dd#d$d1d2g Z ddd0ddd5dddd d+dd"g Z d6Z d7Z d8d9d:gZ d;ZiZdZd?Zd@dAZeefdBdCZeefdDdEZdFdGZGdHdIdIeZGdJdKdKeZGdLdMdMeZGdNdOdOeeZGdPdQdQeeZddRlmZeddSZeddTZeddUZ dVe_!dWej"_!dXej#_!dYe_!dZej$_!d[ej%_!d\ej&_!d]ej'_!d^ej#_!d_e _!ej$j!e j$_!ej%j!e j%_!ej&j!e j&_!d`e j(_!ej'j!e j'_!ej#j!e j#_!eZ)GdaddeeZ*GdbddeeZ+Gdcdde eZ,GddddeeZ-GdeddeeZ.Gdfdde eZ/dgdhZ0e0[0ddjdZ1dkdlZ2ddmdnZ3dodpZ4dqdrZ5ddsdZ6dtdZ7dudZ8ddvdZ9dwdZ:dxZ;dadzZ?dd}dZ@ddd ZAddd ZBdddZCeDdZEeFeEZGiZHGdddejIZJddd ZKddd ZLddd ZMd~dddeLfddZNddZOddZPddZQddZRdaSddZTddZUdaVddZWddZXddZYddZZddZ[ddZ\da]ddZ^dddZ_dddZ`ddZaddZbddZcddZdddZeddZfddZgddZhdS)Nurlparse urlunparseurljoin urldefragurlsplit urlunsplit urlencodeparse_qs parse_qslquote quote_plusquote_from_bytesunquote unquote_plusunquote_to_bytes DefragResult ParseResult SplitResultDefragResultBytesParseResultBytesSplitResultBytesZftphttpZgopherZnntpZimapZwaisfileZhttpsZshttpZmmsZprosperoZrtspZrtspuZsftpZsvnzsvn+sshZwsZwssZtelnetZsnewsZrsyncZnfsZgitzgit+sshZhdlZsipZsipsZtelZmailtoZnewszAabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-.z!     cCsttdSN) _parse_cacheclear _safe_quotersr"r"1/opt/alt/python38/lib64/python3.8/urllib/parse.py clear_cache_sr$asciistrictcCs|Srr")objr"r"r#_noopnsr(cCs |||Srencode)r'encodingerrorsr"r"r#_encode_resultqsr-cstfdd|DS)Nc3s"|]}|r|ndVqdS)rNdecode.0xr+r,r"r# wsz_decode_args..)tuple)argsr+r,r"r3r# _decode_argsusr7cGsVt|dt}|ddD]}|rt|t|krtdq|rH|tfSt|tfS)Nrz$Cannot mix str and non-str arguments) isinstancestr TypeErrorr(r7r-)r6Z str_inputargr"r"r# _coerce_argsys  r=c@seZdZdZdddZdS)_ResultMixinStrr"r%r&cs|jfdd|DS)Nc3s|]}|VqdSrr)r0r3r"r#r4sz)_ResultMixinStr.encode..)_encoded_counterpartselfr+r,r"r3r#r*sz_ResultMixinStr.encodeN)r%r&)__name__ __module__ __qualname__ __slots__r*r"r"r"r#r>sr>c@seZdZdZdddZdS)_ResultMixinBytesr"r%r&cs|jfdd|DS)Nc3s|]}|VqdSrr.r0r3r"r#r4sz+_ResultMixinBytes.decode..)_decoded_counterpartr@r"r3r#r/sz_ResultMixinBytes.decodeN)r%r&)rBrCrDrEr/r"r"r"r#rFsrFc@s@eZdZdZeddZeddZeddZedd Zd S) _NetlocResultMixinBaser"cCs |jdS)Nr _userinforAr"r"r#usernamesz_NetlocResultMixinBase.usernamecCs |jdS)Nr8rIrKr"r"r#passwordsz_NetlocResultMixinBase.passwordcCsD|jd}|sdSt|tr dnd}||\}}}|||S)Nr%%) _hostinfor9r: partitionlower)rAhostname separatorZpercentZzoner"r"r#rSs  z_NetlocResultMixinBase.hostnamecCsl|jd}|dk rhzt|d}Wn(tk rHd|}t|dYnXd|kr^dkshntd|S)Nr8 z+Port could not be cast to integer value as rizPort out of range 0-65535)rPint ValueError)rAportmessager"r"r#rXs  z_NetlocResultMixinBase.portN) rBrCrDrEpropertyrLrMrSrXr"r"r"r#rHs   rHc@s(eZdZdZeddZeddZdS)_NetlocResultMixinStrr"cCsD|j}|d\}}}|r4|d\}}}|s.)r=rlstrip_WHATWG_C0_CONTROL_OR_SPACEstripbooltypergetrMAX_CACHE_SIZEr$rrrWsplitrr scheme_charsanyrR) rrr|r}r~keycachedr_rrqrvrrestr"r"r#rsn           cCs<t|\}}}}}}}|r&d||f}|t|||||fS)Nz%s;%s)r=r) componentsr|r_rrrrrqr~r"r"r#rs  cCst|\}}}}}}|s4|r`|tkr`|dddkr`|rP|dddkrPd|}d|pXd|}|rp|d|}|r|d|}|r|d|}||S) Nrrr8rrr]rro)r= uses_netloc)rr|r_rrrrqr~r"r"r#rs    c Cs|s|S|s|St||\}}}t|d|\}}}}}} t|||\} } } } }}| |ks`| tkrh||S| tkr| r|t| | | | ||fS|} | s| s|} |} |s|}|t| | | | ||fS|d}|ddkr|d=| dddkr| d}n(|| d}td|dd|dd<g}|D]P}|dkr\z |Wntk rXYnXn|dkrlq(n | |q(|ddkr| d|t| | d |pd| ||fS)Nrrr8...)rr) r=r uses_relativerrrfilterpop IndexErrorappendjoin)baserrr}r~ZbschemeZbnetlocZbpathZbparamsZbqueryZ bfragmentr|r_pathrrrqZ base_partsZsegmentsZ resolved_pathZsegr"r"r#rsp            c CsTt|\}}d|kr>t|\}}}}}}t|||||df}nd}|}|t||S)Nror)r=rrr) rrr~srpaqZfragZdefragr"r"r#rSs Z0123456789ABCDEFabcdefc Cs|s|jdSt|tr"|d}|d}t|dkr<|S|dg}|j}tdkrbddtDa|ddD]R}z(|t|dd||ddWqntk r|d||YqnXqnd |S) Nutf-8rOr8rcSs.i|]&}tD]}||t||q qSr")_hexdigr*bytesfromhex)r1rrr"r"r# ys  z$unquote_to_bytes..r) rr9r:r*rr _hextobyterKeyErrorr)stringbitsresritemr"r"r#rfs,     z([-]+)rrcCst|trtdd|kr$|j|S|dkr0d}|dkr|| | q| g|| <q|S)N)r+r,max_num_fieldsrT)r r) qskeep_blank_valuesstrict_parsingr+r,rrTZ parsed_resultpairsnamevaluer"r"r#r s  cCs.t|\}}t|\}}|r*t|ttfs2td|dk rXd||} || krXtddd||D} g} | D]} | s|sqt| dd} t| dkr|rtd| f|rt| d nqtt| ds|rt| d  d d }t |||d }||}| d d d }t |||d }||}| ||fqt| S)Nz*Separator must be of type string or bytes.r8zMax number of fields exceededcSsg|]}|qSr"r")r1s1r"r"r# szparse_qsl..=rzbad query field: %rrr+ r3) r=r9r:rrWcountrrrrr)rrrr+r,rrTr~rf num_fieldsrrZ name_valueZnvrrr"r"r#r s:     cCs|dd}t|||S)Nrr)rr)rr+r,r"r"r#rs sBABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.-~c@s$eZdZddZddZddZdS)QuotercCst||_dSr) _ALWAYS_SAFEunionsafe)rArr"r"r#__init__'szQuoter.__init__cCsd|jjt|fS)Nz<%s %r>) __class__rBdictrKr"r"r#__repr__+szQuoter.__repr__cCs(||jkrt|nd|}|||<|S)Nz%{:02X})rchrformat)rArrr"r"r# __missing__/szQuoter.__missing__N)rBrCrDrrrr"r"r"r#rsrrcCsbt|tr8|s|S|dkrd}|dkr*d}|||}n |dk rHtd|dk rXtdt||S)Nrr&z,quote() doesn't support 'encoding' for bytesz*quote() doesn't support 'errors' for bytes)r9r:r*r;r )rrr+r,r"r"r#r 5s' cCsdt|trd|ks$t|tr2d|kr2t||||St|trBd}nd}t|||||}|ddS)Nr r)r9r:rr r)rrr+r,Zspacer"r"r#r ks cst|ttfstd|sdSt|tr6|dd}ntdd|D}|t|s^|Sz t |Wn&t k rt |j t |<YnXd fdd|DS)Nz!quote_from_bytes() expected bytesrr%ignorecSsg|]}|dkr|qS)r"rr"r"r#rsz$quote_from_bytes..csg|] }|qSr"r")r1charZquoterr"r#rs)r9r bytearrayr;r:r*rstrip_ALWAYS_SAFE_BYTESr/r!rr __getitem__r)Zbsrr"rr#r |s  c Cs t|dr|}nPzt|r0t|dts0tWn0tk rbt\}}}td|YnXg} |s|D]j\} } t| t r|| |} n|t | |||} t| t r|| |} n|t | |||} | | d| qpn"|D]\} } t| t r|| |} n|t | |||} t| t rB|| |} | | d| qt| t rp|| |||} | | d| qz t| } Wn:tk r|t | |||} | | d| YqX| D]B} t| t r|| |} n|t | |||} | | d| qqd | S)Nitemsrz1not a valid non-string sequence or mapping objectrr) hasattrrrr9r5r;sysexc_infowith_tracebackrr:rr)rZdoseqrr+r,Z quote_viaZtyZvatblkrr2Zeltr"r"r#rsR                cCstjdtddt|S)Nz/urllib.parse.to_bytes() is deprecated as of 3.8r stacklevel)warningswarnDeprecationWarning _to_bytesrrr"r"r#to_bytess rcCsJt|trFz|d}Wn(tk rDtdt|dYnX|S)NASCIIzURL z contains non-ASCII characters)r9r:r*r/ UnicodeErrorreprrr"r"r#rs   rcCs`t|}|dddkr<|dddkr<|dd}|dddkr\|dd}|S)Nr8zURL:)r:rrr"r"r#unwraps   rcCstjdtddt|S)NzUurllib.parse.splittype() is deprecated as of 3.8, use urllib.parse.urlparse() insteadrr)rrr _splittyperr"r"r# splittypes rcCsDtdkrtdtjat|}|r<|\}}||fSd|fS)Nz ([^/:]+):(.*)) _typeprogrecompileDOTALLmatchgroupsrR)rrr r|datar"r"r#r s   rcCstjdtddt|S)NzUurllib.parse.splithost() is deprecated as of 3.8, use urllib.parse.urlparse() insteadrr)rrr _splithostrr"r"r# splithosts r cCsXtdkrtdtjat|}|rP|\}}|rH|ddkrHd|}||fSd|fS)Nz//([^/#?]*)(.*)rr) _hostprogrrrr r )rrr Z host_portrr"r"r#r !s  r cCstjdtddt|S)NzUurllib.parse.splituser() is deprecated as of 3.8, use urllib.parse.urlparse() insteadrr)rrr _splituserhostr"r"r# splituser0s rcCs |d\}}}|r|nd|fS)Nr\r`)ruserrr"r"r#r7srcCstjdtddt|S)NzWurllib.parse.splitpasswd() is deprecated as of 3.8, use urllib.parse.urlparse() insteadrr)rrr _splitpasswd)rr"r"r# splitpasswd=s rcCs |d\}}}||r|ndfSNr]rQ)rrZpasswdr"r"r#rDsrcCstjdtddt|S)NzUurllib.parse.splitport() is deprecated as of 3.8, use urllib.parse.urlparse() insteadrr)rrr _splitportrr"r"r# splitportJs rcCsDtdkrtdtjat|}|r<|\}}|r<||fS|dfS)Nz (.*):([0-9]*)) _portprogrrr fullmatchr )rr rXr"r"r#rSs  rrcCstjdtddt||S)NzVurllib.parse.splitnport() is deprecated as of 3.8, use urllib.parse.urlparse() insteadrr)rrr _splitnport)rdefportr"r"r# splitnportas rcCsT|d\}}}|s|}n2|rLz t|}Wntk rBd}YnX||fS||fSr)r`rVrW)rrrrXZnportr"r"r#rhs  rcCstjdtddt|S)NzVurllib.parse.splitquery() is deprecated as of 3.8, use urllib.parse.urlparse() insteadrr)rrr _splitqueryrr"r"r# splitqueryys r!cCs$|d\}}}|r||fS|dfS)Nrr)rrrrrr"r"r#r sr cCstjdtddt|S)NzTurllib.parse.splittag() is deprecated as of 3.8, use urllib.parse.urlparse() insteadrr)rrr _splittagrr"r"r#splittags r#cCs$|d\}}}|r||fS|dfSrnr)rrrrtagr"r"r#r"sr"cCstjdtddt|S)NzUurllib.parse.splitattr() is deprecated as of 3.8, use urllib.parse.urlparse() insteadrr)rrr _splitattrrr"r"r# splitattrs r&cCs|d}|d|ddfS)Nryrr8)r)rrZwordsr"r"r#r%s r%cCstjdtddt|S)NzWurllib.parse.splitvalue() is deprecated as of 3.8, use urllib.parse.parse_qsl() insteadrr)rrr _splitvalue)attrr"r"r# splitvalues r)cCs |d\}}}||r|ndfS)Nrr)r(rrr"r"r#r'sr')rT)r)rT)T)rr)FFrrNr)FFrrNr)rr)rNN)rNN)r)r)r)irr collectionsr__all__rrrzZnon_hierarchicalZ uses_queryZ uses_fragmentrrrrrr$Z_implicit_encodingZ_implicit_errorsr(r-r7r=objectr>rFrHr[rhrmZ_DefragResultBaseZ_SplitResultBaseZ_ParseResultBase__doc__rrrqr|r_rrrZ ResultBaserrrrrrrxrr{rrrrrrrrrrrrrrr r r frozensetrrrr! defaultdictrr r r rrrrrrrr rr rrrrrrrrrr!r r#r"r&r%r)r'r"r"r"r#"s        %           ?  E   * C  6   Q