File: //lib/python3/dist-packages/setuptools/__pycache__/_imp.cpython-310.pyc
o
    �_�aX	  �                   @   sd   d Z ddlZddlZddlZddlmZ dZdZdZ	dZ
dZd	d
� Zddd�Z
dd
d�Zdd� ZdS )zX
Re-implementation of find_module and get_frozen_object
from the deprecated imp module.
�    N�   )�module_from_spec�   �   �   �   c                 C   s(   t |t�rtj�� jntjj}|| |�S �N)�
isinstance�list�	importlib�	machinery�
PathFinder�	find_spec�util)�module�paths�finder� r   �1/usr/lib/python3/dist-packages/setuptools/_imp.pyr      s
   ��
r   c           	      C   sJ  t | |�}|du rtd|  ��|jst|d�rtj�d|j�}d}d}t|jt	�}|j
dks8|rAt|jtjj
�rAt}d}d }}n\|j
dksP|rYt|jtjj�rYt}d}d }}nD|jr�|j
}tj�|�d	 }|tjjv rod
nd}|tjjv rzt}n|tjjv r�t}n|tjjv r�t}|tthv r�t||�}nd}d }}|||||ffS )z7Just like 'imp.find_module()', but with package supportN�
Can't find %s�submodule_search_locationsz__init__.py����frozen� zbuilt-inr   �r�rb)r   �ImportError�has_location�hasattrr   r   �spec_from_loader�loaderr	   �type�origin�
issubclassr   �FrozenImporter�	PY_FROZEN�BuiltinImporter�	C_BUILTIN�os�path�splitext�SOURCE_SUFFIXES�	PY_SOURCE�BYTECODE_SUFFIXES�PY_COMPILED�EXTENSION_SUFFIXES�C_EXTENSION�open)	r   r   �spec�kind�file�staticr)   �suffix�moder   r   r   �find_module   sH   
�
�
�r8   c                 C   s&