U ifS @ st d dl mZ d dlmZ d dlZd dlZd dlZd dlZd dl Zd dl Z d dlmZ d dl Z ddddd d ddd dddgZeddZde_dd Zdd Zd*dd Zd+dd Zed,ddZd-ddZeejje dd ZG dd dZG d d d Zz.d dlZd d!lmZ d.d"d#Zeee W n e k r< Y nX d$d Z!d/d%dZ"d&d Z#d'd Z$d(d Z%d)d Z&dS )0 ) namedtuple)singledispatchN) ModuleTypeget_importeriter_importers get_loaderfind_loader walk_packagesiter_modulesget_dataImpImporter ImpLoader read_codeextend_path ModuleInfozmodule_finder name ispkgz.A namedtuple with minimal info about a module.c C sR z | j }W n: tk rD | |}|d kr2Y d S tj|| Y S X ||S d S N) find_specAttributeErrorfind_module importlibutilspec_from_loader)findernamer loader r ,/opt/alt/python38/lib64/python3.8/pkgutil.py _get_spec s r c C s6 dd l }| d}|tjjkr"d S | d || S )Nr )marshalreadr r MAGIC_NUMBERload)streamr magicr r r r ( s c # s i fdd t | |D ]}|V |jrzt|j W nN tk rZ |d k rV||j Y q tk r |d k r|||j n Y qX ttj|j dd pg } fdd| D } t | |jd |E d H qd S )Nc S s | |krdS d|| <