a0biuHSrSSKrSSKrSSKrSSKrSSKrSSKJrJrJ r J r J r SSK J r Jr SSKJr SSKJr SSKr\R("S\5 \R,r\R0r\R4r\R8r\R<\R>\R@\RB4r"\RFS :H=(a \RHS :r%\%(aS r&S r'S r(OSr&Sr'Sr(SSS.r)"SS5r*"SS5r+Sr,Sr-Sr.Sr/SSjr0\,"5r1"SS\ 5r2g) a distutils.msvc9compiler Contains MSVCCompiler, an implementation of the abstract CCompiler class for the Microsoft Visual Studio 2008. The module is compatible with VS 2005 and VS 2008. You can find legacy support for older versions of VS in distutils.msvccompiler. N)DistutilsExecErrorDistutilsPlatformError CompileErrorLibError LinkError) CCompilergen_lib_options)log) get_platformzmsvc9compiler is deprecated and slated to be removed in the future. Please discontinue use or file an issue with pypa/distutils describing your use case.win32lz1Software\Wow6432Node\Microsoft\VisualStudio\%0.1fz5Software\Wow6432Node\Microsoft\Microsoft SDKs\Windowsz,Software\Wow6432Node\Microsoft\.NETFrameworkz%Software\Microsoft\VisualStudio\%0.1fz)Software\Microsoft\Microsoft SDKs\Windowsz Software\Microsoft\.NETFrameworkx86amd64r z win-amd64cp\rSrSrSrSr\"\5rSr\"\5rSr\"\5rSr \ "\ 5r Sr g) RegKz-Helper class to read values from the registryc|[H(nURX15nU(dMX$;dM$XBs $ [U5eN)HKEYS read_valuesKeyError)clspathkeybaseds ڜ/builddir/build/BUILDROOT/alt-python313-setuptools-69.0.2-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/setuptools/_distutils/msvc9compiler.py get_value Reg.get_valueNs6D+AqSXv smc[X5n/nSn[X55nURU5 US- nM$![a gf=f![a U$f=f)zReturn list of registry keys.Nrr) RegOpenKeyExRegError RegEnumKeyappend)rrrhandleLiks r read_keys Reg.read_keysWsx !$,F   v) HHQK FA       s 6 A AA AAc[X5n0nSn[X55upgnUR5nUR U5X@R U5'US- nMH![a gf=f![a U$f=f)zPReturn dict of registry keys and values. All names are converted to lowercase. Nrr)r#r$ RegEnumValuelower convert_mbcs) rrrr'rr)namevaluetypes rrReg.read_valuesjs  !$,F   $0$;!T:: NN-t{{M J NN?K9O PAA$T-A!A&MM$(?@56y\ 12 (L    s$D7 D D5D25 EEcnURR5Hup#URX#5nM U$r)rJitemsreplace)rNr:r*vs rsubMacroExpander.subs-KK%%'DA !A(r!)rJrLN) r>r?r@rArPrTrMrkrEr=r!rrGrGs" @B>r!rGc8Sn[RRU5nUS:XagU[U5-n[RUSR SS5up#[ USS5S- nUS:aUS- n[ US S 5S - nUS:XaS nUS:aXE-$g) zReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. zMSC v.N r g$@r)sysrOfindlensplitint)prefixr)r:rest majorVersion minorVersions rget_build_versionr~s F  ABw CKAkk!"o##C+GAq"v;?Lr q1v;%Lq q** r!c/nUH:n[RRU5nX1;dM)URU5 M< U$)zfReturn a list of normalized paths with duplicates removed. The current order of paths is maintained. )osrnormpathr&)paths reduced_pathsrdnps rnormalize_and_reduce_pathsrsC M  WW  a  "   $  r!cUR[R5n/nUHnX2;dM URU5 M [RR U5nU$)z3Remove duplicate values of an environment variable.)rxrpathsepr&join)variableoldListnewListr) newVariables rremoveDuplicatesrsOnnRZZ(GG   NN1 **//'*K r!c[U-n[RSU-S5nU(a%[ RRU5(GdSU-n[ RRUS5nU(a[ RRU5(a[ RRU[ R[ RS5n[ RRU5n[ RRU5(d[R "SU-5 gO[R "SU-5 U(d[R "S 5 g[ RRUS 5n[ RRU5(aU$[R "S 5 g![a [R "S5 SnGNf=f) zFind the vcvarsall.bat file At first it tries to find the productdir of VS 2008 in the registry. If that fails it falls back to the VS90COMNTOOLS env var. z %s\Setup\VCrXz%Unable to find productdir in registryNzVS%0.f0COMNTOOLSVCz%s is not a valid directoryz Env var %s is not set or invalidzNo productdir foundz vcvarsall.batUnable to find vcvarsall.bat)rKrrrr debugrrisdirenvirongetrpardirabspathisfile)rOrLrXtoolskeytoolsdir vcvarsalls rfind_vcvarsallrsX w F]]>F#:LI RWW]]:66%/::>>(D1  h//h 299dKJ4J77==,, 7*DE- II88C D  '( Z9I ww~~i  II,- /  9: sG"G65G6cD[U5n1Skn0nUc [S5e[R"SX5 [R "SR X!5[R[RS9nUR5upgUR5S:wa[URS55eURS5nURS 5Hn[RU5nS U;aM UR5nURS S 5upU R5n X;dM[U R!["R$5(aU SS n ['U 5XI'M UR(R+5 UR,R+5 [/U5[/U5:wa+[1[3[5UR75555eU$!UR(R+5 UR,R+5 f=f) z?Launch vcvarsall.bat and read the settings from its environment>librincludelibpathNrz'Calling 'vcvarsall.bat %s' (version=%s)z "{}" {} & set)stdoutstderrrr7 =rrn)rrr r subprocessPopenrcPIPE communicatewaitr6rxrr0stripr/endswithrrrrcloserrw ValueErrorstrlistkeys) rOarchr interestingresultpopenrrlinerr2s rquery_vcvarsallrsw'I7K F$%CDDII7G   y/ E **, ::<1 (v)>? ?v&LL&D##D)D$::>"**--!#2JE.u5 '    6{c+&&T&++-0122 M   s9B9G)6:G))6Hc^\rSrSrSrSr0rS/r/SQrS/r S/r \\-\ -\ -r Sr S r S rS rS =rrS rSU4SjjrSSjrSSjrS SjrS!SjrS"SjrSrSrSrSrSrSrS#SjrSr Sr!U=r"$)$ MSVCCompileriAzpConcrete class that implements an interface to Microsoft Visual C++, as defined by the CCompiler abstract class.msvcz.c)z.ccz.cppz.cxx.rcz.mcz.resz.objz.libz.dllz%s%sz.exec>[TU]XU5 [UlSUl/UlSUlSUlSUlg)NzSoftware\Microsoft\VisualStudioF) superrPVERSION_MSVCCompiler__version_MSVCCompiler__root_MSVCCompiler__paths plat_name_MSVCCompiler__arch initialized)rNverbosedry_runforce __class__s rrPMSVCCompiler.__init__^s= 51 8    r!c*UR(aS5eURS:a[SUR-5eUc [5nSnX;a[SR U55eS[ R ;aOS[ R ;a;URS5(a%SUlS Ul S Ul S Ul S Ul GO:U[5S 4;a [UnO[[5S-[U-n[[U5nUSR![ R"5UlUS[ R S'US[ R S'['UR$5S:Xa[SUR(-5eURS5UlURS 5Ul URS 5Ul URS 5Ul URS 5Ul [ R SR!S5HnUR$R+U5 M [/UR$5UlSR1UR$5[ R S'SUlUR4S:Xa/SQUl/SQUlO/SQUl/SQUl/SQUlURS:a /SQUlS/UlSUlg![,a Nf=f)Nzdon't init multiple timesr\z(VC %0.1f is not supported by this modulerz--plat-name must be one of {}DISTUTILS_USE_SDKMSSdkzcl.exezlink.exezlib.exezrc.exezmc.exer _rrrrzxPython was built with %s, and extensions need to be built with the same version of the compiler, but it isn't installed.;r)/nologo/O2/MD/W3/DNDEBUG)r/Od/MDdr/Z7/D_DEBUG)rrrr/GS-r)rrrrrrr)/DLLrz/INCREMENTAL:NO)rrz/INCREMENTAL:noz/DEBUGrT) rrrr rcrrfind_execclinkerrrcmcPLAT_TO_VCVARSrrrxrrrw_MSVCCompiler__productr&rrrpreprocess_optionsrcompile_optionscompile_options_debugldflags_sharedldflags_shared_debugldflags_static)rNrok_plats plat_specvc_envrds r initializeMSVCCompiler.initializeis##@%@@# >>C (:T^^K   $I'  $(/66x@  2:: -2::% h''DG$DK DHDGDG \^W55*95 #<>2S8>);TT%Wi8F!&>// ;DL &u BJJu $*9$5BJJy !4<< A%,GIMX mmH-DG-- 3DK}}Y/DHmmH-DGmmH-DG  ZZ'--c2 ##A&32$,,?  XXdll3 6"& ;;% #OD *D &$XD *D &E >>Q (XD %(kE   s AL LLc"UcSn/nUGHn[RRU5upg[RRU5SnU[RR U5SnXpR ;a[ SU-5eU(a[RRU5nXpR;a=UR[RRX6UR-55 MXpR;a>UR[RRX6UR-55 GMEUR[RRX6UR-55 GM U$)NrzDon't know how to compile %s)rrsplitext splitdriveisabssrc_extensionsrbasename_rc_extensionsr&r res_extension_mc_extensions obj_extension)rNsource_filenames strip_dir output_dir obj_namessrc_namerexts robject_filenamesMSVCCompiler.object_filenamess/  J (H''**84KT77%%d+A.D d+-.D---##AH#LMMww''-)))  jASAS:S!TU+++  jASAS:S!TU  jASAS:S!TU!)"r!c UR(dUR5 URX#XAX5n U up:p{n U=(d /n U RS5 U(aU R UR 5 OU R UR 5 U GHnXunnU(a[RRU5nUUR;aSU-nGOtUUR;aSU-nGO]UUR;a1UnSU-nURUR/U -U/-U/-5 MUUR$;a[RR'U5n[RR'U5nURUR(/SUSU/-U/-5 [RR+[RR-U55unn[RR/UUS-5nURUR/SU-/-U/-5 GM[#SR1X55eS U-nURUR2/U -U -UU/-U-5 GM U $![a GMf=f![ an[#U5eSnAff=f![ an[#U5eSnAff=f![ an[#U5eSnAff=f) Nz/cz/Tcz/Tpz/foz-hz-rrz"Don't know how to compile {} to {}z/Fo)rr_setup_compiler&extendrrrrrr _c_extensions_cpp_extensionsrspawnrrrrdirnamerrrrrcr)rNsourcesrrJ include_dirsr extra_preargsextra_postargsdepends compile_infoobjectspp_optsbuild compile_optsobjsrcr input_opt output_optmsgh_dirrc_dirrrrc_files rcompileMSVCCompiler.compiles OO **  w ;G7%$* D!     : : ;    4 4 5C  :Sggooc*d(((!CK ,,,!CK +++ "S[ ,JJy72j\AYKOP+++,- ,JJyD%v+FF#NO gg..rww/?/?/DEGD! ggll64%<@GJJyECK=8G9DE#8??IJ ( WWI"#!*-.% %sFA  $*,&s++,2*,&s++,$& ("3'' (s[J 'JB0J:*K JJ J7' J22J7: K KK K1! K,,K1cUR(dUR5 URX5upURX#S9nUR X5(a2USU-/-nU(aUR UR /U-5 g[R"SU5 g![an[U5eSnAff=f)N)r/OUT:skipping %s (up-to-date)) rr_fix_object_argslibrary_filename _need_linkrrrrr r) rNr output_libnamerr target_langoutput_filenamelib_argsrs rcreate_static_libMSVCCompiler.create_static_libIs OO  $ 5 5g J///V ??7 4 4'O";!<. B99B>cUR(dUR5 URX$5up$URXVU5nUupVnU(aUR S[ U5-5 [ XXu5nUb[RRXC5nURX#5(GaU[R:Xa'U (aURSSnO0URSSnO U (a URnO URn/nU=(d /HnURSU-5 M UU-U-U-SU-/-n[RR!US5n Ub[RR#[RR%U55unn[RRXR'U55nURSU-5 UR)XW=XX 4J)&(gg&6&6GG$$_5'#7!ggll:7L7LX7VW zK78  & &G L+ ~. KK8 9 % DKK=72311+wGF!#) D188$O)JJ)[*gVW " II0/ B#& %n$ %*)#C.()s0K!K. K+ K&&K+. L8 LLc[RRU[RRU5S-5nUR SU-5 g)Nz .manifest/MANIFESTFILE:)rrrrr&)rNr!r1r7 temp_manifests rr)"MSVCCompiler.manifest_setup_ldargssC ((9KG  '-78r!cUH0nURS5(dMURSS5Sn O gU[R:XaSnOSnUR U5nUcgXE4$)NrB:rrs) startswithrxr r(_remove_visual_c_ref)rNr,r7argrCr=s rr+$MSVCCompiler.manifest_get_embed_infosy C~~.// # #q 1! 4   ).. .DD 55mDM  ""r!cX[U5nUR5nUR5 [R"S[R 5n[R "USU5nSn[R "USU5n[R"S[R 5n[R"XC5cg[US5nURU5 UUR5 $!UR5 f=f!UR5 f=f![a gf=f)NzU|)rz*\s*zI|)w) openreadrrerDOTALLrksearchwriteOSError)rN manifest_file manifest_f manifest_bufpatterns rrH!MSVCCompiler._remove_visual_c_refs' m,J #)0   "jjD G 66'2|>'**"N"r!cURHhn[RR[RR U5U5n[RR U5(dMfUs $ [R SRS5Hhn[RR[RR U5U5n[RR U5(dMfUs $ U$)a\Return path to an MSVC executable program. Tries to find the program in several places: first, one of the MSVC program search paths from the registry; next, the directories in the PATH environment variable. If any of those work, return an absolute path that is known to exist. If none of them work, just return the original program name, 'exe'. Pathr)rrrrrrrrx)rNexerdfns rrMSVCCompiler.find_exe)sAbggooa0#6Bww~~b!!  F#))#.Abggooa0#6Bww~~b!! /  r!)__arch__paths__root __versionrrrrrrrrrrrrr)rrrr)rr)NNNrNNN)NrN) NNNNNrNNNN)r)#r>r?r@rArB compiler_type executablesrrrrrrrstatic_lib_extensionshared_lib_extensionstatic_lib_formatshared_lib_format exe_extensionrPrrrr#r?r)r+rHr\r_rbrjrrE __classcell__)rs@rrrAs3MKFM-OWNWN#_4~EVNMM!!,22)M !e R8\~NRC0!\C| 9#0(\! *$r!r)r)3rBrrrurOwarningserrorsrrrrr ccompilerr r _logr utilr winregr'DeprecationWarning OpenKeyExr#EnumKeyr% EnumValuer.errorr$ HKEY_USERSHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_CLASSES_ROOTrplatformmaxsize NATIVE_WIN64rKrbrarrrGr~rrrrrrr=r!rrs:  2  4  ^^  <<      ||w&>3;;+> CGJK>H6G>K2H  ?.?.D++\4  F'V  |9|r!