1j" J d dl mZ g dZd dlZd dlZd dlZd dlZd dlZd dl Z d dl
Z
d dlZd dlm
Z
mZ d dlmZmZmZ d dlmZmZmZ erd dlmZmZ e j de j Zd Z ej d
Z G d de Z!ddZ"ddZ# dddZ$ G d de Z%dS ) )annotations)
WHEEL_INFO_RE WheelFile
WheelErrorN)StringIO
TextIOWrapper)IO
TYPE_CHECKINGLiteral)ZIP_DEFLATEDZipFileZipInfo)SizedBufferStrPathz^(?P(?P[^\s-]+?)-(?P[^\s-]+?))(-(?P\d[^\s-]*))?
-(?P[^\s-]+?)-(?P[^\s-]+?)-(?P\S+)\.whl$i wheelc e Zd ZdS )r N)__name__
__module____qualname__ t/builddir/build/BUILD/cloudlinux-venv-1.0.11/venv/lib/python3.11/site-packages/setuptools/_vendor/wheel/wheelfile.pyr r ! s Dr r databytesreturnc P t j | d S )z!urlsafe_b64encode without padding =)base64urlsafe_b64encoderstrip)r s r r r % s! #D))00666r c ` ddt | dz z
z }t j | |z S )z!urlsafe_b64decode without paddingr )lenr urlsafe_b64decode)r pads r r% r% * s0
!s4yy1}%
&C#D3J///r timestampfloat | Nonetuple[int, int, int, int, int]c t t j d| pt j } t | t } t j | dd S )NSOURCE_DATE_EPOCHr )intosenvirongettimemaxMINIMUM_TIMESTAMPgmtime)r' s r get_zipinfo_datetimer5 0 sV
BJNN#6 8PTY[[QQRRII011I;y!!!A#&&r c f e Zd ZdZej Zdefd"d Z d#d$dZ d%dZ
d&d'dZ d(d)d Zd*d!Z
d
S )+r zA ZipFile derivative class that also reads SHA-256 hashes from
.dist-info/RECORD and checks any read files against those.
rfiler modeLiteral['r', 'w', 'x', 'a']compressionr- c t j | }t | | _ | d r| j t d| t j | |||d d
| j d | _ | j dz | _
i | _ i | _ |dk rhd | j | j
<