File: //proc/self/root/opt/alt/python311/lib64/python3.11/__pycache__/contextlib.cpython-311.pyc
�
    !A?hk  �                   �|  � d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl	m
Z
mZ g d�Z G d� dej
        �  �        Z G d	� d
ej
        �  �        Z G d� de�  �        Z G d
� de�  �        Z G d� d�  �        Z G d� deee�  �        Z G d� deee�  �        Zd� Zd� Z G d� de�  �        Z G d� de�  �        Z G d� de�  �        Z G d� de�  �        Z G d� d e�  �        Z G d!� d"e�  �        Z G d#� d$�  �        Z G d%� d&ee�  �        Z G d'� d(ee�  �        Z  G d)� d*ee�  �        Z! G d+� d,e�  �        Z"dS )-z4Utilities for with-statement contexts.  See PEP 343.�    N)�deque��wraps)�
MethodType�GenericAlias)�asynccontextmanager�contextmanager�closing�nullcontext�AbstractContextManager�AbstractAsyncContextManager�AsyncExitStack�ContextDecorator�	ExitStack�redirect_stdout�redirect_stderr�suppress�aclosing�chdirc                   �d   � e Zd ZdZ ee�  �        Zd� Zej	        d� �   �         Z
ed� �   �         ZdS )r   z,An abstract base class for context managers.c                 �   � | S �z0Return `self` upon entering the runtime context.� ��selfs    �1/opt/alt/python311/lib64/python3.11/contextlib.py�	__enter__z AbstractContextManager.__enter__   s   � ���    c                 �   � dS �z9Raise any exception triggered within the runtime context.Nr   �r   �exc_type�	exc_value�	tracebacks       r   �__exit__zAbstractContextManager.__exit__   s	   � � �tr   c                 �N   � | t           u rt          j        |dd�  �        S t          S )Nr   r%   )r   �_collections_abc�_check_methods�NotImplemented��cls�Cs     r   �__subclasshook__z'AbstractContextManager.__subclasshook__    s)   � ��(�(�(�#�2�1�k�:�N�N�N��r   N)�__name__�
__module__�__qualname__�__doc__�classmethodr   �__class_getitem__r   �abc�abstractmethodr%   r-   r   r   r   r   r      ss   � � � � � �6�6�#��L�1�1��� � � 	��� � ��� �� � �[�� � r   r   c                   �d   � e Zd ZdZ ee�  �        Zd� Zej	        d� �   �         Z
ed� �   �         ZdS )r
   z9An abstract base class for asynchronous context managers.c              �   �
   K  � | S r   r   r   s    r   �
__aenter__z&AbstractAsyncContextManager.__aenter__-   s   � � � ��r   c              �   �
   K  � dS r    r   r!   s       r   �	__aexit__z%AbstractAsyncContextManager.__aexit__1   s
   � � � � �tr   c                 �N   � | t           u rt          j        |dd�  �        S t          S )Nr8   r:   )r
   r'