grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026U iÛfüSã @stddlmZddlmZddlZddlZddlZddlZddl Zddl Z ddl m Z ddl Z ddddd d d d d dddg ZeddƒZde_dd„Zdd„Zd*dd „Zd+dd „Zed,dd„ƒZd-dd„Ze ejje¡dd„ZGdd „d ƒZGd d „d ƒZz.ddlZdd!lmZd.d"d#„Ze ee¡Wne k �r<YnXd$d„Z!d/d%d„Z"d&d„Z#d'd„Z$d(d„Z%d)d „Z&dS)0é)Ú namedtuple)ÚsingledispatchN)Ú ModuleTypeÚ get_importerÚiter_importersÚ get_loaderÚ find_loaderÚ walk_packagesÚ iter_modulesÚget_dataÚ ImpImporterÚ ImpLoaderÚ read_codeÚ extend_pathÚ ModuleInfozmodule_finder name ispkgz.A namedtuple with minimal info about a module.cCsRz |j}Wn:tk rD| |¡}|dkr2YdStj ||¡YSX||ƒSdS©N)Ú find_specÚAttributeErrorÚ find_moduleÚ importlibÚutilÚspec_from_loader)ÚfinderÚnamerÚloader©rú,/opt/alt/python38/lib64/python3.8/pkgutil.pyÚ _get_specs  rcCs6ddl}| d¡}|tjjkr"dS| d¡| |¡S)Nréé )ÚmarshalÚreadrrÚ MAGIC_NUMBERÚload)Ústreamr Úmagicrrrr(s    Úc #sÌifdd„‰t||ƒD]°}|V|jrzt|jƒWnNtk rZ|dk rV||jƒYqtk r‚|dk r|||jƒn‚YqXttj|jddƒpšg}‡fdd„|Dƒ}t ||jd|ƒEdHqdS)NcSs||kr dSd||<dS)NTr)ÚpÚmrrrÚseenRszwalk_packages..seenÚ__path__csg|]}ˆ|ƒs|‘qSrr)Ú.0r'©r)rrÚ isz!walk_packages..Ú.) r ÚispkgÚ __import__rÚ ImportErrorÚ ExceptionÚgetattrÚsysÚmodulesr )ÚpathÚprefixÚonerrorÚinforr,rr 5s   ccsr|dkrtƒ}nt|tƒr$tdƒ‚n tt|ƒ}i}|D]6}t||ƒD]&\}}||krDd||<t|||ƒVqDq6dS)Nz9path must be None or list of paths to look for modules iné)rÚ isinstanceÚstrÚ ValueErrorÚmaprÚiter_importer_modulesr)r6r7Z importersÚyieldedÚirr/rrrr ns    cCst|dƒsgS| |¡S)Nr )Úhasattrr )Úimporterr7rrrr?ˆs r?c cs$|jdkstj |j¡sdSi}ddl}zt |j¡}Wntk rPg}YnX| ¡|D]À}| |¡}|dks^||kr~q^tj |j|¡}d}|sütj |¡rüd|krü|}zt |¡} Wntk rÔg} YnX| D]}| |¡} | dkrÚd}qüqÚq^|r^d|kr^d||<|||fVq^dS©NrÚ__init__Fr.Tr:© r6ÚosÚisdirÚinspectÚlistdirÚOSErrorÚsortÚ getmodulenameÚjoin) rCr7r@rIÚ filenamesÚfnÚmodnamer6r/Ú dircontentsÚsubnamerrrÚ_iter_file_finder_modules�s<     rTc Cs.t ¡�t dt¡t d¡aW5QRXdS)NÚignoreÚimp)ÚwarningsÚcatch_warningsÚ simplefilterÚDeprecationWarningrÚ import_modulerVrrrrÚ _import_imp¼s  r\c@s*eZdZd dd„Zd dd„Zd dd„ZdS) r NcCst dt¡tƒ||_dS©Nz5This emulation is deprecated, use 'importlib' instead)rWÚwarnrZr\r6)Úselfr6rrrrEÍs ÿzImpImporter.__init__cCs€| d¡d}||kr$|jdkr$dS|jdkr4d}ntj |j¡g}zt ||¡\}}}Wntk rpYdSXt||||ƒS)Nr.éÿÿÿÿ)Úsplitr6rGÚrealpathrVrr1r )r_Úfullnamer6rSÚfileÚfilenameÚetcrrrrÔs zImpImporter.find_moduler&c cs$|jdkstj |j¡sdSi}ddl}zt |j¡}Wntk rPg}YnX| ¡|D]À}| |¡}|dks^||kr~q^tj |j|¡}d}|sütj |¡rüd|krü|}zt |¡} Wntk rÔg} YnX| D]}| |¡} | dkrÚd}qüqÚq^|r^d|kr^d||<|||fVq^dSrDrF) r_r7r@rIrOrPrQr6r/rRrSrrrr ãs<     zImpImporter.iter_modules)N)N)r&)Ú__name__Ú __module__Ú __qualname__rErr rrrrr Âs  c@sjeZdZdZZdd„Zdd„Zdd„Zdd „Zd d „Z d d „Z ddd„Z ddd„Z dd„Z ddd„ZdS)r NcCs.t dt¡tƒ||_||_||_||_dSr])rWr^rZr\rdrercrf)r_rcrdrerfrrrrEsÿzImpLoader.__init__cCs:| ¡zt ||j|j|j¡}W5|jr4|j ¡X|Sr)Ú_reopenrdÚcloserVÚ load_modulererf)r_rcÚmodrrrrls  zImpLoader.load_modulec Cs*t|dƒ�}| ¡W5QR£SQRXdS)NÚrb)Úopenr!)r_Úpathnamerdrrrr %s zImpLoader.get_datacCsT|jrP|jjrP|jd}|tjkr2t|jdƒ|_n|tjtjfkrPt|jdƒ|_dS)NéÚrrn) rdÚclosedrfrVÚ PY_SOURCEroreÚ PY_COMPILEDÚ C_EXTENSION)r_Úmod_typerrrrj)s   zImpLoader._reopencCs0|dkr|j}n||jkr,td|j|fƒ‚|S)Nz,Loader for module %s cannot handle module %s)rcr1©r_rcrrrÚ _fix_name1s ÿzImpLoader._fix_namecCs| |¡}|jdtjkS©Nrq)ryrfrVÚ PKG_DIRECTORYrxrrrÚ is_package9s zImpLoader.is_packagecCs”| |¡}|jdkrŽ|jd}|tjkrD| |¡}t||jdƒ|_nJ|tjkrv|  ¡zt |j ƒ|_W5|j   ¡Xn|tj krŽ| ¡ ¡|_|jS)NrqÚexec)ryÚcoderfrVrtÚ get_sourceÚcompilererurjrdrkrr{Ú _get_delegateÚget_code)r_rcrwÚsourcerrrr‚=s       zImpLoader.get_codec Csº| |¡}|jdkr´|jd}|tjkrP| ¡z|j ¡|_W5|j ¡Xnd|tj krœt j   |j dd…¡r´t|j dd…dƒ�}| ¡|_W5QRXn|tjkr´| ¡ ¡|_|jS)Nrqr`rr)ryrƒrfrVrtrjrdrkr!rurGr6Úexistsreror{r�r)r_rcrwÚfrrrrNs      zImpLoader.get_sourcecCst|jƒ}t|dƒ}|jS)NrE)r rerr)r_rÚspecrrrr�`s  zImpLoader._get_delegatecCsH| |¡}|jd}|tjkr*| ¡ ¡S|tjtjtjfkrD|j SdSrz) ryrfrVr{r�Ú get_filenamertrurvre)r_rcrwrrrr‡es    zImpLoader.get_filename)N)N)N)rgrhrir~rƒrErlr rjryr|r‚rr�r‡rrrrr s    )Ú zipimporterc csìttj|jƒ}|j}t|ƒ}i}ddl}|D]¸}| |¡s>q.||d… t j ¡}t|ƒdkr–|d d¡r–|d|kr–d||d<||ddfVt|ƒdkr¤q.|  |d¡}|dkr¼q.|r.d|kr.||kr.d||<||dfVq.dS) Nrrqr:z __init__.pyTrEr.F) ÚsortedÚ zipimportÚ_zip_directory_cacheÚarchiver7ÚlenrIÚ startswithrarGÚseprM) rCr7ZdirlistÚ_prefixZplenr@rIrPrQrrrÚiter_zipimport_modulesss*    r‘c Csxt |¡}ztj|}WnZtk rrtjD]:}z ||ƒ}tj ||¡WqnWq.tk rfYq.Xq.d}YnX|Sr)rGÚfsdecoder4Úpath_importer_cacheÚKeyErrorÚ path_hooksÚ setdefaultr1)Z path_itemrCÚ path_hookrrrr•s    ccs€| d¡rd |¡}t|ƒ‚d|krV| d¡d}t |¡}t|ddƒ}|dkrhdSntjEdHtj }|D]}t |ƒVqldS)Nr.ú'Relative module name {!r} not supportedrr*) rŽÚformatr1Ú rpartitionrr[r3r4Ú meta_pathr6r)rcÚmsgZpkg_nameZpkgr6Úitemrrrr®s     cCsn|tjkr tj|}|dkr dSt|tƒrb|}t|ddƒ}|dk rF|St|ddƒdkrZdS|j}n|}t|ƒS)NÚ __loader__Ú__spec__)r4r5r;rr3rgr)Zmodule_or_nameÚmodulerrcrrrrËs    c Cs†| d¡rd |¡}t|ƒ‚ztj |¡}WnFttttfk rr}z d}t| |t |ƒ|¡ƒ|‚W5d}~XYnX|dk r‚|j SdS)Nr.r˜z,Error while finding loader for {!r} ({}: {})) rŽr™r1rrrrÚ TypeErrorr=Útyper)rcrœr†Zexrrrrãs  *c Csžt|tƒs|S|d}|dd…}| d¡\}}}|rfztj|j}Wqlttfk rb|YSXntj}|D�]&}t|t ƒs‚qpt |ƒ}|dk ròg} t |dƒr¾|  |¡} | dk rÖ| j pºg} nt |dƒrÖ| |¡\}} | D]} | |krÚ| | ¡qÚtj ||¡} tj | ¡rpz t| ƒ} Wn8tk �rP}ztj d| |f¡W5d}~XYqpX| �<| D]0}| d¡}|�r\| d¡�r€�q\| |¡�q\W5QRXqp|S)Nz.pkgr.rrzCan't open %s: %s Ú ú#)r;Úlistršr4r5r*r”rr6r<rrBrÚsubmodule_search_locationsrÚappendrGrNÚisfilerorKÚstderrÚwriteÚrstriprŽ)r6rZ sname_pkgZparent_packageÚ_Z final_nameZ search_pathÚdirrÚportionsr†ZportionZpkgfiler…rœÚlinerrrrøsR!            ÿ cCs˜tj |¡}|dkrdS|j}|dks0t|dƒs4dStj |¡pJtj  |¡}|dks^t|dƒsbdS|  d¡}|  dt j  |j¡¡t j j|Ž}| |¡S)Nr Ú__file__ú/r)rrrrrBr4r5ÚgetÚ _bootstrapÚ_loadraÚinsertrGr6Údirnamer°rNr )ÚpackageÚresourcer†rrmÚpartsZ resource_namerrrr Vs   ÿ  )Nr&N)Nr&)r&)r&)r&)r&)'Ú collectionsrÚ functoolsrZ simplegenericrÚimportlib.utilÚimportlib.machineryrGZos.pathr4ÚtypesrrWÚ__all__rÚ__doc__rrr r r?rTÚregisterÚ machineryÚ FileFinderr\r r rŠrˆr‘r1rrrrrr rrrrÚsf   ü  9   (ÿJc   ^