§
    ÷„tj   ã                  ó˜   — d Z ddlmZ ddlmZ ddlmZmZmZ erddl	m	Z	  G d„ d¦  «        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.
é    )Úannotations)ÚLock)ÚIOÚTYPE_CHECKINGÚMutableMapping)Údatetimec                  ó2   — e Zd Zdd„Z	 ddd„Zdd„Zdd„ZdS )Ú	BaseCacheÚkeyÚstrÚreturnúbytes | Nonec                ó   — t          ¦   «         ‚©N©ÚNotImplementedError©Úselfr   s     ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/cache.pyÚgetzBaseCache.get   ó   € Ý!Ñ#Ô#Ð#ó    NÚvalueÚbytesÚexpiresúint | datetime | NoneÚNonec                ó   — t          ¦   «         ‚r   r   ©r   r   r   r   s       r   ÚsetzBaseCache.set   s   € õ "Ñ#Ô#Ð#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   r   r   r   r   ©r   r   r   r   r   r   r   r   ©r   r   r   r   )r   r   )Ú__name__Ú
__module__Ú__qualname__r   r    r"   r%   r$   r   r   r
   r
      sp   € € € € € ð$ð $ð $ð $ð HLð$ð $ð $ð $ð $ð
$ð $ð $ð $ðð ð ð ð ð r   r
   c                  ó4   — e Zd Zddd„Zdd
„Z	 ddd„Zdd„ZdS )Ú	DictCacheNÚ	init_dictú!MutableMapping[str, bytes] | Noner   r   c                ó>   — t          ¦   «         | _        |pi | _        d S r   )r   ÚlockÚdata)r   r.   s     r   Ú__init__zDictCache.__init__#   s   € Ý‘F”FˆŒ	Ø�O ˆŒ	ˆ	ˆ	r   r   r   r   c                ó8   — | j                              |d ¦  «        S r   )r2   r   r   s     r   r   zDictCache.get'   s   € ØŒy�}Š}˜S $Ñ'Ô'Ð'r   r   r   r   r   c                ó~   — | j         5  | j                             ||i¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r   )r1   r2   Ú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   )r1   r2   Úpopr   s     r   r"   zDictCache.delete0   s�   € ØŒYð 	#ð 	#Ø�d”iÐÐØ”	—’˜cÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#s   ˆ$9¹=Á =r   )r.   r/   r   r   r&   r'   r(   )r)   r*   r+   r3   r   r    r"   r$   r   r   r-   r-   "   su   € € € € € ð$ð $ð $ð $ð $ð(ð (ð (ð (ð HLð+ð +ð +ð +ð +ð#ð #ð #ð #ð #ð #r   r-   c                  ó"   — e Zd ZdZdd„Zd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()``.
    r   r   Úbodyr   r   r   c                ó   — t          ¦   «         ‚r   r   )r   r   r;   s      r   Úset_bodyzSeparateBodyBaseCache.set_bodyC   r   r   úIO[bytes] | Nonec                ó   — t          ¦   «         ‚)z6
        Return the body as file-like object.
        r   r   s     r   Úget_bodyzSeparateBodyBaseCache.get_bodyF   s   € õ "Ñ#Ô#Ð#r   N)r   r   r;   r   r   r   )r   r   r   r>   )r)   r*   r+   Ú__doc__r=   r@   r$   r   r   r:   r:   6   sF   € € € € € ð
ð 
ð$ð $ð $ð $ð$ð $ð $ð $ð $ð $r   r:   N)rA   Ú
__future__r   Ú	threadingr   Útypingr   r   r   r   r
   r-   r:   r$   r   r   ú<module>rE      só   ðð
ð ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4àð "Ø!Ð!Ð!Ð!Ð!Ð!ðð ð ð ð ñ ô ð ð #ð #ð #ð #ð #�	ñ #ô #ð #ð($ð $ð $ð $ð $˜Iñ $ô $ð $ð $ð $r   