§
    sŠtj,$  ã                   óð  — d Z ddlZddlZ	 ddlmZ ddlmZ ddlmZ n# e$ r ddlmZ ddlmZ ddlmZ Y nw xY w	 ddl	m
Z
 ddlmZ n(# e$ r  	 ddlm
Z
 ddlmZ n# e$ r dZ
dZY nw xY wY nw xY wej        dk     rdZn	 dd	lmZ n# e$ r	 dd	lmZ Y nw xY wej        d
k    ZerddlmZmZ ddlZddlmZmZ nddlmZmZ ddlZddlmZ ddlmZ 	 eZn# e$ r e e!fZY nw xY w G d„ de¦  «        Z"dZ#dS )zþPrivate module full of compatibility hacks.

Primarily this is for downstream redistributions of requests that unvendor
urllib3 without providing a shim.

.. warning::

    This module is private. If you use it, and something breaks, you were
    warned
é    N)Úfields)Úfilepost)Úpoolmanager)ÚHTTPConnection)Ú
connectioni  )Útimeout)é   r   )ÚMappingÚMutableMapping)Ú	urlencodeÚurljoin)r   )r   c                   óð   ‡ — e Zd ZdZdˆ fd„	Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
esej        Zej        Z e¦   «         Zd
„ Zd„ Zefd„Zd„ Zd„ Zd„ Zd„ ZeZeZeZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z e!d„ ¦   «         Z"ˆ xZ#S )ÚHTTPHeaderDictap  
    :param headers:
        An iterable of field-value pairs. Must not contain multiple field names
        when compared case-insensitively.

    :param kwargs:
        Additional field-value pairs to pass in to ``dict.update``.

    A ``dict`` like container for storing HTTP Headers.

    Field names are stored and compared case-insensitively in compliance with
    RFC 7230. Iteration provides the first case-sensitive key seen for each
    case-insensitive pair.

    Using ``__setitem__`` syntax overwrites fields that compare equal
    case-insensitively in order to maintain ``dict``'s api. For fields that
    compare equal, instead create a new ``HTTPHeaderDict`` and use ``.add``
    in a loop.

    If multiple fields that are equal case-insensitively are passed to the
    constructor or ``.update``, the behavior is undefined and some will be
    lost.

    >>> headers = HTTPHeaderDict()
    >>> headers.add('Set-Cookie', 'foo=bar')
    >>> headers.add('set-cookie', 'baz=quxx')
    >>> headers['content-length'] = '7'
    >>> headers['SET-cookie']
    'foo=bar, baz=quxx'
    >>> headers['Content-Length']
    '7'
    Nc                 ó  •— t          t          | ¦  «                             ¦   «          i | _        |�@t	          |t          ¦  «        r|                      |¦  «         n|                      |¦  «         |r|                      |¦  «         d S d S ©N)Úsuperr   Ú__init__Ú
_containerÚ
isinstanceÚ
_copy_fromÚextend)ÚselfÚheadersÚkwargsÚ	__class__s      €úW/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/requests_toolbelt/_compat.pyr   zHTTPHeaderDict.__init__`   s�   ø€ Ý�n˜dÑ#Ô#×,Ò,Ñ.Ô.Ð.ØˆŒØÐÝ˜'¥>Ñ2Ô2ð %Ø—’ Ñ(Ô(Ð(Ð(à—’˜GÑ$Ô$Ð$Øð 	 Ø�KŠK˜ÑÔÐÐÐð	 ð 	 ó    c                 ó|   — ||f| j         |                     ¦   «         <   | j         |                     ¦   «                  S r   ©r   Úlower©r   ÚkeyÚvals      r   Ú__setitem__zHTTPHeaderDict.__setitem__k   s/   € Ø(+¨S zˆŒ˜Ÿ	š	™œÑ$ØŒ˜sŸyšy™{œ{Ô+Ð+r   c                 óz   — | j         |                     ¦   «                  }d                     |dd …         ¦  «        S )Nú, é   ©r   r    Újoinr!   s      r   Ú__getitem__zHTTPHeaderDict.__getitem__o   s0   € ØŒo˜cŸiši™kœkÔ*ˆØ�yŠy˜˜Q˜R˜RœÑ!Ô!Ð!r   c                 ó:   — | j         |                     ¦   «         = d S r   r   ©r   r"   s     r   Ú__delitem__zHTTPHeaderDict.__delitem__s   s   € ØŒO˜CŸIšI™KœKÐ(Ð(Ð(r   c                 ó8   — |                      ¦   «         | j        v S r   )r    r   r,   s     r   Ú__contains__zHTTPHeaderDict.__contains__v   s   € Ø�yŠy‰{Œ{˜dœoÐ-Ð-r   c                 ó6  — t          |t          ¦  «        st          |d¦  «        sdS t          |t          | ¦  «        ¦  «        s t          | ¦  «        |¦  «        }d„ |                      ¦   «         D ¦   «         d„ |                     ¦   «         D ¦   «         k    S )NÚkeysFc                 ó>   — i | ]\  }}|                      ¦   «         |“ŒS © ©r    ©Ú.0ÚkÚvs      r   ú
<dictcomp>z)HTTPHeaderDict.__eq__.<locals>.<dictcomp>~   s&   € Ð<Ð<Ð<¡$ ! Q�—’‘”˜AÐ<Ð<Ð<r   c                 ó>   — i | ]\  }}|                      ¦   «         |“ŒS r3   r4   r5   s      r   r9   z)HTTPHeaderDict.__eq__.<locals>.<dictcomp>   s&   € Ð=Ð=Ð=¡$ ! Q�—’‘”˜AÐ=Ð=Ð=r   )r   r
   ÚhasattrÚtypeÚ
itermerged©r   Úothers     r   Ú__eq__zHTTPHeaderDict.__eq__y   s™   € Ý˜%¥Ñ)Ô)ð 	µ'¸%ÀÑ2HÔ2Hð 	Ø�5Ý˜%¥ d¡¤Ñ,Ô,ð 	&Ø•D˜‘J”J˜uÑ%Ô%ˆEØ<Ð<¨$¯/ª/Ñ*;Ô*;Ð<Ñ<Ô<Ø=Ð=¨%×*:Ò*:Ñ*<Ô*<Ð=Ñ=Ô=ò>ð 	?r   c                 ó.   — |                       |¦  «         S r   )r@   r>   s     r   Ú__ne__zHTTPHeaderDict.__ne__�   s   € Ø—;’;˜uÑ%Ô%Ð%Ð%r   c                 ó*   — t          | j        ¦  «        S r   )Úlenr   ©r   s    r   Ú__len__zHTTPHeaderDict.__len__Š   s   € Ý�4”?Ñ#Ô#Ð#r   c              #   óV   K  — | j                              ¦   «         D ]}|d         V — Œd S )Nr   )r   Úvalues)r   Úvalss     r   Ú__iter__zHTTPHeaderDict.__iter__�   s<   è è € à”O×*Ò*Ñ,Ô,ð 	ð 	ˆDØ�q”'ˆMˆMˆMˆMð	ð 	r   c                 óV   — 	 | |         }| |= |S # t           $ r || j        u r‚ |cY S w xY w)z¢D.pop(k[,d]) -> v, remove specified key and return its value.

        If key is not found, d is returned if given, otherwise KeyError is
        raised.
        )ÚKeyErrorÚ_HTTPHeaderDict__marker)r   r"   ÚdefaultÚvalues       r   ÚpopzHTTPHeaderDict.pop’   sT   € ð	Ø˜”IˆEð �S�	ØˆLøõ ð 	ð 	ð 	Ø˜$œ-Ð'Ð'ØØˆNˆNˆNð	øøøs   ‚ �(§(c                 ó0   — 	 | |= d S # t           $ r Y d S w xY wr   )rL   r,   s     r   ÚdiscardzHTTPHeaderDict.discard¦   s4   € ð	Ø�S�	�	�	øÝð 	ð 	ð 	ØˆDˆDð	øøøs   ‚ ‡
”c                 ó  — |                      ¦   «         }||f}| j                             ||¦  «        }||urGt          |t          ¦  «        r|                     |¦  «         dS |d         |d         |g| j        |<   dS dS )zâAdds a (name, value) pair, doesn't overwrite the value if it already
        exists.

        >>> headers = HTTPHeaderDict(foo='bar')
        >>> headers.add('Foo', 'baz')
        >>> headers['foo']
        'bar, baz'
        r   r'   N)r    r   Ú
setdefaultr   ÚlistÚappend)r   r"   r#   Ú	key_lowerÚnew_valsrI   s         r   ÚaddzHTTPHeaderDict.add¬   s’   € ð —I’I‘K”Kˆ	Ø˜�8ˆàŒ×)Ò)¨)°XÑ>Ô>ˆØ˜4ÐÐå˜$¥Ñ%Ô%ð Eà—’˜CÑ Ô Ð Ð Ð ð /3°1¬g°t¸A´wÀÐ-D�” 	Ñ*Ð*Ð*ð  Ðr   c                 óâ  — t          |¦  «        dk    r/t          d                     t          |¦  «        ¦  «        ¦  «        ‚t          |¦  «        dk    r|d         nd}t          |t          ¦  «        r1|                     ¦   «         D ]\  }}|                      ||¦  «         Œn™t          |t          ¦  «        r"|D ]}|                      |||         ¦  «         Œnbt          |d¦  «        r4| 	                    ¦   «         D ]}|                      |||         ¦  «         Œn|D ]\  }}|                      ||¦  «         Œ| 
                    ¦   «         D ]\  }}|                      ||¦  «         ŒdS )zÀGeneric import function for any type of header-like object.
        Adapted version of MutableMapping.update in order to insert items
        with self.add instead of self.__setitem__
        r'   z8extend() takes at most 1 positional arguments ({} given)r   r3   r1   N)rD   Ú	TypeErrorÚformatr   r   Ú	iteritemsrY   r
   r;   r1   Úitems)r   Úargsr   r?   r"   r#   rO   s          r   r   zHTTPHeaderDict.extendÃ   s˜  € õ
 ˆt‰9Œ9�qŠ=ˆ=Ýð 3ß39²6½#¸d¹)¼)Ñ3DÔ3DñFô Fð Få˜t™9œ9¨š>˜>��Q”�¨rˆå�e�^Ñ,Ô,ð 	%Ø!ŸOšOÑ-Ô-ð #ð #‘��SØ—’˜˜cÑ"Ô"Ð"Ð"ð#å˜�wÑ'Ô'ð 	%Øð *ð *�Ø—’˜˜e CœjÑ)Ô)Ð)Ð)ð*å�U˜FÑ#Ô#ð 	%Ø—z’z‘|”|ð *ð *�Ø—’˜˜e CœjÑ)Ô)Ð)Ð)ð*ð $ð %ð %‘
��UØ—’˜˜eÑ$Ô$Ð$Ð$à Ÿ,š,™.œ.ð 	!ð 	!‰JˆC�Ø�HŠH�S˜%Ñ Ô Ð Ð ð	!ð 	!r   c                 ó¶   — 	 | j         |                     ¦   «                  }t          |t          ¦  «        r	|d         gS |dd…         S # t          $ r g cY S w xY w)zmReturns a list of all the values for the named field. Returns an
        empty list if the key doesn't exist.r'   N)r   r    r   ÚtuplerL   )r   r"   rI   s      r   ÚgetlistzHTTPHeaderDict.getlistÝ   sn   € ð	 Ø”? 3§9¢9¡;¤;Ô/ˆDõ ˜$¥Ñ&Ô&ð  Ø˜Qœ�yÐ à˜A˜B˜B”x�øõ ð 	ð 	ð 	ØˆIˆIˆIð	øøøs   ‚A	 Á	AÁAc                 ót   — t          | ¦  «        j        ›dt          |                      ¦   «         ¦  «        ›d�S )Nú(ú))r<   Ú__name__Údictr=   rE   s    r   Ú__repr__zHTTPHeaderDict.__repr__ï   s4   € Ý ™:œ:Ô.Ð.Ð.µ°T·_²_Ñ5FÔ5FÑ0GÔ0GÐ0GÐ0GÐHÐHr   c                 óÂ   — |D ][}|                      |¦  «        }t          |t          ¦  «        rt          |¦  «        }|g|z   | j        |                     ¦   «         <   Œ\d S r   )rb   r   rU   r   r    )r   r?   r"   r#   s       r   r   zHTTPHeaderDict._copy_fromò   sf   € Øð 	7ð 	7ˆCØ—-’- Ñ$Ô$ˆCÝ˜#�tÑ$Ô$ð  å˜3‘i”i�Ø,/¨5°3©;ˆDŒO˜CŸIšI™KœKÑ(Ð(ð	7ð 	7r   c                 ó^   —  t          | ¦  «        ¦   «         }|                     | ¦  «         |S r   )r<   r   )r   Úclones     r   ÚcopyzHTTPHeaderDict.copyú   s,   € Ø•�T‘
”
‘”ˆØ×Ò˜ÑÔÐØˆr   c              #   ó„   K  — | D ]:}| j         |                     ¦   «                  }|dd…         D ]}|d         |fV — ŒŒ;dS )z8Iterate over all header lines, including duplicate ones.r'   Nr   r   )r   r"   rI   r#   s       r   r]   zHTTPHeaderDict.iteritemsÿ   sf   è è € àð 	#ð 	#ˆCØ”? 3§9¢9¡;¤;Ô/ˆDØ˜A˜B˜B”xð #ð #�Ø˜1”g˜s�lÐ"Ð"Ð"Ð"ð#ð	#ð 	#r   c              #   ó    K  — | D ]H}| j         |                     ¦   «                  }|d         d                     |dd…         ¦  «        fV — ŒIdS )z:Iterate over all headers, merging duplicate ones together.r   r&   r'   Nr(   r!   s      r   r=   zHTTPHeaderDict.itermerged  s_   è è € àð 	-ð 	-ˆCØ”/ #§)¢)¡+¤+Ô.ˆCØ�a”&˜$Ÿ)š) C¨¨¨¤GÑ,Ô,Ð,Ð,Ð,Ð,Ð,ð	-ð 	-r   c                 óD   — t          |                      ¦   «         ¦  «        S r   )rU   r]   rE   s    r   r^   zHTTPHeaderDict.items  s   € Ý�D—N’NÑ$Ô$Ñ%Ô%Ð%r   c                 ó4  — g }|j         D ]„}|                     d¦  «        r+|d         \  }}||dz   |                     ¦   «         z   f|d<   ŒB|                     dd¦  «        \  }}|                     ||                     ¦   «         f¦  «         Œ… | |¦  «        S )z4Read headers from a Python 2 httplib message object.)ú ú	éÿÿÿÿz
ú:r'   )r   Ú
startswithÚrstripÚsplitrV   Ústrip)ÚclsÚmessager   Úliner"   rO   s         r   Úfrom_httplibzHTTPHeaderDict.from_httplib  s¤   € ð ˆà”Oð 	1ð 	1ˆDØ�Š˜{Ñ+Ô+ð Ø$ Rœ[‘
��UØ" E¨F¡N°T·[²[±]´]Ñ$BÐC�˜‘ØàŸš C¨Ñ+Ô+‰JˆC�Ø�NŠN˜C §¢¡¤Ð/Ñ0Ô0Ð0Ð0àˆs�7‰|Œ|Ðr   r   )$rf   Ú
__module__Ú__qualname__Ú__doc__r   r$   r*   r-   r/   r@   rB   ÚPY3r   ÚiterkeysÚ
itervaluesÚobjectrM   rF   rJ   rP   rR   rY   r   rb   Ú
getheadersÚgetallmatchingheadersÚigetrh   r   rl   r]   r=   r^   Úclassmethodr|   Ú__classcell__)r   s   @r   r   r   >   sÇ  ø€ € € € € ðð ðB	 ð 	 ð 	 ð 	 ð 	 ð 	 ð,ð ,ð ,ð"ð "ð "ð)ð )ð )ð.ð .ð .ð?ð ?ð ?ð&ð &ð &ð ð /Ø!Ô*ˆØ#Ô.ˆ
àˆv‰xŒx€Hð$ð $ð $ðð ð ð
  (ð ð ð ð ð(ð ð ðEð Eð Eð.!ð !ð !ð4 ð  ð  ð €JØ#ÐØ€DðIð Ið Ið7ð 7ð 7ðð ð ð
#ð #ð #ð-ð -ð -ð&ð &ð &ð ðð ñ „[ðð ð ð ð r   r   )
Ú
basestringr   r   r   r   r   r   Úqueuer   r   )$r   ÚsysÚrequestsÚrequests.packages.urllib3r   r   r   ÚImportErrorÚurllib3Ú$requests.packages.urllib3.connectionr   r   Úurllib3.connectionÚ	__build__r   Úrequests.packages.urllib3.utilÚurllib3.utilÚversion_infor€   Úcollections.abcr
   r   rŠ   Úurllib.parser   r   ÚcollectionsÚQueueÚurllibÚurlparser‰   Ú	NameErrorÚstrÚbytesr   Ú__all__r3   r   r   ú<module>r       sÇ  ðð	ð 	ð €
€
€
à €€€ð$Ø0Ð0Ð0Ð0Ð0Ð0Ø2Ð2Ð2Ð2Ð2Ð2Ø5Ð5Ð5Ð5Ð5Ð5Ð5øØð $ð $ð $ØÐÐÐÐÐØ Ð Ð Ð Ð Ð Ø#Ð#Ð#Ð#Ð#Ð#Ð#Ð#ð$øøøð
	ØCÐCÐCÐCÐCÐCØ4Ð4Ð4Ð4Ð4Ð4Ð4øØð ð ð ðØ5Ð5Ð5Ð5Ð5Ð5Ø&Ð&Ð&Ð&Ð&Ð&Ð&øØð ð ð ØˆØˆ
ˆ
ˆ
ðøøøøøð	øøøð Ô˜Ò Ð Ø€G€Gð)Ø:Ð:Ð:Ð:Ð:Ð:Ð:øØð )ð )ð )Ø(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ð)øøøð 
Ô˜Ò€àð !Ø7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ø€L€L€LØ/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/à3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ØÐÐÐØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðØ€J€JøØð ð ð Ø�u�€J€J€Jðøøøðbð bð bð bð b�^ñ bô bð bðJ€€€se   Œ Ÿ9¸9½A
 Á
A/ÁAÁA/Á	A)Á&A/Á(A)Á)A/Á.A/ÂB ÂBÂBÃC Ã	C#Ã"C#