File: //opt/imunify360/venv/lib/python3.11/site-packages/nats/js/__pycache__/object_store.cpython-311.pyc
�
��n��#�� �J � d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZmZ d dl m
Z
d dlmZm
Z
mZmZ d dlZd dlmZ d dlmZmZmZmZmZmZmZ d dlmZmZ ej d � � Z ej d
� � Z!erd dlm"Z" dZ#d
Z$dZ%dZ&dZ'dZ(dZ)dZ*e*dz Z+ G d� d� � Z,dS )� N)� dataclass)�datetime�timezone)�sha256)�
TYPE_CHECKING�List�Optional�Union)�api)�BadObjectMetaError�DigestMismatchError�LinkIsABucketError�
NotFoundError�ObjectAlreadyExists�ObjectDeletedError�ObjectNotFoundError)�MSG_ROLLUP_SUBJECT�StopIterSentinelz^[a-zA-Z0-9_-]+$z^[-/_=\.a-zA-Z0-9]+$)�JetStreamContextzOBJ_{bucket}z$O.{bucket}.C.>z$O.{bucket}.M.>z$O.{bucket}.C.{obj}z$O.{bucket}.M.{obj}�0i zSHA-256=z{digest}c �� � e Zd ZdZe G d� d� � � � Z ed�� � G d� d� � � � Zded ed
ddd
fd�Z ddede e
dej fd�Z
d dede ej de e
defd�Z d!dedeeeej f de ej dej fd�Zdefd�Zd� Zdedej fd�Z G d� d� � Z d"defd�Zdedefd�Z ddeej fd�Zd
S )#�ObjectStorezK
ObjectStore uses the JetStream ObjectStore functionality.
::
c �R � e Zd ZU dZej ed<