File: //opt/alt/python311/lib/python3.11/site-packages/s3transfer/__pycache__/crt.cpython-311.pyc
�
/�;f�y � � � d dl Z d dlZd dlmZ d dlZd dlZd dlZd dl Zd dl
mZmZm
Z
mZ d dlmZmZmZmZmZ d dlmZmZmZ d dlmZ d dlmZ d dlmZ d d lmZ d d
lm Z d dl!m"Z" d dl#m$Z$m%Z% d d
l&m'Z'm(Z(m)Z)m*Z* e j+ e,� � Z-da.d� Z/dddde z ddfd�Z0d+d�Z1 G d� d� � Z2 G d� de%� � Z3 G d� de$� � Z4 G d� d� � Z5 G d� de5� � Z6 G d� de� � Z7 G d� d � � Z8 G d!� d"� � Z9 G d#� d$� � Z: G d%� d&� � Z; G d'� d(� � Z< G d)� d*� � Z=dS ),� N)�BytesIO)�AwsCredentials�AwsCredentialsProvider�AwsSigningAlgorithm�AwsSigningConfig)�ClientBootstrap�ClientTlsContext�DefaultHostResolver�EventLoopGroup�TlsContextOptions)�S3Client�S3RequestTlsMode�
S3RequestType)�UNSIGNED)�urlsplit)�Config)�NoCredentialsError)�MB)�TransferNotDoneError)�BaseTransferFuture�BaseTransferMeta)�CallArgs�OSUtils�
get_callbacks�is_s3express_bucketc � � t �Ht j � | � � } |� � � n# t
$ r Y d S w xY w|a t S �N)�CRT_S3_PROCESS_LOCK�awscrt�s3�CrossProcessLock�acquire�RuntimeError)�name�crt_locks �A/opt/alt/python311/lib/python3.11/site-packages/s3transfer/crt.py�acquire_crt_s3_process_lockr'