o ?Og_)@s ddlmZmZmZmZmZmZmZmZm Z zddlm Z Wn e y*dZ Ynwddl m Z mZmZmZddlmZddlmZddlmZddlZddlZddlZddlZddlZddlZejded d dZd Zd Zd Z d Z!dZ"dZ#dZ$dZ%dZ&ddZ'ddZ(ddZ)d7ddZ*ddZ+ddZ,Gdd d Z-Gd!d"d"Z.Gd#d$d$e.ej/Z0d7d%d&Z1Gd'd(d(e.eZ2d7d)d*Z3d+d,Z4d-d.Z5d7d/d0Z6d1d2Z7d3d4Z8e rd7d5d6Z9dSdZ9dS)8) lock_held acquire_lock release_lockget_frozen_objectis_frozen_package init_frozen is_builtin is_frozen_fix_co_filename)create_dynamicN)_ERR_MSG_exec_load_builtin_from_name)SourcelessFileLoader) machinery)utilzthe imp module is deprecated in favour of importlib and slated for removal in Python 3.12; see the module's documentation for alternative uses) stacklevel cC t|SN)types ModuleTypenamer#*/opt/alt/python310/lib64/python3.10/imp.py new_module1 r%cCs tjSr)r MAGIC_NUMBERr#r#r#r$ get_magic<sr(cCs tjjSr)sysimplementation cache_tagr#r#r#r$get_tagDsr,cCsD ttdt||WdS1swYdS)Nignore)warningscatch_warnings simplefilterrcache_from_source)pathdebug_overrider#r#r$r1Is   $r1cCrr)rsource_from_cacher2r#r#r$r4\s r4cCs> ddtjD}ddtjD}ddtjD}|||S)NcSg|]}|dtfqSrb) C_EXTENSION.0sr#r#r$ lz get_suffixes..cSr6)r) PY_SOURCEr:r#r#r$r=mr>cSr6r7) PY_COMPILEDr:r#r#r$r=nr>)rEXTENSION_SUFFIXESSOURCE_SUFFIXESBYTECODE_SUFFIXES) extensionssourcebytecoder#r#r$ get_suffixesjs  rHc@seZdZ ddZddZdS) NullImportercCs0|dkr tdddtj|rtd|ddS)Nzempty pathnamer5zexisting directory) ImportErrorosr2isdir)selfr2r#r#r$__init__{s    zNullImporter.__init__cCs dSrr#)rNfullnamer#r#r$ find_moduleszNullImporter.find_moduleN)__name__ __module__ __qualname__rOrQr#r#r#r$rIss rIcs,eZdZ dfdd ZfddZZS)_HackedGetDataNcst||||_dSr)superrOfile)rNrPr2rW __class__r#r$rOs z_HackedGetData.__init__cs |jr>||jkr>|jjs|j}d|jvr||jjr&t|jd|_}| |WdS1s7wYdSt|S)Nbr8) rWr2closedmodecloseopenreadrVget_data)rNr2rWrXr#r$r`s $ z_HackedGetData.get_datar)rRrSrTrOr` __classcell__r#r#rXr$rUsrUc@ eZdZdS)_LoadSourceCompatibilityNrRrSrTr#r#r#r$rcrccCs\t|||}tj|||d}|tjvrt|tj|}nt|}t|||_ |j |j _ |SN)loader) rcrspec_from_file_locationr)modulesr rrSourceFileLoader __loader____spec__rgr"pathnamerWrgspecmoduler#r#r$ load_sources   rqc@rb)_LoadCompiledCompatibilityNrdr#r#r#r$rrrerrcCs\ t|||}tj|||d}|tjvrt|tj|}nt|}t|||_|j|j _ |Srf) rrrrhr)rir rrrkrlrgrmr#r#r$ load_compileds    rscCs tj|r4tjddtjdd}|D]}tj|d|}tj|r,|}nqtd |t j ||gd}|t j vrIt|t j |St|S)NrOz{!r} is not a package)submodule_search_locations)rLr2rMrrCrDjoinexists ValueErrorformatrrhr)rir r)r"r2rE extensionZ init_pathror#r#r$ load_packages$     rzc Cs& |\}}}|r|drd|vrtd||dur+|tthvr+d|}t||tkr5t|||S|tkr?t|||S|tkrntdurn|durht |d}t|||WdS1sawYdSt|||S|t krwt ||S|t krt |S|tkrt|Sd||}t||d)N)r?U+zinvalid file open mode {!r}z.file object required for import (type code {})r8z*Don't know how to import {} (type code {})r!) startswithrwrxr@rArqrsr9 load_dynamicr^ PKG_DIRECTORYrz C_BUILTIN init_builtin PY_FROZENrrK) r"rWfilenameZdetailssuffixr\type_msgZ opened_filer#r#r$ load_modules2      $    rc Cs t|tstdt|t|tdtfs!tdt||dur@t|r1ddddtffSt |r=ddddt ffSt j }|D]N}t j ||}dtjdfD]}d|}t j ||}t j |rqd|ddtffSqRtD]\}}}||} t j || }t j |rnquqBn tt||dd} d|vrt|d } t| jd} Wdn1swYt||| d } | ||||ffS) Nz'name' must be a str, not {}z%'path' must be None or a list, not {}rJz.pyrrOr!rZr8)encoding) isinstancestr TypeErrorrxtypelist RuntimeErrorrrr rr)r2rLrurrDisfilerrHrKr r^tokenizedetect_encodingreadline) r"r2entryZpackage_directoryrZpackage_file_nameZ file_pathr\r file_namerrWr#r#r$rQsJ     rQcCrr) importlibreload)rpr#r#r$r3r&rcCs" zt|WStyYdSwr)rrKr!r#r#r$r>s   rcCs2 ddl}|j||}|jj|||d}t|S)Nr)r"rgorigin)importlib.machineryrExtensionFileLoader ModuleSpecr)r"r2rWrrgror#r#r$r~Ksr~r):_imprrrrrrrr r r rKZimportlib._bootstrapr r rrZimportlib._bootstrap_externalrrrrrLr)rrr.warnDeprecationWarningZ SEARCH_ERRORr@rAr9Z PY_RESOURCErrrZPY_CODERESOURCEZIMP_HOOKr%r(r,r1r4rHrIrUrjrcrqrrrsrzrrQrrr~r#r#r#r$sd,          #4