R`i( d d Z ddlZddlZddlZddlZddlmZ ddlmZm Z m Z mZ ddlm Z mZmZ ddlmZ ddlmZ ddlmZ dd lmZ dd lmZ ddlmZmZ ddlmZ ej> e Z!d Z"de e#e#f de#fdZ$ G d d Z% G d de% Z& G d de& Z' G d d Z( G d de% Z)y)zCache Management N)Path)AnyDictListOptional)Taginterpreter_nameinterpreter_version)canonicalize_name)InvalidWheelFilename) DirectUrl)Link)Wheel) TempDirectory tempdir_kinds)path_to_urlzorigin.jsondreturnc t j | ddd }t j |j d j S )z'Return a stable sha224 of a dictionary.T),:) sort_keys separatorsensure_asciiascii)jsondumpshashlibsha224encode hexdigest)r ss /builddir/build/BUILDROOT/alt-python312-pip-23.3.1-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_internal/cache.py _hash_dictr$ s7 1$OA>>!((7+,6688 c e Zd ZdZdeddf fdZdedee fdZdededee fd Z dedefd Zdedee dee defd Z xZS )CachezuAn abstract class - provides cache directories for data from links :param cache_dir: The root of the cache. cache_dirr Nc ~ t | |r!t j j | sJ |xs d | _ y N)super__init__ospathisabsr( selfr( __class__s r# r, zCache.__init__&