Files
INTUIA/Programa final/myenv/Lib/site-packages/setuptools/__pycache__/msvc.cpython-311.pyc
T

838 lines
63 KiB
Plaintext
Raw Normal View History

2026-03-15 13:27:50 +00:00
§
,M!glºãó¦dZddlZddlmZddlmZmZddlmZm Z m
Z
m Z ddl Z ddl
Z
ddlZddlZddlZddlZddlmZddlmZdd lmZej¦«d
kr ddlZdd lmZnGd d
¦«Ze¦«ZdZdZdddddœZdZ dZ!dZ"dZ#d#dZ$Gdd¦«Z%Gdd¦«Z&Gdd ¦«Z'Gd!„d"¦«Z(dS)$a
Improved support for Microsoft Visual C++ compilers.
Known supported compilers:
--------------------------
Microsoft Visual C++ 14.X:
Microsoft Visual C++ Build Tools 2015 (x86, x64, arm)
Microsoft Visual Studio Build Tools 2017 (x86, x64, arm, arm64)
Microsoft Visual Studio Build Tools 2019 (x86, x64, arm, arm64)
This may also support compilers shipped with compatible Visual Studio versions.
éN)Úopen)ÚlistdirÚpathsep)ÚjoinÚisfileÚisdirÚdirname)Ú
LegacyVersion)Úunique_everseené)Ú
get_unpatchedÚWindows)ÚenvironcóeZdZdZdZdZdZdS)ÚwinregN)Ú__name__Ú
__module__Ú __qualname__Ú
HKEY_USERSÚHKEY_CURRENT_USERÚHKEY_LOCAL_MACHINEÚHKEY_CLASSES_ROOT©óõpC:\Users\garci\OneDrive\Ãrea de Trabalho\Programa PJM\Programa final\myenv\Lib\site-packages\setuptools/msvc.pyrr#s'؈
Ø ÐØØ ÐÐÐrrcó, tjtjddtjtjz¦«}n#t
$rYdSwxYwd}d}|5t
j¦«D]”} tj||¦«\}}}n#t
$rYnkwxYw|rd|tj krTt|¦«rE tt|¦«¦«}n#ttf$rYŒ€wxYw|dkr
||kr||}}Œ•ddd¦«n #1swxYwY||fS)ú0Python 3.8 "distutils/_msvccompiler.py" backportz'Software\Microsoft\VisualStudio\SxS\VC7r©NNNé)rÚOpenKeyrÚKEY_READÚKEY_WOW64_32KEYÚOSErrorÚ itertoolsÚcountÚ EnumValueÚREG_SZrÚintÚfloatÚ
ValueErrorÚ TypeError)ÚkeyÚ best_versionÚbest_dirÚvc_dirÚvtÚversions rÚ_msvc14_find_vc2015r4,ðÝŒnÝ Ô
Ý ŒO 
ô
ˆˆøõ ððð؈zˆzðøøøð€LØ€HØ ð  Ñ =ˆ
Ý &Ô 0°°aÑ 8Ô 8
6˜2˜2øÝð
ð
ð
Øð
øøøàð
=R6œ=Ò(­U°6©]¬]ÐÝ!¥%¨¡(¤(™mœmGGøÝ"¥IÐððØøøøà˜b’== W¨|Ò%;Ð%;Ø-4°f (Løð           =øøøð     ˜Ð !si8;»
A ÁA ÁDÁ)BÂDÂ
BÂ
DÂBÂ$DÂ6CÃDÃC'Ã$DÃ&C'Ã'DÄD ÄD có tjd¦«ptjd¦«}|sdS tjt |ddd¦«ddd d
d d
d d
dddg ¦« dd¬¦« ¦«}n##tjttf$rYdSwxYwt |ddd¦«}t|¦«rd|fSdS)a€Python 3.8 "distutils/_msvccompiler.py" backport
Returns "15, path" based on the result of invoking vswhere.exe
If no install is found, returns "None, None"
The version is returned to avoid unnecessarily changing the function
result. It may be ignored when the path is not None.
If vswhere.exe is not available, by definition, VS 2017 is not
installed.
úProgramFiles(x86)Ú ProgramFilesrzMicrosoft Visual StudioÚ Installerz vswhere.exez-latestz -prereleasez -requiresAnyz -requiresz1Microsoft.VisualStudio.Component.VC.Tools.x86.x64z)Microsoft.VisualStudio.Workload.WDExpressz -propertyÚinstallationPathz -productsÚmbcsÚstrict)ÚencodingÚerrorsÚVCÚ AuxiliaryÚBuildé) rÚgetÚ
subprocessÚ check_outputrÚdecodeÚstripÚCalledProcessErrorr#ÚUnicodeDecodeErrorr)ÚrootÚpaths rÚ_msvc14_find_vc2017rLJõ Œ;Ð J­w¬{¸>Ñ/JÔ/J€DØ ðØˆ ÝÔ Ð0°+¸}Ñ Ø Ø Ø Ð Ð Ð ˜ð (
ñ  ô  ÷ Š6˜6¨(ˆ6Ñ 3·E²E±G´
ˆøõ
Ô )­7Õ4FÐ ðð؈zˆzðøøøõ d˜K¨Ñ 1€DÝ ˆT{„{ðØ4ˆxˆà ˆ:s®ABÂB&Â%B&Úx86Úx64ÚarmÚarm64)rMÚ x86_amd64Úx86_armÚ x86_arm64c óät¦«\}}d}|tvrt|}nd|vrdnd}|rYt|ddddd|d d
¦ « } d dl}| |d ¬
¦«d}n#tt
t f$rd}YnwxYw|s&t¦«\}}|rt|d|dd
¦«}|sdSt|d¦«}t|¦«sdS|rt|¦«sd}||fS)ramd64rNrMz..ÚredistÚMSVCz**zMicrosoft.VC14*.CRTzvcruntime140.dllrT)Ú recursiveéÿÿÿÿzMicrosoft.VC140.CRTrz
vcvarsall.bat) rLÚPLAT_SPEC_TO_RUNTIMErÚglobÚ ImportErrorr#Ú LookupErrorr4r) Ú plat_specÚ_r.Ú vcruntimeÚvcruntime_platÚvcredistr[r-Ú vcvarsalls rÚ_msvc14_find_vcvarsallrdws]å'K€A€xØ€IàÕ-¨iÔ8ˆˆà")¨YÐ"6Ð"6˜˜¸Eˆàðݘ $¨¨h¸ÀØ&Ð(=Ø,ˆð Ø ˆKˆKˆKØŸ š  (°d˜ Ñ;¸BÔ?ˆIˆIøÝW¥kÐ ð ð ØˆIˆIˆIð øøøð ðHÝ!4Ñ!6Ô!6ш ð HݘX x°Ø2Ð4FñHôHˆIð ð؈zåÑ/€IÝ  Ô ð؈zà ðF 9ÑØˆ à  ÐsÁ
!A/Á/B Â
B cóJdtvrdtj¦«D¦«St|¦«\}}|stj d¦« t
jd ||¦«t j ¬¦« 
dd¬¦«}nO#t j $r=}tj d  |j ¦«¦«|d
}~wwxYwd d | 
¦«D¦«D¦«}|r||d
<|S)rÚDISTUTILS_USE_SDKcó>i|]\}}| ¦«|ŒSr©Úlower)Ú.0r,Úvalues rú
<dictcomp>z&_msvc14_get_vc_env.<locals>.<dictcomp>¡s6ð
ð
ð
á
IŠI‰KŒK˜ð
ð
ð
rzUnable to find vcvarsall.batzcmd /u /c "{}" {} && set)Ústderrzutf-16leÚreplace)r>zError executing {}NcóHi|]\}}}|¯|¯
| ¦«|Œ Srrh)rjr,r_rks rrlz&_msvc14_get_vc_env.<locals>.<dictcomp>¶sHð ð ð á ˆC ð  ðð  Ø Š ‰ Œ  ð ð rc3ó@K|]}| d¦«VŒdS)ú=N)Ú partition)rjÚlines rú <genexpr>z%_msvc14_get_vc_env.<locals>.<genexpr>¹s.èèÐˆŠ˜Ñ Ô Ð:rÚpy_vcruntime_redist)rÚitemsrdÚ distutilsr>ÚDistutilsPlatformErrorrDrEÚformatÚSTDOUTrFrHÚcmdÚ
splitlines)r^rcr`ÚoutÚexcÚenvs rÚ_msvc14_get_vc_envr€žsbà
ð
å%œm™oœoð
ñ
ô
ð
õ
2°)Ñ€Iˆ ð
ÝÔ× 
ô
ð
ðÝÔ -¨i¸Ñ Ô
ñ
ô
÷ Š& Iˆ
 ˆøõ Ô ððÝÔ× × ¬Ñ 
ô
àð øøøøðøøøð
 ð ð¯ªÑ)9Ô)9Ð ñ ô €Cðð/Ø%.ˆÐ  €JsÁA B%Â%C1Â48C,Ã,C1có| t|¦«S#tjj$r}t |d¦«d}~wwxYw)a*
Patched "distutils._msvccompiler._get_vc_env" for support extra
Microsoft Visual C++ 14.X compilers.
Set environment without use of "vcvarsall.bat".
Parameters
----------
plat_spec: str
Target architecture.
Return
------
dict
environment
ç,@N)r€rwr>rxÚ_augment_exception)r^r~s rÚmsvc14_get_vc_envr„ÂsMð&Ý! ,øÝ Ô Ô ððݘ3 Ñ
øøøøðøøøs;¥6;cóÒdtjvr@ddl}t|j¦«td¦«kr|jjj|i|¤ŽStt¦«|i|¤ŽS)
Patched "distutils._msvccompiler.gen_lib_options" for fix
compatibility between "numpy.distutils" and "distutils._msvccompiler"
(for Numpy < 1.11.2)
znumpy.distutilsrNz1.11.2)
ÚsysÚmodulesÚnumpyr
Ú __version__rwÚ ccompilerÚgen_lib_optionsr
Úmsvc14_gen_lib_options)ÚargsÚkwargsÚnps rÜsuð CœKÐÐÐÐÝ ˜œÑ (­=¸Ñ+BÔ+BÒ 92”<Ô9¸JÀ6Ð 0 0°$Ð A¸ ArÚcóz|jd}d| ¦«vsd| ¦«vryd}|jdit¦«¤Ž}d}|dkr7| ¦« d¦«dkr|d z
}n%|d
z
}n|d kr|d z
}||d
zz
}n |dkr|dz
}|f|_dS)zl
Add details to the exception message to help guide the user
as to what action will resolve it.
rrczvisual cz;Microsoft Visual C++ {version:0.1f} or greater is required.z-www.microsoft.com/download/details.aspx?id=%dç"@Úia64rYz( Get it with "Microsoft Windows SDK 7.0"z% Get it from http://aka.ms/vcpython27ç$@z* Get it with "Microsoft Windows SDK 7.1": iW rzd Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/Nr)rriryÚlocalsÚfind)r~r3ÚarchÚmessageÚtmplÚ
msdownloads réð ŒhqŒk€Gàg—m’m‘o”oаw·}²}±´Ð)FÐ)FàØ$”+С¤ÐØ
Ø cŠ>ˆzŠz‰|Œ|× Ò  Ñ(¨2ÒÐEð
ÐBØ
˜Š_ˆ_à Ð CˆGØ z DÑ (ˆGˆ
˜Š_ˆ ð
5ˆˆ{€C„H€H€Hrcó˜eZdZdZejdd¦« ¦«ZdZe d¦«Z
dZ dZ d
d „Z
d
d
Zdd Zd S)Ú PlatformInfoz
Current and Target Architectures information.
Parameters
----------
arch: str
Target architecture.
Úprocessor_architecturercó`| ¦« dd¦«|_dS)NrNrU)rirnr—)Úselfr—s rÚ__init__zPlatformInfo.__init__s%Ø—JJ‘L”L×°ÑŒ ˆ ˆ rcóV|j|j d¦«dzdS)zs
Return Target CPU architecture.
Return
------
str
Target CPU
r_r N)r—r©s rÚ
target_cpuzPlatformInfo.target_cpus*ðŒy˜œŸš¨Ñ,¨qÑ2rcó|jdkS)z‡
Return True if target CPU is x86 32 bits..
Return
------
bool
CPU is x86 32 bits
rM©s rÚ
target_is_x86zPlatformInfo.target_is_x86(sðŒ 'rcó|jdkS)zˆ
Return True if current CPU is x86 32 bits..
Return
------
bool
CPU is x86 32 bits
rM©Ú current_cpur¢s rÚcurrent_is_x86zPlatformInfo.current_is_x863sðÔ (rFcóR|jdkr|rdn|jdkr|rdn d|jzS)uk
Current platform specific subfolder.
Parameters
----------
hidex86: bool
return '' and not '†' if architecture is x86.
x64: bool
return 'd' and not 'md64' if architecture is amd64.
Return
------
str
subfolder: ' arget', or '' (see hidex86 parameter)
rMrrUú\x64ú\%sr¨©Úhidex86rNs rÚ current_dirzPlatformInfo.current_dir>sBð"Ô# Ð,ˆBˆBØÔ(¨GÒÐ3ˆGˆGØ  
rcóR|jdkr|rdn|jdkr|rdn d|jzS)ar
Target platform specific subfolder.
Parameters
----------
hidex86: bool
return '' and not '\x86' if architecture is x86.
x64: bool
return '\x64' and not '\amd64' if architecture is amd64.
Return
------
str
subfolder: '\current', or '' (see hidex86 parameter)
rMrrUr­s rÚ
target_dirzPlatformInfo.target_dirTs?ð"”? Ð+ˆBˆBØœ¨7Ò2°sÐ2ˆGˆGØ T”_Ñ 
rcóˆ|rdn|j}|j|krdn*| ¦« dd|z¦«S)ap
Cross platform specific subfolder.
Parameters
----------
forcex86: bool
Use 'x86' as current architecture even if current architecture is
not x86.
Return
------
str
subfolder: '' if target architecture is current architecture,
'\current_target' if not.
rMrú\z\%s_)rn)Úforcex86Úcurrents rÚ cross_dirzPlatformInfo.cross_dirjsMð 9%Ô)9ˆà”/ ,ˆBˆBØ OŠOÑ Ô × % d¨G°gÑ,=Ñ 
rN)FF©F)rrrÚ__doc__rrCrir Úpropertyr£rrrððð'”+Ð6¸Ñ;×C€Kðð  „Xð       
ð
ð
ð
ð,
ð
ð
ð
ð,
ð
ð
ð
ð
ð
rcó eZdZdZejejejejfZ dZ
e d¦«Z e d¦«Z
e d¦«Ze d¦«Ze d¦«Ze d¦«Ze d „¦«Ze d
¦«Ze d ¦«Zdd
ZdZdS)Ú RegistryInfozŸ
Microsoft Visual Studio related registry information.
Parameters
----------
platform_info: PlatformInfo
"PlatformInfo" instance.
có||_dS©N)Úpi)Ú
platform_infos rr zRegistryInfo.__init__s
؈ŒˆˆrcódS)z€
Microsoft Visual Studio root registry key.
Return
------
str
Registry key
Ú VisualStudiors rÚ visualstudiozRegistryInfo.visualstudios ðˆ~rcó,t|jd¦«S)z
Microsoft Visual Studio SxS registry key.
Return
------
str
Registry key
ÚSxS)rs rÚsxszRegistryInfo.sxsžsõ% -rcó,t|jd¦«S)z|
Microsoft Visual C++ VC7 registry key.
Return
------
str
Registry key
ÚVC7©rs rÚvczRegistryInfo.vcªóõD”H˜eÑ$rcó,t|jd¦«S)z
Microsoft Visual Studio VS7 registry key.
Return
------
str
Registry key
ÚVS7rÉs rÚvszRegistryInfo.vs¶rcódS)
Microsoft Visual C++ for Python registry key.
Return
------
str
Registry key
zDevDiv\VCForPythonrs rÚ
vc_for_pythonzRegistryInfo.vc_for_pythonÂs
ð$rcódS)zq
Microsoft SDK registry key.
Return
------
str
Registry key
zMicrosoft SDKsrs rÚ
microsoft_sdkzRegistryInfo.microsoft_sdkÎs
ð Ðrcó,t|jd¦«S)z
Microsoft Windows/Platform SDK registry key.
Return
------
str
Registry key
r©rs rÚ windows_sdkzRegistryInfo.windows_sdkÚsõ&¨ Ñ2rcó,t|jd¦«S)z€
Microsoft .NET Framework SDK registry key.
Return
------
str
Registry key
ÚNETFXSDKrÔs rÚ netfx_sdkzRegistryInfo.netfx_sdkæsõ
Ñ3rcódS)z€
Microsoft Windows Kits Roots registry key.
Return
------
str
Registry key
zWindows Kits\Installed Rootsrs rÚwindows_kits_rootszRegistryInfo.windows_kits_rootsòs
ð.rFcód|j ¦«s|rdnd}td|d|¦«S)a
Return key in Microsoft software registry.
Parameters
----------
key: str
Registry key path where look.
x86: str
Force x86 software registry.
Return
------
str
Registry key
rÚ Wow6432NodeÚSoftwareÚ Microsoft)r¿r)r,rMÚnode64s rÚ microsoftzRegistryInfo.microsoftþs9ð ”w×I°3ÐI¸MˆÝ¨ °SÑ9rc ó:tj}tj}tj}|j}|jD]ç}d} ||||¦«d|¦«}nd#t tf$rP|j  ¦«s2 ||||d¦«d|¦«}n#t tf$rYYŒuwxYwYŒ{YnwxYw tj
||¦«d|r||¦«cScS#t tf$rYnwxYw |r ||¦«ŒÕ#|r ||¦«wwxYwdS)a
Look for values in registry in Microsoft software registry.
Parameters
----------
key: str
Registry key path where look.
name: str
Value name to find.
Return
------
str
value
NrT) rr!r ÚCloseKeyràÚHKEYSr#ÚIOErrorr¿Ú QueryValueEx) rŸr,ÚnameÚkey_readÚopenkeyÚclosekeyÚmsÚhkeyÚbkeys rÚlookupzRegistryInfo.lookupsõ ”?ˆÝ”.ˆÝ”?ˆØ
Œ^ˆØ”Jð #ˆD؈
Øw˜t R R¨¡W¤W¨a°Ñ:øÝ
ð
ð
Ø”w×ð&˜w t¨R¨R°°T©]¬]¸A¸xјøÝ#¥WÐ ˜˜ð!øøøð˜ð
øøøð
Ô*¨4°Ñ6°qÔðH˜TN”NNNN#øõ
ð
ð
Øð
øøøØàðH˜T‘N”NNøøððH˜T‘N”NN#øøøð# #sY¸AÁ*B1Á;BÂB1ÂB)Â%B1Â(B)Â)B1Â0B1Â5C"Ã"C6Ã3DÃ5C6Ã6DÄDNr¸)rrrrrrrrr rrrsdðððÔ
Ø
Ô
Ô
Ô

'€Eð
 ð ð ðð ð ñ„Xð ðð  „Xð ð  „Xð ð  „Xð ð  „Xð ð  ð  ñ„Xð  ðð  „Xð ð  „Xð ð  „Xð :ð&&&&&&#rcóeZdZdZejdd¦«Zejdd¦«Zejde¦«ZddZ dZ
d „Z d
Z e
d ¦«Zed ¦«Zed
¦«ZdZdZed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Z dZ!e
d d¦«Z"dS)!Ú
SystemInfozê
Microsoft Windows and Visual Studio related system information.
Parameters
----------
registry_info: RegistryInfo
"RegistryInfo" instance.
vc_ver: float
Required Microsoft Visual C++ version.
ÚWinDirrr7r6Ncó¬||_|jj|_| ¦«|_|p| ¦«x|_|_dS)Úrir¿Úfind_programdata_vs_versÚknown_vs_pathsÚ_find_latest_available_vs_verÚvs_verÚvc_ver)Ú
registry_infor÷s rr zSystemInfo.__init__LsO؈ŒØ”'”*ˆŒà"×=ˆÔð
Ð :d× <ˆŒ d”kkkrcóö| ¦«}|s&|jstj d¦«t |¦«}| |j¦«t|¦«dS)zm
Find the latest VC version
Return
------
float
version
z%No Microsoft Visual C++ version foundrY)Úfind_reg_vs_versrôrwr>rxÚsetÚupdateÚsorted)Ú reg_vc_versÚvc_verss rz(SystemInfo._find_latest_available_vs_verVszð× àð 9˜Ô"×
"ˆØŠg‰Œ˜"rc
óÀ|jj}|jj|jj|jjf}g}t j|jj|¦«D]~\}} tj |||¦«dtj
¦«}n#ttf$rYŒEwxYw|5tj
|¦«\}}} t|¦«D]t}
tjt"¦«5t%tj||
¦«d¦«} | |vr| | ¦«ddd¦«n #1swxYwYŒut|¦«D]n}
tjt"¦«5t%tj||
¦«¦«} | |vr| | ¦«ddd¦«n #1swxYwYŒo ddd¦«n #1swxYwYŒ€t-|¦«S)z˜
Find Microsoft Visual Studio versions available in registry.
Return
------
list of float
Versions
rN)r$Úproductrãrr r!r#Ú QueryInfoKeyÚrangeÚ
contextlibÚsuppressr*r)r&ÚappendÚEnumKeyrý) ÚvckeysÚvs_versrër,ÚsubkeysÚvaluesr_r/Úvers rzSystemInfo.find_reg_vs_versisðŒWÔ
ˆØ”'”*˜dœgÔ3°T´W´@ˆØˆÝ*¨4¬7¬=¸ 0‰IˆD
Ý”~ d¨B¨B¨s©G¬G°Q½¼ÑHøÝ
ð
ð
Øð
øøøàð
0Ý%+Ô%8¸Ñ%>Ô%>Ñ"˜ Ý˜v™œð0,­ZÑ#¥FÔ$4°T¸1Ñ$=Ô$=¸aÔ$@ÑA˜Ø #ŸNšN¨3Ñ0øøøð0øõ˜w™œð0,­ZÑ#¥F¤N°4¸Ñ$;Ô$;Ñ<˜Ø #ŸNšN¨3Ñ0øøøð0øð
0øøøð
0ùõg‰ŒÐsnÁ*BÂBÂBÂAGÃAD- Ä! GÄ-D1
Ä1GÄ4D1
Ä5.GÅ#<F+ Æ GÆ+F/
Æ/GÆ2F/
Æ3GÇG Ç G cóÌi}d} t|¦«}n#ttf$r|cYSwxYw|D]²} t||d¦«}t |dd¬¦«5}t j|¦«}ddd¦«n #1swxYwY|d}tt|d¦«¦«||| |d ¦«<Œ–#tttf$rYŒ¯wxYw|S)
Find Visual studio 2017+ versions from information in
"C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances".
Return
------
dict
float version as key, path as value.
z9C:\ProgramData\Microsoft\VisualStudio\Packages\_Instancesz
state.jsonÚrtzutf-8)r=Nr9ú
VC\Tools\MSVCÚinstallationVersion) rr#rrÚjsonÚloadÚ_as_float_versionÚKeyError) rŸÚ vs_versionsÚ
instances_dirÚ hashed_namesræÚ
state_pathÚ
state_fileÚstateÚvs_paths rz#SystemInfo.find_programdata_vs_versˆstðˆ à  ð Ý" 1ˆLˆLøåÐ ð ð àÐ Ð Ð ð øøøð ð ˆDð
å! °|ÑD
ݘ* d°WÐÝ œI 12øøøðÐ 2Ô3õ˜WÐ&6Ñ6=ð˜D×Ð3øõW¥hÐ
ð
ð
àð
øøøðÐsB,«,´#CÁA8Á, CÁ8A< Á<CÁ?A< ÂACÃC!à C!có|td | d¦«dd¦«¦«S)
Return a string version as a simplified float version (major.minor)
Parameters
----------
version: str
Version.
Return
------
float
version
ú.Né)r)rÚsplit)r3s rrzSystemInfo._as_float_version²s3õS—X’X˜gŸmšm¨CѰ!°Ô6rcóšt|jd|jz¦«}|j |jjd|jz¦«p|S)zp
Microsoft Visual Studio directory.
Return
------
str
path
zMicrosoft Visual Studio %0.1fú%0.1f)rÚProgramFilesx86rö)Údefaults rÚ VSInstallDirzSystemInfo.VSInstallDirÃsLõ¼ÑFôFˆðŒw~Š~˜dœgœj¨'°D´KÑ*?ÑKÀGÐKrcó¶| ¦«p| ¦«}t|¦«s!d}tj |¦«|S)zm
Microsoft Visual C++ directory.
Return
------
str
path
z(Microsoft Visual C++ directory not found)Ú _guess_vcÚ_guess_vc_legacyrrwr>rx)rKÚmsgs rÚ VCInstallDirzSystemInfo.VCInstallDirÔsSð~Š~ÑÔÐ: 4×#8Ò#8Ñ#:Ô#:ˆåT‰{Œ{ð<ˆÔ"×9¸ ˆ rcóN|jdkrdS |j|j}n#t$r
|j}YnwxYwt |d¦«} t |¦«d}| |¦«|_t ||¦«S#tttf$rYdSwxYw)zl
Locate Visual C++ for VS2017+.
Return
------
str
path
rrrrY) rr$rrrr#Ú
IndexError)Úvs_dirÚguess_vcr÷s rr&zSystemInfo._guess_vcæð Œ;˜$Ò Ð ØÔ¬Ô5ˆFˆFøÝðÔ&ˆFˆFˆ 'øøøõ˜Ð 0Ñð å˜& *ˆ×Ñ8ˆDŒKݘ &Ñ )øÝ¥*Ð ð ð Ø2 øøøs"¢6µ6Á
>B  B$Â#B$có<t|jd|jz¦«}t|jjd|jz¦«}|j |d¦«}|rt|d¦«n|}|j |jjd|jz¦«p|S)z{
Locate Visual C++ for versions prior to 2017.
Return
------
str
path
z Microsoft Visual Studio %0.1f\VCr!Ú
installdirr?)rr")r#Úreg_pathÚ python_vcÚ
default_vcs rr'zSystemInfo._guess_vc_legacys—õ:¸T¼[ÑJôJˆõ˜œÔ-¨w¸¼Ñ/DÑØ”G—N’N 8¨\Ñ:ˆ Ø.7ÐD•T˜) *¸Wˆ
ðŒw~Š~˜dœgœj¨'°D´KÑ*?ÑNÀJÐNrcóˆ|jdkrdS|jdkrdS|jdkrdS|jdkrdS|jd krd
Sd S) z—
Microsoft Windows SDK versions for specified MSVC++ version.
Return
------
tuple of str
versions
r)z7.0z6.1z6.0ar”)z7.1z7.0aç&@)z8.0z8.0aç(@)ú8.1z8.1ar)z10.0r6s rÚWindowsSdkVersionzSystemInfo.WindowsSdkVersionsgð Œ;˜ Ð Ø
Œ[˜
Ð
Ø
Œ[˜
Ð
Ø
Œ[˜
Ð
Ø
Œ[˜
Ð
Ø 
rcóR| t|jd¦«¦«S)zt
Microsoft Windows SDK last version.
Return
------
str
version
Úlib)Ú_use_last_dir_namerÚ
WindowsSdkDirr¢s rÚWindowsSdkLastVersionz SystemInfo.WindowsSdkLastVersion-s%ð×&¥t¨DÔ,>ÀÑ'FÔ'FÑGrcóÖd}|jD]>}t|jjd|z¦«}|j |d¦«}|rnŒ?|rt |¦«sOt|jjd|jz¦«}|j |d¦«}|rt|d¦«}|rt |¦«sR|jD]J}|d| d¦«}d |z}t|j |¦«}t |¦«r|}ŒK|rt |¦«s5|jD]-}d
|z}t|j |¦«}t |¦«r|}Œ.|st|j
d ¦«}|S) zn
Microsoft Windows SDK directory.
Return
------
str
path
rzv%sÚinstallationfolderr!r/ÚWinSDKNrzMicrosoft SDKs\Windows Kits\%szMicrosoft SDKs\Windows\v%sÚ PlatformSDK) r8rrÚrfindr7r))Úsdkdirr ÚlocrKÚ install_baseÚintverÚds rr<zSystemInfo.WindowsSdkDir9ðˆØÔ ð ˆCåt”wÔ*¨E°C©KÑ8ˆ”W—^^ CÐ)=Ñ>ˆð
Øð
àð 6U 6™]œ]ð˜œÔ-¨w¸¼Ñ/DÑEˆœ7Ÿ>š>¨$° Ñ=ˆð
˜l¨HÑ5Øð U 6™]œ]ð àÔ
ð
ؘ_˜cŸiši¨™nœn˜_Ô-Ø8¸6ÑAݘÔ*¨DÑ1ݘ‘8”8ðØFøØð U 6™]œ]ð àÔ
ð
Ø4°sÑ:ݘÔ*¨DÑ1ݘ‘8”8ðØFøØð˜$Ô+¨]Ñ;ˆˆ
rcóÆ|jdkrd}d}n-d}|jdkrdnd}|j d|¬¦«}d || d
d ¦«fz}g}|jd kr)|jD]!}|t |jj||¦«gz
}Œ"|jD]$}|t |jj d
|z|¦«gz
}Œ%|D]#}|j 
|d¦«}|r|cSŒ$dS)zy
Microsoft Windows SDK executable directory.
Return
------
str
path
r4é#ré(r5TF)rNzWinSDK-NetFx%dTools%sr´ú-rzv%sAr?N) r¿rnÚNetFxSdkVersionrr8) rŸÚnetfxverr—ÚfxÚregpathsr rKÚexecpaths rÚWindowsSDKExecutablePathz#SystemInfo.WindowsSDKExecutablePathds3ð Œ;˜$Ò Ð ØˆH؈DˆDàˆHØ"œk¨TÒ1dd°uˆ”7×&¨4¸ÐAˆ
°$·,²,¸tÀSÑ2IÔ2IÐ'JÑ
ðˆØ Œ;˜$Ò Ð ØÔ

?ØT $¤'Ô"3°S¸>àÔ Fð FˆCØ ˜dœgÔ1°6¸C±<ÀÑ EˆHˆð ð ˆDØ”w—~’~ dÐ,@ÑAˆHØð
Øð
ð ð rcó€t|jjd|jz¦«}|j |d¦«pdS)zl
Microsoft Visual F# directory.
Return
------
str
path
z%0.1f\Setup\F#Ú
productdirr)r)rKs rÚFSharpInstallDirzSystemInfo.FSharpInstallDir‡s;õD”GÔ(Ð*;¸d¼kÑ*IÑJˆØŒw~Š~˜d 7°RÐ7rcóŽ|jdkrdnd}|D]2}|j |jjd|z¦«}|r|pdcSŒ3dS)zt
Microsoft Universal CRT SDK directory.
Return
------
str
path
r)Ú10Ú81rz
kitsroot%srN))Úversr rCs rÚUniversalCRTSdkDirzSystemInfo.UniversalCRTSdkDir”suð $œ{¨dÒ2ˆ|ˆ|¸ˆðð $ˆ”W—^^ D¤GÔ$>Ø$0°3Ñ$6ñ8ˆð
| Ð
 $rcóR| t|jd¦«¦«S)z€
Microsoft Universal C Runtime SDK last version.
Return
------
str
version
r:)r;rrYs rÚUniversalCRTSdkLastVersionz%SystemInfo.UniversalCRTSdkLastVersion¨s%ð×&¥t¨DÔ,CÀUÑ'KÔ'KÑLrcó |jdkrdndS)z
Microsoft .NET Framework SDK versions.
Return
------
tuple of str
versions
r) z4.7.2z4.7.1z4.7z4.6.2z4.6.1z4.6z4.5.2z4.5.1z4.5rr7s rrLzSystemInfo.NetFxSdkVersion´s%ð”; -/ð 0rcód}|jD];}t|jj|¦«}|j |d¦«}|rnŒ<|S)zu
Microsoft .NET Framework SDK directory.
Return
------
str
path
rÚkitsinstallationfolder)rLr)rCr rDs rÚ NetFxSdkDirzSystemInfo.NetFxSdkDirÄs\ðˆØÔ ð ˆt”wÔ(¨#Ñ.ˆCØ”W—^’^ CÐ)AÑBˆFØð
Øð
àˆ
rcózt|jd¦«}|j |jjd¦«p|S)zw
Microsoft .NET Framework 32bit directory.
Return
------
str
path
zMicrosoft.NET\FrameworkÚframeworkdir32©r©Úguess_fws rÚFrameworkDir32zSystemInfo.FrameworkDir32Ös8õ˜œ Ð%?ÑðŒw~Š~˜dœgœjÐ*:ÑG¸Grcózt|jd¦«}|j |jjd¦«p|S)zw
Microsoft .NET Framework 64bit directory.
Return
------
str
path
zMicrosoft.NET\Framework64Úframeworkdir64rbrcs rÚFrameworkDir64zSystemInfo.FrameworkDir64æs8õ˜œ Ð%AÑðŒw~Š~˜dœgœjÐ*:ÑG¸Grcó,| d¦«S)
Microsoft .NET Framework 32bit versions.
Return
------
tuple of str
versions
é ©Ú_find_dot_net_versionsr¢s rÚFrameworkVersion32zSystemInfo.FrameworkVersion32öóð×*¨2Ñ.rcó,| d¦«S)
Microsoft .NET Framework 64bit versions.
Return
------
tuple of str
versions
é@rks rÚFrameworkVersion64zSystemInfo.FrameworkVersion64rnrcód|j |jjd|z¦«}t|d|z¦«}|p| |d¦«pd}|jdkr|dfS|jdkr&| ¦«dd …d
krd n|d fS|jd
krdS|jdkrdSdS)
Find Microsoft .NET Framework versions.
Parameters
----------
bits: int
Platform number of bits: 32 or 64.
Return
------
tuple of str
versions
zframeworkver%dzFrameworkDir%dr0rr5zv4.0r”NrÚv4z
v4.0.30319úv3.5r)rtú
v2.0.50727g @)zv3.0ru)Úgetattrr;ri)ÚbitsÚreg_verÚ dot_net_dirr s rrlz!SystemInfo._find_dot_net_versionsð”'—.’. ¤¤Ð-=ÀÑ-DÑEˆÝ˜dÐ$4°tÑ$;Ñ<ˆ ØÐH˜×¸cÑHÀbˆð Œ;˜$Ò Ð Ø˜ Ø
Œ[˜
Ð
Ø#&§9¢9¡;¤;¨r°¨r¤?°dÒ#:Ð#:<ÀVÐ
Œ[˜
Ð
Ø
Œ[˜
Ð
Ø Ð
rcó|ˆˆfdtt¦«¦«D¦«}t|d¦«pdS)a)
Return name of the last dir in path or '' if no dir found.
Parameters
----------
path: str
Use dirs in this path
prefix: str
Use only dirs starting by this prefix
Return
------
str
name
c3ó€K|]8}tt|¦«¦«¯| ¦«¯4|VŒ9dS)rrÚ
startswith)rjÚdir_namerKÚprefixs €€rrtz0SystemInfo._use_last_dir_name.<locals>.<genexpr><sgøèèð
ð
àÝ•T˜$ Ñ
ð
× Ò  Ñ 
Ø ð
ð
ð
ð
ð
ð
rNr)ÚreversedrÚnext)rKr~Ú
matching_dirss`` rr;zSystemInfo._use_last_dir_name+sVøø€ð"
ð
ð
ð
ð
å$¥W¨T¡]¤]Ñ
ñ
ô
ˆ
õ M .¨BÐ.r©r)#rrrrrCr7r"r Ú staticmethodrr$r)r&r'r8r=r<rQrTrYr[rLr_rerhrmrqrlr;rrr:ð ð ðˆWŒ[˜ 2Ñ
&€FØ7”;˜~¨rÑ2€LØ!g”kÐ"5°|ÑD€Oð#ð&ððð>(ð(ð(ðTð„\ððLðLñ„XðLð ððñ„Xðð"ððð<OðOðOð(ð„Xð!ð(ð Hð Hñ„Xð Hðð(ð(ñ„Xð(ðTð  ð  ñ„Xð  ðDð

„Xð
ð„Xð$ð&ð Mð Mñ„Xð Mðð

„Xð
ððñ„Xðð"ð
Hð
Hñ„Xð
Hðð
Hð
Hñ„Xð
Hðð  „Xð ð  „Xð (ð:ð„\ð/rcó>eZdZdZd!dZed¦«Zed¦«Zed¦«Zed¦«Z ed „¦«Z
ed
¦«Z ed ¦«Z ed ¦«Z
ed
¦«Zed¦«Zed¦«ZdZed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zed¦«Zd"dZd „Z dS)#ÚEnvironmentInfoaY
Return environment variables for specified Microsoft Visual C++ version
and platform : Lib, Include, Path and libpath.
This function is compatible with Microsoft Visual C++ 9.0 to 14.X.
Script created by analysing Microsoft environment configuration files like
"vcvars[...].bat", "SetEnv.Cmd", "vcbuildtools.bat", ...
Parameters
----------
arch: str
Target architecture.
vc_ver: float
Required Microsoft Visual C++ version. If not set, autodetect the last
version.
vc_min_ver: float
Minimum Microsoft Visual C++ version.
Nrcóìt|¦«|_t|j¦«|_t |j|¦«|_|j|kr!d}tj  |¦«dS)Nz.No suitable Microsoft Visual C++ version found)
r¿Úsir÷rwr>rx)r—Ú
vc_min_verÚerrs rr zEnvironmentInfo.__init__]sfݘŒÝ˜tœwÑ'ˆŒÝ˜TœW fÑŒà Œ;˜Ò BˆCÝÔ"×9¸  #rcó|jjS)zk
Microsoft Visual Studio.
Return
------
float
version
)r‡s rzEnvironmentInfo.vs_verfóðŒwŒ~Ðrcó|jjS)zp
Microsoft Visual C++ version.
Return
------
float
version
)r‡s rzEnvironmentInfo.vc_verrrrcó ddg}jdkr1‰j dd¬¦«}|dgz
}|dgz
}|d|zgz
}ˆfd „|D¦«S)
zu
Microsoft Visual Studio Tools.
Return
------
list of str
paths
z Common7\IDEz
Common7\ToolsrrNz1Common7\IDE\CommonExtensions\Microsoft\TestWindowzTeam Tools\Performance ToolszTeam Tools\Performance Tools%scóDg|]}tjj|¦«ŒSr©rr‡r$©rjrKs €rú
<listcomp>z+EnvironmentInfo.VSTools.<locals>.<listcomp>ó(ø€ÐC°T•T”WÔ)¨4ÑCr)r¿)ÚpathsÚ arch_subdirs` rÚVSToolszEnvironmentInfo.VSTools~s€ø€ð Ð!1Ðà Œ;˜$Ò Ð Øœ'×-°dÀÐEˆKØ Ð KˆEØ Ð 6ˆEØ Ð7¸+Ñ FˆEàC¸Crcójt|jjd¦«t|jjd¦«gS)z
Microsoft Visual C++ & Microsoft Foundation Class Includes.
Return
------
list of str
paths
ÚIncludezATLMFC\Include©rr‡r)s rÚ
VCIncludeszEnvironmentInfo.VCIncludess3õT”WÔ)¨9ÑT”WÔ)Ð+<Ñ ?rcóàjdkrj d¬¦«}nj d¬¦«}d|zd|zg}jdkr |d|zgz
}ˆfd „|D¦«S)
z“
Microsoft Visual C++ & Microsoft Foundation Class Libraries.
Return
------
list of str
paths
ç.@T©rN©úLib%sz ATLMFC\Lib%srz Lib\store%scóDg|]}tjj|¦«ŒSrr™rs €rrz/EnvironmentInfo.VCLibraries.<locals>.<listcomp>²r“r)r¿)r•r”s` rÚ VCLibrarieszEnvironmentInfo.VCLibrariesŸsø€ð Œ;˜$Ò Ð Øœ'×Ð6ˆKˆœ'×,°TÐ:ˆ˜¸+Ñ(EÐà Œ;˜$Ò Ð Ø n {Ñ 3ˆEàC¸CrcóR|jdkrgSt|jjd¦«gS)z‡
Microsoft Visual C++ store references Libraries.
Return
------
list of str
paths
rzLib\store\references)rr‡r)s rÚ VCStoreRefszEnvironmentInfo.VCStoreRefs´s/ð Œ;˜Ò Р؈IÝT”WÔ)Ð+BÑDrcóà|j}t|jd¦«g}|jdkrdnd}|j |¦«}|r|t|jd|z¦«gz
}|jdkr8d|j d¬¦«z}|t|j|¦«gz
}nÆ|jdkr¢|j ¦«rd nd
}|t|j||j d¬ ¦«z¦«gz
}|jj |jj
kr5|t|j||j d¬ ¦«z¦«gz
}n|t|jd ¦«gz
}|S)
zr
Microsoft Visual C++ Tools.
Return
------
list of str
paths
Ú
VCPackagesr”TFúBin%srz
bin\HostX86%sz
bin\HostX64%srÚBin) r‡rr)r¿)r‡Útoolsrµr•rKÚhost_dirs rÚVCToolszEnvironmentInfo.VCToolsÂðŒWˆÝb”o |Ñàœ;¨$Ò.44°EˆØ”g×Ñ1ˆ Ø ð DØ •d˜2œ?¨G°kÑ,AÑ CˆEà Œ;˜$Ò Ð Ø˜TœW×0¸Ð>ˆ •d˜2œ?¨DÑ 2ˆEˆEà
Œ[˜
Ð
Ø,0¬G×,BÒ,BÑ,DÔ,Dð
à •dØ ¨D¬G×,>Ò,>À4Ð,>Ñ,HÔ,HÑ!HñJôJðKñ
KˆŒwÔ" d¤gÔ&8Ò”O ´×0CÒ0CÈÐ0CÑ0MÔ0MÑ%MñOôOðPñPøð
•d˜2œ?¨EÑ 3ˆEàˆ rcó0|jdkr:|j dd¬¦«}t|jjd|z¦«gS|j d¬¦«}t|jjd¦«}|j}t||d|¦«gS)zw
Microsoft Windows SDK Libraries.
Return
------
list of str
paths
r”TrŽrr:Úum)r¿rr‡r<Ú _sdk_subdir)r•r:Úlibvers rÚ OSLibrarieszEnvironmentInfo.OSLibrariesçð Œ;˜$Ò Ð Øœ'×,°T¸tÐDˆKݘœÔ¸+Ñ0EÑ œ'×Ð6ˆt”wÔ,¨eÑ4ˆCØÔ%ˆ˜¨&¨&¨&°+°+Ð @rcó
t|jjd¦«}|jdkr|t|d¦«gS|jdkr|j}nd}t|d|z¦«t|d|z¦«t|d|z¦«gS) zu
Microsoft Windows SDK Include.
Return
------
list of str
paths
Úincluder”Úglrrz%ssharedz%sumz%swinrt)rr‡r<r­)Úsdkvers rÚ
OSIncludeszEnvironmentInfo.OSIncludesûs—õt”wÔ,¨iÑà Œ;˜$Ò Ð ØT '¨4Ñ Œ{˜Ô)àݘ *¨vÑ"5ј &¨6¡/ј )¨fÑ"4Ñ
7rcó¦t|jjd¦«}g}|jdkr
||jz
}|jdkr|t|d¦«gz
}|jdkru||t|jjd¦«t|dd¦«t|d d¦«t|d
d¦«t|jjd d d
|jzddd¦«gz
}|S)z}
Microsoft Windows SDK Libraries Paths.
Return
------
list of str
paths
Ú
Referencesrr4zCommonConfiguration\NeutralrÚ