Ë :¡+(sÎ…ãóÄ—dZddlZddlZddlZddlmZmZmZmZm Z ddl m Z m Z ddl mZdZ ddlZdZeZej$Zej(Zej,Zej0Zer.ej<ej>ej@ejBfZ"ejFd e$«d „Z%d „Z&d „Z'Gd„d«Z(d„Z)d„Z*d„Z+Gd„de «Z,e)«dk\r!ejZd«e,Z.ddl/m,Z,ddl/m(Z(yy#e$r^ ddlZddlZdZeZej&Zej*Zej.Zej0Zn#e$rej:d «YnwxYwYŒøwxYw)z‚distutils.msvccompiler Contains MSVCCompiler, an implementation of the abstract CCompiler class for the Microsoft Visual Studio. éNé)ÚDistutilsExecErrorÚDistutilsPlatformErrorÚ CompileErrorÚLibErrorÚ LinkError)Ú CCompilerÚgen_lib_options)ÚlogFTz�Warning: Can't read registry to find the necessary compiler setting Make sure that Python modules winreg, win32api or win32con are installed.z˜msvccompiler is deprecated and slated to be removed in the future. Please discontinue use or file an issue with pypa/distutils describing your use case.có¬— t||«}g}d} t||«}|j|«|dz }Œ$#t$rYywxYw#t$rY|SwxYw)zReturn list of registry keys.Nrr)Ú RegOpenKeyExÚRegErrorÚ RegEnumKeyÚappend)ÚbaseÚkeyÚhandleÚLÚiÚks úG/usr/lib/python3.12/site-packages/setuptools/_distutils/msvccompiler.pyÚ read_keysrJs|€ðܘd CÓ(ˆð €AØ €AØ ð ܘ6 1Ó%ˆAð �‰�Œ Ø ˆQ‰ˆð øô òÙðûôò Ø ð €Hð  ús ‚ 7” A· AÁAÁ AÁAcóà— t||«}i}d} t||«\}}}|j«}t |«|t |«<|dz }Œ>#t$rYywxYw#t$rY|SwxYw)zXReturn dict of registry keys and values. All names are converted to lowercase. Nrr)r rÚ RegEnumValueÚlowerÚ convert_mbcs)rrrÚdrÚnameÚvalueÚtypes rÚ read_valuesr!\s—€ð ܘd CÓ(ˆð €AØ €AØ ð Ü ,¨V°QÓ 7Ñ ˆD�%˜ð�z‰z‹|ˆÜ ,¨UÓ 3ˆŒ,�tÓ ÑØ ˆQ‰ˆð øô òÙðûôò Ø ð €Hð  ús"‚ A”A Á AÁAÁ A-Á,A-cóZ—t|dd«}|� |d«}|S|S#t$rY|SwxYw)NÚdecodeÚmbcs)ÚgetattrÚ UnicodeError)ÚsÚdecs rrrrsG€Ü �!�X˜tÓ $€CØ €ð Ù�F“ ˆAð €Hˆ1€Høôò Ø Ø €Hð ús ‘� *©*có$—eZdZd„Zd„Zd„Zd„Zy)Ú MacroExpandercó4—i|_|j|«y©N)ÚmacrosÚ load_macros)ÚselfÚversions rÚ__init__zMacroExpander.__init__}s€ØˆŒ Ø ×јÕ!ócód—tD]'}t||«}|sŒ|||jd|z<yy)Nz$(%s))ÚHKEYSr!r-)r/ÚmacroÚpathrrrs rÚ set_macrozMacroExpander.set_macro�s4€ßˆDܘD $Ó'ˆAÚØ/0°©v�— ‘ ˜G e™OÑ,Ùñ r2cóà—d|z}|jd|dzd«|jd|dzd«d}|jd|d « |d kDr|jd |d «n|jd |d «d}tD]I} t ||«}t |d«}t|dj||««}|d|jd<ŒKy#t$r td«‚wxYw#t $rYŒpwxYw)Nz%Software\Microsoft\VisualStudio\%0.1fÚ VCInstallDirz \Setup\VCÚ productdirÚ VSInstallDirz \Setup\VSz Software\Microsoft\.NETFrameworkÚ FrameworkDirÚ installrootg@ÚFrameworkSDKDirzsdkinstallrootv1.1ÚsdkinstallrootaPython was built with Visual Studio 2003; extensions must be built with a compiler than can generate compatible binaries. Visual Studio 2003 was not found on this system. If you have Cygwin installed, you can try compiling with MingW32, by passing "-c mingw32" to setup.py.z.Software\Microsoft\NET Framework Setup\Productrz{}\{}r0z$(FrameworkVersion)) r7ÚKeyErrorrr4r rrr!Úformatr-) r/r0ÚvsbaseÚnetÚprÚhrrs rr.zMacroExpander.load_macrosˆs €Ø9¸GÑCˆØ �‰�~ v° Ñ'<¸lÔKØ �‰�~ v° Ñ'<¸lÔKØ1ˆØ �‰�~ s¨MÔ:ð Ø˜Š}Ø—‘Ð0°#Ð7KÕLà—‘Ð0°#Ð7GÔHð >ˆßˆDð Ü   qÓ)�ô˜Q Ó"ˆCܘD (§/¡/°!°SÓ"9Ó:ˆAØ12°9±ˆD�K‰KÐ-Ò .ñøôò Ü(ðLóð ð ûôò Ùð úsÁ,C  C!à CÃ! C-Ã,C-cón—|jj«D]\}}|j||«}Œ|Sr,)r-ÚitemsÚreplace)r/r'rÚvs rÚsubzMacroExpander.sub¥s1€Ø—K‘K×%Ñ%Ö'‰DˆAˆqØ— ‘ ˜!˜Q“‰Að(àˆr2N)Ú__name__Ú __module__Ú __qualname__r1r7r.rJ©r2rr*r*|s„ò"òò>ó:r2r*có4—d}tjj|«}|dk(ry|t|«z}tj|dj dd«\}}t |dd«dz }|dk\r|dz }t |d d «d z }|dk(rd }|dk\r||zSy) zÃReturn 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)Úsysr0ÚfindÚlenÚsplitÚint)Úprefixrr'ÚrestÚ majorVersionÚ minorVersions rÚget_build_versionr`«s°€ð €FÜ � ‰ ×Ñ˜Ó €A؈B‚wØØ ŒC�‹K‰€AÜ�k‰k˜!˜"ˆo×#Ñ# C¨Ó+�G€A€tÜ�q˜˜"�v“; ‘?€LØ�rÒà˜Ñˆ Ü�q˜˜1�v“; Ñ%€Là�qÒØˆ Ø�qÒØ˜lÑ*Ð*à r2cóΗd}tjj|«}|dk(rytjjd|«}tj|t|«z|S)zUReturn the processor architecture. Possible results are "Intel" or "AMD64". z bit (rPÚIntelÚ))rWr0rXrY)r\rÚjs rÚget_build_architecturereÅsV€ð €FÜ � ‰ ×Ñ˜Ó €A؈B‚wØÜ � ‰ ×ј˜aÓ €AÜ �;‰;�qœ3˜v›;‘¨Ð +Ð+r2có‚—g}|D]7}tjj|«}||vsŒ'|j|«Œ9|S)znReturn a list of normalized paths with duplicates removed. The current order of paths is maintained. )Úosr6Únormpathr)ÚpathsÚ reduced_pathsrDÚnps rÚnormalize_and_reduce_pathsrlÓsE€ð €MÛ ˆÜ �W‰W× Ñ ˜aÓ ˆà �]Ò "Ø × Ñ  Õ $ð ð Ðr2cóð‡—eZdZdZdZiZdgZgd¢ZdgZdgZ eezeze zZ dZ dZ d Z d Zd xZZd Zdˆfd „ Zd„Zdd„Z dd„Z dd„Z dd„Zd„Zd„Zd„Zdd„Zd„Zd d„Zd„ZˆxZS)!Ú MSVCCompilerztConcrete 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óf•—t‰|�|||«t«|_t «|_|j dk(rT|jdk\r"d|_t|j«|_nd|_d|jz|_ d|_ yd|jdzz|_ d|_ y) NrbézSoftware\Microsoft\VisualStudiozSoftware\Microsoft\DevstudiozVisual Studio version %szMicrosoft SDK compiler %srQF) Úsuperr1r`Ú_MSVCCompiler__versionreÚ_MSVCCompiler__archÚ_MSVCCompiler__rootr*Ú_MSVCCompiler__macrosÚ_MSVCCompiler__productÚ initialized)r/ÚverboseÚdry_runÚforceÚ __class__s €rr1zMSVCCompiler.__init__ÿs—ø€Ü ‰Ñ˜ '¨5Ô1Ü*Ó,ˆŒÜ,Ó.ˆŒ Ø �;‰;˜'Ò !à�~‰~ Ò"Ø@�” Ü -¨d¯n©nÓ =�• à=�” Ø7¸$¿.¹.ÑHˆDŒNð !ˆÕð9¸D¿N¹NÈQщ>˜QÒ Ú(XˆDÕ %ò)ˆDÔ %ð )˜kˆÔàˆÕøôWò Ù ð úsÄ8AH7È7 IÉIcó—|€d}g}|D�]y}tjj|«\}}tjj|«d}|tjj |«d}||j vrt d|z«‚|rtjj|«}||jvr=|jtjj|||jz««Œò||jvr>|jtjj|||jz««�Œ>|jtjj|||jz««�Œ||S)NÚrzDon't know how to compile %s)rgr6ÚsplitextÚ splitdriveÚisabsÚsrc_extensionsrÚbasenameÚ_rc_extensionsrr›Ú res_extensionÚ_mc_extensionsÚ obj_extension)r/Úsource_filenamesÚ strip_dirÚ output_dirÚ obj_namesÚsrc_namerÚexts rÚobject_filenameszMSVCCompiler.object_filenamesds=€ð Р؈J؈ Ü(ˆHÜŸ'™'×*Ñ*¨8Ó4‰KˆT�3Ü—7‘7×%Ñ% dÓ+¨AÑ.ˆDØœŸ™Ÿ ™  dÓ+Ð-Ð.ˆDؘ$×-Ñ-Ñ-ô#Ð#AÀHÑ#LÓMÐMÙÜ—w‘w×'Ñ'¨Ó-�Ø�d×)Ñ)Ñ)Ø× Ñ ¤§¡§¡¨j¸$À×ASÑASÑ:SÓ!TÕUؘ×+Ñ+Ñ+Ø× Ñ ¤§¡§¡¨j¸$À×ASÑASÑ:SÓ!TÖUà× Ñ ¤§¡§¡¨j¸$À×ASÑASÑ:SÓ!TÖUð!)ð"Ðr2c ó¬—|js|j«|j||||||«} | \}} }} } |xsg} | jd«|r| j |j «n| j |j «| D�]ß} | |\}}|rtjj|«}||jvrd|z}�nm||jvrd|z}�nX||jvr0|}d|z} |j|jg| z|gz|gz«Œ–||j$vrñtjj'|«}tjj'|«} |j|j(gd|d|gz|gz«tjj+tjj-|««\}}tjj/||dz«}|j|jgd|zgz|gz«�Œ•t#dj1||««‚d |z} |j|j2g| z| z||gz|z«�Œâ| S#t$rY�ŒñwxYw#t $r}t#|«‚d}~wwxYw#t $r}t#|«‚d}~wwxYw#t $r}t#|«‚d}~wwxYw) Nz/cz/Tcz/Tpz/foz-hz-rrpz"Don't know how to compile {} to {}z/Fo)ryr¢Ú_setup_compilerÚextendržr�r@rgr6ÚabspathÚ _c_extensionsÚ_cpp_extensionsrªÚspawnr—rrr¬Údirnamer˜r¥r©r›rAr•)r/Úsourcesr°r-Ú include_dirsÚdebugÚ extra_preargsÚextra_postargsÚdependsÚ compile_infoÚobjectsÚpp_optsÚbuildÚ compile_optsÚobjÚsrcr³Ú input_optÚ output_optÚmsgÚh_dirÚrc_dirrÚ_Úrc_files rÚcompilezMSVCCompiler.compile}s߀ð×ÒØ �O‰OÔ Ø×*Ñ*Ø ˜  ¨g°wÀó ˆ ð;GÑ7ˆ�˜¨°%à$Ò*¨ˆ Ø×јDÔ!Ù Ø × Ñ  × :Ñ :Õ ;à × Ñ  × 4Ñ 4Ô 5äˆCð Ø  ™:‘��Sñô—g‘g—o‘o cÓ*�à�d×(Ñ(Ñ(Ø! C™K’ ؘ×,Ñ,Ñ,Ø! C™K’ ؘ×+Ñ+Ñ+à� Ø" S™[� ð,Ø—J‘J §¡˜y¨7Ñ2°j°\ÑAÀYÀKÑOÔPðؘ×+Ñ+Ñ+ôŸ™Ÿ™¨Ó,�ÜŸ™Ÿ™¨Ó-�ð ,à—J‘J §¡˜y¨D°%¸¸vÐ+FÑFÈ#ÈÑNÔOÜ Ÿg™g×.Ñ.¬r¯w©w×/?Ñ/?ÀÓ/DÓE‘G�D˜!Ü Ÿg™gŸl™l¨6°4¸%±<Ó@�Gà—J‘J §¡˜y¨E°C©K¨=Ñ8¸G¸9ÑDÔEñô#Ø8×?Ñ?ÀÀSÓIóð𠙈Jð (Ø— ‘ Ø—W‘W�IØ"ñ#àñð! *Ð-ñ.ð%ñ %öðsðFˆøôAò Úð ûô$*ò,Ü& sÓ+Ð+ûð,ûô2*ò,Ü& sÓ+Ð+ûð,ûô$&ò (Ü" 3Ó'Ð'ûð (ús[ÂI2Ã;'JÅ0B0JÉ*J:É2 I?É>I?Ê JÊ JÊJÊ J7Ê' J2Ê2J7Ê: KË KËKcón—|js|j«|j||«\}}|j||¬«}|j ||«r-|d|zgz}|r |j |j g|z«ytjd|«y#t$r}t|«‚d}~wwxYw)N)r°ú/OUT:úskipping %s (up-to-date)) ryr¢Ú_fix_object_argsÚlibrary_filenameÚ _need_linkr»r�rrr r¿) r/rÄÚoutput_libnamer°r¿Ú target_langÚoutput_filenameÚlib_argsrÌs rÚcreate_static_libzMSVCCompiler.create_static_libÛs²€ð×ÒØ �O‰OÔ Ø $× 5Ñ 5°g¸zÓ Jш�*Ø×/Ñ/°È:Ð/ÓVˆà �?‰?˜7 OÔ 4Ø '¨OÑ";Ð!<Ñ<ˆHÙØð $Ø— ‘ ˜DŸH™H˜:¨Ñ0Õ1ô �I‰IÐ0°/Õ Bøô&ò $ܘs“mÐ#ûð $úsÁ$B B4Â$ B/Â/B4cóà—|js|j«|j||«\}}|j|||«}|\}}}|r|j dt |«z«t ||||«}|� tjj||«}|j||«�r�|tjk(r"| r|jdd}n+|jdd}n| r |j}n |j}g}|xsgD]}|jd|z«Œ||z|z|zd|zgz}|�¢tjj!tjj#|««\}}tjjtjj%|d«|j'|««}|jd|z«| r| |dd| r|j)| «|j+tjj%|«« |j-|j.g|z«yt5j6d|«y#t0$r}t3|«‚d}~wwxYw)Nz5I don't know what to do with 'runtime_library_dirs': rz/EXPORT:rÓrz/IMPLIB:rÔ)ryr¢rÕÚ _fix_lib_argsÚwarnÚstrr rgr6r›r×r Ú EXECUTABLEr rŸrr¥r©r¼rÖr·Úmkpathr»r–rrr r¿)r/Ú target_descrÄrÚr°Ú librariesÚ library_dirsÚruntime_library_dirsÚexport_symbolsr¿rÀrÁÚ build_temprÙÚ fixed_argsÚlib_optsÚldflagsÚ export_optsÚsymÚld_argsÚdll_nameÚdll_extÚ implib_filerÌs rÚlinkzMSVCCompiler.linkîsC€ð ×ÒØ �O‰OÔ Ø $× 5Ñ 5°g¸zÓ Jш�*Ø×'Ñ'¨ °<ÐAUÓVˆ Ø:DÑ7ˆ�LÐ"6á Ø �I‰IØGÜÐ*Ó+ñ,ô ô # 4¨Ð7KÈYÓWˆØ Ð !Ü Ÿg™gŸl™l¨:°ÓGˆOà �?‰?˜7 OÕ 4Øœi×2Ñ2Ò2ÙØ"×7Ñ7¸¸Ð;‘Gà"×1Ñ1°!°"Ð5‘GáØ"×7Ñ7‘Gà"×1Ñ1�GàˆKØ%Ò+¨Ò+�Ø×"Ñ" :°Ñ#3Õ4ð,ð˜(Ñ" [Ñ0°7Ñ:¸gÈÑ>WÐ=XÑXð ðÐ)Ü&(§g¡g×&6Ñ&6Ü—G‘G×$Ñ$ _Ó5ó'Ñ#�˜7ô!Ÿg™gŸl™lÜ—G‘G—O‘O G¨A¡JÓ/°×1FÑ1FÀxÓ1Pó� 𗑘z¨KÑ7Ô8áØ+�˜˜� ÙØ—‘˜~Ô.à �K‰KœŸ™Ÿ™¨Ó8Ô 9ð %Ø— ‘ ˜DŸK™K˜=¨7Ñ2Õ3ô �I‰IÐ0°/Õ Bøô &ò %Ü “nÐ$ûð %úsÈIÉ I-É I(É(I-có —d|zS)Nz /LIBPATH:rN©r/Údirs rÚlibrary_dir_optionzMSVCCompiler.library_dir_optionBs €Ø˜SÑ Ð r2có—td«‚)Nz‘> 'Õ*Ø"”Nñ"ððr2cóö—|jD]b}tjjtjj |«|«}tjj |«sŒ`|cStj djd«D]b}tjjtjj |«|«}tjj |«sŒ`|cS|S)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ƒ)r’rgr6r›r¸Úisfiler“rZ)r/ÚexerDÚfns rr”zMSVCCompiler.find_exe_s¥€ð—”ˆAÜ—‘—‘œbŸg™gŸo™o¨aÓ0°#Ó6ˆBÜ�w‰w�~‰~˜bÕ!Ø’ ðô —‘˜FÑ#×)Ñ)¨#Ö.ˆAÜ—‘—‘œbŸg™gŸo™o¨aÓ0°#Ó6ˆBÜ�w‰w�~‰~˜bÕ!Ø’ ð/ð ˆ r2có—tsgS|dz}|jdk\r'dj|j|j«}n|j›d|›d�}tD]d}t ||«}|sŒ|jdk\r/|j j||«jd«cS||jd«cS|jdk(r8tD]/}t |d|jz«€Œ|jd «gSgS) zÐGet a list of devstudio directories (include, lib or path). Return a list of strings. The list will be empty if unable to access the registry or appropriate registry keys not found. z dirsrrz8{}\{:0.1f}\VC\VC_OBJECTS_PLATFORM_INFO\Win32\Directoriesz.\6.0\Build System\Components\Platforms\Win32 (z )\DirectoriesrƒrQz%s\6.0z´It seems you have Visual Studio 6 installed, but the expected registry settings are not present. You must at least run the Visual Studio GUI once so that these entries are created.) Ú _can_read_regrtrArvr4r!rwrJrZrß)r/r6Úplatformrrrs rr™zMSVCCompiler.get_msvc_pathsus€õ ؈Ià�g‰~ˆØ �>‰>˜QÒ ØM×TÑTØ— ‘ Ø—‘ó‰Cð/3¯k«kº8ðEð ÷ ˆDܘD #Ó&ˆAÚØ—>‘> QÒ&ØŸ=™=×,Ñ,¨Q¨t©WÓ5×;Ñ;¸CÓ@Ò@à˜T™7Ÿ=™=¨Ó-Ò-ð ð �>‰>˜QÒ ß�ܘt Y°·±Ñ%<Ó=ÑIØ—I‘Ið=ôð Øˆ ððˆ r2cóž—|dk(r|jd«}n|j|«}|r#dj|«tj|<yy)z¡Set environment variable 'name' to an MSVC path type value. This is equivalent to a SET command prior to execution of spawned commands. r�ÚlibraryrƒN)r™r›rgr“)r/rrDs rršzMSVCCompiler.set_path_env_varŸsI€ð �5Š=Ø×#Ñ# IÓ.‰Aà×#Ñ# DÓ)ˆAÙ Ø"Ÿx™x¨›{ŒB�J‰J�tÒ ð r2)rrr)rr¤)NNNrNNN)NrN) NNNNNrNNNN)r)Úx86) rKrLrMÚ__doc__Ú compiler_typeÚ executablesr¹rºrªr¬r¨r«r­Ústatic_lib_extensionÚshared_lib_extensionÚstatic_lib_formatÚshared_lib_formatÚ exe_extensionr1r¢r´rÑrÜròrörørúrr”r™ršÚ __classcell__)r}s@rrnrnâs÷ø„ñ3ð€Mð€Kð�F€MÚ-€OØ�W€NØ�W€Nð# _Ñ4°~ÑEÈÑV€NØ€MØ€MØ!ÐØ!ÐØ,2Ð2ÐÐ)Ø€Mõ!ò$O ófð8ØØØØØØó\ð~NRóCð0ØØØ!ØØØØØØóNCòh!ò ò *óò$ó,(öT +r2rng @z3Importing new compiler from distutils.msvc9compiler)rn)r*)0r rWrgÚwarningsÚerrorsrrrrrÚ ccompilerr r Ú_logr rÚwinregÚhkey_modÚ OpenKeyExr ÚEnumKeyrÚ EnumValuerÚerrorrÚ ImportErrorÚwin32apiÚwin32conÚinfoÚ HKEY_USERSÚHKEY_CURRENT_USERÚHKEY_LOCAL_MACHINEÚHKEY_CLASSES_ROOTr4rßÚDeprecationWarningrr!rr*r`rerlrnr¿ÚOldMSVCCompilerÚdistutils.msvc9compilerrNr2rÚr+sŽðñó Û Û÷õ÷2Ýà€ ð Ûà€MØ€Hà×#Ñ#€LØ—‘€JØ×#Ñ#€LØ�|‰|€Hñ.à×ÑØ×"Ñ"Ø×#Ñ#Ø×"Ñ"ð  €Eð€‡ � ð4ðô ò ò$ ò, ÷,ñ,ò^ò4 ,ò ôI+�9ôI+ñXÓ˜#ÒØ €C‡I�IÐCÔDØ"€OÝ4ö6ð øðUò ð ÛÛàˆ Øˆà×,Ñ,ˆ Ø×(Ñ(ˆ Ø×,Ñ,ˆ Ø—>‘>‰øØ ò ؈�‰ð 2ô ñ ð üð ús5®8C<Ã<EÄEÄ?EÅEÅEÅEÅE