� c��jl����� ddlmZddlZddlZddlZddlZddlZddlZgd�Zgd�Z gd�Z gd�Z gd�Z gd�Z gd �Zd Zd Zgd �Zd �ZdZdZd�Zeefd�Zeefd�Zd�ZGd�de�ZGd�de�ZGd�de�ZGd�dee�ZGd�dee�Zedd�Zed d!�Z ed"d#�Z!d$e_"d%ejF_"d&ejH_"d'e _"d(e jJ_"d)e jL_"d*e jN_"d+e jP_"d,e jH_"d-e!_"e jJjDe!jJ_"e jLjDe!jL_"e jNjDe!jN_"d.e!jR_"e jPjDe!jP_"e jHjDe!jH_"eZ*Gd/�dee�Z+Gd0�d e e�Z,Gd1�d"e!e�Z-Gd2�d3ee�Z.Gd4�d5e e�Z/Gd6�d7e!e�Z0d8�Z1e1�[1dsd;�Z2d<�Z3dtd=�Z4d>�Z5d?�Z6d@�Z7ejpd:�A�dsdB��Z9dC�Z:dD�Z;dudE�Zda?dH�Z@dIeAeBzeCzdJeAeBzfdK�ZDej�dL�ZFdM�ZGdvdN�ZH dwdP�ZI dwdQ�ZJdvdR�ZKeLdS�ZMeAeM�ZNdT�ZOGdU�dVeP�ZQdxdW�ZRdydX�ZSejpdY��ZTdzdZ�ZUdOd9ddeSfd[�ZVd\�ZWd]�ZXd^�ZYd_�ZZda[d`�Z\da�Z]da^db�Z_dc�Z`dd�Zade�Zbdf�Zcdg�Zddaedh�Zfd{di�Zgd{dj�Zhdk�Zidl�Zjdm�Zkdn�Zldo�Zmdp�Zndq�Zodr�Zpy)|�)� namedtupleN)�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�rtsps�rtspu�sftp�svn�svn+ssh�ws�wss)rrrrr�telnetrrr r#r!r"�snewsr$r%r&r'�rsyncr)r*r(�nfs�gitzgit+sshr+r,z itms-services)rr�hdlr$rrr!r"r%r&r'�sip�sipsr#r(�tel) rr2�mailto�newsr-rrr.r3r4) rrrrr!r"r#rr%r&r'r3r4) rrr2rrr7rrr!r"r.r r$zAabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-.z!  )� � � c�V� tj�tj�y�N)r� cache_clear�_byte_quoter_factory���%/usr/lib64/python3.12/urllib/parse.py� clear_cacherB^s��N� �����$�$�&r@�ascii�strictc��|Sr<r?)�objs rA�_nooprGls�� �Jr@c�&�|j||�Sr<��encode)rF�encoding�errorss rA�_encode_resultrMos�� �:�:�h�� '�'r@c�0���t��fd�|D��S)Nc3�J�K�|]}|r|j���nd���y�w)rN��decode��.0�xrKrLs ��rA� z_decode_args..us$�����G�$�Q�q����(�F�+�b�8�$�s� #)�tuple)�argsrKrLs ``rA� _decode_argsrXss��� �G�$�G� G�Gr@c��t|dt�}|ddD]#}|s�t|t�|k7s�td��|r |tfzSt |�t fzS)Nr�z$Cannot mix str and non-str arguments)� isinstance�str� TypeErrorrGrXrM)rW� str_input�args rA� _coerce_argsr`wsg�� �4��7�C�(�I��A�B�x�� �:�c�3�'�9�4��B�C� C� � ��u�h��� �� �� 1� 1�1r@c��eZdZ dZdd�Zy)�_ResultMixinStrr?c�8���|j��fd�|D��S)Nc3�B�K�|]}|j������y�wr<rIrRs ��rArUz)_ResultMixinStr.encode..�������*T�t�!�1�8�8�H�f�+E�t���)�_encoded_counterpart��selfrKrLs ``rArJz_ResultMixinStr.encode�����(�t�(�(�*T�t�*T�U�Ur@N�rCrD)�__name__� __module__� __qualname__� __slots__rJr?r@rArbrb����H��I�Vr@rbc��eZdZ dZdd�Zy)�_ResultMixinBytesr?c�8���|j��fd�|D��S)Nc3�B�K�|]}|j������y�wr<rPrRs ��rArUz+_ResultMixinBytes.decode..�rerf)�_decoded_counterpartrhs ``rArQz_ResultMixinBytes.decode�rjr@Nrk)rlrmrnrorQr?r@rArrrr�rpr@rrc�v�eZdZ dZed��Zed��Zed��Zed��Ze e j�Z y)�_NetlocResultMixinBaser?c� �|jdS)Nr�� _userinfo�ris rA�usernamez_NetlocResultMixinBase.username�����~�~�a� � r@c� �|jdS)NrZryr{s rA�passwordz_NetlocResultMixinBase.password�r}r@c��|jd}|syt|t�rdnd}|j|�\}}}|j �|z|zS)Nr�%�%)� _hostinfor[r\� partition�lower)ri�hostname� separator�percent�zones rAr�z_NetlocResultMixinBase.hostname�sV���>�>�!�$����&�h��4�C�$� �"*�"4�"4�Y�"?���'�4��~�~��'�)�D�0�0r@c���|jd}|�\|j�r|j�r t|�}nt d|����d|cxkrdkst d��t d��|S)NrZz+Port could not be cast to integer value as ri��zPort out of range 0-65535)r��isdigit�isascii�int� ValueError)ri�ports rAr�z_NetlocResultMixinBase.port�sr���~�~�a� �� � ��|�|�~�$�,�,�.��4�y�� �#N�t�h�!W�X�X���&��&� �!<�=�=�'� �!<�=�=�� r@N) rlrmrnro�propertyr|rr�r�� classmethod�types� GenericAlias�__class_getitem__r?r@rArwrw�sk��R��I� �!��!��!��!��1��1�� �� �$�E�$6�$6�7�r@rwc�0�eZdZdZed��Zed��Zy)�_NetlocResultMixinStrr?c��|j}|jd�\}}}|r|jd�\}}}|sd}||fSdx}}||fS)N�@�:��netloc� rpartitionr��rir��userinfo� have_info�hostinfor|� have_passwordrs rArzz_NetlocResultMixinStr._userinfo�sh������(.�(9�(9�#�(>�%��)�X� �08�0B�0B�3�0G� -�H�m�X� �����!�!�#'� &�H�x���!�!r@c��|j}|jd�\}}}|jd�\}}}|r+|jd�\}}}|jd�\}}}n|jd�\}}}|sd}||fS)Nr��[�]r�r��rir��_r�� have_open_br� bracketedr�r�s rAr�z_NetlocResultMixinStr._hostinfo�s��������*�*�3�/���1�h�%-�%7�%7��%<�"��<�� � )� 3� 3�C� 8� �H�a������,�J�A�q�$� (� 2� 2�3� 7� �H�a����D���~�r@N�rlrmrnror�rzr�r?r@rAr�r���-���I� � "�� "�� �� r@r�c�0�eZdZdZed��Zed��Zy)�_NetlocResultMixinBytesr?c��|j}|jd�\}}}|r|jd�\}}}|sd}||fSdx}}||fS)N�@�:r�r�s rArzz!_NetlocResultMixinBytes._userinfo�sh������(.�(9�(9�$�(?�%��)�X� �08�0B�0B�4�0H� -�H�m�X� �����!�!�#'� &�H�x���!�!r@c��|j}|jd�\}}}|jd�\}}}|r+|jd�\}}}|jd�\}}}n|jd�\}}}|sd}||fS)Nr��[�]r�r�r�s rAr�z!_NetlocResultMixinBytes._hostinfo�s��������*�*�4�0���1�h�%-�%7�%7��%=�"��<�� � )� 3� 3�D� 9� �H�a������-�J�A�q�$� (� 2� 2�4� 8� �H�a����D���~�r@Nr�r?r@rAr�r��r�r@r�rz 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��eZdZdZd�Zy)rr?c�j�|jr|jdz|jzS|jS�N�#��fragment�urlr{s rA�geturlzDefragResult.geturlEs)�� �=�=��8�8�c�>�D�M�M�1� 1��8�8�Or@N�rlrmrnror�r?r@rArrC� ���I�r@c��eZdZdZd�Zy)rr?c��t|�Sr<�r r{s rAr�zSplitResult.geturlM� ���$��r@Nr�r?r@rArrK� ���I� r@c��eZdZdZd�Zy)rr?c��t|�Sr<�rr{s rAr�zParseResult.geturlRr�r@Nr�r?r@rArrPr�r@c��eZdZdZd�Zy)rr?c�j�|jr|jdz|jzS|jS)N�#r�r{s rAr�zDefragResultBytes.geturlXs)�� �=�=��8�8�d�?�T�]�]�2� 2��8�8�Or@Nr�r?r@rArrVr�r@rc��eZdZdZd�Zy)rr?c��t|�Sr<r�r{s rAr�zSplitResultBytes.geturl`r�r@Nr�r?r@rArr^r�r@rc��eZdZdZd�Zy)rr?c��t|�Sr<r�r{s rAr�zParseResultBytes.geturler�r@Nr�r?r@rArrcr�r@rc�z�ttfttftt ff}|D]\}}||_||_�yr<)rrrrrrrgru)� _result_pairs�_decoded�_encodeds rA�_fix_result_transcodingr�isE�� �(�)� �&�'� �&�'��M� ,���(�(0��%�(0��%�,r@rTc�� t||�\}}}t|||�}|\}}}}}|tvrd|vrt|�\}}nd}t ||||||�} || �S)N�;r)r`r� uses_params� _splitparamsr) r��scheme�allow_fragments�_coerce_result� splitresultr��queryr��params�results rArrvsz���&#/�s�F�";��C����3���8�K�+6�(�F�F�C��� ������"�3�'� ��V��� ����f�e�X� F�F� �&� !�!r@c��d|vr*|jd|jd��}|dkr|dfS|jd�}|d|||dzdfS)N�/r�rrrZ)�find�rfind)r��is rAr�r��sY�� �s�{� �H�H�S�#�)�)�C�.� )�� �q�5���7�N� �H�H�S�M�� �r��7�C��!���I� �r@c��t|�}dD]&}|j||�}|dk\s�t||�}�(|||||dfS)Nz/?#r)�lenr��min)r��start�delim�c�wdelims rA� _splitnetlocr��sR�� ��H�E� �����!�U�#�� �Q�;���v�&�E�� �u�U� �S���[� (�(r@c�0�|r|j�ryddl}|jdd�}|jdd�}|jdd�}|jdd�}|jd|�}||k(rydD]}||vs�t d |zd zd z��y) Nrr�rr�r��?�NFKCz/?#@:znetloc 'z' contains invalid z#characters under NFKC normalization)r�� unicodedata�replace� normalizer�)r�r��n�netloc2r�s rA� _checknetlocr��s��� �V�^�^�%������s�B��A� � � �#�r��A� � � �#�r��A� � � �#�r��A��#�#�F�A�.�G��G�|�� �� ��<��Z�&�0�3H�H�B�C�D� D�r@c��|jd�d}|jd�\}}}|r@|r td��|jd�\}}}|r1|jd�s td��|jd�\}}}t |�y)Nr��r��Invalid IPv6 URLr�r�)r�r�r�� startswith�_check_bracketed_host)r��hostname_and_port�before_bracketr�r�r�r�r�s rA�_check_bracketed_netlocr��s����)�)�#�.�q�1��.?�.I�.I�#�.N�+�N�L�)�� ��/�0� 0�%�/�/��4���!�T� �����,��/�0� 0�-�7�7��<���!�T��(�#r@c���|jd�r"tjd|�s td��yt j |�}t |tj�r td��y)N�vz\Av[a-fA-F0-9]+\..+\ZzIPvFuture address is invalidz%An IPv4 address cannot be in brackets)r��re�matchr�� ipaddress� ip_addressr[� IPv4Address)r��ips rAr�r��sc�����3���x�x�0�(�;��;�=� =�<�� !� !�(� +�� �b�)�/�/� 0��D�F� F� 1r@)�typedc�� t||�\}}}|jt�}|jt�}tD]&}|j |d�}|j |d�}�(t |�}dx}x}}|jd�}|dkDrU|dj�rB|dj�r/|d|D] } | tvs� n|d|j�||dzd}}|dddk(r=t|d�\}}d|vrd|vsd|vrd|vr td ��d|vrd|vr t|�|rd |vr|jd d�\}}d |vr|jd d�\}}t!|�t#|||||�} || �S) Nrr�rrZr��//r�r�r�r�r�)r`�lstrip�_WHATWG_C0_CONTROL_OR_SPACE�strip�_UNSAFE_URL_BYTES_TO_REMOVEr��boolr�r��isalpha� scheme_charsr�r�r�r��splitr�r) r�r�r�r��br�r�r�r�r�r�s rArr�s����(#/�s�F�";��C��� �*�*�0� 1�C� �\�\�5� 6�F� (���k�k�!�R� ������2�&��)��?�+�O� "�"�F�"�U�X� ���� �A��1�u��Q����!�c�!�f�n�n�&6��R�a��A�� �$����b�q�'�-�-�/�3�q��s�t�9�C�F� �2�A�w�$��"�3��*� ��� �F�]�s�&�0����3�f�#4��/�0� 0� �&�=�S�F�]� #�F� +��3�#�:�� � �#�q�)� ��X� �c�z��Y�Y�s�A�&� ��U�����F�F�C���9�A� �!� �r@c �b� t|�\}}}}}}}|r|�d|��}|t|||||f��S)Nr�)r`r )� componentsr�r�r�r�r�r�r�s rArr sM��5� 3?� �2K�A�F�F�C����.� ��f�%�� �*�f�f�c�5�(�%K�L� M�Mr@c��� t|�\}}}}}}|r|r |dddk7rd|z}d|z|z}n'|dddk(rd|z}n|r|tvr|r|dddk(rd|z}|r|dz|z}|r|dz|z}|r|dz|z}||�S)NrZr�rr�r�r�r�)r`� uses_netloc)rr�r�r�r�r�r�s rAr r s���?� +7� �*C�9�F�F�C���.� � �3�r��7�c�>��s��3��V�m�c�!�� �R�a��D���S�j�� �F�k�)�3�#�b�q�'�S�.��S�j�� ��s�l�S� �� ��C�i�%�����C�i�(�"�� �#� �r@c �� |s|S|s|St||�\}}}t|d|�\}}}}}} t|||�\} } } } }}| |k7s| tvr||�S| tvr| r|t | | | | ||f��S|} | s!| s|} |} |s|}|t | | | | ||f��S|j d�}|ddk7r|d=| dddk(r| j d�}n&|| j d�z}t d|dd�|ddg}|D]0}|dk(r |j��|dk(r� |j|��2|ddvr|jd�|t | | dj|�xsd| ||f��S#t$rY��wxYw)Nrr������rZ�..�.)rr) r`r� uses_relativerrr �filter�pop� IndexError�append�join)�baser�r�r��bscheme�bnetloc�bpath�bparams�bquery� bfragmentr�r��pathr�r�r�� base_parts�segments� resolved_path�segs rArr/s��%� �� � �� � ,�T�3� 7��D�#�~� �T�2�� /�8�G�W�e�W�f�i� �S�'�?� 3�2�F�F�D�&�%�����F�-�7��c�"�"� ��� �!�*�f�f�d�.4�e�X�.G�#H�I� I��� ��������E��j�&�&�$�*0�%��*C�D�E� E����S�!�J��"�~��� �r�N� �B�Q�x�3���:�:�c�?���� � �3��/�� ��h�q��n�5���2���M��� �$�;� ��!�!�#� �C�Z� � � � �� %����|�{�"� ���R� � �*�f�f�c�h�h��7�7��v�u�h�&8�9� :�:��� �� �s�E2�2 E>�=E>c�� t|�\}}d|vr$t|�\}}}}}}t|||||df�}nd}|}|t||��S)Nr�r)r`rrr) r�r��sr��p�a�q�frag�defrags rArrtsh��� '�s�+��C�� �c�z�&�s�m���1�a��A�t��Q��1�a��B�/�0������ �,�v�t�4� 5�5r@�0123456789ABCDEFabcdefc�,� tt|��Sr<)�bytes� _unquote_impl)�strings rArr�s��6� ��v�&� '�'r@r3�returnc ��|s |jyt|t�r|jd�}|jd�}t |�dk(r|St |d�}|j }t�ItD��cic]7}tD],}||zj�tj||z���.�9c}}a|ddD] } |t|dd�||dd��"|Scc}}w#t$r|d�||�Y�FwxYw)Nr@�utf-8r�rZrr�) r r[r\rJr�� bytearray�extend� _hextobyte�_hexdigr1�fromhex�KeyError)r3�bits�resrr+r �items rAr2r2�s �� �� � ���&�#�����w�'�� �<�<�� �D� �4�y�A�~�� � �D��G� �C� �Z�Z�F���&�9�&�!��1��1�u�n�n�&�� � �a�!�e�(<�<�07�'�&�9� ��Q�R��� � �:�d�2�A�h�'� (� �4���8� �� �J��9�� � � �4�L� �4�L� �s�;}|j�\}}|||��t|d�j ||���|}�@||d��y�w)NrrZ)�_asciire�finditer�spanr2rQ)r3rKrL�previous_match_end� ascii_matchr��ends rA�_generate_unquoted_partsrG�st�������(�(��0� � �%�%�'� ��s��'��.�.��K��N�+�2�2�8�V�D�D� �� 1� �#�$� %�%�s�A!A#c��� t|t�rt|�j||�Sd|vr|j|S|�d}|�d}dj t |||��S)Nr�r6r�r)r[r1r2rQr rrG�r3rKrLs rArr�sm����&�%� ��V�$�+�+�H�f�=�=� �&��� � �� ����� �~��� �7�7�+�F�H�f�E� F�Fr@Fc �� i}t|||||||��}|D]$\} } | |vr|| j| ��| g|| <�&|S)N)rKrL�max_num_fieldsr�)r r) �qs�keep_blank_values�strict_parsingrKrLrKr�� parsed_result�pairs�name�values rAr r �si���8�M� �b�+�^�'��%3�y� J�E�� ��e� �=� � �$� � &� &�u� -�#(�'�M�$� � � �r@c�Z��� |rt|ttf�s td��t|t�r%t|t�s t|d�}d}��fd�}n9|sgStt |��}t|t�r t|d�}d}d�}|sgS|�$d|j |�z} || kr td��g} |j |�D]V} | s|s�| j|�\} } }| s|rtd | ����|s|s�4|| �} ||�}| j| |f��X| S) Nz*Separator must be of type string or bytes.rC�=c� ��t|����S)N)rKrL)r)r)rKrLs ��rA�_unquotezparse_qsl.._unquotes�����H�V�D� Dr@�=c�8�t|jdd��S)N�+� )rr�)r)s rArVzparse_qsl.._unquote$s��#�A�I�I�d�D�$9�:� :r@rZzMax number of fields exceededzbad query field: ) r[r\r1r�� memoryview�countr r�r)rLrMrNrKrLrKr��eqrV� num_fields�r� name_valuerQ�has_eqrRs `` rAr r �s:����8 �J�y�3��,�?��E�F�F��"�c���)�S�)��I�w�/�I� �� E���I��:�b�>� "�� �i�� %��i��1�I� �� ;� �� � �!�����)�,�,� � �J� &��<�=� =� �A��h�h�y�)� � ��",�"6�"6�r�":� �D�&�%��n� �*�!F�G�G��)���~�� �������$���'�*� �Hr@c�B� |jdd�}t|||�S)N�+� )r�rrIs rArr>s(��� �^�^�C�� %�F� �6�8�V� ,�,r@sBABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.-~c�z�|dk(r"tjdtd��tSt dt �d|����)N�QuoterzoDeprecated in 3.11. urllib.parse.Quoter will be removed in Python 3.14. It was not intended to be a public API.r��� stacklevelzmodule z has no attribute )�warnings�warn�DeprecationWarning�_Quoter�AttributeErrorrl)rQs rA� __getattr__rnMsC�� �x��� � �@�)�Q� 8��� �7�8�,�.@���I� J�Jr@c� �eZdZ d�Zd�Zd�Zy)rlc�:� tj|�|_yr<)� _ALWAYS_SAFE�union�safe)rirss rA�__init__z_Quoter.__init__^s��!� �&�&�t�,�� r@c� �dt|��d�S)Nz)�dictr{s rA�__repr__z_Quoter.__repr__bs���$�t�*��q�)�)r@c�d�||jvr t|�ndj|�}|||<|S)Nz%{:02X})rs�chr�format)rir r>s rA� __missing__z_Quoter.__missing__es0���T�Y�Y��c�!�f�I�,<�,<�Q�,?����Q��� r@N)rlrmrnrtrxr|r?r@rArlrlVs���-�*�r@rlc�� t|t�r|s|S|�d}|�d}|j||�}n|� td��|� td��t ||�S)Nr6rDz,quote() doesn't support 'encoding' for bytesz*quote() doesn't support 'errors' for bytes)r[r\rJr]r)r3rsrKrLs rAr r ksr��%�L�&�#����M� � ��H� �>��F����x��0�� � ��J�K� K� � ��H�I� I� �F�D� )�)r@c��� t|t�rd|vst|t�rd|vrt||||�St|t�rd}nd}t|||z||�}|j dd�S)NrdrZrc)r[r\r1r r�)r3rsrKrL�spaces rArr�su��� �F�C� �S��%6� �F�E� "�t�6�'9��V�T�8�V�4�4��$������� �6�4�%�<��6� :�F� �>�>�#�s� #�#r@c�,�t|�jSr<)rl� __getitem__)rss rAr>r>�s�� �4�=� $� $�$r@c �^� t|ttf�s td��|syt|t�r|j dd�}nt|D�cgc] }|dks� |�� c}�}|j t|z�s|j�St|�}t|�x}dkrdjt||��Stj|�}td||�D�cgc]#}djt|||||z����%}}dj|�Scc}wcc}w)Nz!quote_from_bytes() expected bytesrrC�ignore�i@ r)r[r1r7r]r\rJ�rstrip�_ALWAYS_SAFE_BYTESrQr>r�r�map�math�isqrt�range)�bsrsr��quoter�bs_len� chunk_sizer��chunkss rArr�s��� �b�5�)�,� -��;�<�<� ���$����{�{�7�H�-����1��A��S��a��1�2�� �9�9�'�$�.� /��y�y�{�� !�$� '�F��b�'���W�$��w�w�s�6�2��'�'��Z�Z��'� � ��F�J�7�9�7�a��'�'�#�f�b��1�Z�<�&8�9�:�7� �9��w�w�v����2��9s� D%�D%�*(D*c�F� t|d�r|j�}n% t|�rt|dt�st �g}|s~|D]x\}} t|t �r |||�}n|t|�|||�}t| t �r || |�} n|t| �|||�} |j|dz| z��zn�|D]�\}} t|t �r |||�}n|t|�|||�}t| t �r!|| |�} |j|dz| z��et| t�r#|| |||�} |j|dz| z��� t| �} | D]G} t| t �r || |�} n|t| �|||�} |j|dz| z��I��dj|�S#t $r}t d�|�d}~wwxYw#t $r/|t| �|||�} |j|dz| z�Y��WwxYw)N�itemsrz1not a valid non-string sequence or mapping objectrT�&) �hasattrr�r�r[rVr]r1r\rr) r��doseqrsrKrL� quote_via�err�l�kr�rT�elts rAr r �s�� ��u�g��� � � �� :��5�z�*�U�1�X�u�"=��� �A� ��D�A�q��!�U�#��a��&���c�!�f�d�H�f�=���!�U�#��a��&���c�!�f�d�H�f�=�� �H�H�Q��W�q�[� !���D�A�q��!�U�#��a��&���c�!�f�d�H�f�=���!�U�#��a��&������S��1��%��A�s�#��a��x��8������S��1��%�0��A��A� !��%�c�5�1�"+�C��"6�C�"+�C��H�d�H�f�"M�C�����S��3��/� !�-�8 �8�8�A�;���]� :��0�1�69� :�� :��D!�*�!�#�a�&�$��&�A�A��H�H�Q��W�q�[�)�*�s)�$G �! G(� G%� G � G%�(4H �H c�P�tjdtd��t|�S)Nz/urllib.parse.to_bytes() is deprecated as of 3.8r�rg)rirjrk� _to_bytes�r�s rA�to_bytesr�"s �� �M�M�C�$��4� �S�>�r@c�� t|t�r" |jd�j�}|S|S#t$rt dt |�zdz��wxYw)N�ASCIIzURL z contains non-ASCII characters)r[r\rJrQ� UnicodeError�reprr�s rAr�r�(so��%��#�s�� A��*�*�W�%�,�,�.�C� �J�3�J��� A��v��S� �1�?� @�A� A� A�s �6�$Ac�� t|�j�}|dddk(r|dddk(r|ddj�}|dddk(r|ddj�}|S)NrZ��d�l�l�n���I�E��U�{���E��U�{�� ��=�r@c�P�tjdtd��t|�S)NzVurllib.parse.splitquery() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�rg)rirjrk� _splitqueryr�s rA� splitqueryr��s%�� �M�M�8�$��4� �s� �r@c�B� |jd�\}}}|r||fS|dfS)Nr�r�)r�r#r�r�s rAr�r��s1��9�����,��D�%�� ��U�{�� ��9�r@c�P�tjdtd��t|�S)NzTurllib.parse.splittag() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�rg)rirjrk� _splittagr�s rA�splittagr��s$�� �M�M�8�$��4� �S�>�r@c�B� |jd�\}}}|r||fS|dfSr�r�)r�r#r��tags rAr�r��s1��3��~�~�c�*��D�%�� ��S�y�� ��9�r@c�P�tjdtd��t|�S)NzUurllib.parse.splitattr() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�rg)rirjrk� _splitattrr�s rA� splitattrr��r�r@c�:� |jd�}|d|ddfS)Nr�rrZ)r )r��wordss rAr�r��s)��;� �I�I�c�N�E� ��8�U�1�2�Y� �r@c�P�tjdtd��t|�S)NzWurllib.parse.splitvalue() is deprecated as of 3.8, use urllib.parse.parse_qsl() insteadr�rg)rirjrk� _splitvalue)�attrs rA� splitvaluer��s%�� �M�M�9�$��4� �t� �r@c�@� |jd�\}}}||r|fSdfS)NrTr�)r�r�rRs rAr�r��s/��7�����,��D�%�� �5�%� +�+�d� +�+r@)rT)r)T)r6r�)FFr6r�Nr�)r�NN)rNN)r�)r)q� collectionsr� functoolsr�r�r�rir��__all__rrr��non_hierarchical� uses_query� uses_fragmentr rrrB�_implicit_encoding�_implicit_errorsrGrMrXr`�objectrbrrrwr�r��_DefragResultBase�_SplitResultBase�_ParseResultBase�__doc__r�r�r�r�r#r�r�� ResultBaserrrrrrr�rr�r�r�r�r�� lru_cacherrr rrr:r9rr1r7r\r2r�rArGrr r r� frozensetrqr�rnrwrlr rr>rr 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�r?r@rA�r�s����B#�� � � ��� H��0� � -� � -� �F��A� �%� � � �\��1��'������"4�/�(�!3�.�H�2�"V�f�V�V��V�#8�V�#8�L�2�O��<�4�6G��<�~�~�>����6�8����=�?�����!K�����&����"� ���#N�����#�����!�����"����� %����!� ��� #3�"9�"9�"A�"A�����"2�"9�"9�"A�"A����� 0� 5� 5� =� =�����#����� "2�!7�!7�!?�!?�����$4�$=�$=�$E�$E����!� #� ��$�o�� �"�$9� �  �"�$9� � �)�+<�� �'�)@� �  �'�)@� � 1����"�<�)�D�$$�&G�����4� �5�!�5�n N��.B:�J6� #�� � �(��%�)�+�c�1��e�i�6G��: �2�:�:�&� '��&�G�.:?�PS�'�T;@�QT�G �R-��!�"� ��<�(��K��d��*4*�l$�$ ���%��%��6!�r�D��"�M�`� � �� � � �� � � ��+� �-� � � � �&��"�������,r@