�
�Wc� � �z � d dl mZ d dlmZ ddlmZ G d� d� Z G d� d� Zdd
�Z G d� d� Z d
� Z
dS )� )�suppress)�
TextIOWrapper� )�abcc �$ � e Zd ZdZd� fd�Zd� ZdS )�SpecLoaderAdapterz>
Adapt a package spec to adapt the underlying loader.
c � � | j S �N)�loader��specs �6/usr/lib64/python3.12/importlib/resources/_adapters.py�<lambda>zSpecLoaderAdapter.<lambda> s
� �$�+�+� � c �0 � || _ ||� | _ d S r
)r
r )�selfr
�adapters r �__init__zSpecLoaderAdapter.__init__ s � ��� ��g�d�m����r c �2 � t | j |� S r
)�getattrr
�r �names r �__getattr__zSpecLoaderAdapter.__getattr__ s � ��t�y�y�$�'�'r N)�__name__�
__module__�__qualname__�__doc__r r � r r r r sI � � � � � �� � &>�%=� $� $� $� $�(� (� (� (� (r r c � � e Zd ZdZd� Zd� ZdS )�TraversableResourcesLoaderz9
Adapt a loader to provide TraversableResources.
c � � || _ d S r
r �r r
s r r z#TraversableResourcesLoader.__init__ �
� ��� � � r c �N � t | j � j � S r
)�CompatibilityFilesr
�_nativer s r �get_resource_readerz.TraversableResourcesLoader.get_resource_reader s � �!�$�)�)�,�4�4�6�6r N)r r r r r r'