§
    
Á³gÿ  ã                   ój   — d Z ddlmZ  G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zd	S )
zb
The cache object API for implementing caches. The default is a thread
safe in-memory dictionary.
é    )ÚLockc                   ó(   — e Zd Zd„ Zdd„Zd„ Zd„ ZdS )Ú	BaseCachec                 ó   — t          ¦   «         ‚©N©ÚNotImplementedError©ÚselfÚkeys     ú\/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/cache.pyÚgetzBaseCache.get   ó   € Ý!Ñ#Ô#Ð#ó    Nc                 ó   — t          ¦   «         ‚r   r   ©r   r   ÚvalueÚexpiress       r   ÚsetzBaseCache.set   r   r   c                 ó   — t          ¦   «         ‚r   r   r
   s     r   ÚdeletezBaseCache.delete   r   r   c                 ó   — d S r   © )r   s    r   ÚclosezBaseCache.close   s   € Øˆr   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r      sU   € € € € € ð$ð $ð $ð$ð $ð $ð $ð$ð $ð $ðð ð ð ð r   r   c                   ó*   — e Zd Zdd„Zd„ Zdd„Zd„ ZdS )Ú	DictCacheNc                 ó>   — t          ¦   «         | _        |pi | _        d S r   )r   ÚlockÚdata)r   Ú	init_dicts     r   Ú__init__zDictCache.__init__   s   € Ý‘F”FˆŒ	Ø�O ˆŒ	ˆ	ˆ	r   c                 ó8   — | j                              |d ¦  «        S r   )r"   r   r
   s     r   r   zDictCache.get!   s   € ØŒy�}Š}˜S $Ñ'Ô'Ð'r   c                 ó~   — | j         5  | j                             ||i¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r   )r!   r"   Úupdater   s       r   r   zDictCache.set$   sˆ   € ØŒYð 	+ð 	+ØŒI×Ò˜c 5˜\Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   ˆ2²6¹6c                 óŒ   — | j         5  || j        v r| j                             |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r   )r!   r"   Úpopr
   s     r   r   zDictCache.delete(   s�   € ØŒYð 	#ð 	#Ø�d”iÐÐØ”	—’˜cÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#s   ˆ$9¹=Á =r   )r   r   r   r$   r   r   r   r   r   r   r   r      sZ   € € € € € ð$ð $ð $ð $ð(ð (ð (ð+ð +ð +ð +ð#ð #ð #ð #ð #r   r   c                   ó   — e Zd ZdZd„ Zd„ ZdS )Ú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()``.
    c                 ó   — t          ¦   «         ‚r   r   )r   r   Úbodys      r   Úset_bodyzSeparateBodyBaseCache.set_body:   r   r   c                 ó   — t          ¦   «         ‚)z6
        Return the body as file-like object.
        r   r
   s     r   Úget_bodyzSeparateBodyBaseCache.get_body=   s   € õ "Ñ#Ô#Ð#r   N)r   r   r   Ú__doc__r.   r0   r   r   r   r+   r+   .   s<   € € € € € ð
ð 
ð$ð $ð $ð$ð $ð $ð $ð $r   r+   N)r1   Ú	threadingr   Úobjectr   r   r+   r   r   r   ú<module>r4      s«   ðð
ð ð Ð Ð Ð Ð Ð ðð ð ð ð �ñ ô ð ð#ð #ð #ð #ð #�	ñ #ô #ð #ð&$ð $ð $ð $ð $˜Iñ $ô $ð $ð $ð $r   