HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-311.pyc
�

�mi����dZddlmZddlmZddlmZmZmZerddl	m	Z	Gd�d��Z
Gd�d	e
��ZGd
�de
��ZdS)
zb
The cache object API for implementing caches. The default is a thread
safe in-memory dictionary.
�)�annotations)�Lock)�IO�
TYPE_CHECKING�MutableMapping)�datetimec�2�eZdZdd�Z	ddd�Zdd
�Zdd�ZdS)�	BaseCache�key�str�return�bytes | Nonec��t����N��NotImplementedError��selfrs  �@D:\Python311\Lib\site-packages\pip/_vendor/cachecontrol/cache.py�getz
BaseCache.get���!�#�#�#�N�value�bytes�expires�int | datetime | None�Nonec��t���rr�rrrrs    r�setz
BaseCache.sets��"�#�#�#rc��t���rrrs  r�deletezBaseCache.deleterrc��dSr�)rs r�closezBaseCache.closes���r�rrr
rr�rrrrrrr
r�rrr
r)r
r)�__name__�
__module__�__qualname__rr r"r%r$rrr
r
sp������$�$�$�$�HL�$�$�$�$�$�
$�$�$�$�
�
�
�
�
�
rr
c�4�eZdZddd�Zdd
�Z	ddd�Zdd�ZdS)�	DictCacheN�	init_dict�!MutableMapping[str, bytes] | Noner
rc�>�t��|_|pi|_dSr)r�lock�data)rr.s  r�__init__zDictCache.__init__$s���F�F��	��O���	�	�	rrrrc�8�|j�|d��Sr)r2rrs  rrz
DictCache.get(s���y�}�}�S�$�'�'�'rrrrrc�~�|j5|j�||i��ddd��dS#1swxYwYdSr)r1r2�updaters    rr z
DictCache.set+s����Y�	+�	+��I���c�5�\�*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+s�2�6�6c��|j5||jvr|j�|��ddd��dS#1swxYwYdSr)r1r2�poprs  rr"zDictCache.delete1s���
�Y�	#�	#��d�i��
#��	�
�
�c�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	#�	#s
�$9�=�=r)r.r/r
rr&r'r()r)r*r+r3rr r"r$rrr-r-#su������$�$�$�$�$�(�(�(�(�HL�+�+�+�+�+�#�#�#�#�#�#rr-c�"�eZdZdZdd�Zd
d
�ZdS)�SeparateBodyBaseCacheag
    In this variant, the body is not stored mixed in with the metadata, but is
    passed in (as a bytes-like object) in a separate call to ``set_body()``.

    That is, the expected interaction pattern is::

        cache.set(key, serialized_metadata)
        cache.set_body(key)

    Similarly, the body should be loaded separately via ``get_body()``.
    rr�bodyrr
rc��t���rr)rrr;s   r�set_bodyzSeparateBodyBaseCache.set_bodyDrr�IO[bytes] | Nonec��t���)z6
        Return the body as file-like object.
        rrs  r�get_bodyzSeparateBodyBaseCache.get_bodyGs��"�#�#�#rN)rrr;rr
r)rrr
r>)r)r*r+�__doc__r=r@r$rrr:r:7sF������
�
�$�$�$�$�$�$�$�$�$�$rr:N)
rA�
__future__r�	threadingr�typingrrrrr
r-r:r$rr�<module>rEs���
��
#�"�"�"�"�"�������4�4�4�4�4�4�4�4�4�4��"�!�!�!�!�!�!�

�

�

�

�

�

�

�

� #�#�#�#�#�	�#�#�#�($�$�$�$�$�I�$�$�$�$�$r