HEX
Server: nginx/1.24.0
System: Linux webserver 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64
User: wpuser (1002)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-312.pyc
�

��h��|�ddlmZddlZddlmZmZmZmZmZddl	m
Z
ddlmZddl
mZerddlmZGd�d	�Zy)
�)�annotationsN)�IO�
TYPE_CHECKING�Any�Mapping�cast)�msgpack)�CaseInsensitiveDict)�HTTPResponse)�PreparedRequestc���eZdZdZ	d							d
d�Zdd�Z	d							dd�Z	d							dd�Z	d							dd�Z	d							dd�Z		d							dd	�Z
	d							dd
�Z	d							dd�Zy)�
Serializer�4Nc
��t|j�}|�<|jd��}tj|�|_t
|�|_d||jj�D��cic]\}}t|�t|���c}}|j|jt|j�|jd�i}i|d<d|vre|djd�}|D]L}	t|	�j�}	|jj!|	d�}
|
�t|
�}
|
|d|	<�Ndj#d|j$��j'�|j)|�g�Scc}}w)	NF)�decode_content�response)�body�headers�status�version�reasonr�vary�,�,zcc=)r
r�read�io�BytesIO�_fp�len�length_remaining�items�strrrrr�split�strip�get�join�
serde_version�encode�	serialize)�self�requestrr�response_headers�k�v�data�varied_headers�header�header_values           �D/usr/lib/python3/dist-packages/pip/_vendor/cachecontrol/serialize.py�dumpszSerializer.dumpssn��6I����6
���<��=�=��=�6�D��:�:�d�+�H�L�(+�D�	�H�%�
��7?�7G�7G�7M�7M�7O�P�t�q�!�C��F�C��F�N�P�"�/�/�#�+�+��h�o�o�.�"*�"9�"9�
�	
����V���%�%�-�f�5�;�;�C�@�N�(�
4���V��*�*�,��&���2�2�6�4�@���+�#&�|�#4�L�'3��V��V�$�
4��y�y�C�� 2� 2�3�4�;�;�=�t�~�~�d�?S�T�U�U��'Qs�3E9
c�L�tttj|d���S)NT)�use_bin_type)r�bytesr	r4)r*r/s  r3r)zSerializer.serialize>s���E�7�=�=��D�A�B�B�c�
�|sy	|jdd�\}}|dddk7r||z}d}|jdd�djd�}	t|d	|���|||�S#t$rd}Y�XwxYw#t$rYywxYw)
Nr�scc=0�scc=�=����ascii�_loads_v)r#�
ValueError�decode�getattr�AttributeError)r*r+r/�	body_file�ver�verstrs      r3�loadszSerializer.loadsAs�����	��
�
�4��+�I�C���r��7�f����:�D��C����4��#�B�'�.�.�w�7��	�5�7�4�8�F�8�!4�5�g�t�Y�O�O���	��C�	�� �	��	�s#�A%�A6�%A3�2A3�6	B�Bc�N�d|jdi�vry|jdi�j�D]&\}}|jj|d�|k7s�&y|djd�}t	|dd��}|jdd	�d
k(r|jd�||dd<	|�tj|�}n|}|djdd�td|d
d�|d��S#t$r'tj|jd��}Y�UwxYw)z`Verify our vary headers match and construct a real urllib3
        HTTPResponse object.
        �*rNrrr)r/ztransfer-encoding��chunked�utf8�strictF)r�preload_content�)
r%r!r�popr
rr�	TypeErrorr(r)	r*r+�cachedrDr1�value�body_rawrrs	         r3�prepare_responsezSerializer.prepare_responseds8���&�*�*�V�R�(�(��$�Z�Z���3�9�9�;�	�M�F�E����"�"�6�4�0�E�9��	��*�%�)�)�&�1��,?��
�#�I�.�-
���;�;�*�B�/�9�<��K�K�+�,�(/��z��9�%�
	7�� ��z�z�(�+�� ��	�z����x��.��S��u�S��z�@R�S�S���	7��:�:�h�o�o�f�5�6�D�	7�s�4C4�4-D$�#D$c��y�NrO�r*r+r/rDs    r3�	_loads_v0zSerializer._loads_v0����r8c��yrWrOrXs    r3�	_loads_v1zSerializer._loads_v1�s��r8c��yrWrOrXs    r3�	_loads_v2zSerializer._loads_v2�rZr8c��yrWrOrXs    r3�	_loads_v3zSerializer._loads_v3�rZr8c�v�	tj|d��}|j|||�S#t$rYywxYw)NF)�raw)r	rGr@rU)r*r+r/rDrRs     r3�	_loads_v4zSerializer._loads_v4�sB��	��]�]�4�U�3�F��$�$�W�f�i�@�@���	��	�s�,�	8�8rW)r+rrrrzbytes | None�returnr7)r/zdict[str, Any]rdr7)r+rr/r7rD�IO[bytes] | Nonerd�HTTPResponse | None)r+rrRzMapping[str, Any]rDrerdrf)r+rr/r7rDrerd�None)
�__name__�
__module__�__qualname__r'r4r)rGrUrYr\r^r`rcrOr8r3rrs����M�"�	(V� �(V��(V��	(V�

�(V�TC�'+�	!� �!��!�$�	!�

�!�N'+�	2T� �2T�"�2T�$�	2T�

�2T�p'+�		� �	��	�$�		�

�	�'+�	� ����$�	�

��'+�		� �	��	�$�		�

�	�'+�		� �	��	�$�		�

�	�'+�	A� �A��A�$�	A�

�Ar8r)�
__future__rr�typingrrrrr�pip._vendorr	�pip._vendor.requests.structuresr
�pip._vendor.urllib3r�pip._vendor.requestsrrrOr8r3�<module>rqs0��#�	�8�8��?�,��4�}A�}Ar8