=Ogb " daddlZddlZddlZddlZddlZejdkZer ddlZ ddl Z nddl Z erddgZ ndgZ e dZ ee Zde Z de DZdZdZeezZd ZeZd Zd Zd Zerd ZndZdZdZdZdZdZerdZ ndZ dMdZ!e"e!j#Z$d%dddzZ&e'(e&dZ)dZ*dZ+dgZ,ere,-dej.Z/d gZ0e0xZ1Z2dNdd!d"Z3d#Z4d$Z5d%Z6d&Z7d'Z8d(Z9d)Z:d*Z;d+ZdQd/Z?d0Z@eAZBdNdeBd1d2ZCGd3d4ZDGd5d6ZEGd7d8eEZFGd9d:ZGGd;deGeEZIGd?d@eGeEZJGdAdBZKGdCdDZLeLZMGdEdFZNGdGdHZOdNdIZPdJZQdKZRdLZSdS)RNwin32\/ch|]}d|S):).0ss D/opt/alt/python311/lib64/python3.11/importlib/_bootstrap_external.py r 2s999AA999)win)cygwindarwinctjtr/tjtrdndfd}nd}|S)N PYTHONCASEOKs PYTHONCASEOKcF tjj o tjvSN)sysflagsignore_environment_osenvironkeysr _relax_casez%_make_relax_case.._relax_caseCs py33Js{8J Jrc dS)NFr r rr rz%_make_relax_case.._relax_caseGs G5r)rplatform startswith_CASE_INSENSITIVE_PLATFORMS#_CASE_INSENSITIVE_PLATFORMS_STR_KEY)rrs @r _make_relax_caser#<s| |:;;  < " "#F G G " CC!C K K K K K K    rcP t|dzddS)Nlittle)intto_bytes)xs r _pack_uint32r+Os&4 FFZ  ) )!X 6 66rc: t|dSNr'r( from_bytesdatas r _unpack_uint32r2T9 >>$ ) ))rc: t|dSr-r.r0s r _unpack_uint16r5Yr3rc |sdSt|dkr|dSd}g}ttj|D]\}}|t s|t r(|tp|}t|zg}a|drF| | kr|}|g}| ||p|}| |d|D}t|dkr|ds |tzS|t |zS)NrrrcFg|]}||tSr rstrippath_separators)r ps r z_path_join..ws)===a1=))===r) lenmapr_path_splitrootr path_sep_tupleendswithr:r;path_sepcasefoldappendjoin) path_partsrootpathnew_roottails r _path_joinrL`sj- 2 z??a  a= !#"5zBB " "NHd"">22 "h6G6G6W6W "77?4 4(""3'' "==??h&7&7&9&999$D 6DDKK%%%%'4 D!!!!==4=== t99>>$q'>(? "hmmD))))rcL td|DS)NcFg|]}||tSr r9)r parts r r=z_path_join..s8>>>"&>dkk/::>>>r)rCrF)rGs r rLrL~s7-}}>>*4>>>?? ?rc tfdtD}|dkrdfSd||dzdfS)Nc3BK|]}|VdSr)rfind)r r<rIs r z_path_split..s- 3 3aDJJqMM 3 3 3 3 3 3rrrr7)maxr;)rIis` r _path_splitrVsY* 3 3 3 3? 3 3 333A1uu4x 8T!a%&&\ !!rc, tj|Sr)rstatrIs r _path_statrZs 8D>>rcd t|}n#t$rYdSwxYw|jdz|kS)NFi)rZOSErrorst_mode)rImode stat_infos r _path_is_mode_typer`sN;t$$ uu   (T 11s  !!c$ t|dS)Ni)r`rYs r _path_isfilerbs) dH - --rcN |stj}t|dS)Ni@)rgetcwdr`rYs r _path_isdirres(( z|| dH - --rc |sdStj|ddd}t|dko)|dp|dS)NFrrrr7z\\)rr@replacer>r rB)rIrHs r _path_isabsrhsi, 5"4((+33C>>4yy1}Q$//&"9"9"PT]]4=P=PQrc8 |tSr)r r;rYs r rhrhs,///rc d|t|}tj|tjtjztjz|dz} tj|d5}| |dddn #1swxYwYtj ||dS#t$r( tj |n#t$rYnwxYwwxYw)N{}.{}rjwb) formatidropenO_EXCLO_CREATO_WRONLY_ioFileIOwritergr\unlink)rIr1r^path_tmpfdfiles r _write_atomicr{s;$~~dBtHH--H (*s{*S\94%< I IB ZD ! ! T JJt                   Hd#####   Jx     D  sT#B<8B B<BB<!B"B<< C.CC. C)&C.(C))C.i r's __pycache__zopt-z.pyz.pywz.pyc) optimizationc |3tjdt|d}t||rdnd}t j|}t |\}}|d\}}}tj j } | tdd |r|n||| g} |)tj jdkrd}ntj j}t|}|dkrR|s"t#d|d | t&|} | t(dz} tjt-|s!t/t j|}|dd kr|dt2vr |d d}t/tj|t2| St/|t6| S) NzFthe debug_override parameter is deprecated; use 'optimization' insteadz2debug_override or optimization must be set to Nonerr7.$sys.implementation.cache_tag is Nonerz{!r} is not alphanumericz{}.{}{}rr|) _warningswarnDeprecationWarning TypeErrorrfspathrV rpartitionrimplementation cache_tagNotImplementedErrorrFroptimizestrisalnum ValueErrorrn_OPTBYTECODE_SUFFIXESpycache_prefixrhrLrdr;lstrip_PYCACHE) rIdebug_overrider~messageheadrKbasesepresttagalmost_filenamefilenames r cache_from_sourcers"!01C E E E  #JGG$$ $+2rr :d  DT""JD$ooc**OD#t  &C {!"HIIIgg 6$cBCCO 9  " "LL9-L|$$Lr##%% N7>>|LLMM M#**?D,OO!21!55H %4   2cjllD11D 7c>>d1g_<<8D   KK ( (    dHh / //rc tjjtdt j|}t |\}}d}tjZtjt}| |tzr|t|d}d}|s6t |\}}|tkrttd||d}|dvrtd||dkr|dd d }| t"std t"|tt"d}|std |d |dd} t)|| t*dzS)NrFTz not bottom-level directory in r>r|zexpected only 2 or 3 dots in rr|z5optimization portion of filename does not start with zoptimization level z is not an alphanumeric valuer)rrrrrrrVrr:r;r rCr>rrcountrsplitrr partitionrLSOURCE_SUFFIXES) rIrpycache_filenamefound_in_pycache_prefix stripped_pathpycache dot_countr~ opt_level base_filenames r source_from_cachers #+!"HIII :d  D(..D # %*11/BB ??=83 4 4 +M**++,D&* # "*#D)) g h  )) $))** * &&s++IM9IMMNNN a'..sA66r: &&t,, /.%)..// / T,   "" 32<22233 3$..s33A6M dMOA,>> ? ??rc2 t|dkrdS|d\}}}|r |dddkr|S t|}n!#tt f$r |dd}YnwxYwt |r|n|S)Nrrpy)r>rlowerrrrrb) bytecode_pathr_ extension source_paths r _get_sourcefiler$s  =Qt&11#66D!Y 9??$$RU+t33)' 66  ,)))#CRC( )&{33 F;;FsA%%BBc|ttr! t|S#t$rYdSwxYw|tt r|SdSr)rBtuplerrrr)rs r _get_cachedr7s~//00 $X.. ."    DD    5!233 4 4ts8 AAcb t|j}n#t$rd}YnwxYw|dz}|S)Nrj)rZr]r\)rIr^s r _calc_moderCsP=$'  EMD Ks  ''c\ dfd }t tj}nd}|||S)Nc||j}n'|j|krtd|jd||||g|Ri|S)Nz loader for z cannot handle name)r ImportError)selfrargskwargsmethods r _check_name_wrapperz(_check_name.._check_name_wrapperWsn <9DD Y$  +!%DD28<>>> >vdD242226222rc dD]1}t||rt||t||2|j|jdS)N) __module____name__ __qualname____doc__)hasattrsetattrgetattr__dict__update)newoldrgs r _wrapz_check_name.._wrapdsaP A A3((AC'#w*?*?@@@ L   - - - - -rr) _bootstrapr)rrrs` r _check_namerOsb333333  . . .  E v&&& rc tjdt||\}}|Dt |r5d}tj||dt |S)NzZfind_module() is deprecated and slated for removal in Python 3.12; use find_spec() insteadz,Not importing directory {}: missing __init__r)rrr find_loaderr>rn ImportWarning)rfullnameloaderportionsmsgs r _find_module_shimrns{ NP%''' ''11FH ~#h--~<szz(1+.. >>> Mrcx |dd}|tkr0d|d|}td|t|fi|t |dkr/d|}td|t |t |dd}|dzrd |d |}t|fi||S) Nr&zbad magic number in z: {}z(reached EOF while reading pyc header of zinvalid flags z in ) MAGIC_NUMBERr_verbose_messagerr>EOFErrorr2)r1r exc_detailsmagicrrs r _classify_pycrs !HE <<<5<<##D'222'11[111 4yy2~~ETEE##D'222w 4!9 % %E u}2858888'11[111 Lrc t|dd|dzkr-d|}td|t|fi||.t|dd|dzkrtd|fi|dSdS)Nr r%zbytecode is stale for rr)r2rrr)r1 source_mtime source_sizerrrs r _validate_timestamp_pycrs"d1R4j!!lZ&?@@3433##D'222'11[111tBrE{## j(@AA;4;;KK{KKK AArcD |dd|krtd|fi|dS)Nrrz.hash in bytecode doesn't match hash of source )r)r1 source_hashrrs r _validate_hash_pycrsN  AbDz[   Fd F F     ! rc tj|}t|tr4td||t j|||Std |||)Nzcode object from {!r}zNon-code object in {!r}rrI) marshalloads isinstance _code_typerr_imp_fix_co_filenamerrn)r1rrrcodes r _compile_bytecoders- =  D$ ##9##$;]KKK  "  !$ 4 4 4 3::=II#-999 9rcJ tt}|td|t||t||t j||S)Nr bytearrayrextendr+rdumps)rmtimerr1s r _code_to_timestamp_pycrs1 \ " "DKK Q   KK U##$$$KK [))***KK d##$$$ KrTc tt}d|dzz}|t||||t j||S)Nr7r)rrcheckedr1rs r _code_to_hash_pycrsm, \ " "D 'Q, EKK U##$$$KK KK d##$$$ Krc ddl}tj|j}||}tjdd}|||dS)NrT)tokenizertBytesIOreadlinedetect_encodingIncrementalNewlineDecoderdecode) source_bytesrsource_bytes_readlineencodingnewline_decoders r decode_sourcersqOOOK 55>''(=>>H3D$??O  ! !,"5"5hqk"B"B C CCrrsubmodule_search_locationsc, |:d}t|dr' ||}ng#t$rYn[wxYwnVtj|}t |s3 t tj|}n#t$rYnwxYwt |||}d|_ |MtD]<\}}| t|r|||}||_n=dS|t urAt|dr0 ||}|rg|_n#t$rYn wxYwn||_|jgkr1|r/t'|d}|j||S)Nz get_filenameoriginT is_packager)rrrrrrhrLrdr\r ModuleSpec _set_fileattr_get_supported_file_loadersrBrr _POPULATErrrVrE) rlocationrrspec loader_classsuffixesrdirnames r spec_from_file_locationr! s  6> * *  !..t44      :h''8$$  %cjllH==      vh ? ?DD~&A&C&C   "L(  x11 %dH55$   4"Y.. 6< ( ( 9 9#..t44 968D3      9+E' &",,  <!(++A.G  + 2 27 ; ; ; Ks0- ::"!B BB!E E  E ceZdZ dZdZeodevZedZ e dZ e d dZ e d dZ dS) WindowsRegistryFinderz;Software\Python\PythonCore\{sys_version}\Modules\{fullname}zASoftware\Python\PythonCore\{sys_version}\Modules\{fullname}\Debugz_d.pydc tjtj|S#t$r"tjtj|cYSwxYwr)winregOpenKeyHKEY_CURRENT_USERr\HKEY_LOCAL_MACHINErs r _open_registryz$WindowsRegistryFinder._open_registry_sW B>&":C@@ @ B B B>&";SAA A A A Bs!)A  A c4|jr|j}n|j}||dtjddz} ||5}tj|d}dddn #1swxYwYn#t$rYdSwxYw|S)Nz%d.%dr|)r sys_versionr) DEBUG_BUILDREGISTRY_KEY_DEBUG REGISTRY_KEYrnr version_infor)r% QueryValuer\)clsr registry_keyrhkeyfilepaths r _search_registryz&WindowsRegistryFinder._search_registryfs ? ,1LL+L!!8.58H!8L.L"NN ##C(( 7D!,T266 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7   44 s6BA;/ B;A??BA?B BBNc>||}|dS t|n#t$rYdSwxYwtD]R\}}|t |r+t |||||}|cSSdS)Nr)r5rZr\rrBrrspec_from_loader)r1rrItargetr4rrrs r find_speczWindowsRegistryFinder.find_specus''11  4  x    44  ; = =   FH  x11 !228396(H3M3M:B3DD    s + 99cz tjdt|||}||jSdS)NzpWindowsRegistryFinder.find_module() is deprecated and slated for removal in Python 3.12; use find_spec() insteadrrrr9rr1rrIrs r find_modulez!WindowsRegistryFinder.find_modulesN T) + + +}}Xt,,  ; 4rNNr)rrrr.r- _MS_WINDOWSEXTENSION_SUFFIXESr, staticmethodr) classmethodr5r9r=r rr r#r#SsH  'A8/A#AKBB\B   [    [    [   rr#c(eZdZ dZdZdZdZdS) _LoaderBasicsc t||d}|ddd}|dd}|dko|dkS)Nr7rrr|__init__)rVrrr)rrr filename_base tail_names r rz_LoaderBasics.is_packagesm Nt00::;;A> Q//2 '',,Q/  *FyJ/FFrcdSrr rrs r create_modulez_LoaderBasics.create_module88rc ||j}|'td|jtt ||jdS)Nz4cannot load module {!r} when get_code() returns None)get_coderrrnr_call_with_frames_removedexecr)rmodulers r exec_modulez_LoaderBasics.exec_modulesf!}}V_-- <--3VFO-D-DFF F,,T4IIIIIrc: t||Sr)r_load_module_shimrrs r load_modulez_LoaderBasics.load_modules(++D(;;;rN)rrrrrKrRrVr rr rDrDs[GGG999JJJ<<<<eZdZdZdZdZdZdZdddZd Z d S) SourceLoaderc tr)r\rrIs r path_mtimezSourceLoader.path_mtimes  rc2 d||iS)Nr)r[rZs r path_statszSourceLoader.path_statss  ..//rc0 |||Sr)set_data)rr cache_pathr1s r _cache_bytecodezSourceLoader._cache_bytecodes }}Z...rcdSrr )rrIr1s r r_zSourceLoader.set_datas   rc ||} ||}n$#t$r}td||d}~wwxYwt |S)Nz'source not available through get_data()r)rget_datar\rr)rrrIr excs r get_sourcezSourceLoader.get_sourcesB  ** 6==..LL 6 6 6G#+---25 6 6\***s. AA  Ar) _optimizecN tt||dd|S)NrPT) dont_inheritr)rrOcompile)rr1rIrgs r source_to_codezSourceLoader.source_to_codes6 33GT459I4OO Orc ||}d}d}d}d}d} t|} ||} t| d} ||} ||d} t | || } t | dd} | dzdk}|rm| dzdk}tjd krS|stjd krA||}tj t|}t| ||| nt| || d || td ||t| ||| S#t t"f$rYn6wxYw#t$$rYn&wxYw#t$$rYnwxYw#t&$rd}YnwxYw|||}|||}td|t*jsu|s|q|r(|tj |}t/|||} nt1||t3|} |||| n#t&$rYnwxYw|S)NFTrrrr7rr|neveralwayssizez {} matches {})rrrzcode object from {})rrr]r(rdr memoryviewrcheck_hash_based_pycsr_RAW_MAGIC_NUMBERrrrrrrrr\rrkrdont_write_bytecoderrr>ra)rrrrr r hash_based check_sourcerstr1rr bytes_data code_objects r rNzSourceLoader.get_codesR ''11      3 J-k::M. J__[11 #2g;// (J==77D !) -##KJ -dHk J J%/%5%5bcc%: %*S[A%5 %+04<1+$5$0/"/" !34h3>!@!@!@4 $ , "6 ( + #33O]4?AAA0(?L=H J J JJ (2?D      # ! ! ! MMM !d  ==55L)), DD ##$9;GGG' M,E( A&"&"2<"@"@K(k<PP-k<.1,.?.?AA $$[-FFFF&    sYFFE78B9E E43E47 FF FF F&%F& I"" I/.I/N) rrrr[r]rar_rfrkrNr rr rXrXs 0 0 0///   +++79OOOOORRRRRrrXcteZdZ dZdZdZefdZedZdZ edZ xZ S) FileLoaderc$ ||_||_dSrr)rrrIs r rFzFileLoader.__init__Is   rcB|j|jko|j|jkSr __class__rrothers r __eq__zFileLoader.__eq__O$%/10 / 1rcTt|jt|jz SrhashrrIrs r __hash__zFileLoader.__hash__SDIdi00rcV tt||Sr)superrzrV)rrr~s r rVzFileLoader.load_moduleVs( Z&&228<<? @ @ #s4yy)) #Tyy{{ # # # # # # # # # # # # # # # # # #D#&& #$yy{{ # # # # # # # # # # # # # # # # # #s#A  A$'A$B##B'*B'c$ddlm}||S)Nr) FileReader)importlib.readersr)rrQrs r get_resource_readerzFileLoader.get_resource_readerps$000000z$r) rrrrFrrrrVrrdr __classcell__)r~s@r rzrzDs" 111111 = = = =[ =[###  [     rrzc(eZdZ dZdZdddZdS)SourceFileLoaderc@ t|}|j|jdS)N)rro)rZst_mtimest_size)rrIrvs r r]zSourceFileLoader.path_statszs$/   bj999rcPt|}||||S)N_mode)rr_)rrrr1r^s r raz SourceFileLoader._cache_bytecodes'+&&}}]D}===rrjrcr t|\}}g}|rGt|s8t|\}}|||rt|8t|D]g}t ||} t j|(#t$rY4t$r(}t d||Yd}~dSd}~wwxYw t|||t d|dS#t$r'}t d||Yd}~dSd}~wwxYw)Nzcould not create {!r}: {!r}z created {!r}) rVrerEreversedrLrmkdirFileExistsErrorr\rrr{) rrIr1rparentrrGrOres r r_zSourceFileLoader.set_datas)&t,,  $[00 $&v..LFD   d # # # $[00 $Z((  D--F  &!!!!"      ++,I,2C999    - $e , , ,  ' ' = = = = = - - -  ' '(Et(+ - - - - - - - - - -s6B C" C+CC,D D6D11D6N)rrrr]rar_r rr rrvsSH::: >>> -2-------rrceZdZ dZdZdS)SourcelessFileLoaderc||}||}||d}t|||tt |dd||S)Nrr)rr)rrdrrrp)rrrIr1rs r rNzSourcelessFileLoader.get_codes  **}}T""   dHk222 t  RSS !    rc dSrr rUs r rfzSourcelessFileLoader.get_sources 5trN)rrrrNrfr rr rrs57   rrcVeZdZ dZdZdZdZdZdZdZ dZ e d Z d S) rc"||_||_dSrr)rrrIs r rFzExtensionFileLoader.__init__s  rcB|j|jko|j|jkSrr}rs r rzExtensionFileLoader.__eq__rrcTt|jt|jz Srrrs r rzExtensionFileLoader.__hash__rrc ttj|}td|j|j|S)Nz&extension module {!r} loaded from {!r})rrOrcreate_dynamicrrrI)rrrQs r rKz!ExtensionFileLoader.create_modulesK655  ''##$LDI / / / rc ttj|td|j|jdS)Nz(extension module {!r} executed from {!r})rrOr exec_dynamicrrrIrrQs r rRzExtensionFileLoader.exec_modulesL,,,T->GGG##$NDI / / / / /rcz t|jdtfdtDS)Nr7c3*K|] }d|zkVdS)rFNr )r suffix file_names r rSz1ExtensionFileLoader.is_package..sA55 V 33555555r)rVrIanyr@)rrrs @r rzExtensionFileLoader.is_packagesR? **1- 5555!355555 5rc dSrr rUs r rNzExtensionFileLoader.get_codes Mtrc dSrr rUs r rfzExtensionFileLoader.get_sources Ctrc |jSrrYrUs r rz ExtensionFileLoader.get_filenamerrN) rrrrFrrrKrRrrNrfrrr rr rrs 111111/// 555 [rrcVeZdZ dZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd S)_NamespacePathrc||_||_t||_|j|_||_dSr)_name_pathr_get_parent_path_last_parent_path_epoch _last_epoch _path_finderrrrI path_finders r rFz_NamespacePath.__init__sD  !&t'<'<'>'>!?!?;'rcX |jd\}}}|dkrdS|dfS)Nrr)rrI__path__)rr)rrdotmes r _find_parent_path_namesz&_NamespacePath._find_parent_path_namess;L*//44R "99 =z!!rcp|\}}ttj||Sr)rrrmodules)rparent_module_namepath_attr_names r rz_NamespacePath._get_parent_path s1-1-I-I-K-K*Ns{#56GGGrct|}||jks|j|jkrJ||j|}||j|jr |j|_ ||_|j|_|j Sr) rrrrrrrrrr)r parent_pathrs r _recalculatez_NamespacePath._recalculatesD113344 $0 0 0DK4CS4S4S$$TZ==DDK$72A!%!@DJ%0D "#{D zrcDt|Sr)iterrrs r __iter__z_NamespacePath.__iter__sD%%''(((rc6||Srr)rindexs r __getitem__z_NamespacePath.__getitem__"s  ""5))rc||j|<dSr)r)rrrIs r __setitem__z_NamespacePath.__setitem__%s  5rcDt|Sr)r>rrs r __len__z_NamespacePath.__len__(s4$$&&'''rc6d|jS)Nz_NamespacePath({!r}))rnrrs r __repr__z_NamespacePath.__repr__+s%,,TZ888rc.||vSrrritems r __contains__z_NamespacePath.__contains__.st((****rc:|j|dSr)rrErs r rEz_NamespacePath.append1s $rN)rrrrrFrrrrrrrrrrEr rr rrsF((("""HHH   )))***!!!(((999+++     rrcTeZdZdZedZdZdZdZdZ dZ dZ d Z d S) NamespaceLoaderc2t||||_dSr)rrrs r rFzNamespaceLoader.__init__9s#D$ << rcl tjdtd|jS)NzQNamespaceLoader.module_repr() is deprecated and slated for removal in Python 3.12z)rrrrnr)rQs r module_reprzNamespaceLoader.module_repr<s> ;rPT)ri)rjrUs r rNzNamespaceLoader.get_codeMsr:vDAAAArcdSrr rJs r rKzNamespaceLoader.create_modulePrLrcdSrr rs r rRzNamespaceLoader.exec_moduleSs rcz td|jt||S)Nz&namespace module loaded with path {!r})rrrrTrUs r rVzNamespaceLoader.load_moduleVsA ##$L$(J 0 0 0++D(;;;rc.ddlm}||jS)Nr)NamespaceReader)rrr)rrQrs r rz#NamespaceLoader.get_resource_readerbs&555555tz***rN) rrrrFrArrrfrNrKrRrVrr rr rr8s===CC\CBBB999    < < <+++++rrceZdZ edZedZedZedZed dZ ed dZ ed dZ ed Z dS) PathFindercN ttjD]H\}}|t |stj|=$t |dr|Itxjdz c_ddl m }|dS)Ninvalidate_cachesr7rMetadataPathFinder) listrpath_importer_cacheitemsrhrrrrimportlib.metadatar)rfinderrs r rzPathFinder.invalidate_cachesqs C !8!>!>!@!@AA + +LD&~[%6%6~+D11!455 +((*** "999999,,.....rc tj&tjstjdttjD]} ||cS#t $rYwxYwdS)Nzsys.path_hooks is empty)r path_hooksrrrr)rIhooks r _path_hookszPathFinder._path_hookssx< > %cn % N4m D D DN  D tDzz!!!    4s A AAc |dkr& tj}n#t$rYdSwxYw tj|}n4#t $r'||}|tj|<YnwxYw|Sr)rrdFileNotFoundErrorrrKeyErrorr)r1rIrs r _path_importer_cachezPathFinder._path_importer_caches 2:: z||$   tt  3,T2FF 3 3 3__T**F,2C #D ) ) ) 3 s ++A.A32A3ct|drPt|d}tj|t ||\}}nNt|d}tj|t ||}g}|t||St |d}||_ |S)Nrz5.find_spec() not found; falling back to find_loader()z5.find_spec() not found; falling back to find_module()) rr _object_namerrrrr=r7rr)r1rrrrrrs r _legacy_get_speczPathFinder._legacy_get_specs 6= ) )  --f55444C N3 . . .%11(;; FHH --f55444C N3 . . .''11FH  ..x@@ @$$Xt44*2' rNc g}|D]}t|ts||}|xt|dr|||}n|||}|o|j|cS|j}|td| |t |d}||_|S)Nr9zspec missing loader) rrrrr9rrrrrrr) r1rrIr8namespace_pathentryrrrs r _get_speczPathFinder._get_specsM  EeS)) --e44F!6;//B!++Hf==DD//&AAD<;*KKK:#%&;<<< %%h///((488D.[^[h2i2i/ tKrcz tjdt|||}|dS|jS)NzePathFinder.find_module() is deprecated and slated for removal in Python 3.12; use find_spec() insteadr;r<s r r=zPathFinder.find_modulesM T) + + +}}Xt,, <4{rc* ddlm}|j|i|S)Nrr)rrfind_distributions)rrrs r rzPathFinder.find_distributionss4  :999994!4dEfEEErrr>) rrrrArrrBrrr r9r=rr rr rrmsH//\/"  \ [*[([>[.   [  F F\ F F FrrcVeZdZ dZdZeZdZdZd dZ dZ e dZ d Z dS) FileFinderc g}|D]&\}|fd|D'||_|r|dkrtj|_n=t |s't tj||_n||_d|_t|_ t|_ dS)Nc3 K|]}|fV dSrr )r rrs r rSz&FileFinder.__init__.. s(CCFF+CCCCCCrrr) r_loadersrrdrIrhrL _path_mtimeset _path_cache_relaxed_path_cache)rrIloader_detailsloadersrrs @r rFzFileFinder.__init__s  . D D FH NNCCCC(CCC C C C C  ts{{ DIIT"" "3:<<66DIIDI55#&55   rc d|_dS)Nr)rrs r rzFileFinder.invalidate_caches-s-rc tjdt||}|dgfS|j|jpgfS)NzeFileFinder.find_loader() is deprecated and slated for removal in Python 3.12; use find_spec() instead)rrrr9rr)rrrs r rzFileFinder.find_loader3s\ T) + + +~~h'' <8O{D;ArAArc@|||}t||||S)Nr)r!)rrrrIsmslr8rs r r zFileFinder._get_specBs7h--&xfBFHHH HrNc d}|dd} t|jptjj}n#t $rd}YnwxYw||jkr|||_tr|j }| }n |j }|}||vrqt|j|}|jD]E\} } d| z} t|| } t| r|| || |g|cSFt#|}|jD]\} } t|j|| z} n#t$$rYdSwxYwt&d| d|| z|vr*t| r|| || d|cS|r@t&d|t&|d} |g| _| SdS) NFrr|rrFz trying {}) verbosityzpossible namespace for {})rrZrIrrdrr\r _fill_cacherrrrrLrrbr rerrrrr)rrr8 is_namespace tail_modulercache cache_module base_pathrr init_filename full_pathrs r r9zFileFinder.find_specGsd  ))#..q1  ty8CJLL99BEE   EEE  D$ $ $      $D  == ',E&,,..LL$E&L 5 "49k::I(,  6 6$ *V 3 &y-@@  **b>>,)i[Z`aaaaab +955 $(M 8 8 FL &ty+2FGG    ttt   ' ' Y! ' L L Lf$-- **8>>,)*.88888    ' '(CY O O O((488D/8kD +Kts#,A AA:E E"!E"cf |j} tj|ptj}n#tt t f$rg}YnwxYwtj dst||_ nut}|D]]}| d\}}}|r)d ||}n|}||^||_ tj t rd|D|_dSdS)Nrrrlc6h|]}|Sr )r)r fns r r z)FileFinder._fill_cache..s 'F'F'Fr 'F'F'Fr)rIrlistdirrdrPermissionErrorNotADirectoryErrorrrr rrrrnraddr!r) rrIcontentslower_suffix_contentsrrrrnew_names r r zFileFinder._fill_cachezsDRy {4#73:<<88HH!?4FG   HHH  |&&u-- 5"8}}D  %(EE !  4 4$(NN3$7$7!c6$&~~dFLLNNCCHH#H%))(33334D  < " "#> ? ? G'F'FX'F'F'FD $ $ $ G Gs'2A Ac fd}|S)NcX t|std||gRS)Nzonly directories are supportedrY)rer)rIr1rs r path_hook_for_FileFinderz6FileFinder.path_hook..path_hook_for_FileFindersC ?t$$ O!"BNNNN3t-n--- -rr )r1rr4s`` r path_hookzFileFinder.path_hooks/  . . . . . . ('rc6d|jS)NzFileFinder({!r}))rnrIrs r rzFileFinder.__repr__s!((333rr)rrrrFrrr=rr r9r rBr5rr rr rrs)))&$K B B BHHH 1111fGGG>(([("44444rrc4|d}|d}|s1|r|j}n'||krt||}nt||}|st |||} ||d<||d<||d<||d<dS#t $rYdSwxYw)N __loader____spec__)r__file__ __cached__)getrrrr! Exception)nsrpathname cpathnamerrs r _fix_up_modulerAs VVL ! !F 66*  D 6  6[FF  " ")$99FF%dH55F F&tXfEEE :!<!:$<      s3B BBcz ttjf}ttf}t t f}|||gSr)rrextension_suffixesrrrr) extensionssourcebytecodes r rrs>%d&=&?&??J  .F#%66H  ))rc |adSr)r)_bootstrap_modules r _set_bootstrap_modulerIs "JJJrc t|t}tjt j|gtjtdSr) rIrrrrrr5 meta_pathrEr)rHsupported_loaderss r _installrMs^3+,,,355N:/1BCDEEEM$$$$$r)rjr)NNN)rr)T)Trrrtrrrrr?ntrr%posixr;rCrrArF_pathseps_with_colonr"%_CASE_INSENSITIVE_PLATFORMS_BYTES_KEYr!r#rr+r2r5rLrVrZr`rbrerhr{type__code__rr)rr(r/rrrrrrErCr@rDEBUG_BYTECODE_SUFFIXESOPTIMIZED_BYTECODE_SUFFIXESrrrrrrrrrrrrrrobjectrr!r#rDrXrzrrrrr_NamespaceLoaderrrrArrIrMr rr rXs#,  |w& MMMMSkOOeO 1 ''''/**99999'-#(:% E"E!F   777 *** *** "?****<??? """222... ... 0RRRR000 ,T-( ) ) jq(++g5 NN<::  '#6""",T,..H8II5D0D0D0D0D0D0N%@%@%@PGGG&      >(BLLL8   0 9 9 9 9 D D D FHH D47@DDDDDR@@@@@@@@F<<<<<<<<