§
    
Á³ga  ã                   óÂ   — d Z ddlZddlmZ ddlmZmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZmZ dd	lmZ d
edefd„Zeded         fd„¦   «         Z G d„ de¦  «        ZdS )zHTTP cache implementation.
é    N)Úcontextmanager)Ú	GeneratorÚOptional)Ú	BaseCache)Ú	FileCache)ÚResponse)Úadjacent_tmp_fileÚreplace)Ú
ensure_dirÚresponseÚreturnc                 ó$   — t          | dd¦  «        S )NÚ
from_cacheF)Úgetattr)r   s    úY/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pip/_internal/network/cache.pyÚis_from_cacher      s   € Ý�8˜\¨5Ñ1Ô1Ð1ó    )NNNc               #   ó6   K  — 	 dV — dS # t           $ r Y dS w xY w)zvIf we can't access the cache then we can just skip caching and process
    requests as if caching wasn't enabled.
    N)ÚOSError© r   r   Úsuppressed_cache_errorsr      s:   è è € ð
ØˆˆˆˆˆøÝð ð ð Øˆˆðøøøs   „
 Š
—c            	       óŽ   ‡ — e Zd ZdZdeddfˆ fd„Zdedefd„Zdedee         fd	„Z	dded
edee
         ddfd„Zdeddfd„Zˆ xZS )ÚSafeFileCachezw
    A file based cache which is safe to use even when the target directory may
    not be accessible or writable.
    Ú	directoryr   Nc                 ón   •— |€
J d¦   «         ‚t          ¦   «                              ¦   «          || _        d S )Nz!Cache directory must not be None.)ÚsuperÚ__init__r   )Úselfr   Ú	__class__s     €r   r   zSafeFileCache.__init__%   s9   ø€ ØÐ$Ð$Ð&IÑ$Ô$Ð$Ý‰Œ×ÒÑÔÐØ"ˆŒˆˆr   Únamec                 ó˜   — t          j        |¦  «        }t          |d d…         ¦  «        |gz   }t          j        j        | j        g|¢R Ž S )Né   )r   ÚencodeÚlistÚosÚpathÚjoinr   )r   r    ÚhashedÚpartss       r   Ú_get_cache_pathzSafeFileCache._get_cache_path*   sL   € õ Ô! $Ñ'Ô'ˆÝ�V˜B˜Q˜B”ZÑ Ô  F 8Ñ+ˆÝŒwŒ|˜DœNÐ3¨UÐ3Ð3Ð3Ð3r   Úkeyc                 ó  — |                       |¦  «        }t          ¦   «         5  t          |d¦  «        5 }|                     ¦   «         cd d d ¦  «         cd d d ¦  «         S # 1 swxY w Y   	 d d d ¦  «         d S # 1 swxY w Y   d S )NÚrb)r*   r   ÚopenÚread)r   r+   r&   Úfs       r   ÚgetzSafeFileCache.get2   s  € Ø×#Ò# CÑ(Ô(ˆÝ$Ñ&Ô&ð 	 ð 	 Ý�d˜DÑ!Ô!ð   QØ—v’v‘x”xð ð  ð  ð  ñ  ô  ð  ð	 ð 	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð ð  ð  ð  øøøð  ð  ð  ð  ð  ð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 s4   ¤A;µA"Á	A;Á"A&	Á&A;Á)A&	Á*A;Á;A?ÂA?ÚvalueÚexpiresc                 óx  — |                       |¦  «        }t          ¦   «         5  t          t          j                             |¦  «        ¦  «         t          |¦  «        5 }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j	        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©N)
r*   r   r   r%   r&   Údirnamer	   Úwriter
   r    )r   r+   r2   r3   r&   r0   s         r   ÚsetzSafeFileCache.set8   s$  € Ø×#Ò# CÑ(Ô(ˆÝ$Ñ&Ô&ð 	"ð 	"Ý•r”w—’ tÑ,Ô,Ñ-Ô-Ð-å" 4Ñ(Ô(ð ¨AØ—’˜‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �A”F˜DÑ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	"ð 	"s5   ¤<B/Á BÁ6B/ÂB	ÂB/Â	B	Â
B/Â/B3Â6B3c                 ó¦   — |                       |¦  «        }t          ¦   «         5  t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r5   )r*   r   r%   Úremove)r   r+   r&   s      r   ÚdeletezSafeFileCache.deleteB   s’   € Ø×#Ò# CÑ(Ô(ˆÝ$Ñ&Ô&ð 	ð 	ÝŒI�d‰OŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ¤AÁA
ÁA
r5   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústrr   r*   r   Úbytesr1   Úintr8   r;   Ú__classcell__)r   s   @r   r   r      sø   ø€ € € € € ðð ð
# #ð #¨$ð #ð #ð #ð #ð #ð #ð
4 Cð 4¨Cð 4ð 4ð 4ð 4ð �sð  ˜x¨œð  ð  ð  ð  ð"ð "�sð " 5ð "°8¸C´=ð "ÈDð "ð "ð "ð "ð˜#ð  $ð ð ð ð ð ð ð ð r   r   )r?   r%   Ú
contextlibr   Útypingr   r   Úpip._vendor.cachecontrol.cacher   Úpip._vendor.cachecontrol.cachesr   Úpip._vendor.requests.modelsr   Úpip._internal.utils.filesystemr	   r
   Úpip._internal.utils.miscr   Úboolr   r   r   r   r   r   ú<module>rL      s'  ððð ð 
€	€	€	Ø %Ð %Ð %Ð %Ð %Ð %Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &à 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0à EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ /Ð /Ð /Ð /Ð /Ð /ð2˜Hð 2¨ð 2ð 2ð 2ð 2ð ð Ð+;Ô!<ð ð ð ñ „ðð&ð &ð &ð &ð &�Iñ &ô &ð &ð &ð &r   