diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
new file mode 100644
index 00000000000..2c4e940b503
--- /dev/null
+++ b/.config/dotnet-tools.json
@@ -0,0 +1,12 @@
+{
+ "version": 1,
+ "isRoot": true,
+ "tools": {
+ "XamlStyler.Console": {
+ "version": "3.2008.4",
+ "commands": [
+ "xstyler"
+ ]
+ }
+ }
+}
diff --git a/.github/actions/spelling/dictionary/apis.txt b/.github/actions/spelling/dictionary/apis.txt
index e6c7a195765..6d9a95046e3 100644
--- a/.github/actions/spelling/dictionary/apis.txt
+++ b/.github/actions/spelling/dictionary/apis.txt
@@ -6,14 +6,19 @@ bitfields
CLASSNOTAVAILABLE
cmdletbinding
COLORPROPERTY
+COMDLG
CXICON
CYICON
D2DERR_SHADER_COMPILE_FAILED
dataobject
DERR
+dlldata
+DONTADDTORECENT
environstrings
EXPCMDFLAGS
EXPCMDSTATE
+FILTERSPEC
+FORCEFILESYSTEM
FORCEMINIMIZE
frac
fullkbd
@@ -31,12 +36,13 @@ IAsync
IBind
IBox
IClass
-IConnection
IComparable
+IConnection
ICustom
IDialog
IDirect
IExplorer
+IFile
IInheritable
IMap
IObject
@@ -62,6 +68,7 @@ NCLBUTTONDBLCLK
NCRBUTTONDBLCLK
NOAGGREGATION
NOASYNC
+NOCHANGEDIR
NOPROGRESS
NOREDIRECTIONBITMAP
ntprivapi
@@ -71,10 +78,11 @@ otms
OUTLINETEXTMETRICW
overridable
PAGESCROLL
+PICKFOLDERS
pmr
REGCLS
-RETURNCMD
REGCLS
+RETURNCMD
rfind
roundf
RSHIFT
@@ -83,6 +91,7 @@ schandle
semver
serializer
shobjidl
+SINGLEUSE
SHOWMINIMIZED
SIZENS
smoothstep
@@ -93,6 +102,8 @@ spsc
sregex
STDCPP
strchr
+STDMETHOD
+Stubless
Subheader
Subpage
UPDATEINIFILE
@@ -108,8 +119,10 @@ UPDATEINIFILE
userenv
wcsstr
wcstoui
+winmain
wpc
wsregex
+wwinmain
XDocument
XElement
xlocmes
diff --git a/.github/actions/spelling/excludes.txt b/.github/actions/spelling/excludes.txt
index 0b9616e3067..8931e1ac61e 100644
--- a/.github/actions/spelling/excludes.txt
+++ b/.github/actions/spelling/excludes.txt
@@ -64,3 +64,4 @@ SUMS$
^\.github/actions/spelling/
^\.gitignore$
^doc/reference/master-sequence-list.csv$
+^\XamlStyler.json$
diff --git a/.github/actions/spelling/expect/alphabet.txt b/.github/actions/spelling/expect/alphabet.txt
index 2f3072f0177..ed2a2864240 100644
--- a/.github/actions/spelling/expect/alphabet.txt
+++ b/.github/actions/spelling/expect/alphabet.txt
@@ -1,3 +1,4 @@
+AAAa
abcd
abcde
abcdef
diff --git a/.github/actions/spelling/expect/expect.txt b/.github/actions/spelling/expect/expect.txt
index c3aba85a2c8..8a063cdf85c 100644
--- a/.github/actions/spelling/expect/expect.txt
+++ b/.github/actions/spelling/expect/expect.txt
@@ -88,6 +88,7 @@ args
argv
ARRAYSIZE
ARROWKEYS
+asan
ASBRST
ASBSET
ASDF
@@ -433,6 +434,7 @@ cstring
cstyle
csv
CSwitch
+CTerminal
CText
ctime
ctl
@@ -571,6 +573,7 @@ defaultsettings
DEFAULTTONEAREST
DEFAULTTONULL
DEFAULTTOPRIMARY
+DEFCON
defectdefs
DEFERERASE
deff
@@ -830,6 +833,7 @@ FRAMECHANGED
fre
freopen
frontend
+fsanitize
Fscreen
FSCTL
FSINFOCLASS
@@ -842,6 +846,7 @@ fullwidth
func
FUNCTIONCALL
fuzzer
+fuzzmain
fuzzmap
fuzzwrapper
fwdecl
@@ -1254,6 +1259,7 @@ LEFTSHIFT
len
lhs
libpopcnt
+libsancov
libtickit
LIMITTEXT
LINEDOWN
@@ -1464,6 +1470,7 @@ MSIL
msix
msrc
msvcrt
+msvcrtd
MSVS
msys
msysgit
@@ -2055,6 +2062,7 @@ runtests
runtimeclass
runuia
runut
+runxamlformat
rvalue
RVERTICAL
rxvt
@@ -2389,6 +2397,7 @@ titlebar
TITLEISLINKNAME
TJson
tl
+TLambda
TLEN
Tlg
Tlgdata
@@ -2846,6 +2855,7 @@ XResource
xsd
xsi
xsize
+xstyler
XSubstantial
xtended
xterm
diff --git a/.nuget/packages.config b/.nuget/packages.config
index 6b13d847934..fd940a873d7 100644
--- a/.nuget/packages.config
+++ b/.nuget/packages.config
@@ -1,4 +1,4 @@
-
\ No newline at end of file
+
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index 827e4c40762..e9942e0bb6d 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -16,7 +16,9 @@
"${workspaceFolder}\\OpenConsole.sln",
"/p:Configuration=${input:configChoice}",
"/p:Platform=${input:platformChoice}",
+ "/p:AppxSymbolPackageEnabled=false", // This takes a long time, so false if we don't really need it.
"/t:$target",
+ "/m", // Parallel builds
"/verbosity:minimal"
],
"problemMatcher": ["$msCompile"],
@@ -46,8 +48,7 @@
],
"problemMatcher": ["$msCompile"],
"group": {
- "kind": "build",
- "isDefault": true
+ "kind": "build"
}
},
{
@@ -57,6 +58,18 @@
"args": [
],
"problemMatcher": ["$msCompile"],
+ },
+ {
+ "type": "process",
+ "label": "Run Code Format",
+ "command": "powershell.exe",
+ "args": [
+ "-Command",
+ "Import-Module ${workspaceFolder}\\tools\\OpenConsole.psm1;",
+ "Set-MsBuildDevEnvironment;",
+ "Invoke-CodeFormat",
+ ],
+ "problemMatcher": ["$msCompile"],
}
],
"inputs":[
diff --git a/OpenConsole.sln b/OpenConsole.sln
index 71bc8ce925e..6c5450aacd9 100644
--- a/OpenConsole.sln
+++ b/OpenConsole.sln
@@ -12,7 +12,9 @@ Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "CascadiaPackage", "src\casc
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Host.EXE", "src\host\exe\Host.EXE.vcxproj", "{9CBD7DFA-1754-4A9D-93D7-857A9D17CB1B}"
ProjectSection(ProjectDependencies) = postProject
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF} = {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}
{0CF235BD-2DA0-407E-90EE-C467E8BBC714} = {0CF235BD-2DA0-407E-90EE-C467E8BBC714}
+ {5D23E8E1-3C64-4CC1-A8F7-6861677F7239} = {5D23E8E1-3C64-4CC1-A8F7-6861677F7239}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PropertiesLibrary", "src\propslib\propslib.vcxproj", "{345FD5A4-B32B-4F29-BD1C-B033BD2C35CC}"
@@ -64,6 +66,7 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Host", "src\host\lib\hostlib.vcxproj", "{06EC74CB-9A12-429C-B551-8562EC954746}"
ProjectSection(ProjectDependencies) = postProject
{18D09A24-8240-42D6-8CB6-236EEE820263} = {18D09A24-8240-42D6-8CB6-236EEE820263}
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF} = {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}
{0CF235BD-2DA0-407E-90EE-C467E8BBC714} = {0CF235BD-2DA0-407E-90EE-C467E8BBC714}
EndProjectSection
EndProject
@@ -104,6 +107,9 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Build Common", "_Build Common", "{04170EEF-983A-4195-BFEF-2321E5E38A1E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Server", "src\server\lib\server.vcxproj", "{18D09A24-8240-42D6-8CB6-236EEE820262}"
+ ProjectSection(ProjectDependencies) = postProject
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF} = {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}
+ EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Host.Tests.UIA", "src\host\ft_uia\Host.Tests.UIA.csproj", "{C17E1BF3-9D34-4779-9458-A8EF98CC5662}"
ProjectSection(ProjectDependencies) = postProject
@@ -158,10 +164,13 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RendererDx", "src\renderer\dx\lib\dx.vcxproj", "{48D21369-3D7B-4431-9967-24E81292CF62}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TerminalConnection", "src\cascadia\TerminalConnection\TerminalConnection.vcxproj", "{CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}"
+ ProjectSection(ProjectDependencies) = postProject
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF} = {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}
+ EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TerminalCore", "src\cascadia\TerminalCore\lib\TerminalCore-lib.vcxproj", "{CA5CAD1A-ABCD-429C-B551-8562EC954746}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TerminalControlLib", "src\cascadia\TerminalControl\TerminalControlLib.vcxproj", "{CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.Terminal.Control.Lib", "src\cascadia\TerminalControl\TerminalControlLib.vcxproj", "{CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}"
ProjectSection(ProjectDependencies) = postProject
{CA5CAD1A-C46D-4588-B1C0-40F31AE9100B} = {CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}
{CA5CAD1A-ABCD-429C-B551-8562EC954746} = {CA5CAD1A-ABCD-429C-B551-8562EC954746}
@@ -169,15 +178,15 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TerminalControlLib", "src\c
{48D21369-3D7B-4431-9967-24E81292CF63} = {48D21369-3D7B-4431-9967-24E81292CF63}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TerminalControl", "src\cascadia\TerminalControl\dll\TerminalControl.vcxproj", "{CA5CAD1A-F542-4635-A069-7CAEFB930070}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.Terminal.Control", "src\cascadia\TerminalControl\dll\TerminalControl.vcxproj", "{CA5CAD1A-F542-4635-A069-7CAEFB930070}"
ProjectSection(ProjectDependencies) = postProject
{CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED} = {CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WindowsTerminal", "src\cascadia\WindowsTerminal\WindowsTerminal.vcxproj", "{CA5CAD1A-1754-4A9D-93D7-857A9D17CB1B}"
ProjectSection(ProjectDependencies) = postProject
- {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32} = {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}
{CA5CAD1A-F542-4635-A069-7CAEFB930070} = {CA5CAD1A-F542-4635-A069-7CAEFB930070}
+ {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32} = {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}
{CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12} = {CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12}
{CA5CAD1A-ABCD-429C-B551-8562EC954746} = {CA5CAD1A-ABCD-429C-B551-8562EC954746}
{27B5AAEB-A548-44CF-9777-F8BAA32AF7AE} = {27B5AAEB-A548-44CF-9777-F8BAA32AF7AE}
@@ -188,9 +197,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TerminalApp", "src\cascadia
ProjectSection(ProjectDependencies) = postProject
{CA5CAD1A-9A12-429C-B551-8562EC954746} = {CA5CAD1A-9A12-429C-B551-8562EC954746}
{CA5CAD1A-082C-4476-9F33-94B339494076} = {CA5CAD1A-082C-4476-9F33-94B339494076}
+ {CA5CAD1A-F542-4635-A069-7CAEFB930070} = {CA5CAD1A-F542-4635-A069-7CAEFB930070}
{CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32} = {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}
{CA5CAD1A-C46D-4588-B1C0-40F31AE9100B} = {CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}
- {CA5CAD1A-F542-4635-A069-7CAEFB930070} = {CA5CAD1A-F542-4635-A069-7CAEFB930070}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WindowsTerminalShellExt", "src\cascadia\ShellExtension\WindowsTerminalShellExt.vcxproj", "{F2ED628A-DB22-446F-A081-4CC845B51A2B}"
@@ -240,8 +249,8 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TerminalAppLib", "src\cascadia\TerminalApp\TerminalAppLib.vcxproj", "{CA5CAD1A-9A12-429C-B551-8562EC954746}"
ProjectSection(ProjectDependencies) = postProject
{CA5CAD1A-082C-4476-9F33-94B339494076} = {CA5CAD1A-082C-4476-9F33-94B339494076}
- {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32} = {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}
{CA5CAD1A-F542-4635-A069-7CAEFB930070} = {CA5CAD1A-F542-4635-A069-7CAEFB930070}
+ {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32} = {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LocalTests_TerminalApp", "src\cascadia\LocalTests_TerminalApp\TerminalApp.LocalTests.vcxproj", "{CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506}"
@@ -342,8 +351,8 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LocalTests_SettingsModel", "src\cascadia\LocalTests_SettingsModel\SettingsModel.LocalTests.vcxproj", "{CA5CAD1A-9B68-456A-B13E-C8218070DC42}"
ProjectSection(ProjectDependencies) = postProject
{CA5CAD1A-082C-4476-9F33-94B339494076} = {CA5CAD1A-082C-4476-9F33-94B339494076}
- {CA5CAD1A-C46D-4588-B1C0-40F31AE9100B} = {CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}
{CA5CAD1A-F542-4635-A069-7CAEFB930070} = {CA5CAD1A-F542-4635-A069-7CAEFB930070}
+ {CA5CAD1A-C46D-4588-B1C0-40F31AE9100B} = {CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}
{CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907} = {CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907}
EndProjectSection
EndProject
@@ -369,7 +378,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTests_Remoting", "src\c
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "wpf", "wpf", "{4DAF0299-495E-4CD1-A982-9BAC16A45932}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OpenConsoleProxy", "src\host\proxy\Host.Proxy.vcxproj", "{E437B604-3E98-4F40-A927-E173E818EA4B}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OpenConsoleProxy", "src\host\proxy\Host.Proxy.vcxproj", "{71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Window", "Window", "{2D17E75D-2DDC-42C4-AD70-704D95A937AE}"
EndProject
@@ -377,6 +386,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Settings", "Settings", "{77
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Control", "Control", "{9921CA0A-320C-4460-8623-3A3196E7F4CB}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Host.FuzzWrapper", "src\host\ft_fuzzer\Host.FuzzWrapper.vcxproj", "{05D9052F-D78F-478F-968A-2DE38A6DB996}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTests_Control", "src\cascadia\UnitTests_Control\Control.UnitTests.vcxproj", "{C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}"
+ ProjectSection(ProjectDependencies) = postProject
+ {CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED} = {CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
AuditMode|Any CPU = AuditMode|Any CPU
@@ -393,6 +409,13 @@ Global
Debug|DotNet_x86Test = Debug|DotNet_x86Test
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
+ Fuzzing|Any CPU = Fuzzing|Any CPU
+ Fuzzing|ARM = Fuzzing|ARM
+ Fuzzing|ARM64 = Fuzzing|ARM64
+ Fuzzing|DotNet_x64Test = Fuzzing|DotNet_x64Test
+ Fuzzing|DotNet_x86Test = Fuzzing|DotNet_x86Test
+ Fuzzing|x64 = Fuzzing|x64
+ Fuzzing|x86 = Fuzzing|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|ARM64 = Release|ARM64
@@ -424,6 +447,13 @@ Global
{CA5CAD1A-224A-4171-B13A-F16E576FDD12}.Debug|x86.ActiveCfg = Debug|x86
{CA5CAD1A-224A-4171-B13A-F16E576FDD12}.Debug|x86.Build.0 = Debug|x86
{CA5CAD1A-224A-4171-B13A-F16E576FDD12}.Debug|x86.Deploy.0 = Debug|x86
+ {CA5CAD1A-224A-4171-B13A-F16E576FDD12}.Fuzzing|Any CPU.ActiveCfg = Debug|x86
+ {CA5CAD1A-224A-4171-B13A-F16E576FDD12}.Fuzzing|ARM.ActiveCfg = Debug|x86
+ {CA5CAD1A-224A-4171-B13A-F16E576FDD12}.Fuzzing|ARM64.ActiveCfg = Debug|ARM64
+ {CA5CAD1A-224A-4171-B13A-F16E576FDD12}.Fuzzing|DotNet_x64Test.ActiveCfg = Debug|x86
+ {CA5CAD1A-224A-4171-B13A-F16E576FDD12}.Fuzzing|DotNet_x86Test.ActiveCfg = Debug|x86
+ {CA5CAD1A-224A-4171-B13A-F16E576FDD12}.Fuzzing|x64.ActiveCfg = Debug|x64
+ {CA5CAD1A-224A-4171-B13A-F16E576FDD12}.Fuzzing|x86.ActiveCfg = Debug|x86
{CA5CAD1A-224A-4171-B13A-F16E576FDD12}.Release|Any CPU.ActiveCfg = Release|x86
{CA5CAD1A-224A-4171-B13A-F16E576FDD12}.Release|ARM.ActiveCfg = Release|x86
{CA5CAD1A-224A-4171-B13A-F16E576FDD12}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -454,6 +484,13 @@ Global
{9CBD7DFA-1754-4A9D-93D7-857A9D17CB1B}.Debug|x64.Build.0 = Debug|x64
{9CBD7DFA-1754-4A9D-93D7-857A9D17CB1B}.Debug|x86.ActiveCfg = Debug|Win32
{9CBD7DFA-1754-4A9D-93D7-857A9D17CB1B}.Debug|x86.Build.0 = Debug|Win32
+ {9CBD7DFA-1754-4A9D-93D7-857A9D17CB1B}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {9CBD7DFA-1754-4A9D-93D7-857A9D17CB1B}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {9CBD7DFA-1754-4A9D-93D7-857A9D17CB1B}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {9CBD7DFA-1754-4A9D-93D7-857A9D17CB1B}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {9CBD7DFA-1754-4A9D-93D7-857A9D17CB1B}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {9CBD7DFA-1754-4A9D-93D7-857A9D17CB1B}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {9CBD7DFA-1754-4A9D-93D7-857A9D17CB1B}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{9CBD7DFA-1754-4A9D-93D7-857A9D17CB1B}.Release|Any CPU.ActiveCfg = Release|Win32
{9CBD7DFA-1754-4A9D-93D7-857A9D17CB1B}.Release|ARM.ActiveCfg = Release|Win32
{9CBD7DFA-1754-4A9D-93D7-857A9D17CB1B}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -481,6 +518,14 @@ Global
{345FD5A4-B32B-4F29-BD1C-B033BD2C35CC}.Debug|x64.Build.0 = Debug|x64
{345FD5A4-B32B-4F29-BD1C-B033BD2C35CC}.Debug|x86.ActiveCfg = Debug|Win32
{345FD5A4-B32B-4F29-BD1C-B033BD2C35CC}.Debug|x86.Build.0 = Debug|Win32
+ {345FD5A4-B32B-4F29-BD1C-B033BD2C35CC}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {345FD5A4-B32B-4F29-BD1C-B033BD2C35CC}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {345FD5A4-B32B-4F29-BD1C-B033BD2C35CC}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {345FD5A4-B32B-4F29-BD1C-B033BD2C35CC}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {345FD5A4-B32B-4F29-BD1C-B033BD2C35CC}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {345FD5A4-B32B-4F29-BD1C-B033BD2C35CC}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {345FD5A4-B32B-4F29-BD1C-B033BD2C35CC}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {345FD5A4-B32B-4F29-BD1C-B033BD2C35CC}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{345FD5A4-B32B-4F29-BD1C-B033BD2C35CC}.Release|Any CPU.ActiveCfg = Release|Win32
{345FD5A4-B32B-4F29-BD1C-B033BD2C35CC}.Release|ARM.ActiveCfg = Release|Win32
{345FD5A4-B32B-4F29-BD1C-B033BD2C35CC}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -508,6 +553,14 @@ Global
{2FD12FBB-1DDB-46D8-B818-1023C624CACA}.Debug|x64.Build.0 = Debug|x64
{2FD12FBB-1DDB-46D8-B818-1023C624CACA}.Debug|x86.ActiveCfg = Debug|Win32
{2FD12FBB-1DDB-46D8-B818-1023C624CACA}.Debug|x86.Build.0 = Debug|Win32
+ {2FD12FBB-1DDB-46D8-B818-1023C624CACA}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {2FD12FBB-1DDB-46D8-B818-1023C624CACA}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {2FD12FBB-1DDB-46D8-B818-1023C624CACA}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {2FD12FBB-1DDB-46D8-B818-1023C624CACA}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {2FD12FBB-1DDB-46D8-B818-1023C624CACA}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {2FD12FBB-1DDB-46D8-B818-1023C624CACA}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {2FD12FBB-1DDB-46D8-B818-1023C624CACA}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {2FD12FBB-1DDB-46D8-B818-1023C624CACA}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{2FD12FBB-1DDB-46D8-B818-1023C624CACA}.Release|Any CPU.ActiveCfg = Release|Win32
{2FD12FBB-1DDB-46D8-B818-1023C624CACA}.Release|ARM.ActiveCfg = Release|Win32
{2FD12FBB-1DDB-46D8-B818-1023C624CACA}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -538,6 +591,14 @@ Global
{3AE13314-1939-4DFA-9C14-38CA0834050C}.Debug|x64.Build.0 = Debug|x64
{3AE13314-1939-4DFA-9C14-38CA0834050C}.Debug|x86.ActiveCfg = Debug|Win32
{3AE13314-1939-4DFA-9C14-38CA0834050C}.Debug|x86.Build.0 = Debug|Win32
+ {3AE13314-1939-4DFA-9C14-38CA0834050C}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {3AE13314-1939-4DFA-9C14-38CA0834050C}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {3AE13314-1939-4DFA-9C14-38CA0834050C}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {3AE13314-1939-4DFA-9C14-38CA0834050C}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {3AE13314-1939-4DFA-9C14-38CA0834050C}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {3AE13314-1939-4DFA-9C14-38CA0834050C}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {3AE13314-1939-4DFA-9C14-38CA0834050C}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {3AE13314-1939-4DFA-9C14-38CA0834050C}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{3AE13314-1939-4DFA-9C14-38CA0834050C}.Release|Any CPU.ActiveCfg = Release|Win32
{3AE13314-1939-4DFA-9C14-38CA0834050C}.Release|ARM.ActiveCfg = Release|Win32
{3AE13314-1939-4DFA-9C14-38CA0834050C}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -568,6 +629,14 @@ Global
{DCF55140-EF6A-4736-A403-957E4F7430BB}.Debug|x64.Build.0 = Debug|x64
{DCF55140-EF6A-4736-A403-957E4F7430BB}.Debug|x86.ActiveCfg = Debug|Win32
{DCF55140-EF6A-4736-A403-957E4F7430BB}.Debug|x86.Build.0 = Debug|Win32
+ {DCF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {DCF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {DCF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {DCF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {DCF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {DCF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {DCF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {DCF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{DCF55140-EF6A-4736-A403-957E4F7430BB}.Release|Any CPU.ActiveCfg = Release|Win32
{DCF55140-EF6A-4736-A403-957E4F7430BB}.Release|ARM.ActiveCfg = Release|Win32
{DCF55140-EF6A-4736-A403-957E4F7430BB}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -598,6 +667,14 @@ Global
{1CF55140-EF6A-4736-A403-957E4F7430BB}.Debug|x64.Build.0 = Debug|x64
{1CF55140-EF6A-4736-A403-957E4F7430BB}.Debug|x86.ActiveCfg = Debug|Win32
{1CF55140-EF6A-4736-A403-957E4F7430BB}.Debug|x86.Build.0 = Debug|Win32
+ {1CF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {1CF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {1CF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {1CF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {1CF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {1CF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {1CF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {1CF55140-EF6A-4736-A403-957E4F7430BB}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{1CF55140-EF6A-4736-A403-957E4F7430BB}.Release|Any CPU.ActiveCfg = Release|Win32
{1CF55140-EF6A-4736-A403-957E4F7430BB}.Release|ARM.ActiveCfg = Release|Win32
{1CF55140-EF6A-4736-A403-957E4F7430BB}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -630,6 +707,14 @@ Global
{AF0A096A-8B3A-4949-81EF-7DF8F0FEE91F}.Debug|x64.Build.0 = Debug|x64
{AF0A096A-8B3A-4949-81EF-7DF8F0FEE91F}.Debug|x86.ActiveCfg = Debug|Win32
{AF0A096A-8B3A-4949-81EF-7DF8F0FEE91F}.Debug|x86.Build.0 = Debug|Win32
+ {AF0A096A-8B3A-4949-81EF-7DF8F0FEE91F}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {AF0A096A-8B3A-4949-81EF-7DF8F0FEE91F}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {AF0A096A-8B3A-4949-81EF-7DF8F0FEE91F}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {AF0A096A-8B3A-4949-81EF-7DF8F0FEE91F}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {AF0A096A-8B3A-4949-81EF-7DF8F0FEE91F}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {AF0A096A-8B3A-4949-81EF-7DF8F0FEE91F}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {AF0A096A-8B3A-4949-81EF-7DF8F0FEE91F}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {AF0A096A-8B3A-4949-81EF-7DF8F0FEE91F}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{AF0A096A-8B3A-4949-81EF-7DF8F0FEE91F}.Release|Any CPU.ActiveCfg = Release|Win32
{AF0A096A-8B3A-4949-81EF-7DF8F0FEE91F}.Release|ARM.ActiveCfg = Release|Win32
{AF0A096A-8B3A-4949-81EF-7DF8F0FEE91F}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -659,6 +744,14 @@ Global
{1C959542-BAC2-4E55-9A6D-13251914CBB9}.Debug|x64.Build.0 = Debug|x64
{1C959542-BAC2-4E55-9A6D-13251914CBB9}.Debug|x86.ActiveCfg = Debug|Win32
{1C959542-BAC2-4E55-9A6D-13251914CBB9}.Debug|x86.Build.0 = Debug|Win32
+ {1C959542-BAC2-4E55-9A6D-13251914CBB9}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {1C959542-BAC2-4E55-9A6D-13251914CBB9}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {1C959542-BAC2-4E55-9A6D-13251914CBB9}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {1C959542-BAC2-4E55-9A6D-13251914CBB9}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {1C959542-BAC2-4E55-9A6D-13251914CBB9}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {1C959542-BAC2-4E55-9A6D-13251914CBB9}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {1C959542-BAC2-4E55-9A6D-13251914CBB9}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {1C959542-BAC2-4E55-9A6D-13251914CBB9}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{1C959542-BAC2-4E55-9A6D-13251914CBB9}.Release|Any CPU.ActiveCfg = Release|Win32
{1C959542-BAC2-4E55-9A6D-13251914CBB9}.Release|ARM.ActiveCfg = Release|Win32
{1C959542-BAC2-4E55-9A6D-13251914CBB9}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -686,6 +779,14 @@ Global
{06EC74CB-9A12-429C-B551-8562EC954746}.Debug|x64.Build.0 = Debug|x64
{06EC74CB-9A12-429C-B551-8562EC954746}.Debug|x86.ActiveCfg = Debug|Win32
{06EC74CB-9A12-429C-B551-8562EC954746}.Debug|x86.Build.0 = Debug|Win32
+ {06EC74CB-9A12-429C-B551-8562EC954746}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8562EC954746}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8562EC954746}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {06EC74CB-9A12-429C-B551-8562EC954746}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8562EC954746}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8562EC954746}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {06EC74CB-9A12-429C-B551-8562EC954746}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {06EC74CB-9A12-429C-B551-8562EC954746}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{06EC74CB-9A12-429C-B551-8562EC954746}.Release|Any CPU.ActiveCfg = Release|Win32
{06EC74CB-9A12-429C-B551-8562EC954746}.Release|ARM.ActiveCfg = Release|Win32
{06EC74CB-9A12-429C-B551-8562EC954746}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -713,6 +814,13 @@ Global
{06EC74CB-9A12-429C-B551-8562EC954747}.Debug|x64.Build.0 = Debug|x64
{06EC74CB-9A12-429C-B551-8562EC954747}.Debug|x86.ActiveCfg = Debug|Win32
{06EC74CB-9A12-429C-B551-8562EC954747}.Debug|x86.Build.0 = Debug|Win32
+ {06EC74CB-9A12-429C-B551-8562EC954747}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8562EC954747}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8562EC954747}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {06EC74CB-9A12-429C-B551-8562EC954747}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8562EC954747}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8562EC954747}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {06EC74CB-9A12-429C-B551-8562EC954747}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{06EC74CB-9A12-429C-B551-8562EC954747}.Release|Any CPU.ActiveCfg = Release|Win32
{06EC74CB-9A12-429C-B551-8562EC954747}.Release|ARM.ActiveCfg = Release|Win32
{06EC74CB-9A12-429C-B551-8562EC954747}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -740,6 +848,13 @@ Global
{531C23E7-4B76-4C08-8AAD-04164CB628C9}.Debug|x64.Build.0 = Debug|x64
{531C23E7-4B76-4C08-8AAD-04164CB628C9}.Debug|x86.ActiveCfg = Debug|Win32
{531C23E7-4B76-4C08-8AAD-04164CB628C9}.Debug|x86.Build.0 = Debug|Win32
+ {531C23E7-4B76-4C08-8AAD-04164CB628C9}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {531C23E7-4B76-4C08-8AAD-04164CB628C9}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {531C23E7-4B76-4C08-8AAD-04164CB628C9}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {531C23E7-4B76-4C08-8AAD-04164CB628C9}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {531C23E7-4B76-4C08-8AAD-04164CB628C9}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {531C23E7-4B76-4C08-8AAD-04164CB628C9}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {531C23E7-4B76-4C08-8AAD-04164CB628C9}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{531C23E7-4B76-4C08-8AAD-04164CB628C9}.Release|Any CPU.ActiveCfg = Release|Win32
{531C23E7-4B76-4C08-8AAD-04164CB628C9}.Release|ARM.ActiveCfg = Release|Win32
{531C23E7-4B76-4C08-8AAD-04164CB628C9}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -767,6 +882,13 @@ Global
{531C23E7-4B76-4C08-8BBD-04164CB628C9}.Debug|x64.Build.0 = Debug|x64
{531C23E7-4B76-4C08-8BBD-04164CB628C9}.Debug|x86.ActiveCfg = Debug|Win32
{531C23E7-4B76-4C08-8BBD-04164CB628C9}.Debug|x86.Build.0 = Debug|Win32
+ {531C23E7-4B76-4C08-8BBD-04164CB628C9}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {531C23E7-4B76-4C08-8BBD-04164CB628C9}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {531C23E7-4B76-4C08-8BBD-04164CB628C9}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {531C23E7-4B76-4C08-8BBD-04164CB628C9}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {531C23E7-4B76-4C08-8BBD-04164CB628C9}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {531C23E7-4B76-4C08-8BBD-04164CB628C9}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {531C23E7-4B76-4C08-8BBD-04164CB628C9}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{531C23E7-4B76-4C08-8BBD-04164CB628C9}.Release|Any CPU.ActiveCfg = Release|Win32
{531C23E7-4B76-4C08-8BBD-04164CB628C9}.Release|ARM.ActiveCfg = Release|Win32
{531C23E7-4B76-4C08-8BBD-04164CB628C9}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -793,6 +915,13 @@ Global
{8CDB8850-7484-4EC7-B45B-181F85B2EE54}.Debug|x64.ActiveCfg = Debug|x64
{8CDB8850-7484-4EC7-B45B-181F85B2EE54}.Debug|x64.Build.0 = Debug|x64
{8CDB8850-7484-4EC7-B45B-181F85B2EE54}.Debug|x86.ActiveCfg = Debug|Win32
+ {8CDB8850-7484-4EC7-B45B-181F85B2EE54}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {8CDB8850-7484-4EC7-B45B-181F85B2EE54}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {8CDB8850-7484-4EC7-B45B-181F85B2EE54}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {8CDB8850-7484-4EC7-B45B-181F85B2EE54}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {8CDB8850-7484-4EC7-B45B-181F85B2EE54}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {8CDB8850-7484-4EC7-B45B-181F85B2EE54}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {8CDB8850-7484-4EC7-B45B-181F85B2EE54}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{8CDB8850-7484-4EC7-B45B-181F85B2EE54}.Release|Any CPU.ActiveCfg = Release|Win32
{8CDB8850-7484-4EC7-B45B-181F85B2EE54}.Release|ARM.ActiveCfg = Release|Win32
{8CDB8850-7484-4EC7-B45B-181F85B2EE54}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -819,6 +948,13 @@ Global
{12144E07-FE63-4D33-9231-748B8D8C3792}.Debug|x64.Build.0 = Debug|x64
{12144E07-FE63-4D33-9231-748B8D8C3792}.Debug|x86.ActiveCfg = Debug|Win32
{12144E07-FE63-4D33-9231-748B8D8C3792}.Debug|x86.Build.0 = Debug|Win32
+ {12144E07-FE63-4D33-9231-748B8D8C3792}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {12144E07-FE63-4D33-9231-748B8D8C3792}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {12144E07-FE63-4D33-9231-748B8D8C3792}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {12144E07-FE63-4D33-9231-748B8D8C3792}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {12144E07-FE63-4D33-9231-748B8D8C3792}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {12144E07-FE63-4D33-9231-748B8D8C3792}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {12144E07-FE63-4D33-9231-748B8D8C3792}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{12144E07-FE63-4D33-9231-748B8D8C3792}.Release|Any CPU.ActiveCfg = Release|Win32
{12144E07-FE63-4D33-9231-748B8D8C3792}.Release|ARM.ActiveCfg = Release|Win32
{12144E07-FE63-4D33-9231-748B8D8C3792}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -846,6 +982,13 @@ Global
{6AF01638-84CF-4B65-9870-484DFFCAC772}.Debug|x64.Build.0 = Debug|x64
{6AF01638-84CF-4B65-9870-484DFFCAC772}.Debug|x86.ActiveCfg = Debug|Win32
{6AF01638-84CF-4B65-9870-484DFFCAC772}.Debug|x86.Build.0 = Debug|Win32
+ {6AF01638-84CF-4B65-9870-484DFFCAC772}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {6AF01638-84CF-4B65-9870-484DFFCAC772}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {6AF01638-84CF-4B65-9870-484DFFCAC772}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {6AF01638-84CF-4B65-9870-484DFFCAC772}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {6AF01638-84CF-4B65-9870-484DFFCAC772}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {6AF01638-84CF-4B65-9870-484DFFCAC772}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {6AF01638-84CF-4B65-9870-484DFFCAC772}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{6AF01638-84CF-4B65-9870-484DFFCAC772}.Release|Any CPU.ActiveCfg = Release|Win32
{6AF01638-84CF-4B65-9870-484DFFCAC772}.Release|ARM.ActiveCfg = Release|Win32
{6AF01638-84CF-4B65-9870-484DFFCAC772}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -873,6 +1016,13 @@ Global
{96927B31-D6E8-4ABD-B03E-A5088A30BEBE}.Debug|x64.Build.0 = Debug|x64
{96927B31-D6E8-4ABD-B03E-A5088A30BEBE}.Debug|x86.ActiveCfg = Debug|Win32
{96927B31-D6E8-4ABD-B03E-A5088A30BEBE}.Debug|x86.Build.0 = Debug|Win32
+ {96927B31-D6E8-4ABD-B03E-A5088A30BEBE}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {96927B31-D6E8-4ABD-B03E-A5088A30BEBE}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {96927B31-D6E8-4ABD-B03E-A5088A30BEBE}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {96927B31-D6E8-4ABD-B03E-A5088A30BEBE}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {96927B31-D6E8-4ABD-B03E-A5088A30BEBE}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {96927B31-D6E8-4ABD-B03E-A5088A30BEBE}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {96927B31-D6E8-4ABD-B03E-A5088A30BEBE}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{96927B31-D6E8-4ABD-B03E-A5088A30BEBE}.Release|Any CPU.ActiveCfg = Release|Win32
{96927B31-D6E8-4ABD-B03E-A5088A30BEBE}.Release|ARM.ActiveCfg = Release|Win32
{96927B31-D6E8-4ABD-B03E-A5088A30BEBE}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -900,6 +1050,13 @@ Global
{F210A4AE-E02A-4BFC-80BB-F50A672FE763}.Debug|x64.Build.0 = Debug|x64
{F210A4AE-E02A-4BFC-80BB-F50A672FE763}.Debug|x86.ActiveCfg = Debug|Win32
{F210A4AE-E02A-4BFC-80BB-F50A672FE763}.Debug|x86.Build.0 = Debug|Win32
+ {F210A4AE-E02A-4BFC-80BB-F50A672FE763}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {F210A4AE-E02A-4BFC-80BB-F50A672FE763}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {F210A4AE-E02A-4BFC-80BB-F50A672FE763}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {F210A4AE-E02A-4BFC-80BB-F50A672FE763}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {F210A4AE-E02A-4BFC-80BB-F50A672FE763}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {F210A4AE-E02A-4BFC-80BB-F50A672FE763}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {F210A4AE-E02A-4BFC-80BB-F50A672FE763}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{F210A4AE-E02A-4BFC-80BB-F50A672FE763}.Release|Any CPU.ActiveCfg = Release|Win32
{F210A4AE-E02A-4BFC-80BB-F50A672FE763}.Release|ARM.ActiveCfg = Release|Win32
{F210A4AE-E02A-4BFC-80BB-F50A672FE763}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -927,6 +1084,14 @@ Global
{5D23E8E1-3C64-4CC1-A8F7-6861677F7239}.Debug|x64.Build.0 = Debug|x64
{5D23E8E1-3C64-4CC1-A8F7-6861677F7239}.Debug|x86.ActiveCfg = Debug|Win32
{5D23E8E1-3C64-4CC1-A8F7-6861677F7239}.Debug|x86.Build.0 = Debug|Win32
+ {5D23E8E1-3C64-4CC1-A8F7-6861677F7239}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {5D23E8E1-3C64-4CC1-A8F7-6861677F7239}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {5D23E8E1-3C64-4CC1-A8F7-6861677F7239}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {5D23E8E1-3C64-4CC1-A8F7-6861677F7239}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {5D23E8E1-3C64-4CC1-A8F7-6861677F7239}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {5D23E8E1-3C64-4CC1-A8F7-6861677F7239}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {5D23E8E1-3C64-4CC1-A8F7-6861677F7239}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {5D23E8E1-3C64-4CC1-A8F7-6861677F7239}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{5D23E8E1-3C64-4CC1-A8F7-6861677F7239}.Release|Any CPU.ActiveCfg = Release|Win32
{5D23E8E1-3C64-4CC1-A8F7-6861677F7239}.Release|ARM.ActiveCfg = Release|Win32
{5D23E8E1-3C64-4CC1-A8F7-6861677F7239}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -954,6 +1119,14 @@ Global
{18D09A24-8240-42D6-8CB6-236EEE820262}.Debug|x64.Build.0 = Debug|x64
{18D09A24-8240-42D6-8CB6-236EEE820262}.Debug|x86.ActiveCfg = Debug|Win32
{18D09A24-8240-42D6-8CB6-236EEE820262}.Debug|x86.Build.0 = Debug|Win32
+ {18D09A24-8240-42D6-8CB6-236EEE820262}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {18D09A24-8240-42D6-8CB6-236EEE820262}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {18D09A24-8240-42D6-8CB6-236EEE820262}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {18D09A24-8240-42D6-8CB6-236EEE820262}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {18D09A24-8240-42D6-8CB6-236EEE820262}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {18D09A24-8240-42D6-8CB6-236EEE820262}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {18D09A24-8240-42D6-8CB6-236EEE820262}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {18D09A24-8240-42D6-8CB6-236EEE820262}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{18D09A24-8240-42D6-8CB6-236EEE820262}.Release|Any CPU.ActiveCfg = Release|Win32
{18D09A24-8240-42D6-8CB6-236EEE820262}.Release|ARM.ActiveCfg = Release|Win32
{18D09A24-8240-42D6-8CB6-236EEE820262}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -981,6 +1154,13 @@ Global
{C17E1BF3-9D34-4779-9458-A8EF98CC5662}.Debug|x64.Build.0 = Debug|x64
{C17E1BF3-9D34-4779-9458-A8EF98CC5662}.Debug|x86.ActiveCfg = Debug|Win32
{C17E1BF3-9D34-4779-9458-A8EF98CC5662}.Debug|x86.Build.0 = Debug|Win32
+ {C17E1BF3-9D34-4779-9458-A8EF98CC5662}.Fuzzing|Any CPU.ActiveCfg = Debug|x64
+ {C17E1BF3-9D34-4779-9458-A8EF98CC5662}.Fuzzing|ARM.ActiveCfg = Debug|x64
+ {C17E1BF3-9D34-4779-9458-A8EF98CC5662}.Fuzzing|ARM64.ActiveCfg = Release|ARM64
+ {C17E1BF3-9D34-4779-9458-A8EF98CC5662}.Fuzzing|DotNet_x64Test.ActiveCfg = Debug|x64
+ {C17E1BF3-9D34-4779-9458-A8EF98CC5662}.Fuzzing|DotNet_x86Test.ActiveCfg = Debug|x64
+ {C17E1BF3-9D34-4779-9458-A8EF98CC5662}.Fuzzing|x64.ActiveCfg = Debug|x64
+ {C17E1BF3-9D34-4779-9458-A8EF98CC5662}.Fuzzing|x86.ActiveCfg = Release|Win32
{C17E1BF3-9D34-4779-9458-A8EF98CC5662}.Release|Any CPU.ActiveCfg = Release|Win32
{C17E1BF3-9D34-4779-9458-A8EF98CC5662}.Release|ARM.ActiveCfg = Release|Win32
{C17E1BF3-9D34-4779-9458-A8EF98CC5662}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1007,6 +1187,13 @@ Global
{099193A0-1E43-4BBC-BA7F-7B351E1342DF}.Debug|x64.Build.0 = Debug|x64
{099193A0-1E43-4BBC-BA7F-7B351E1342DF}.Debug|x86.ActiveCfg = Debug|Win32
{099193A0-1E43-4BBC-BA7F-7B351E1342DF}.Debug|x86.Build.0 = Debug|Win32
+ {099193A0-1E43-4BBC-BA7F-7B351E1342DF}.Fuzzing|Any CPU.ActiveCfg = Debug|Win32
+ {099193A0-1E43-4BBC-BA7F-7B351E1342DF}.Fuzzing|ARM.ActiveCfg = Debug|Win32
+ {099193A0-1E43-4BBC-BA7F-7B351E1342DF}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {099193A0-1E43-4BBC-BA7F-7B351E1342DF}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {099193A0-1E43-4BBC-BA7F-7B351E1342DF}.Fuzzing|DotNet_x86Test.ActiveCfg = Debug|Win32
+ {099193A0-1E43-4BBC-BA7F-7B351E1342DF}.Fuzzing|x64.ActiveCfg = Debug|x64
+ {099193A0-1E43-4BBC-BA7F-7B351E1342DF}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{099193A0-1E43-4BBC-BA7F-7B351E1342DF}.Release|Any CPU.ActiveCfg = Release|Win32
{099193A0-1E43-4BBC-BA7F-7B351E1342DF}.Release|ARM.ActiveCfg = Release|Win32
{099193A0-1E43-4BBC-BA7F-7B351E1342DF}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1033,6 +1220,13 @@ Global
{FC802440-AD6A-4919-8F2C-7701F2B38D79}.Debug|x64.Build.0 = Debug|x64
{FC802440-AD6A-4919-8F2C-7701F2B38D79}.Debug|x86.ActiveCfg = Debug|Win32
{FC802440-AD6A-4919-8F2C-7701F2B38D79}.Debug|x86.Build.0 = Debug|Win32
+ {FC802440-AD6A-4919-8F2C-7701F2B38D79}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {FC802440-AD6A-4919-8F2C-7701F2B38D79}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {FC802440-AD6A-4919-8F2C-7701F2B38D79}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {FC802440-AD6A-4919-8F2C-7701F2B38D79}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {FC802440-AD6A-4919-8F2C-7701F2B38D79}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {FC802440-AD6A-4919-8F2C-7701F2B38D79}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {FC802440-AD6A-4919-8F2C-7701F2B38D79}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{FC802440-AD6A-4919-8F2C-7701F2B38D79}.Release|Any CPU.ActiveCfg = Release|Win32
{FC802440-AD6A-4919-8F2C-7701F2B38D79}.Release|ARM.ActiveCfg = Release|Win32
{FC802440-AD6A-4919-8F2C-7701F2B38D79}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1060,6 +1254,14 @@ Global
{919544AC-D39B-463F-8414-3C3C67CF727C}.Debug|x64.Build.0 = Debug|x64
{919544AC-D39B-463F-8414-3C3C67CF727C}.Debug|x86.ActiveCfg = Debug|Win32
{919544AC-D39B-463F-8414-3C3C67CF727C}.Debug|x86.Build.0 = Debug|Win32
+ {919544AC-D39B-463F-8414-3C3C67CF727C}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {919544AC-D39B-463F-8414-3C3C67CF727C}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {919544AC-D39B-463F-8414-3C3C67CF727C}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {919544AC-D39B-463F-8414-3C3C67CF727C}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {919544AC-D39B-463F-8414-3C3C67CF727C}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {919544AC-D39B-463F-8414-3C3C67CF727C}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {919544AC-D39B-463F-8414-3C3C67CF727C}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {919544AC-D39B-463F-8414-3C3C67CF727C}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{919544AC-D39B-463F-8414-3C3C67CF727C}.Release|Any CPU.ActiveCfg = Release|Win32
{919544AC-D39B-463F-8414-3C3C67CF727C}.Release|ARM.ActiveCfg = Release|Win32
{919544AC-D39B-463F-8414-3C3C67CF727C}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1087,6 +1289,13 @@ Global
{ED82003F-FC5D-4E94-8B36-F480018ED064}.Debug|x64.Build.0 = Debug|x64
{ED82003F-FC5D-4E94-8B36-F480018ED064}.Debug|x86.ActiveCfg = Debug|Win32
{ED82003F-FC5D-4E94-8B36-F480018ED064}.Debug|x86.Build.0 = Debug|Win32
+ {ED82003F-FC5D-4E94-8B36-F480018ED064}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {ED82003F-FC5D-4E94-8B36-F480018ED064}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {ED82003F-FC5D-4E94-8B36-F480018ED064}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {ED82003F-FC5D-4E94-8B36-F480018ED064}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {ED82003F-FC5D-4E94-8B36-F480018ED064}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {ED82003F-FC5D-4E94-8B36-F480018ED064}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {ED82003F-FC5D-4E94-8B36-F480018ED064}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{ED82003F-FC5D-4E94-8B36-F480018ED064}.Release|Any CPU.ActiveCfg = Release|Win32
{ED82003F-FC5D-4E94-8B36-F480018ED064}.Release|ARM.ActiveCfg = Release|Win32
{ED82003F-FC5D-4E94-8B36-F480018ED064}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1114,6 +1323,14 @@ Global
{06EC74CB-9A12-429C-B551-8532EC964726}.Debug|x64.Build.0 = Debug|x64
{06EC74CB-9A12-429C-B551-8532EC964726}.Debug|x86.ActiveCfg = Debug|Win32
{06EC74CB-9A12-429C-B551-8532EC964726}.Debug|x86.Build.0 = Debug|Win32
+ {06EC74CB-9A12-429C-B551-8532EC964726}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8532EC964726}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8532EC964726}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {06EC74CB-9A12-429C-B551-8532EC964726}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8532EC964726}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8532EC964726}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {06EC74CB-9A12-429C-B551-8532EC964726}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {06EC74CB-9A12-429C-B551-8532EC964726}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{06EC74CB-9A12-429C-B551-8532EC964726}.Release|Any CPU.ActiveCfg = Release|Win32
{06EC74CB-9A12-429C-B551-8532EC964726}.Release|ARM.ActiveCfg = Release|Win32
{06EC74CB-9A12-429C-B551-8532EC964726}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1141,6 +1358,14 @@ Global
{ED82003F-FC5D-4E94-8B47-F480018ED064}.Debug|x64.Build.0 = Debug|x64
{ED82003F-FC5D-4E94-8B47-F480018ED064}.Debug|x86.ActiveCfg = Debug|Win32
{ED82003F-FC5D-4E94-8B47-F480018ED064}.Debug|x86.Build.0 = Debug|Win32
+ {ED82003F-FC5D-4E94-8B47-F480018ED064}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {ED82003F-FC5D-4E94-8B47-F480018ED064}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {ED82003F-FC5D-4E94-8B47-F480018ED064}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {ED82003F-FC5D-4E94-8B47-F480018ED064}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {ED82003F-FC5D-4E94-8B47-F480018ED064}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {ED82003F-FC5D-4E94-8B47-F480018ED064}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {ED82003F-FC5D-4E94-8B47-F480018ED064}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {ED82003F-FC5D-4E94-8B47-F480018ED064}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{ED82003F-FC5D-4E94-8B47-F480018ED064}.Release|Any CPU.ActiveCfg = Release|Win32
{ED82003F-FC5D-4E94-8B47-F480018ED064}.Release|ARM.ActiveCfg = Release|Win32
{ED82003F-FC5D-4E94-8B47-F480018ED064}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1168,6 +1393,14 @@ Global
{06EC74CB-9A12-429C-B551-8562EC964846}.Debug|x64.Build.0 = Debug|x64
{06EC74CB-9A12-429C-B551-8562EC964846}.Debug|x86.ActiveCfg = Debug|Win32
{06EC74CB-9A12-429C-B551-8562EC964846}.Debug|x86.Build.0 = Debug|Win32
+ {06EC74CB-9A12-429C-B551-8562EC964846}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8562EC964846}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8562EC964846}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {06EC74CB-9A12-429C-B551-8562EC964846}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8562EC964846}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {06EC74CB-9A12-429C-B551-8562EC964846}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {06EC74CB-9A12-429C-B551-8562EC964846}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {06EC74CB-9A12-429C-B551-8562EC964846}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{06EC74CB-9A12-429C-B551-8562EC964846}.Release|Any CPU.ActiveCfg = Release|Win32
{06EC74CB-9A12-429C-B551-8562EC964846}.Release|ARM.ActiveCfg = Release|Win32
{06EC74CB-9A12-429C-B551-8562EC964846}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1195,6 +1428,13 @@ Global
{D3B92829-26CB-411A-BDA2-7F5DA3D25DD4}.Debug|x64.Build.0 = Debug|x64
{D3B92829-26CB-411A-BDA2-7F5DA3D25DD4}.Debug|x86.ActiveCfg = Debug|Win32
{D3B92829-26CB-411A-BDA2-7F5DA3D25DD4}.Debug|x86.Build.0 = Debug|Win32
+ {D3B92829-26CB-411A-BDA2-7F5DA3D25DD4}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {D3B92829-26CB-411A-BDA2-7F5DA3D25DD4}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {D3B92829-26CB-411A-BDA2-7F5DA3D25DD4}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {D3B92829-26CB-411A-BDA2-7F5DA3D25DD4}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {D3B92829-26CB-411A-BDA2-7F5DA3D25DD4}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {D3B92829-26CB-411A-BDA2-7F5DA3D25DD4}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {D3B92829-26CB-411A-BDA2-7F5DA3D25DD4}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{D3B92829-26CB-411A-BDA2-7F5DA3D25DD4}.Release|Any CPU.ActiveCfg = Release|Win32
{D3B92829-26CB-411A-BDA2-7F5DA3D25DD4}.Release|ARM.ActiveCfg = Release|Win32
{D3B92829-26CB-411A-BDA2-7F5DA3D25DD4}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1222,6 +1462,13 @@ Global
{C7A6A5D9-60BE-4AEB-A5F6-AFE352F86CBB}.Debug|x64.Build.0 = Debug|x64
{C7A6A5D9-60BE-4AEB-A5F6-AFE352F86CBB}.Debug|x86.ActiveCfg = Debug|Win32
{C7A6A5D9-60BE-4AEB-A5F6-AFE352F86CBB}.Debug|x86.Build.0 = Debug|Win32
+ {C7A6A5D9-60BE-4AEB-A5F6-AFE352F86CBB}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {C7A6A5D9-60BE-4AEB-A5F6-AFE352F86CBB}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {C7A6A5D9-60BE-4AEB-A5F6-AFE352F86CBB}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {C7A6A5D9-60BE-4AEB-A5F6-AFE352F86CBB}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {C7A6A5D9-60BE-4AEB-A5F6-AFE352F86CBB}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {C7A6A5D9-60BE-4AEB-A5F6-AFE352F86CBB}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {C7A6A5D9-60BE-4AEB-A5F6-AFE352F86CBB}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{C7A6A5D9-60BE-4AEB-A5F6-AFE352F86CBB}.Release|Any CPU.ActiveCfg = Release|Win32
{C7A6A5D9-60BE-4AEB-A5F6-AFE352F86CBB}.Release|ARM.ActiveCfg = Release|Win32
{C7A6A5D9-60BE-4AEB-A5F6-AFE352F86CBB}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1249,6 +1496,14 @@ Global
{990F2657-8580-4828-943F-5DD657D11842}.Debug|x64.Build.0 = Debug|x64
{990F2657-8580-4828-943F-5DD657D11842}.Debug|x86.ActiveCfg = Debug|Win32
{990F2657-8580-4828-943F-5DD657D11842}.Debug|x86.Build.0 = Debug|Win32
+ {990F2657-8580-4828-943F-5DD657D11842}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {990F2657-8580-4828-943F-5DD657D11842}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {990F2657-8580-4828-943F-5DD657D11842}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {990F2657-8580-4828-943F-5DD657D11842}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {990F2657-8580-4828-943F-5DD657D11842}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {990F2657-8580-4828-943F-5DD657D11842}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {990F2657-8580-4828-943F-5DD657D11842}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {990F2657-8580-4828-943F-5DD657D11842}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{990F2657-8580-4828-943F-5DD657D11842}.Release|Any CPU.ActiveCfg = Release|Win32
{990F2657-8580-4828-943F-5DD657D11842}.Release|ARM.ActiveCfg = Release|Win32
{990F2657-8580-4828-943F-5DD657D11842}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1276,6 +1531,13 @@ Global
{814DBDDE-894E-4327-A6E1-740504850098}.Debug|x64.Build.0 = Debug|x64
{814DBDDE-894E-4327-A6E1-740504850098}.Debug|x86.ActiveCfg = Debug|Win32
{814DBDDE-894E-4327-A6E1-740504850098}.Debug|x86.Build.0 = Debug|Win32
+ {814DBDDE-894E-4327-A6E1-740504850098}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {814DBDDE-894E-4327-A6E1-740504850098}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {814DBDDE-894E-4327-A6E1-740504850098}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {814DBDDE-894E-4327-A6E1-740504850098}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {814DBDDE-894E-4327-A6E1-740504850098}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {814DBDDE-894E-4327-A6E1-740504850098}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {814DBDDE-894E-4327-A6E1-740504850098}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{814DBDDE-894E-4327-A6E1-740504850098}.Release|Any CPU.ActiveCfg = Release|Win32
{814DBDDE-894E-4327-A6E1-740504850098}.Release|ARM.ActiveCfg = Release|Win32
{814DBDDE-894E-4327-A6E1-740504850098}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1303,6 +1565,13 @@ Global
{814CBEEE-894E-4327-A6E1-740504850098}.Debug|x64.Build.0 = Debug|x64
{814CBEEE-894E-4327-A6E1-740504850098}.Debug|x86.ActiveCfg = Debug|Win32
{814CBEEE-894E-4327-A6E1-740504850098}.Debug|x86.Build.0 = Debug|Win32
+ {814CBEEE-894E-4327-A6E1-740504850098}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {814CBEEE-894E-4327-A6E1-740504850098}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {814CBEEE-894E-4327-A6E1-740504850098}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {814CBEEE-894E-4327-A6E1-740504850098}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {814CBEEE-894E-4327-A6E1-740504850098}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {814CBEEE-894E-4327-A6E1-740504850098}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {814CBEEE-894E-4327-A6E1-740504850098}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{814CBEEE-894E-4327-A6E1-740504850098}.Release|Any CPU.ActiveCfg = Release|Win32
{814CBEEE-894E-4327-A6E1-740504850098}.Release|ARM.ActiveCfg = Release|Win32
{814CBEEE-894E-4327-A6E1-740504850098}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1335,6 +1604,14 @@ Global
{18D09A24-8240-42D6-8CB6-236EEE820263}.Debug|x64.Build.0 = Debug|x64
{18D09A24-8240-42D6-8CB6-236EEE820263}.Debug|x86.ActiveCfg = Debug|Win32
{18D09A24-8240-42D6-8CB6-236EEE820263}.Debug|x86.Build.0 = Debug|Win32
+ {18D09A24-8240-42D6-8CB6-236EEE820263}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {18D09A24-8240-42D6-8CB6-236EEE820263}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {18D09A24-8240-42D6-8CB6-236EEE820263}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {18D09A24-8240-42D6-8CB6-236EEE820263}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {18D09A24-8240-42D6-8CB6-236EEE820263}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {18D09A24-8240-42D6-8CB6-236EEE820263}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {18D09A24-8240-42D6-8CB6-236EEE820263}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {18D09A24-8240-42D6-8CB6-236EEE820263}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{18D09A24-8240-42D6-8CB6-236EEE820263}.Release|Any CPU.ActiveCfg = Release|Win32
{18D09A24-8240-42D6-8CB6-236EEE820263}.Release|ARM.ActiveCfg = Release|Win32
{18D09A24-8240-42D6-8CB6-236EEE820263}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1364,6 +1641,13 @@ Global
{990F2657-8580-4828-943F-5DD657D11843}.Debug|x64.Build.0 = Debug|x64
{990F2657-8580-4828-943F-5DD657D11843}.Debug|x86.ActiveCfg = Debug|Win32
{990F2657-8580-4828-943F-5DD657D11843}.Debug|x86.Build.0 = Debug|Win32
+ {990F2657-8580-4828-943F-5DD657D11843}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {990F2657-8580-4828-943F-5DD657D11843}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {990F2657-8580-4828-943F-5DD657D11843}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {990F2657-8580-4828-943F-5DD657D11843}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {990F2657-8580-4828-943F-5DD657D11843}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {990F2657-8580-4828-943F-5DD657D11843}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {990F2657-8580-4828-943F-5DD657D11843}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{990F2657-8580-4828-943F-5DD657D11843}.Release|Any CPU.ActiveCfg = Release|Win32
{990F2657-8580-4828-943F-5DD657D11843}.Release|ARM.ActiveCfg = Release|Win32
{990F2657-8580-4828-943F-5DD657D11843}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1396,6 +1680,14 @@ Global
{0CF235BD-2DA0-407E-90EE-C467E8BBC714}.Debug|x64.Build.0 = Debug|x64
{0CF235BD-2DA0-407E-90EE-C467E8BBC714}.Debug|x86.ActiveCfg = Debug|Win32
{0CF235BD-2DA0-407E-90EE-C467E8BBC714}.Debug|x86.Build.0 = Debug|Win32
+ {0CF235BD-2DA0-407E-90EE-C467E8BBC714}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {0CF235BD-2DA0-407E-90EE-C467E8BBC714}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {0CF235BD-2DA0-407E-90EE-C467E8BBC714}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {0CF235BD-2DA0-407E-90EE-C467E8BBC714}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {0CF235BD-2DA0-407E-90EE-C467E8BBC714}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {0CF235BD-2DA0-407E-90EE-C467E8BBC714}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {0CF235BD-2DA0-407E-90EE-C467E8BBC714}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {0CF235BD-2DA0-407E-90EE-C467E8BBC714}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{0CF235BD-2DA0-407E-90EE-C467E8BBC714}.Release|Any CPU.ActiveCfg = Release|Win32
{0CF235BD-2DA0-407E-90EE-C467E8BBC714}.Release|ARM.ActiveCfg = Release|Win32
{0CF235BD-2DA0-407E-90EE-C467E8BBC714}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1430,6 +1722,14 @@ Global
{48D21369-3D7B-4431-9967-24E81292CF62}.Debug|x64.Build.0 = Debug|x64
{48D21369-3D7B-4431-9967-24E81292CF62}.Debug|x86.ActiveCfg = Debug|Win32
{48D21369-3D7B-4431-9967-24E81292CF62}.Debug|x86.Build.0 = Debug|Win32
+ {48D21369-3D7B-4431-9967-24E81292CF62}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {48D21369-3D7B-4431-9967-24E81292CF62}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {48D21369-3D7B-4431-9967-24E81292CF62}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {48D21369-3D7B-4431-9967-24E81292CF62}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {48D21369-3D7B-4431-9967-24E81292CF62}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {48D21369-3D7B-4431-9967-24E81292CF62}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {48D21369-3D7B-4431-9967-24E81292CF62}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {48D21369-3D7B-4431-9967-24E81292CF62}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{48D21369-3D7B-4431-9967-24E81292CF62}.Release|Any CPU.ActiveCfg = Release|Win32
{48D21369-3D7B-4431-9967-24E81292CF62}.Release|ARM.ActiveCfg = Release|Win32
{48D21369-3D7B-4431-9967-24E81292CF62}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1460,6 +1760,13 @@ Global
{CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}.Debug|x64.Build.0 = Debug|x64
{CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}.Debug|x86.ActiveCfg = Debug|Win32
{CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}.Debug|x86.Build.0 = Debug|Win32
+ {CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}.Release|Any CPU.ActiveCfg = Release|Win32
{CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}.Release|ARM.ActiveCfg = Release|Win32
{CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1490,6 +1797,13 @@ Global
{CA5CAD1A-ABCD-429C-B551-8562EC954746}.Debug|x64.Build.0 = Debug|x64
{CA5CAD1A-ABCD-429C-B551-8562EC954746}.Debug|x86.ActiveCfg = Debug|Win32
{CA5CAD1A-ABCD-429C-B551-8562EC954746}.Debug|x86.Build.0 = Debug|Win32
+ {CA5CAD1A-ABCD-429C-B551-8562EC954746}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-ABCD-429C-B551-8562EC954746}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-ABCD-429C-B551-8562EC954746}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {CA5CAD1A-ABCD-429C-B551-8562EC954746}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-ABCD-429C-B551-8562EC954746}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-ABCD-429C-B551-8562EC954746}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {CA5CAD1A-ABCD-429C-B551-8562EC954746}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{CA5CAD1A-ABCD-429C-B551-8562EC954746}.Release|Any CPU.ActiveCfg = Release|Win32
{CA5CAD1A-ABCD-429C-B551-8562EC954746}.Release|ARM.ActiveCfg = Release|Win32
{CA5CAD1A-ABCD-429C-B551-8562EC954746}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1519,6 +1833,13 @@ Global
{CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}.Debug|x64.Build.0 = Debug|x64
{CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}.Debug|x86.ActiveCfg = Debug|Win32
{CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}.Debug|x86.Build.0 = Debug|Win32
+ {CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}.Release|Any CPU.ActiveCfg = Release|Win32
{CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}.Release|ARM.ActiveCfg = Release|Win32
{CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1546,6 +1867,13 @@ Global
{CA5CAD1A-F542-4635-A069-7CAEFB930070}.Debug|x64.Build.0 = Debug|x64
{CA5CAD1A-F542-4635-A069-7CAEFB930070}.Debug|x86.ActiveCfg = Debug|Win32
{CA5CAD1A-F542-4635-A069-7CAEFB930070}.Debug|x86.Build.0 = Debug|Win32
+ {CA5CAD1A-F542-4635-A069-7CAEFB930070}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-F542-4635-A069-7CAEFB930070}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-F542-4635-A069-7CAEFB930070}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {CA5CAD1A-F542-4635-A069-7CAEFB930070}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-F542-4635-A069-7CAEFB930070}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-F542-4635-A069-7CAEFB930070}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {CA5CAD1A-F542-4635-A069-7CAEFB930070}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{CA5CAD1A-F542-4635-A069-7CAEFB930070}.Release|Any CPU.ActiveCfg = Release|Win32
{CA5CAD1A-F542-4635-A069-7CAEFB930070}.Release|ARM.ActiveCfg = Release|Win32
{CA5CAD1A-F542-4635-A069-7CAEFB930070}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1573,6 +1901,13 @@ Global
{CA5CAD1A-1754-4A9D-93D7-857A9D17CB1B}.Debug|x64.Build.0 = Debug|x64
{CA5CAD1A-1754-4A9D-93D7-857A9D17CB1B}.Debug|x86.ActiveCfg = Debug|Win32
{CA5CAD1A-1754-4A9D-93D7-857A9D17CB1B}.Debug|x86.Build.0 = Debug|Win32
+ {CA5CAD1A-1754-4A9D-93D7-857A9D17CB1B}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-1754-4A9D-93D7-857A9D17CB1B}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-1754-4A9D-93D7-857A9D17CB1B}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {CA5CAD1A-1754-4A9D-93D7-857A9D17CB1B}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-1754-4A9D-93D7-857A9D17CB1B}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-1754-4A9D-93D7-857A9D17CB1B}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {CA5CAD1A-1754-4A9D-93D7-857A9D17CB1B}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{CA5CAD1A-1754-4A9D-93D7-857A9D17CB1B}.Release|Any CPU.ActiveCfg = Release|Win32
{CA5CAD1A-1754-4A9D-93D7-857A9D17CB1B}.Release|ARM.ActiveCfg = Release|Win32
{CA5CAD1A-1754-4A9D-93D7-857A9D17CB1B}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1600,6 +1935,13 @@ Global
{CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12}.Debug|x64.Build.0 = Debug|x64
{CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12}.Debug|x86.ActiveCfg = Debug|Win32
{CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12}.Debug|x86.Build.0 = Debug|Win32
+ {CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12}.Release|Any CPU.ActiveCfg = Release|Win32
{CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12}.Release|ARM.ActiveCfg = Release|Win32
{CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1628,6 +1970,13 @@ Global
{F2ED628A-DB22-446F-A081-4CC845B51A2B}.Debug|x64.Build.0 = Debug|x64
{F2ED628A-DB22-446F-A081-4CC845B51A2B}.Debug|x86.ActiveCfg = Debug|Win32
{F2ED628A-DB22-446F-A081-4CC845B51A2B}.Debug|x86.Build.0 = Debug|Win32
+ {F2ED628A-DB22-446F-A081-4CC845B51A2B}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {F2ED628A-DB22-446F-A081-4CC845B51A2B}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {F2ED628A-DB22-446F-A081-4CC845B51A2B}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {F2ED628A-DB22-446F-A081-4CC845B51A2B}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {F2ED628A-DB22-446F-A081-4CC845B51A2B}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {F2ED628A-DB22-446F-A081-4CC845B51A2B}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {F2ED628A-DB22-446F-A081-4CC845B51A2B}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{F2ED628A-DB22-446F-A081-4CC845B51A2B}.Release|Any CPU.ActiveCfg = Release|Win32
{F2ED628A-DB22-446F-A081-4CC845B51A2B}.Release|ARM.ActiveCfg = Release|Win32
{F2ED628A-DB22-446F-A081-4CC845B51A2B}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1655,6 +2004,13 @@ Global
{2C2BEEF4-9333-4D05-B12A-1905CBF112F9}.Debug|x64.Build.0 = Debug|x64
{2C2BEEF4-9333-4D05-B12A-1905CBF112F9}.Debug|x86.ActiveCfg = Debug|Win32
{2C2BEEF4-9333-4D05-B12A-1905CBF112F9}.Debug|x86.Build.0 = Debug|Win32
+ {2C2BEEF4-9333-4D05-B12A-1905CBF112F9}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {2C2BEEF4-9333-4D05-B12A-1905CBF112F9}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {2C2BEEF4-9333-4D05-B12A-1905CBF112F9}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {2C2BEEF4-9333-4D05-B12A-1905CBF112F9}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {2C2BEEF4-9333-4D05-B12A-1905CBF112F9}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {2C2BEEF4-9333-4D05-B12A-1905CBF112F9}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {2C2BEEF4-9333-4D05-B12A-1905CBF112F9}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{2C2BEEF4-9333-4D05-B12A-1905CBF112F9}.Release|Any CPU.ActiveCfg = Release|Win32
{2C2BEEF4-9333-4D05-B12A-1905CBF112F9}.Release|ARM.ActiveCfg = Release|Win32
{2C2BEEF4-9333-4D05-B12A-1905CBF112F9}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1685,6 +2041,14 @@ Global
{EF3E32A7-5FF6-42B4-B6E2-96CD7D033F00}.Debug|x64.Build.0 = Debug|x64
{EF3E32A7-5FF6-42B4-B6E2-96CD7D033F00}.Debug|x86.ActiveCfg = Debug|Win32
{EF3E32A7-5FF6-42B4-B6E2-96CD7D033F00}.Debug|x86.Build.0 = Debug|Win32
+ {EF3E32A7-5FF6-42B4-B6E2-96CD7D033F00}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {EF3E32A7-5FF6-42B4-B6E2-96CD7D033F00}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {EF3E32A7-5FF6-42B4-B6E2-96CD7D033F00}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {EF3E32A7-5FF6-42B4-B6E2-96CD7D033F00}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {EF3E32A7-5FF6-42B4-B6E2-96CD7D033F00}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {EF3E32A7-5FF6-42B4-B6E2-96CD7D033F00}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {EF3E32A7-5FF6-42B4-B6E2-96CD7D033F00}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {EF3E32A7-5FF6-42B4-B6E2-96CD7D033F00}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{EF3E32A7-5FF6-42B4-B6E2-96CD7D033F00}.Release|Any CPU.ActiveCfg = Release|Win32
{EF3E32A7-5FF6-42B4-B6E2-96CD7D033F00}.Release|ARM.ActiveCfg = Release|Win32
{EF3E32A7-5FF6-42B4-B6E2-96CD7D033F00}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1712,6 +2076,13 @@ Global
{34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Debug|x64.Build.0 = Debug|x64
{34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Debug|x86.ActiveCfg = Debug|Win32
{34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Debug|x86.Build.0 = Debug|Win32
+ {34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Release|Any CPU.ActiveCfg = Release|Win32
{34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Release|ARM.ActiveCfg = Release|Win32
{34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1742,6 +2113,13 @@ Global
{84848BFA-931D-42CE-9ADF-01EE54DE7890}.Debug|x64.Build.0 = Debug|x64
{84848BFA-931D-42CE-9ADF-01EE54DE7890}.Debug|x86.ActiveCfg = Debug|Win32
{84848BFA-931D-42CE-9ADF-01EE54DE7890}.Debug|x86.Build.0 = Debug|Win32
+ {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{84848BFA-931D-42CE-9ADF-01EE54DE7890}.Release|Any CPU.ActiveCfg = Release|Win32
{84848BFA-931D-42CE-9ADF-01EE54DE7890}.Release|ARM.ActiveCfg = Release|Win32
{84848BFA-931D-42CE-9ADF-01EE54DE7890}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1775,6 +2153,13 @@ Global
{376FE273-6B84-4EB5-8B30-8DE9D21B022C}.Debug|DotNet_x86Test.Build.0 = Debug|Any CPU
{376FE273-6B84-4EB5-8B30-8DE9D21B022C}.Debug|x64.ActiveCfg = Debug|Any CPU
{376FE273-6B84-4EB5-8B30-8DE9D21B022C}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {376FE273-6B84-4EB5-8B30-8DE9D21B022C}.Fuzzing|Any CPU.ActiveCfg = Debug|Any CPU
+ {376FE273-6B84-4EB5-8B30-8DE9D21B022C}.Fuzzing|ARM.ActiveCfg = Debug|Any CPU
+ {376FE273-6B84-4EB5-8B30-8DE9D21B022C}.Fuzzing|ARM64.ActiveCfg = Fuzzing|Any CPU
+ {376FE273-6B84-4EB5-8B30-8DE9D21B022C}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Any CPU
+ {376FE273-6B84-4EB5-8B30-8DE9D21B022C}.Fuzzing|DotNet_x86Test.ActiveCfg = Debug|Any CPU
+ {376FE273-6B84-4EB5-8B30-8DE9D21B022C}.Fuzzing|x64.ActiveCfg = Debug|Any CPU
+ {376FE273-6B84-4EB5-8B30-8DE9D21B022C}.Fuzzing|x86.ActiveCfg = Fuzzing|Any CPU
{376FE273-6B84-4EB5-8B30-8DE9D21B022C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{376FE273-6B84-4EB5-8B30-8DE9D21B022C}.Release|Any CPU.Build.0 = Release|Any CPU
{376FE273-6B84-4EB5-8B30-8DE9D21B022C}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1803,6 +2188,13 @@ Global
{CA5CAD1A-9333-4D05-B12A-1905CBF112F9}.Debug|x64.Build.0 = Debug|x64
{CA5CAD1A-9333-4D05-B12A-1905CBF112F9}.Debug|x86.ActiveCfg = Debug|Win32
{CA5CAD1A-9333-4D05-B12A-1905CBF112F9}.Debug|x86.Build.0 = Debug|Win32
+ {CA5CAD1A-9333-4D05-B12A-1905CBF112F9}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-9333-4D05-B12A-1905CBF112F9}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-9333-4D05-B12A-1905CBF112F9}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {CA5CAD1A-9333-4D05-B12A-1905CBF112F9}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-9333-4D05-B12A-1905CBF112F9}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-9333-4D05-B12A-1905CBF112F9}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {CA5CAD1A-9333-4D05-B12A-1905CBF112F9}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{CA5CAD1A-9333-4D05-B12A-1905CBF112F9}.Release|Any CPU.ActiveCfg = Release|Win32
{CA5CAD1A-9333-4D05-B12A-1905CBF112F9}.Release|ARM.ActiveCfg = Release|Win32
{CA5CAD1A-9333-4D05-B12A-1905CBF112F9}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1830,6 +2222,13 @@ Global
{CA5CAD1A-9A12-429C-B551-8562EC954746}.Debug|x64.Build.0 = Debug|x64
{CA5CAD1A-9A12-429C-B551-8562EC954746}.Debug|x86.ActiveCfg = Debug|Win32
{CA5CAD1A-9A12-429C-B551-8562EC954746}.Debug|x86.Build.0 = Debug|Win32
+ {CA5CAD1A-9A12-429C-B551-8562EC954746}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-9A12-429C-B551-8562EC954746}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-9A12-429C-B551-8562EC954746}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {CA5CAD1A-9A12-429C-B551-8562EC954746}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-9A12-429C-B551-8562EC954746}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-9A12-429C-B551-8562EC954746}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {CA5CAD1A-9A12-429C-B551-8562EC954746}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{CA5CAD1A-9A12-429C-B551-8562EC954746}.Release|Any CPU.ActiveCfg = Release|Win32
{CA5CAD1A-9A12-429C-B551-8562EC954746}.Release|ARM.ActiveCfg = Release|Win32
{CA5CAD1A-9A12-429C-B551-8562EC954746}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1857,6 +2256,13 @@ Global
{CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506}.Debug|x64.Build.0 = Debug|x64
{CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506}.Debug|x86.ActiveCfg = Debug|Win32
{CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506}.Debug|x86.Build.0 = Debug|Win32
+ {CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506}.Release|Any CPU.ActiveCfg = Release|Win32
{CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506}.Release|ARM.ActiveCfg = Release|Win32
{CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1887,6 +2293,13 @@ Global
{48D21369-3D7B-4431-9967-24E81292CF63}.Debug|x64.Build.0 = Debug|x64
{48D21369-3D7B-4431-9967-24E81292CF63}.Debug|x86.ActiveCfg = Debug|Win32
{48D21369-3D7B-4431-9967-24E81292CF63}.Debug|x86.Build.0 = Debug|Win32
+ {48D21369-3D7B-4431-9967-24E81292CF63}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {48D21369-3D7B-4431-9967-24E81292CF63}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {48D21369-3D7B-4431-9967-24E81292CF63}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {48D21369-3D7B-4431-9967-24E81292CF63}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {48D21369-3D7B-4431-9967-24E81292CF63}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {48D21369-3D7B-4431-9967-24E81292CF63}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {48D21369-3D7B-4431-9967-24E81292CF63}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{48D21369-3D7B-4431-9967-24E81292CF63}.Release|Any CPU.ActiveCfg = Release|Win32
{48D21369-3D7B-4431-9967-24E81292CF63}.Release|ARM.ActiveCfg = Release|Win32
{48D21369-3D7B-4431-9967-24E81292CF63}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1915,6 +2328,13 @@ Global
{CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE}.Debug|x64.Build.0 = Debug|x64
{CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE}.Debug|x86.ActiveCfg = Debug|Win32
{CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE}.Debug|x86.Build.0 = Debug|Win32
+ {CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE}.Release|Any CPU.ActiveCfg = Release|Win32
{CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE}.Release|ARM.ActiveCfg = Release|Win32
{CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1949,6 +2369,13 @@ Global
{B0AC39D6-7B40-49A9-8202-58549BAE1FB1}.Debug|x86.ActiveCfg = Debug|Win32
{B0AC39D6-7B40-49A9-8202-58549BAE1FB1}.Debug|x86.Build.0 = Debug|Win32
{B0AC39D6-7B40-49A9-8202-58549BAE1FB1}.Debug|x86.Deploy.0 = Debug|Win32
+ {B0AC39D6-7B40-49A9-8202-58549BAE1FB1}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {B0AC39D6-7B40-49A9-8202-58549BAE1FB1}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {B0AC39D6-7B40-49A9-8202-58549BAE1FB1}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {B0AC39D6-7B40-49A9-8202-58549BAE1FB1}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {B0AC39D6-7B40-49A9-8202-58549BAE1FB1}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {B0AC39D6-7B40-49A9-8202-58549BAE1FB1}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {B0AC39D6-7B40-49A9-8202-58549BAE1FB1}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{B0AC39D6-7B40-49A9-8202-58549BAE1FB1}.Release|Any CPU.ActiveCfg = Release|Win32
{B0AC39D6-7B40-49A9-8202-58549BAE1FB1}.Release|ARM.ActiveCfg = Release|Win32
{B0AC39D6-7B40-49A9-8202-58549BAE1FB1}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -1982,6 +2409,13 @@ Global
{58A03BB2-DF5A-4B66-91A0-7EF3BA01269A}.Debug|x64.Build.0 = Debug|x64
{58A03BB2-DF5A-4B66-91A0-7EF3BA01269A}.Debug|x86.ActiveCfg = Debug|Win32
{58A03BB2-DF5A-4B66-91A0-7EF3BA01269A}.Debug|x86.Build.0 = Debug|Win32
+ {58A03BB2-DF5A-4B66-91A0-7EF3BA01269A}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {58A03BB2-DF5A-4B66-91A0-7EF3BA01269A}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {58A03BB2-DF5A-4B66-91A0-7EF3BA01269A}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {58A03BB2-DF5A-4B66-91A0-7EF3BA01269A}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {58A03BB2-DF5A-4B66-91A0-7EF3BA01269A}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {58A03BB2-DF5A-4B66-91A0-7EF3BA01269A}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {58A03BB2-DF5A-4B66-91A0-7EF3BA01269A}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{58A03BB2-DF5A-4B66-91A0-7EF3BA01269A}.Release|Any CPU.ActiveCfg = Release|Win32
{58A03BB2-DF5A-4B66-91A0-7EF3BA01269A}.Release|ARM.ActiveCfg = Release|Win32
{58A03BB2-DF5A-4B66-91A0-7EF3BA01269A}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2011,6 +2445,13 @@ Global
{A22EC5F6-7851-4B88-AC52-47249D437A52}.Debug|x64.Build.0 = Debug|x64
{A22EC5F6-7851-4B88-AC52-47249D437A52}.Debug|x86.ActiveCfg = Debug|Win32
{A22EC5F6-7851-4B88-AC52-47249D437A52}.Debug|x86.Build.0 = Debug|Win32
+ {A22EC5F6-7851-4B88-AC52-47249D437A52}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {A22EC5F6-7851-4B88-AC52-47249D437A52}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {A22EC5F6-7851-4B88-AC52-47249D437A52}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {A22EC5F6-7851-4B88-AC52-47249D437A52}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {A22EC5F6-7851-4B88-AC52-47249D437A52}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {A22EC5F6-7851-4B88-AC52-47249D437A52}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {A22EC5F6-7851-4B88-AC52-47249D437A52}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{A22EC5F6-7851-4B88-AC52-47249D437A52}.Release|Any CPU.ActiveCfg = Release|Win32
{A22EC5F6-7851-4B88-AC52-47249D437A52}.Release|ARM.ActiveCfg = Release|Win32
{A22EC5F6-7851-4B88-AC52-47249D437A52}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2041,6 +2482,13 @@ Global
{A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Debug|x86.ActiveCfg = Debug|Win32
{A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Debug|x86.Build.0 = Debug|Win32
{A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Debug|x86.Deploy.0 = Debug|Win32
+ {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Release|Any CPU.ActiveCfg = Release|Win32
{A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Release|ARM.ActiveCfg = Release|Win32
{A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2073,6 +2521,13 @@ Global
{767268EE-174A-46FE-96F0-EEE698A1BBC9}.Debug|x64.Build.0 = Debug|x64
{767268EE-174A-46FE-96F0-EEE698A1BBC9}.Debug|x86.ActiveCfg = Debug|Win32
{767268EE-174A-46FE-96F0-EEE698A1BBC9}.Debug|x86.Build.0 = Debug|Win32
+ {767268EE-174A-46FE-96F0-EEE698A1BBC9}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {767268EE-174A-46FE-96F0-EEE698A1BBC9}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {767268EE-174A-46FE-96F0-EEE698A1BBC9}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {767268EE-174A-46FE-96F0-EEE698A1BBC9}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {767268EE-174A-46FE-96F0-EEE698A1BBC9}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {767268EE-174A-46FE-96F0-EEE698A1BBC9}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {767268EE-174A-46FE-96F0-EEE698A1BBC9}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{767268EE-174A-46FE-96F0-EEE698A1BBC9}.Release|Any CPU.ActiveCfg = Release|Win32
{767268EE-174A-46FE-96F0-EEE698A1BBC9}.Release|ARM.ActiveCfg = Release|Win32
{767268EE-174A-46FE-96F0-EEE698A1BBC9}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2103,6 +2558,13 @@ Global
{A602A555-BAAC-46E1-A91D-3DAB0475C5A1}.Debug|x64.Build.0 = Debug|x64
{A602A555-BAAC-46E1-A91D-3DAB0475C5A1}.Debug|x86.ActiveCfg = Debug|Win32
{A602A555-BAAC-46E1-A91D-3DAB0475C5A1}.Debug|x86.Build.0 = Debug|Win32
+ {A602A555-BAAC-46E1-A91D-3DAB0475C5A1}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {A602A555-BAAC-46E1-A91D-3DAB0475C5A1}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {A602A555-BAAC-46E1-A91D-3DAB0475C5A1}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {A602A555-BAAC-46E1-A91D-3DAB0475C5A1}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {A602A555-BAAC-46E1-A91D-3DAB0475C5A1}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {A602A555-BAAC-46E1-A91D-3DAB0475C5A1}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {A602A555-BAAC-46E1-A91D-3DAB0475C5A1}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{A602A555-BAAC-46E1-A91D-3DAB0475C5A1}.Release|Any CPU.ActiveCfg = Release|Win32
{A602A555-BAAC-46E1-A91D-3DAB0475C5A1}.Release|ARM.ActiveCfg = Release|Win32
{A602A555-BAAC-46E1-A91D-3DAB0475C5A1}.Release|ARM64.ActiveCfg = Release|Win32
@@ -2131,6 +2593,13 @@ Global
{95B136F9-B238-490C-A7C5-5843C1FECAC4}.Debug|x64.Build.0 = Debug|x64
{95B136F9-B238-490C-A7C5-5843C1FECAC4}.Debug|x86.ActiveCfg = Debug|Win32
{95B136F9-B238-490C-A7C5-5843C1FECAC4}.Debug|x86.Build.0 = Debug|Win32
+ {95B136F9-B238-490C-A7C5-5843C1FECAC4}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {95B136F9-B238-490C-A7C5-5843C1FECAC4}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {95B136F9-B238-490C-A7C5-5843C1FECAC4}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {95B136F9-B238-490C-A7C5-5843C1FECAC4}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {95B136F9-B238-490C-A7C5-5843C1FECAC4}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {95B136F9-B238-490C-A7C5-5843C1FECAC4}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {95B136F9-B238-490C-A7C5-5843C1FECAC4}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{95B136F9-B238-490C-A7C5-5843C1FECAC4}.Release|Any CPU.ActiveCfg = Release|Win32
{95B136F9-B238-490C-A7C5-5843C1FECAC4}.Release|ARM.ActiveCfg = Release|Win32
{95B136F9-B238-490C-A7C5-5843C1FECAC4}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2160,6 +2629,13 @@ Global
{024052DE-83FB-4653-AEA4-90790D29D5BD}.Debug|x64.Build.0 = Debug|x64
{024052DE-83FB-4653-AEA4-90790D29D5BD}.Debug|x86.ActiveCfg = Debug|Win32
{024052DE-83FB-4653-AEA4-90790D29D5BD}.Debug|x86.Build.0 = Debug|Win32
+ {024052DE-83FB-4653-AEA4-90790D29D5BD}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {024052DE-83FB-4653-AEA4-90790D29D5BD}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {024052DE-83FB-4653-AEA4-90790D29D5BD}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {024052DE-83FB-4653-AEA4-90790D29D5BD}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {024052DE-83FB-4653-AEA4-90790D29D5BD}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {024052DE-83FB-4653-AEA4-90790D29D5BD}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {024052DE-83FB-4653-AEA4-90790D29D5BD}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{024052DE-83FB-4653-AEA4-90790D29D5BD}.Release|Any CPU.ActiveCfg = Release|Win32
{024052DE-83FB-4653-AEA4-90790D29D5BD}.Release|ARM.ActiveCfg = Release|Win32
{024052DE-83FB-4653-AEA4-90790D29D5BD}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2189,6 +2665,13 @@ Global
{067F0A06-FCB7-472C-96E9-B03B54E8E18D}.Debug|x64.Build.0 = Debug|x64
{067F0A06-FCB7-472C-96E9-B03B54E8E18D}.Debug|x86.ActiveCfg = Debug|Win32
{067F0A06-FCB7-472C-96E9-B03B54E8E18D}.Debug|x86.Build.0 = Debug|Win32
+ {067F0A06-FCB7-472C-96E9-B03B54E8E18D}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {067F0A06-FCB7-472C-96E9-B03B54E8E18D}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {067F0A06-FCB7-472C-96E9-B03B54E8E18D}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {067F0A06-FCB7-472C-96E9-B03B54E8E18D}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {067F0A06-FCB7-472C-96E9-B03B54E8E18D}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {067F0A06-FCB7-472C-96E9-B03B54E8E18D}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {067F0A06-FCB7-472C-96E9-B03B54E8E18D}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{067F0A06-FCB7-472C-96E9-B03B54E8E18D}.Release|Any CPU.ActiveCfg = Release|Win32
{067F0A06-FCB7-472C-96E9-B03B54E8E18D}.Release|ARM.ActiveCfg = Release|Win32
{067F0A06-FCB7-472C-96E9-B03B54E8E18D}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2221,6 +2704,14 @@ Global
{6BAE5851-50D5-4934-8D5E-30361A8A40F3}.Debug|x64.Build.0 = Debug|x64
{6BAE5851-50D5-4934-8D5E-30361A8A40F3}.Debug|x86.ActiveCfg = Debug|Win32
{6BAE5851-50D5-4934-8D5E-30361A8A40F3}.Debug|x86.Build.0 = Debug|Win32
+ {6BAE5851-50D5-4934-8D5E-30361A8A40F3}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {6BAE5851-50D5-4934-8D5E-30361A8A40F3}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {6BAE5851-50D5-4934-8D5E-30361A8A40F3}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {6BAE5851-50D5-4934-8D5E-30361A8A40F3}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {6BAE5851-50D5-4934-8D5E-30361A8A40F3}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {6BAE5851-50D5-4934-8D5E-30361A8A40F3}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {6BAE5851-50D5-4934-8D5E-30361A8A40F3}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {6BAE5851-50D5-4934-8D5E-30361A8A40F3}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{6BAE5851-50D5-4934-8D5E-30361A8A40F3}.Release|Any CPU.ActiveCfg = Release|Win32
{6BAE5851-50D5-4934-8D5E-30361A8A40F3}.Release|ARM.ActiveCfg = Release|Win32
{6BAE5851-50D5-4934-8D5E-30361A8A40F3}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2251,6 +2742,13 @@ Global
{1588FD7C-241E-4E7D-9113-43735F3E6BAD}.Debug|DotNet_x86Test.Build.0 = Debug|x86
{1588FD7C-241E-4E7D-9113-43735F3E6BAD}.Debug|x64.ActiveCfg = Debug|Any CPU
{1588FD7C-241E-4E7D-9113-43735F3E6BAD}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {1588FD7C-241E-4E7D-9113-43735F3E6BAD}.Fuzzing|Any CPU.ActiveCfg = Debug|Any CPU
+ {1588FD7C-241E-4E7D-9113-43735F3E6BAD}.Fuzzing|ARM.ActiveCfg = Debug|Any CPU
+ {1588FD7C-241E-4E7D-9113-43735F3E6BAD}.Fuzzing|ARM64.ActiveCfg = Fuzzing|Any CPU
+ {1588FD7C-241E-4E7D-9113-43735F3E6BAD}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Any CPU
+ {1588FD7C-241E-4E7D-9113-43735F3E6BAD}.Fuzzing|DotNet_x86Test.ActiveCfg = Debug|Any CPU
+ {1588FD7C-241E-4E7D-9113-43735F3E6BAD}.Fuzzing|x64.ActiveCfg = Debug|x64
+ {1588FD7C-241E-4E7D-9113-43735F3E6BAD}.Fuzzing|x86.ActiveCfg = Fuzzing|x86
{1588FD7C-241E-4E7D-9113-43735F3E6BAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1588FD7C-241E-4E7D-9113-43735F3E6BAD}.Release|ARM.ActiveCfg = Release|Any CPU
{1588FD7C-241E-4E7D-9113-43735F3E6BAD}.Release|ARM.Build.0 = Release|Any CPU
@@ -2281,6 +2779,13 @@ Global
{506FD703-BAA7-4F6E-9361-64F550EC8FCA}.Debug|x64.Build.0 = Debug|x64
{506FD703-BAA7-4F6E-9361-64F550EC8FCA}.Debug|x86.ActiveCfg = Debug|Win32
{506FD703-BAA7-4F6E-9361-64F550EC8FCA}.Debug|x86.Build.0 = Debug|Win32
+ {506FD703-BAA7-4F6E-9361-64F550EC8FCA}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {506FD703-BAA7-4F6E-9361-64F550EC8FCA}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {506FD703-BAA7-4F6E-9361-64F550EC8FCA}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {506FD703-BAA7-4F6E-9361-64F550EC8FCA}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {506FD703-BAA7-4F6E-9361-64F550EC8FCA}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {506FD703-BAA7-4F6E-9361-64F550EC8FCA}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {506FD703-BAA7-4F6E-9361-64F550EC8FCA}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{506FD703-BAA7-4F6E-9361-64F550EC8FCA}.Release|Any CPU.ActiveCfg = Release|Win32
{506FD703-BAA7-4F6E-9361-64F550EC8FCA}.Release|ARM.ActiveCfg = Release|Win32
{506FD703-BAA7-4F6E-9361-64F550EC8FCA}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2321,6 +2826,13 @@ Global
{CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}.Debug|x86.ActiveCfg = Debug|Win32
{CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}.Debug|x86.Build.0 = Debug|Win32
{CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}.Debug|x86.Deploy.0 = Debug|Win32
+ {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}.Release|Any CPU.ActiveCfg = Release|Win32
{CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}.Release|ARM.ActiveCfg = Release|Win32
{CA5CAD1A-0B5E-45C3-96A8-BB496BFE4E32}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2352,6 +2864,13 @@ Global
{CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907}.Debug|x64.Build.0 = Debug|x64
{CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907}.Debug|x86.ActiveCfg = Debug|Win32
{CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907}.Debug|x86.Build.0 = Debug|Win32
+ {CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907}.Release|Any CPU.ActiveCfg = Release|Win32
{CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907}.Release|ARM.ActiveCfg = Release|Win32
{CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2381,6 +2900,13 @@ Global
{CA5CAD1A-082C-4476-9F33-94B339494076}.Debug|x64.Build.0 = Debug|x64
{CA5CAD1A-082C-4476-9F33-94B339494076}.Debug|x86.ActiveCfg = Debug|Win32
{CA5CAD1A-082C-4476-9F33-94B339494076}.Debug|x86.Build.0 = Debug|Win32
+ {CA5CAD1A-082C-4476-9F33-94B339494076}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-082C-4476-9F33-94B339494076}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-082C-4476-9F33-94B339494076}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {CA5CAD1A-082C-4476-9F33-94B339494076}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-082C-4476-9F33-94B339494076}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-082C-4476-9F33-94B339494076}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {CA5CAD1A-082C-4476-9F33-94B339494076}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{CA5CAD1A-082C-4476-9F33-94B339494076}.Release|Any CPU.ActiveCfg = Release|Win32
{CA5CAD1A-082C-4476-9F33-94B339494076}.Release|ARM.ActiveCfg = Release|Win32
{CA5CAD1A-082C-4476-9F33-94B339494076}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2410,6 +2936,13 @@ Global
{CA5CAD1A-9B68-456A-B13E-C8218070DC42}.Debug|x64.Build.0 = Debug|x64
{CA5CAD1A-9B68-456A-B13E-C8218070DC42}.Debug|x86.ActiveCfg = Debug|Win32
{CA5CAD1A-9B68-456A-B13E-C8218070DC42}.Debug|x86.Build.0 = Debug|Win32
+ {CA5CAD1A-9B68-456A-B13E-C8218070DC42}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-9B68-456A-B13E-C8218070DC42}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-9B68-456A-B13E-C8218070DC42}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {CA5CAD1A-9B68-456A-B13E-C8218070DC42}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-9B68-456A-B13E-C8218070DC42}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {CA5CAD1A-9B68-456A-B13E-C8218070DC42}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {CA5CAD1A-9B68-456A-B13E-C8218070DC42}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{CA5CAD1A-9B68-456A-B13E-C8218070DC42}.Release|Any CPU.ActiveCfg = Release|Win32
{CA5CAD1A-9B68-456A-B13E-C8218070DC42}.Release|ARM.ActiveCfg = Release|Win32
{CA5CAD1A-9B68-456A-B13E-C8218070DC42}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2437,6 +2970,13 @@ Global
{21B7EA5E-1EF8-49B6-AC07-11714AF0E37D}.Debug|x64.Build.0 = Debug|x64
{21B7EA5E-1EF8-49B6-AC07-11714AF0E37D}.Debug|x86.ActiveCfg = Debug|Win32
{21B7EA5E-1EF8-49B6-AC07-11714AF0E37D}.Debug|x86.Build.0 = Debug|Win32
+ {21B7EA5E-1EF8-49B6-AC07-11714AF0E37D}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {21B7EA5E-1EF8-49B6-AC07-11714AF0E37D}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {21B7EA5E-1EF8-49B6-AC07-11714AF0E37D}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {21B7EA5E-1EF8-49B6-AC07-11714AF0E37D}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {21B7EA5E-1EF8-49B6-AC07-11714AF0E37D}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {21B7EA5E-1EF8-49B6-AC07-11714AF0E37D}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {21B7EA5E-1EF8-49B6-AC07-11714AF0E37D}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{21B7EA5E-1EF8-49B6-AC07-11714AF0E37D}.Release|Any CPU.ActiveCfg = Release|Win32
{21B7EA5E-1EF8-49B6-AC07-11714AF0E37D}.Release|ARM.ActiveCfg = Release|Win32
{21B7EA5E-1EF8-49B6-AC07-11714AF0E37D}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2477,6 +3017,13 @@ Global
{F75E29D0-D288-478B-8D83-2C190F321A3F}.Debug|x86.ActiveCfg = Debug|x86
{F75E29D0-D288-478B-8D83-2C190F321A3F}.Debug|x86.Build.0 = Debug|x86
{F75E29D0-D288-478B-8D83-2C190F321A3F}.Debug|x86.Deploy.0 = Debug|x86
+ {F75E29D0-D288-478B-8D83-2C190F321A3F}.Fuzzing|Any CPU.ActiveCfg = Release|Any CPU
+ {F75E29D0-D288-478B-8D83-2C190F321A3F}.Fuzzing|ARM.ActiveCfg = Fuzzing|ARM
+ {F75E29D0-D288-478B-8D83-2C190F321A3F}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {F75E29D0-D288-478B-8D83-2C190F321A3F}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Any CPU
+ {F75E29D0-D288-478B-8D83-2C190F321A3F}.Fuzzing|DotNet_x86Test.ActiveCfg = Release|Any CPU
+ {F75E29D0-D288-478B-8D83-2C190F321A3F}.Fuzzing|x64.ActiveCfg = Release|x64
+ {F75E29D0-D288-478B-8D83-2C190F321A3F}.Fuzzing|x86.ActiveCfg = Release|x86
{F75E29D0-D288-478B-8D83-2C190F321A3F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F75E29D0-D288-478B-8D83-2C190F321A3F}.Release|ARM.ActiveCfg = Release|ARM
{F75E29D0-D288-478B-8D83-2C190F321A3F}.Release|ARM.Build.0 = Release|ARM
@@ -2512,6 +3059,13 @@ Global
{43CE4CE5-0010-4B99-9569-672670D26E26}.Debug|x64.Build.0 = Debug|x64
{43CE4CE5-0010-4B99-9569-672670D26E26}.Debug|x86.ActiveCfg = Debug|Win32
{43CE4CE5-0010-4B99-9569-672670D26E26}.Debug|x86.Build.0 = Debug|Win32
+ {43CE4CE5-0010-4B99-9569-672670D26E26}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {43CE4CE5-0010-4B99-9569-672670D26E26}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {43CE4CE5-0010-4B99-9569-672670D26E26}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {43CE4CE5-0010-4B99-9569-672670D26E26}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {43CE4CE5-0010-4B99-9569-672670D26E26}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {43CE4CE5-0010-4B99-9569-672670D26E26}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {43CE4CE5-0010-4B99-9569-672670D26E26}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{43CE4CE5-0010-4B99-9569-672670D26E26}.Release|Any CPU.ActiveCfg = Release|Win32
{43CE4CE5-0010-4B99-9569-672670D26E26}.Release|ARM.ActiveCfg = Release|Win32
{43CE4CE5-0010-4B99-9569-672670D26E26}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2541,6 +3095,13 @@ Global
{27B5AAEB-A548-44CF-9777-F8BAA32AF7AE}.Debug|x64.Build.0 = Debug|x64
{27B5AAEB-A548-44CF-9777-F8BAA32AF7AE}.Debug|x86.ActiveCfg = Debug|Win32
{27B5AAEB-A548-44CF-9777-F8BAA32AF7AE}.Debug|x86.Build.0 = Debug|Win32
+ {27B5AAEB-A548-44CF-9777-F8BAA32AF7AE}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {27B5AAEB-A548-44CF-9777-F8BAA32AF7AE}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {27B5AAEB-A548-44CF-9777-F8BAA32AF7AE}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {27B5AAEB-A548-44CF-9777-F8BAA32AF7AE}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {27B5AAEB-A548-44CF-9777-F8BAA32AF7AE}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {27B5AAEB-A548-44CF-9777-F8BAA32AF7AE}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {27B5AAEB-A548-44CF-9777-F8BAA32AF7AE}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{27B5AAEB-A548-44CF-9777-F8BAA32AF7AE}.Release|Any CPU.ActiveCfg = Release|Win32
{27B5AAEB-A548-44CF-9777-F8BAA32AF7AE}.Release|ARM.ActiveCfg = Release|Win32
{27B5AAEB-A548-44CF-9777-F8BAA32AF7AE}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2570,6 +3131,13 @@ Global
{68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Debug|x64.Build.0 = Debug|x64
{68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Debug|x86.ActiveCfg = Debug|Win32
{68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Debug|x86.Build.0 = Debug|Win32
+ {68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
{68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Release|Any CPU.ActiveCfg = Release|Win32
{68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Release|ARM.ActiveCfg = Release|Win32
{68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Release|ARM64.ActiveCfg = Release|ARM64
@@ -2580,36 +3148,112 @@ Global
{68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Release|x64.Build.0 = Release|x64
{68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Release|x86.ActiveCfg = Release|Win32
{68A10CD3-AA64-465B-AF5F-ED4E9700543C}.Release|x86.Build.0 = Release|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.AuditMode|Any CPU.ActiveCfg = AuditMode|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.AuditMode|ARM.ActiveCfg = AuditMode|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.AuditMode|ARM64.ActiveCfg = AuditMode|ARM64
- {E437B604-3E98-4F40-A927-E173E818EA4B}.AuditMode|ARM64.Build.0 = AuditMode|ARM64
- {E437B604-3E98-4F40-A927-E173E818EA4B}.AuditMode|DotNet_x64Test.ActiveCfg = AuditMode|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.AuditMode|DotNet_x86Test.ActiveCfg = AuditMode|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.AuditMode|x64.ActiveCfg = AuditMode|x64
- {E437B604-3E98-4F40-A927-E173E818EA4B}.AuditMode|x64.Build.0 = AuditMode|x64
- {E437B604-3E98-4F40-A927-E173E818EA4B}.AuditMode|x86.ActiveCfg = AuditMode|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.AuditMode|x86.Build.0 = AuditMode|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Debug|Any CPU.ActiveCfg = Debug|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Debug|ARM.ActiveCfg = Debug|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Debug|ARM64.Build.0 = Debug|ARM64
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Debug|DotNet_x64Test.ActiveCfg = Debug|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Debug|DotNet_x86Test.ActiveCfg = Debug|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Debug|x64.ActiveCfg = Debug|x64
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Debug|x64.Build.0 = Debug|x64
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Debug|x86.ActiveCfg = Debug|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Debug|x86.Build.0 = Debug|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Release|Any CPU.ActiveCfg = Release|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Release|ARM.ActiveCfg = Release|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Release|ARM64.ActiveCfg = Release|ARM64
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Release|ARM64.Build.0 = Release|ARM64
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Release|DotNet_x64Test.ActiveCfg = Release|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Release|DotNet_x86Test.ActiveCfg = Release|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Release|x64.ActiveCfg = Release|x64
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Release|x64.Build.0 = Release|x64
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Release|x86.ActiveCfg = Release|Win32
- {E437B604-3E98-4F40-A927-E173E818EA4B}.Release|x86.Build.0 = Release|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.AuditMode|Any CPU.ActiveCfg = AuditMode|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.AuditMode|ARM.ActiveCfg = AuditMode|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.AuditMode|ARM64.ActiveCfg = AuditMode|ARM64
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.AuditMode|ARM64.Build.0 = AuditMode|ARM64
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.AuditMode|DotNet_x64Test.ActiveCfg = AuditMode|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.AuditMode|DotNet_x86Test.ActiveCfg = AuditMode|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.AuditMode|x64.ActiveCfg = AuditMode|x64
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.AuditMode|x64.Build.0 = AuditMode|x64
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.AuditMode|x86.ActiveCfg = AuditMode|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.AuditMode|x86.Build.0 = AuditMode|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Debug|ARM.ActiveCfg = Debug|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Debug|ARM64.Build.0 = Debug|ARM64
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Debug|DotNet_x64Test.ActiveCfg = Debug|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Debug|DotNet_x86Test.ActiveCfg = Debug|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Debug|x64.ActiveCfg = Debug|x64
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Debug|x64.Build.0 = Debug|x64
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Debug|x86.ActiveCfg = Debug|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Debug|x86.Build.0 = Debug|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Release|Any CPU.ActiveCfg = Release|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Release|ARM.ActiveCfg = Release|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Release|ARM64.ActiveCfg = Release|ARM64
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Release|ARM64.Build.0 = Release|ARM64
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Release|DotNet_x64Test.ActiveCfg = Release|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Release|DotNet_x86Test.ActiveCfg = Release|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Release|x64.ActiveCfg = Release|x64
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Release|x64.Build.0 = Release|x64
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Release|x86.ActiveCfg = Release|Win32
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF}.Release|x86.Build.0 = Release|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.AuditMode|Any CPU.ActiveCfg = AuditMode|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.AuditMode|ARM.ActiveCfg = AuditMode|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.AuditMode|ARM64.ActiveCfg = AuditMode|ARM64
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.AuditMode|DotNet_x64Test.ActiveCfg = AuditMode|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.AuditMode|DotNet_x86Test.ActiveCfg = AuditMode|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.AuditMode|x64.ActiveCfg = AuditMode|x64
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.AuditMode|x86.ActiveCfg = AuditMode|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Debug|ARM.ActiveCfg = Debug|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Debug|DotNet_x64Test.ActiveCfg = Debug|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Debug|DotNet_x86Test.ActiveCfg = Debug|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Debug|x64.ActiveCfg = Debug|x64
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Debug|x86.ActiveCfg = Debug|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Release|Any CPU.ActiveCfg = Release|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Release|ARM.ActiveCfg = Release|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Release|ARM64.ActiveCfg = Release|ARM64
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Release|DotNet_x64Test.ActiveCfg = Release|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Release|DotNet_x86Test.ActiveCfg = Release|Win32
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Release|x64.ActiveCfg = Release|x64
+ {05D9052F-D78F-478F-968A-2DE38A6DB996}.Release|x86.ActiveCfg = Release|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.AuditMode|Any CPU.ActiveCfg = AuditMode|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.AuditMode|ARM.ActiveCfg = AuditMode|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.AuditMode|ARM64.ActiveCfg = AuditMode|ARM64
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.AuditMode|ARM64.Build.0 = AuditMode|ARM64
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.AuditMode|DotNet_x64Test.ActiveCfg = AuditMode|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.AuditMode|DotNet_x86Test.ActiveCfg = AuditMode|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.AuditMode|x64.ActiveCfg = Release|x64
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.AuditMode|x86.ActiveCfg = AuditMode|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.AuditMode|x86.Build.0 = AuditMode|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Debug|ARM.ActiveCfg = Debug|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Debug|ARM64.Build.0 = Debug|ARM64
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Debug|DotNet_x64Test.ActiveCfg = Debug|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Debug|DotNet_x86Test.ActiveCfg = Debug|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Debug|x64.ActiveCfg = Debug|x64
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Debug|x64.Build.0 = Debug|x64
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Debug|x86.ActiveCfg = Debug|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Debug|x86.Build.0 = Debug|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Fuzzing|ARM64.Build.0 = Fuzzing|ARM64
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Fuzzing|DotNet_x64Test.ActiveCfg = Fuzzing|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Fuzzing|DotNet_x86Test.ActiveCfg = Fuzzing|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Fuzzing|x64.Build.0 = Fuzzing|x64
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Fuzzing|x86.Build.0 = Fuzzing|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Release|Any CPU.ActiveCfg = Release|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Release|ARM.ActiveCfg = Release|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Release|ARM64.ActiveCfg = Release|ARM64
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Release|ARM64.Build.0 = Release|ARM64
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Release|DotNet_x64Test.ActiveCfg = Release|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Release|DotNet_x86Test.ActiveCfg = Release|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Release|x64.ActiveCfg = Release|x64
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Release|x64.Build.0 = Release|x64
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Release|x86.ActiveCfg = Release|Win32
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -2701,10 +3345,12 @@ Global
{27B5AAEB-A548-44CF-9777-F8BAA32AF7AE} = {2D17E75D-2DDC-42C4-AD70-704D95A937AE}
{68A10CD3-AA64-465B-AF5F-ED4E9700543C} = {BDB237B6-1D1D-400F-84CC-40A58FA59C8E}
{4DAF0299-495E-4CD1-A982-9BAC16A45932} = {59840756-302F-44DF-AA47-441A9D673202}
- {E437B604-3E98-4F40-A927-E173E818EA4B} = {E8F24881-5E37-4362-B191-A3BA0ED7F4EB}
+ {71CC9D78-BA29-4D93-946F-BEF5D9A3A6EF} = {E8F24881-5E37-4362-B191-A3BA0ED7F4EB}
{2D17E75D-2DDC-42C4-AD70-704D95A937AE} = {59840756-302F-44DF-AA47-441A9D673202}
{77875138-BB08-49F9-8BB1-409C2150E0E1} = {59840756-302F-44DF-AA47-441A9D673202}
{9921CA0A-320C-4460-8623-3A3196E7F4CB} = {59840756-302F-44DF-AA47-441A9D673202}
+ {05D9052F-D78F-478F-968A-2DE38A6DB996} = {E8F24881-5E37-4362-B191-A3BA0ED7F4EB}
+ {C323DAEE-B307-4C7B-ACE5-7293CBEFCB5B} = {BDB237B6-1D1D-400F-84CC-40A58FA59C8E}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3140B1B7-C8EE-43D1-A772-D82A7061A271}
diff --git a/XamlStyler.json b/XamlStyler.json
new file mode 100644
index 00000000000..7981bbfd566
--- /dev/null
+++ b/XamlStyler.json
@@ -0,0 +1,41 @@
+{
+ "AttributesTolerance": 1,
+ "KeepFirstAttributeOnSameLine": true,
+ "MaxAttributeCharactersPerLine": 0,
+ "MaxAttributesPerLine": 1,
+ "NewlineExemptionElements": "RadialGradientBrush, GradientStop, LinearGradientBrush, ScaleTransform, SkewTransform, RotateTransform, TranslateTransform, Trigger, Condition, Setter",
+ "SeparateByGroups": false,
+ "AttributeIndentation": 0,
+ "AttributeIndentationStyle": 1,
+ "RemoveDesignTimeReferences": false,
+ "EnableAttributeReordering": true,
+ "AttributeOrderingRuleGroups": [
+ "x:Class",
+ "xmlns, xmlns:x",
+ "xmlns:*",
+ "x:Key, Key, x:Name, Name, x:Uid, Uid, Title",
+ "Grid.Row, Grid.RowSpan, Grid.Column, Grid.ColumnSpan, Canvas.Left, Canvas.Top, Canvas.Right, Canvas.Bottom",
+ "Width, Height, MinWidth, MinHeight, MaxWidth, MaxHeight",
+ "Margin, Padding, HorizontalAlignment, VerticalAlignment, HorizontalContentAlignment, VerticalContentAlignment, Panel.ZIndex",
+ "*:*, *",
+ "PageSource, PageIndex, Offset, Color, TargetName, Property, Value, StartPoint, EndPoint",
+ "mc:Ignorable, d:IsDataSource, d:LayoutOverrides, d:IsStaticText",
+ "Storyboard.*, From, To, Duration"
+ ],
+ "FirstLineAttributes": "",
+ "OrderAttributesByName": true,
+ "PutEndingBracketOnNewLine": false,
+ "RemoveEndingTagOfEmptyElement": true,
+ "SpaceBeforeClosingSlash": true,
+ "RootElementLineBreakRule": 0,
+ "ReorderVSM": 2,
+ "ReorderGridChildren": false,
+ "ReorderCanvasChildren": false,
+ "ReorderSetters": 0,
+ "FormatMarkupExtension": true,
+ "NoNewLineMarkupExtensions": "x:Bind, Binding",
+ "ThicknessSeparator": 2,
+ "ThicknessAttributes": "Margin, Padding, BorderThickness, ThumbnailClipMargin",
+ "FormatOnSave": true,
+ "CommentPadding": 2,
+}
diff --git a/build/Helix/PrepareHelixPayload.ps1 b/build/Helix/PrepareHelixPayload.ps1
index a8869e1cf0a..a32464e55d8 100644
--- a/build/Helix/PrepareHelixPayload.ps1
+++ b/build/Helix/PrepareHelixPayload.ps1
@@ -19,8 +19,8 @@ New-Item -ItemType Directory -Force -Path $payloadDir
# Copy files from nuget packages
Copy-Item "$nugetPackagesDir\microsoft.windows.apps.test.1.0.181203002\lib\netcoreapp2.1\*.dll" $payloadDir
-Copy-Item "$nugetPackagesDir\taef.redist.wlk.10.57.200731005-develop\build\Binaries\$Platform\*" $payloadDir
-Copy-Item "$nugetPackagesDir\taef.redist.wlk.10.57.200731005-develop\build\Binaries\$Platform\CoreClr\*" $payloadDir
+Copy-Item "$nugetPackagesDir\Microsoft.Taef.10.58.210305002\build\Binaries\$Platform\*" $payloadDir
+Copy-Item "$nugetPackagesDir\Microsoft.Taef.10.58.210305002\build\Binaries\$Platform\CoreClr\*" $payloadDir
New-Item -ItemType Directory -Force -Path "$payloadDir\.NETCoreApp2.1\"
Copy-Item "$nugetPackagesDir\runtime.win-$Platform.microsoft.netcore.app.2.1.0\runtimes\win-$Platform\lib\netcoreapp2.1\*" "$payloadDir\.NETCoreApp2.1\"
Copy-Item "$nugetPackagesDir\runtime.win-$Platform.microsoft.netcore.app.2.1.0\runtimes\win-$Platform\native\*" "$payloadDir\.NETCoreApp2.1\"
diff --git a/build/Helix/packages.config b/build/Helix/packages.config
index 9d5e0fdc3a9..8bf9ce1972e 100644
--- a/build/Helix/packages.config
+++ b/build/Helix/packages.config
@@ -1,7 +1,7 @@
-
+
diff --git a/build/packages.config b/build/packages.config
index 11c8417e608..195bddb7ac0 100644
--- a/build/packages.config
+++ b/build/packages.config
@@ -1,5 +1,5 @@
-
+
diff --git a/build/pipelines/templates/helix-createprojfile-steps.yml b/build/pipelines/templates/helix-createprojfile-steps.yml
index 89818ae8e95..179f667eaf0 100644
--- a/build/pipelines/templates/helix-createprojfile-steps.yml
+++ b/build/pipelines/templates/helix-createprojfile-steps.yml
@@ -12,4 +12,4 @@ steps:
inputs:
targetType: filePath
filePath: build\Helix\GenerateTestProjFile.ps1
- arguments: -TestFile '${{ parameters.testFilePath }}' -OutputProjFile '$(Build.ArtifactStagingDirectory)\${{ parameters.outputProjFileName }}' -JobTestSuiteName '${{ parameters.testSuite }}' -TaefPath '$(Build.SourcesDirectory)\build\Helix\packages\taef.redist.wlk.10.57.200731005-develop\build\Binaries\x86' -TaefQuery '${{ parameters.taefQuery }}'
\ No newline at end of file
+ arguments: -TestFile '${{ parameters.testFilePath }}' -OutputProjFile '$(Build.ArtifactStagingDirectory)\${{ parameters.outputProjFileName }}' -JobTestSuiteName '${{ parameters.testSuite }}' -TaefPath '$(Build.SourcesDirectory)\build\Helix\packages\Microsoft.Taef.10.58.210305002\build\Binaries\x86' -TaefQuery '${{ parameters.taefQuery }}'
\ No newline at end of file
diff --git a/build/pipelines/templates/helix-runtests-job.yml b/build/pipelines/templates/helix-runtests-job.yml
index 04169e342aa..43854029191 100644
--- a/build/pipelines/templates/helix-runtests-job.yml
+++ b/build/pipelines/templates/helix-runtests-job.yml
@@ -36,7 +36,7 @@ jobs:
matrix: ${{ parameters.matrix }}
variables:
artifactsDir: $(Build.SourcesDirectory)\Artifacts
- taefPath: $(Build.SourcesDirectory)\build\Helix\packages\taef.redist.wlk.10.57.200731005-develop\build\Binaries\$(buildPlatform)
+ taefPath: $(Build.SourcesDirectory)\build\Helix\packages\Microsoft.Taef.10.58.210305002\build\Binaries\$(buildPlatform)
helixCommonArgs: '/binaryLogger:$(Build.SourcesDirectory)/${{parameters.name}}.$(buildPlatform).$(buildConfiguration).binlog /p:HelixBuild=$(Build.BuildId).$(buildPlatform).$(buildConfiguration) /p:Platform=$(buildPlatform) /p:Configuration=$(buildConfiguration) /p:HelixType=${{parameters.helixType}} /p:TestSuite=${{parameters.testSuite}} /p:ProjFilesPath=$(Build.ArtifactStagingDirectory) /p:rerunPassesRequiredToAvoidFailure=${{parameters.rerunPassesRequiredToAvoidFailure}}'
diff --git a/build/scripts/Invoke-FormattingCheck.ps1 b/build/scripts/Invoke-FormattingCheck.ps1
index 8cb8e5f8ac8..eb5cb3eaa5e 100644
--- a/build/scripts/Invoke-FormattingCheck.ps1
+++ b/build/scripts/Invoke-FormattingCheck.ps1
@@ -3,12 +3,24 @@
# Checks for code formatting errors. Will throw exception if any are found.
function Invoke-CheckBadCodeFormatting() {
Import-Module ./tools/OpenConsole.psm1
- Invoke-CodeFormat
+
+ # Don't run the XAML formatter in this step - even if it changes nothing,
+ # it'll still touch all the .xaml files.
+ Invoke-CodeFormat -IgnoreXaml
+
# returns a non-zero exit code if there are any diffs in the tracked files in the repo
git diff-index --quiet HEAD --
if ($lastExitCode -eq 1) {
+
+ # Write the list of files that need updating to the log
+ git diff-index --name-only HEAD
+
throw "code formatting bad, run Invoke-CodeFormat on branch"
}
+
+ # Manually check the formatting of our .xaml files, without touching them.
+ Verify-XamlFormat
+
}
Invoke-CheckBadCodeFormatting
diff --git a/consolegit2gitfilters.json b/consolegit2gitfilters.json
index e6267ee9221..5a760692bbf 100644
--- a/consolegit2gitfilters.json
+++ b/consolegit2gitfilters.json
@@ -38,6 +38,7 @@
".wrn",
".rec",
".err",
+ "XamlStyler.json",
".xlsx"
]
}
diff --git a/doc/TAEF.md b/doc/TAEF.md
index 2408896c23a..055158427bb 100644
--- a/doc/TAEF.md
+++ b/doc/TAEF.md
@@ -12,9 +12,9 @@ Use the [TAEF Verify Macros for C++](https://docs.microsoft.com/en-us/windows-ha
### Running Tests
-If you have Visual Studio and related C++ components installed, and you have successfully restored NuGets, you should have the TAEF test runner `te.exe` available locally as part of the `Taef.Redist.Wlk` package.
+If you have Visual Studio and related C++ components installed, and you have successfully restored NuGets, you should have the TAEF test runner `te.exe` available locally as part of the `Microsoft.Taef` package.
-> Note that you cannot easily run TAEF tests directly through Visual Studio. The `Taef.Redist.Wlk` NuGet package comes with an adapter that will let you browse and execute TAEF tests inside of Visual Studio, but its performance and reliability prevent us from recommending it here.
+> Note that you cannot easily run TAEF tests directly through Visual Studio. The `Microsoft.Taef` NuGet package comes with an adapter that will let you browse and execute TAEF tests inside of Visual Studio, but its performance and reliability prevent us from recommending it here.
In a "normal" CMD environment, `te.exe` may not be directly available. Try the following command to set up the development enviroment first:
diff --git a/doc/cascadia/Unittesting-CppWinRT-Xaml.md b/doc/cascadia/Unittesting-CppWinRT-Xaml.md
index 05e66994c1f..8db09be120c 100644
--- a/doc/cascadia/Unittesting-CppWinRT-Xaml.md
+++ b/doc/cascadia/Unittesting-CppWinRT-Xaml.md
@@ -166,7 +166,7 @@ should be working just the same as before.
Now that you have a static library project, you can start building your unittest
dll. Start by creating a new directory for your unittest code, and creating a
`.vcxproj` for a TAEF unittest dll. For the Terminal solution, we use the TAEF
-nuget package `Taef.Redist.Wlk`.
+nuget package `Microsoft.Taef`.
### Referencing your C++/WinRT static lib
diff --git a/doc/cascadia/profiles.schema.json b/doc/cascadia/profiles.schema.json
index 681a0b6bebe..3db7df482ef 100644
--- a/doc/cascadia/profiles.schema.json
+++ b/doc/cascadia/profiles.schema.json
@@ -52,6 +52,117 @@
}
]
},
+ "AppearanceConfig": {
+ "properties": {
+ "colorScheme": {
+ "description": "The name of a color scheme to use when unfocused.",
+ "type": "string"
+ },
+ "foreground": {
+ "$ref": "#/definitions/Color",
+ "default": "#cccccc",
+ "description": "Sets the text color when unfocused. Overrides \"foreground\" from the color scheme. Uses hex color format: \"#rrggbb\".",
+ "type": ["string", "null"]
+ },
+ "background": {
+ "$ref": "#/definitions/Color",
+ "default": "#0c0c0c",
+ "description": "Sets the background color of the text when unfocused. Overrides \"background\" from the color scheme. Uses hex color format: \"#rrggbb\".",
+ "type": ["string", "null"]
+ },
+ "selectionBackground": {
+ "oneOf": [
+ {"$ref": "#/definitions/Color"},
+ { "type": "null" }
+ ],
+ "description": "Sets the background color of selected text when unfocused. Overrides selectionBackground set in the color scheme. Uses hex color format: \"#rrggbb\"."
+ },
+ "cursorColor": {
+ "oneOf": [
+ { "$ref": "#/definitions/Color" },
+ {"type": "null"}
+ ],
+ "description": "Sets the color of the cursor when unfocused. Overrides the cursor color from the color scheme. Uses hex color format: \"#rrggbb\"."
+ },
+ "cursorShape": {
+ "default": "bar",
+ "description": "Sets the shape of the cursor when unfocused. Possible values:\n -\"bar\" ( ┃, default )\n -\"doubleUnderscore\" ( ‗ )\n -\"emptyBox\" ( ▯ )\n -\"filledBox\" ( █ )\n -\"underscore\" ( ▁ )\n -\"vintage\" ( ▃ )",
+ "enum": [
+ "bar",
+ "doubleUnderscore",
+ "emptyBox",
+ "filledBox",
+ "underscore",
+ "vintage"
+ ],
+ "type": "string"
+ },
+ "cursorHeight": {
+ "description": "Sets the percentage height of the cursor (when unfocused) starting from the bottom. Only works when cursorShape is set to \"vintage\". Accepts values from 1-100.",
+ "maximum": 100,
+ "minimum": 1,
+ "type": ["integer","null"],
+ "default": 25
+ },
+ "backgroundImage": {
+ "description": "Sets the file location of the image to draw over the window background when unfocused.",
+ "oneOf": [
+ {
+ "type": ["string", null]
+ },
+ {
+ "enum": [
+ "desktopWallpaper"
+ ]
+ }
+ ],
+ "type": [ "string", "null" ]
+ },
+ "backgroundImageOpacity": {
+ "default": 1.0,
+ "description": "Sets the transparency of the background image when unfocused. Accepts floating point values from 0-1.",
+ "maximum": 1.0,
+ "minimum": 0.0,
+ "type": "number"
+ },
+ "backgroundImageStretchMode": {
+ "default": "uniformToFill",
+ "description": "Sets how the background image is resized to fill the window when unfocused.",
+ "enum": [
+ "fill",
+ "none",
+ "uniform",
+ "uniformToFill"
+ ],
+ "type": "string"
+ },
+ "backgroundImageAlignment": {
+ "default": "center",
+ "enum": [
+ "bottom",
+ "bottomLeft",
+ "bottomRight",
+ "center",
+ "left",
+ "right",
+ "top",
+ "topLeft",
+ "topRight"
+ ],
+ "description": "Sets how the background image aligns to the boundaries of the window when unfocused. Possible values: \"center\", \"left\", \"top\", \"right\", \"bottom\", \"topLeft\", \"topRight\", \"bottomLeft\", \"bottomRight\"",
+ "type": "string"
+ },
+ "experimental.retroTerminalEffect": {
+ "description": "When set to true, enable retro terminal effects when unfocused. This is an experimental feature, and its continued existence is not guaranteed.",
+ "type": "boolean"
+ },
+ "experimental.pixelShaderPath": {
+ "description": "Use to set a path to a pixel shader to use with the Terminal when unfocused. Overrides `experimental.retroTerminalEffect`. This is an experimental feature, and its continued existence is not guaranteed.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"ProfileGuid": {
"default": "{}",
"pattern": "^\\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\\}$",
@@ -77,6 +188,8 @@
"duplicateTab",
"find",
"findMatch",
+ "identifyWindow",
+ "identifyWindows",
"moveFocus",
"moveTab",
"newTab",
@@ -85,12 +198,14 @@
"openNewTabDropdown",
"openSettings",
"openTabColorPicker",
+ "openWindowRenamer",
"paste",
"prevTab",
"renameTab",
"openTabRenamer",
"resetFontSize",
"resizePane",
+ "renameWindow",
"scrollDown",
"scrollDownPage",
"scrollUp",
@@ -227,6 +342,10 @@
"type": "boolean",
"default": "false",
"description": "When set to true, tabTitle overrides the default title of the tab and any title change messages from the application will be suppressed. When set to false, tabTitle behaves as normal"
+ },
+ "colorScheme": {
+ "description": "The name of a color scheme to use, instead of the one specified by the profile",
+ "type": "string"
}
},
"type": "object"
@@ -647,6 +766,38 @@
}
]
},
+ "RenameTabAction": {
+ "description": "Arguments corresponding to a renameTab Action",
+ "allOf": [
+ { "$ref": "#/definitions/ShortcutAction" },
+ {
+ "properties": {
+ "action": { "type": "string", "pattern": "renameTab" },
+ "title": {
+ "type": "string",
+ "default": "",
+ "description": "A title to assign to the tab. If omitted or null, this action will restore the tab's title to the original value."
+ }
+ }
+ }
+ ]
+ },
+ "RenameWindowAction": {
+ "description": "Arguments corresponding to a renameWindow Action",
+ "allOf": [
+ { "$ref": "#/definitions/ShortcutAction" },
+ {
+ "properties": {
+ "action": { "type": "string", "pattern": "renameWindow" },
+ "name": {
+ "type": "string",
+ "default": "",
+ "description": "A name to assign to the window."
+ }
+ }
+ }
+ ]
+ },
"Keybinding": {
"additionalProperties": false,
"properties": {
@@ -675,6 +826,8 @@
{ "$ref": "#/definitions/NewWindowAction" },
{ "$ref": "#/definitions/NextTabAction" },
{ "$ref": "#/definitions/PrevTabAction" },
+ { "$ref": "#/definitions/RenameTabAction" },
+ { "$ref": "#/definitions/RenameWindowAction" },
{ "type": "null" }
]
},
@@ -958,6 +1111,11 @@
"description": "Sets the background color of the text. Overrides \"background\" from the color scheme. Uses hex color format: \"#rrggbb\".",
"type": ["string", "null"]
},
+ "unfocusedAppearance": {
+ "$ref": "#/definitions/AppearanceConfig",
+ "description": "Sets the appearance of the terminal when it is unfocused.",
+ "type": ["object", "null"]
+ },
"backgroundImage": {
"description": "Sets the file location of the image to draw over the window background.",
"oneOf": [
diff --git a/samples/ConPTY/GUIConsole/GUIConsole.WPF/App.xaml b/samples/ConPTY/GUIConsole/GUIConsole.WPF/App.xaml
index e95139446b9..2e0fb07efd3 100644
--- a/samples/ConPTY/GUIConsole/GUIConsole.WPF/App.xaml
+++ b/samples/ConPTY/GUIConsole/GUIConsole.WPF/App.xaml
@@ -1,8 +1,6 @@
-
-
-
-
-
+
+
+
diff --git a/samples/ConPTY/GUIConsole/GUIConsole.WPF/MainWindow.xaml b/samples/ConPTY/GUIConsole/GUIConsole.WPF/MainWindow.xaml
index 766abcfca8f..2c67f1cb0ee 100644
--- a/samples/ConPTY/GUIConsole/GUIConsole.WPF/MainWindow.xaml
+++ b/samples/ConPTY/GUIConsole/GUIConsole.WPF/MainWindow.xaml
@@ -1,84 +1,100 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- GUIConsole
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GUIConsole
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/PixelShaders/Outlines.hlsl b/samples/PixelShaders/Outlines.hlsl
new file mode 100644
index 00000000000..789f5dc2d22
--- /dev/null
+++ b/samples/PixelShaders/Outlines.hlsl
@@ -0,0 +1,66 @@
+// A minimal pixel shader that outlines text
+
+// The terminal graphics as a texture
+Texture2D shaderTexture;
+SamplerState samplerState;
+
+// Terminal settings such as the resolution of the texture
+cbuffer PixelShaderSettings {
+ // The number of seconds since the pixel shader was enabled
+ float Time;
+ // UI Scale
+ float Scale;
+ // Resolution of the shaderTexture
+ float2 Resolution;
+ // Background color as rgba
+ float4 Background;
+};
+
+// A pixel shader is a program that given a texture coordinate (tex) produces a color.
+// tex is an x,y tuple that ranges from 0,0 (top left) to 1,1 (bottom right).
+// Just ignore the pos parameter.
+float4 main(float4 pos : SV_POSITION, float2 tex : TEXCOORD) : SV_TARGET
+{
+ // Read the color value at the current texture coordinate (tex)
+ // float4 is tuple of 4 floats, rgba
+ float4 color = shaderTexture.Sample(samplerState, tex);
+
+ // Read the color value at some offset, will be used as shadow. For the best
+ // effect, read the colors offset on the left, right, top, bottom of this
+ // fragment, as well as on the corners of this fragment.
+ //
+ // You could get away with fewer samples, but the resulting outlines will be
+ // blurrier.
+
+ //left, right, top, bottom:
+ float4 leftColor = shaderTexture.Sample(samplerState, tex+1.0*Scale*float2( 1.0, 0.0)/Resolution.y);
+ float4 rightColor = shaderTexture.Sample(samplerState, tex+1.0*Scale*float2(-1.0, 0.0)/Resolution.y);
+ float4 topColor = shaderTexture.Sample(samplerState, tex+1.0*Scale*float2( 0.0, 1.0)/Resolution.y);
+ float4 bottomColor = shaderTexture.Sample(samplerState, tex+1.0*Scale*float2( 0.0, -1.0)/Resolution.y);
+
+ // Corners
+ float4 topLeftColor = shaderTexture.Sample(samplerState, tex+1.0*Scale*float2( 1.0, 1.0)/Resolution.y);
+ float4 topRightColor = shaderTexture.Sample(samplerState, tex+1.0*Scale*float2(-1.0, 1.0)/Resolution.y);
+ float4 bottomLeftColor = shaderTexture.Sample(samplerState, tex+1.0*Scale*float2( 1.0, -1.0)/Resolution.y);
+ float4 bottomRightColor = shaderTexture.Sample(samplerState, tex+1.0*Scale*float2(-1.0, -1.0)/Resolution.y);
+
+
+ // Now, if any of those adjacent cells has text in it, then the *color vec4
+ // will have a non-zero .w (which is used for alpha). Use that alpha value
+ // to add some black to the current fragment.
+ //
+ // This will result in only coloring fragments adjacent to text, but leaving
+ // background images (for example) untouched.
+ float3 outlineColor = float3(0, 0, 0);
+ float4 result = color;
+ result = result + float4(outlineColor, leftColor.w);
+ result = result + float4(outlineColor, rightColor.w);
+ result = result + float4(outlineColor, topColor.w);
+ result = result + float4(outlineColor, bottomColor.w);
+
+ result = result + float4(outlineColor, topLeftColor.w);
+ result = result + float4(outlineColor, topRightColor.w);
+ result = result + float4(outlineColor, bottomLeftColor.w);
+ result = result + float4(outlineColor, bottomRightColor.w);
+ return result;
+}
diff --git a/src/Terminal.wprp b/src/Terminal.wprp
new file mode 100644
index 00000000000..d1a2b64ae22
--- /dev/null
+++ b/src/Terminal.wprp
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/cascadia/CascadiaPackage/CascadiaPackage.wapproj b/src/cascadia/CascadiaPackage/CascadiaPackage.wapproj
index b10a887323c..865774f3215 100644
--- a/src/cascadia/CascadiaPackage/CascadiaPackage.wapproj
+++ b/src/cascadia/CascadiaPackage/CascadiaPackage.wapproj
@@ -70,6 +70,7 @@
+
diff --git a/src/cascadia/CascadiaPackage/Package-Dev.appxmanifest b/src/cascadia/CascadiaPackage/Package-Dev.appxmanifest
index a257a803ab8..ee36644e25c 100644
--- a/src/cascadia/CascadiaPackage/Package-Dev.appxmanifest
+++ b/src/cascadia/CascadiaPackage/Package-Dev.appxmanifest
@@ -74,9 +74,43 @@
com.microsoft.windows.terminal.settings
-
+
+
+
+ {1F9F2BF5-5BC3-4F17-B0E6-912413F1F451}
+
+
+
+
+
+
+ {051F34EE-C1FD-4B19-AF75-9BA54648434C}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/cascadia/CascadiaPackage/Package-Pre.appxmanifest b/src/cascadia/CascadiaPackage/Package-Pre.appxmanifest
index 11a093d9520..fd4ed234cec 100644
--- a/src/cascadia/CascadiaPackage/Package-Pre.appxmanifest
+++ b/src/cascadia/CascadiaPackage/Package-Pre.appxmanifest
@@ -75,8 +75,43 @@
Enabled="false"
DisplayName="ms-resource:AppNamePre" />
+
+
+
+ {06EC847C-C0A5-46B8-92CB-7C92F6E35CD5}
+
+
+
+
+
+
+ {86633F1F-6454-40EC-89CE-DA4EBA977EE2}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/cascadia/CascadiaPackage/Package.appxmanifest b/src/cascadia/CascadiaPackage/Package.appxmanifest
index e6a4d70528d..b7953a3e084 100644
--- a/src/cascadia/CascadiaPackage/Package.appxmanifest
+++ b/src/cascadia/CascadiaPackage/Package.appxmanifest
@@ -75,9 +75,43 @@
Enabled="false"
DisplayName="ms-resource:AppName" />
-
+
+
diff --git a/src/cascadia/LocalTests_SettingsModel/pch.h b/src/cascadia/LocalTests_SettingsModel/pch.h
index 67251267611..53f6145d27e 100644
--- a/src/cascadia/LocalTests_SettingsModel/pch.h
+++ b/src/cascadia/LocalTests_SettingsModel/pch.h
@@ -56,6 +56,8 @@ Author(s):
#include
+#include
+
// Manually include til after we include Windows.Foundation to give it winrt superpowers
#include "til.h"
diff --git a/src/cascadia/LocalTests_TerminalApp/CommandlineTest.cpp b/src/cascadia/LocalTests_TerminalApp/CommandlineTest.cpp
index 0afeb245e8b..c8423b47af4 100644
--- a/src/cascadia/LocalTests_TerminalApp/CommandlineTest.cpp
+++ b/src/cascadia/LocalTests_TerminalApp/CommandlineTest.cpp
@@ -458,6 +458,7 @@ namespace TerminalAppLocalTests
VERIFY_IS_NULL(myArgs.TerminalArgs().TabColor());
VERIFY_IS_NULL(myArgs.TerminalArgs().ProfileIndex());
VERIFY_IS_TRUE(myArgs.TerminalArgs().Profile().empty());
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().ColorScheme().empty());
}
{
AppCommandlineArgs appArgs{};
@@ -479,6 +480,7 @@ namespace TerminalAppLocalTests
VERIFY_IS_NULL(myArgs.TerminalArgs().ProfileIndex());
VERIFY_IS_FALSE(myArgs.TerminalArgs().Profile().empty());
VERIFY_ARE_EQUAL(L"cmd", myArgs.TerminalArgs().Profile());
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().ColorScheme().empty());
}
{
AppCommandlineArgs appArgs{};
@@ -500,6 +502,7 @@ namespace TerminalAppLocalTests
VERIFY_IS_NULL(myArgs.TerminalArgs().ProfileIndex());
VERIFY_IS_TRUE(myArgs.TerminalArgs().Profile().empty());
VERIFY_ARE_EQUAL(L"c:\\Foo", myArgs.TerminalArgs().StartingDirectory());
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().ColorScheme().empty());
}
{
AppCommandlineArgs appArgs{};
@@ -521,6 +524,7 @@ namespace TerminalAppLocalTests
VERIFY_IS_NULL(myArgs.TerminalArgs().ProfileIndex());
VERIFY_IS_TRUE(myArgs.TerminalArgs().Profile().empty());
VERIFY_ARE_EQUAL(L"powershell.exe", myArgs.TerminalArgs().Commandline());
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().ColorScheme().empty());
}
{
AppCommandlineArgs appArgs{};
@@ -543,6 +547,7 @@ namespace TerminalAppLocalTests
VERIFY_IS_TRUE(myArgs.TerminalArgs().Profile().empty());
auto myCommand = myArgs.TerminalArgs().Commandline();
VERIFY_ARE_EQUAL(L"powershell.exe \"This is an arg with spaces\"", myCommand);
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().ColorScheme().empty());
}
{
AppCommandlineArgs appArgs{};
@@ -565,6 +570,7 @@ namespace TerminalAppLocalTests
VERIFY_IS_TRUE(myArgs.TerminalArgs().Profile().empty());
auto myCommand = myArgs.TerminalArgs().Commandline();
VERIFY_ARE_EQUAL(L"powershell.exe \"This is an arg with spaces\" another-arg \"more spaces in this one\"", myCommand);
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().ColorScheme().empty());
}
{
AppCommandlineArgs appArgs{};
@@ -586,6 +592,7 @@ namespace TerminalAppLocalTests
VERIFY_IS_NULL(myArgs.TerminalArgs().ProfileIndex());
VERIFY_IS_FALSE(myArgs.TerminalArgs().Profile().empty());
VERIFY_ARE_EQUAL(L"Windows PowerShell", myArgs.TerminalArgs().Profile());
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().ColorScheme().empty());
}
{
AppCommandlineArgs appArgs{};
@@ -606,6 +613,7 @@ namespace TerminalAppLocalTests
VERIFY_IS_NULL(myArgs.TerminalArgs().ProfileIndex());
VERIFY_IS_TRUE(myArgs.TerminalArgs().Profile().empty());
VERIFY_ARE_EQUAL(L"wsl -d Alpine", myArgs.TerminalArgs().Commandline());
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().ColorScheme().empty());
}
{
AppCommandlineArgs appArgs{};
@@ -628,6 +636,7 @@ namespace TerminalAppLocalTests
VERIFY_IS_FALSE(myArgs.TerminalArgs().Profile().empty());
VERIFY_ARE_EQUAL(L"wsl -d Alpine", myArgs.TerminalArgs().Commandline());
VERIFY_ARE_EQUAL(L"1", myArgs.TerminalArgs().Profile());
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().ColorScheme().empty());
}
{
AppCommandlineArgs appArgs{};
@@ -651,6 +660,31 @@ namespace TerminalAppLocalTests
VERIFY_ARE_EQUAL(til::color(myArgs.TerminalArgs().TabColor().Value()), expectedColor);
VERIFY_IS_NULL(myArgs.TerminalArgs().ProfileIndex());
VERIFY_IS_TRUE(myArgs.TerminalArgs().Profile().empty());
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().ColorScheme().empty());
+ }
+ {
+ AppCommandlineArgs appArgs{};
+ std::vector rawCommands{ L"wt.exe", subcommand, L"--colorScheme", L"Vintage" };
+ const winrt::hstring expectedScheme{ L"Vintage" };
+
+ _buildCommandlinesHelper(appArgs, 1u, rawCommands);
+
+ VERIFY_ARE_EQUAL(1u, appArgs._startupActions.size());
+
+ auto actionAndArgs = appArgs._startupActions.at(0);
+ VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action());
+ VERIFY_IS_NOT_NULL(actionAndArgs.Args());
+ auto myArgs = actionAndArgs.Args().try_as();
+ VERIFY_IS_NOT_NULL(myArgs);
+ VERIFY_IS_NOT_NULL(myArgs.TerminalArgs());
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().Commandline().empty());
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().StartingDirectory().empty());
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().TabTitle().empty());
+ VERIFY_IS_NULL(myArgs.TerminalArgs().TabColor());
+ VERIFY_IS_NULL(myArgs.TerminalArgs().ProfileIndex());
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().Profile().empty());
+ VERIFY_IS_FALSE(myArgs.TerminalArgs().ColorScheme().empty());
+ VERIFY_ARE_EQUAL(expectedScheme, myArgs.TerminalArgs().ColorScheme());
}
}
@@ -680,6 +714,7 @@ namespace TerminalAppLocalTests
auto myArgs = actionAndArgs.Args().try_as();
VERIFY_IS_NOT_NULL(myArgs);
VERIFY_ARE_EQUAL(SplitState::Automatic, myArgs.SplitStyle());
+ VERIFY_ARE_EQUAL(SplitType::Manual, myArgs.SplitMode());
VERIFY_IS_NOT_NULL(myArgs.TerminalArgs());
}
{
@@ -699,6 +734,7 @@ namespace TerminalAppLocalTests
auto myArgs = actionAndArgs.Args().try_as();
VERIFY_IS_NOT_NULL(myArgs);
VERIFY_ARE_EQUAL(SplitState::Horizontal, myArgs.SplitStyle());
+ VERIFY_ARE_EQUAL(SplitType::Manual, myArgs.SplitMode());
VERIFY_IS_NOT_NULL(myArgs.TerminalArgs());
}
{
@@ -720,6 +756,28 @@ namespace TerminalAppLocalTests
auto myArgs = actionAndArgs.Args().try_as();
VERIFY_IS_NOT_NULL(myArgs);
VERIFY_ARE_EQUAL(SplitState::Vertical, myArgs.SplitStyle());
+ VERIFY_ARE_EQUAL(SplitType::Manual, myArgs.SplitMode());
+ VERIFY_IS_NOT_NULL(myArgs.TerminalArgs());
+ }
+ {
+ AppCommandlineArgs appArgs{};
+ std::vector rawCommands{ L"wt.exe", subcommand, L"-D" };
+ auto commandlines = AppCommandlineArgs::BuildCommands(rawCommands);
+ VERIFY_ARE_EQUAL(1u, commandlines.size());
+ _buildCommandlinesHelper(appArgs, 1u, rawCommands);
+
+ VERIFY_ARE_EQUAL(2u, appArgs._startupActions.size());
+
+ // The first action is going to always be a new-tab action
+ VERIFY_ARE_EQUAL(ShortcutAction::NewTab, appArgs._startupActions.at(0).Action());
+
+ // The one we actually want to test here is the SplitPane action we created
+ auto actionAndArgs = appArgs._startupActions.at(1);
+ VERIFY_ARE_EQUAL(ShortcutAction::SplitPane, actionAndArgs.Action());
+ VERIFY_IS_NOT_NULL(actionAndArgs.Args());
+ auto myArgs = actionAndArgs.Args().try_as();
+ VERIFY_IS_NOT_NULL(myArgs);
+ VERIFY_ARE_EQUAL(SplitType::Duplicate, myArgs.SplitMode());
VERIFY_IS_NOT_NULL(myArgs.TerminalArgs());
}
{
@@ -749,6 +807,7 @@ namespace TerminalAppLocalTests
VERIFY_IS_FALSE(myArgs.TerminalArgs().Profile().empty());
VERIFY_ARE_EQUAL(L"wsl -d Alpine", myArgs.TerminalArgs().Commandline());
VERIFY_ARE_EQUAL(L"1", myArgs.TerminalArgs().Profile());
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().ColorScheme().empty());
}
{
AppCommandlineArgs appArgs{};
@@ -777,6 +836,7 @@ namespace TerminalAppLocalTests
VERIFY_IS_FALSE(myArgs.TerminalArgs().Profile().empty());
VERIFY_ARE_EQUAL(L"wsl -d Alpine", myArgs.TerminalArgs().Commandline());
VERIFY_ARE_EQUAL(L"1", myArgs.TerminalArgs().Profile());
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().ColorScheme().empty());
}
{
AppCommandlineArgs appArgs{};
@@ -805,6 +865,7 @@ namespace TerminalAppLocalTests
VERIFY_IS_FALSE(myArgs.TerminalArgs().Profile().empty());
VERIFY_ARE_EQUAL(L"wsl -d Alpine -H", myArgs.TerminalArgs().Commandline());
VERIFY_ARE_EQUAL(L"1", myArgs.TerminalArgs().Profile());
+ VERIFY_IS_TRUE(myArgs.TerminalArgs().ColorScheme().empty());
}
}
diff --git a/src/cascadia/LocalTests_TerminalApp/TabTests.cpp b/src/cascadia/LocalTests_TerminalApp/TabTests.cpp
index e2b3ab6b73a..df9edfa698e 100644
--- a/src/cascadia/LocalTests_TerminalApp/TabTests.cpp
+++ b/src/cascadia/LocalTests_TerminalApp/TabTests.cpp
@@ -85,6 +85,9 @@ namespace TerminalAppLocalTests
TEST_METHOD(NextMRUTab);
TEST_METHOD(VerifyCommandPaletteTabSwitcherOrder);
+ TEST_METHOD(TestWindowRenameSuccessful);
+ TEST_METHOD(TestWindowRenameFailure);
+
TEST_CLASS_SETUP(ClassSetup)
{
return true;
@@ -260,6 +263,15 @@ namespace TerminalAppLocalTests
page->Create();
Log::Comment(L"Create()'d the page successfully");
+ // Build a NewTab action, to make sure we start with one. The real
+ // Terminal will always get one from AppCommandlineArgs.
+ NewTerminalArgs newTerminalArgs{};
+ NewTabArgs args{ newTerminalArgs };
+ ActionAndArgs newTabAction{ ShortcutAction::NewTab, args };
+ // push the arg onto the front
+ page->_startupActions.Append(newTabAction);
+ Log::Comment(L"Added a single newTab action");
+
auto app = ::winrt::Windows::UI::Xaml::Application::Current();
winrt::TerminalApp::TerminalPage pp = *page;
@@ -276,8 +288,9 @@ namespace TerminalAppLocalTests
// In the real app, this isn't a problem, but doesn't happen
// reliably in the unit tests.
Log::Comment(L"Ensure we set the first tab as the selected one.");
- auto tab = page->_GetTerminalTabImpl(page->_tabs.GetAt(0));
- page->_tabView.SelectedItem(tab->TabViewItem());
+ auto tab = page->_tabs.GetAt(0);
+ auto tabImpl = page->_GetTerminalTabImpl(tab);
+ page->_tabView.SelectedItem(tabImpl->TabViewItem());
page->_UpdatedSelectedTab(0);
});
VERIFY_SUCCEEDED(result);
@@ -601,7 +614,6 @@ namespace TerminalAppLocalTests
auto result = RunOnUIThread([&page]() {
SplitPaneArgs args{ SplitType::Duplicate };
ActionEventArgs eventArgs{ args };
- // eventArgs.Args(args);
page->_HandleSplitPane(nullptr, eventArgs);
auto firstTab = page->_GetTerminalTabImpl(page->_tabs.GetAt(0));
@@ -939,4 +951,57 @@ namespace TerminalAppLocalTests
// will also dismiss itself immediately when that's called. So we can't
// really inspect the contents of the list in this test, unfortunately.
}
+
+ void TabTests::TestWindowRenameSuccessful()
+ {
+ auto page = _commonSetup();
+ page->RenameWindowRequested([&page](auto&&, const winrt::TerminalApp::RenameWindowRequestedArgs args) {
+ // In the real terminal, this would bounce up to the monarch and
+ // come back down. Instead, immediately call back and set the name.
+ page->WindowName(args.ProposedName());
+ });
+
+ bool windowNameChanged = false;
+ page->PropertyChanged([&page, &windowNameChanged](auto&&, const winrt::WUX::Data::PropertyChangedEventArgs& args) mutable {
+ if (args.PropertyName() == L"WindowNameForDisplay")
+ {
+ windowNameChanged = true;
+ }
+ });
+
+ TestOnUIThread([&page]() {
+ page->_RequestWindowRename(winrt::hstring{ L"Foo" });
+ });
+ TestOnUIThread([&]() {
+ VERIFY_ARE_EQUAL(L"Foo", page->_WindowName);
+ VERIFY_IS_TRUE(windowNameChanged,
+ L"The window name should have changed, and we should have raised a notification that WindowNameForDisplay changed");
+ });
+ }
+ void TabTests::TestWindowRenameFailure()
+ {
+ auto page = _commonSetup();
+ page->RenameWindowRequested([&page](auto&&, auto&&) {
+ // In the real terminal, this would bounce up to the monarch and
+ // come back down. Instead, immediately call back to tell the terminal it failed.
+ page->RenameFailed();
+ });
+
+ bool windowNameChanged = false;
+
+ page->PropertyChanged([&page, &windowNameChanged](auto&&, const winrt::WUX::Data::PropertyChangedEventArgs& args) mutable {
+ if (args.PropertyName() == L"WindowNameForDisplay")
+ {
+ windowNameChanged = true;
+ }
+ });
+
+ TestOnUIThread([&page]() {
+ page->_RequestWindowRename(winrt::hstring{ L"Foo" });
+ });
+ TestOnUIThread([&]() {
+ VERIFY_IS_FALSE(windowNameChanged,
+ L"The window name should not have changed, we should have rejected the change.");
+ });
+ }
}
diff --git a/src/cascadia/LocalTests_TerminalApp/TestHostApp/TestHostApp.vcxproj b/src/cascadia/LocalTests_TerminalApp/TestHostApp/TestHostApp.vcxproj
index d8e127175fb..dccc97adde5 100644
--- a/src/cascadia/LocalTests_TerminalApp/TestHostApp/TestHostApp.vcxproj
+++ b/src/cascadia/LocalTests_TerminalApp/TestHostApp/TestHostApp.vcxproj
@@ -117,7 +117,7 @@
- $(OpenConsoleDir)\packages\Taef.Redist.Wlk.10.57.200731005-develop\lib\Microsoft.VisualStudio.TestPlatform.TestExecutor.WinRTCore.winmd
+ $(OpenConsoleDir)\packages\Microsoft.Taef.10.58.210305002\lib\Microsoft.VisualStudio.TestPlatform.TestExecutor.WinRTCore.winmd
true
diff --git a/src/cascadia/LocalTests_TerminalApp/TestHostApp/UnitTestApp.xaml b/src/cascadia/LocalTests_TerminalApp/TestHostApp/UnitTestApp.xaml
index 8cd18f278bc..25415a7d5c1 100644
--- a/src/cascadia/LocalTests_TerminalApp/TestHostApp/UnitTestApp.xaml
+++ b/src/cascadia/LocalTests_TerminalApp/TestHostApp/UnitTestApp.xaml
@@ -1,8 +1,5 @@
-
-
-
+
diff --git a/src/cascadia/LocalTests_TerminalApp/pch.h b/src/cascadia/LocalTests_TerminalApp/pch.h
index 737bdf1792e..6b9aee97035 100644
--- a/src/cascadia/LocalTests_TerminalApp/pch.h
+++ b/src/cascadia/LocalTests_TerminalApp/pch.h
@@ -45,6 +45,7 @@ Author(s):
#include
#include
#include
+#include
#include
#include
#include
diff --git a/src/cascadia/Remoting/Microsoft.Terminal.RemotingLib.vcxproj b/src/cascadia/Remoting/Microsoft.Terminal.RemotingLib.vcxproj
index d0e9882845a..519a9c69acc 100644
--- a/src/cascadia/Remoting/Microsoft.Terminal.RemotingLib.vcxproj
+++ b/src/cascadia/Remoting/Microsoft.Terminal.RemotingLib.vcxproj
@@ -25,6 +25,9 @@
Monarch.idl
+
+ Peasant.idl
+
Peasant.idl
@@ -51,6 +54,9 @@
Monarch.idl
+
+ Peasant.idl
+
Peasant.idl
diff --git a/src/cascadia/Remoting/Monarch.cpp b/src/cascadia/Remoting/Monarch.cpp
index f7aa8bee85c..5001dc2cad3 100644
--- a/src/cascadia/Remoting/Monarch.cpp
+++ b/src/cascadia/Remoting/Monarch.cpp
@@ -75,6 +75,8 @@ namespace winrt::Microsoft::Terminal::Remoting::implementation
auto newPeasantsId = peasant.GetID();
// Add an event listener to the peasant's WindowActivated event.
peasant.WindowActivated({ this, &Monarch::_peasantWindowActivated });
+ peasant.IdentifyWindowsRequested({ this, &Monarch::_identifyWindows });
+ peasant.RenameRequested({ this, &Monarch::_renameRequested });
_peasants[newPeasantsId] = peasant;
@@ -571,4 +573,111 @@ namespace winrt::Microsoft::Terminal::Remoting::implementation
result->WindowName(targetWindowName);
return *result;
}
+
+ // Method Description:
+ // - Helper for doing something on each and every peasant, with no regard
+ // for if the peasant is living or dead.
+ // - We'll try calling callback on every peasant.
+ // - If any single peasant is dead, then we'll call errorCallback, and move on.
+ // - We're taking an errorCallback here, because the thing we usually want
+ // to do is TraceLog a message, but TraceLoggingWrite is actually a macro
+ // that _requires_ the second arg to be a string literal. It can't just be
+ // a variable.
+ // Arguments:
+ // - callback: The function to call on each peasant
+ // - errorCallback: The function to call if a peasant is dead.
+ // Return Value:
+ // -
+ void Monarch::_forAllPeasantsIgnoringTheDead(std::function callback,
+ std::function errorCallback)
+ {
+ for (const auto& [id, p] : _peasants)
+ {
+ try
+ {
+ callback(p, id);
+ }
+ catch (...)
+ {
+ LOG_CAUGHT_EXCEPTION();
+ // If this fails, we don't _really_ care. Just move on to the
+ // next one. Someone else will clean up the dead peasant.
+ errorCallback(id);
+ }
+ }
+ }
+
+ // Method Description:
+ // - This is an event handler for the IdentifyWindowsRequested event. A
+ // Peasant may raise that event if they want _all_ windows to identify
+ // themselves.
+ // - This will tell each and every peasant to identify themselves. This will
+ // eventually propagate down to TerminalPage::IdentifyWindow.
+ // Arguments:
+ // -
+ // Return Value:
+ // -
+ void Monarch::_identifyWindows(const winrt::Windows::Foundation::IInspectable& /*sender*/,
+ const winrt::Windows::Foundation::IInspectable& /*args*/)
+ {
+ // Notify all the peasants to display their ID.
+ auto callback = [](auto&& p, auto&& /*id*/) {
+ p.DisplayWindowId();
+ };
+ auto onError = [](auto&& id) {
+ TraceLoggingWrite(g_hRemotingProvider,
+ "Monarch_identifyWindows_Failed",
+ TraceLoggingInt64(id, "peasantID", "The ID of the peasant which we could not identify"),
+ TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE));
+ };
+ _forAllPeasantsIgnoringTheDead(callback, onError);
+ }
+
+ // Method Description:
+ // - This is an event handler for the RenameRequested event. A
+ // Peasant may raise that event when they want to be renamed to something else.
+ // - We will check if there are any other windows with this name. If there
+ // are, then we'll reject the rename by setting args.Succeeded=false.
+ // - If there aren't any other windows with this name, then we'll set
+ // args.Succeeded=true, allowing the window to keep this name.
+ // Arguments:
+ // - args: Contains the requested window name and a boolean (Succeeded)
+ // indicating if the request was successful.
+ // Return Value:
+ // -
+ void Monarch::_renameRequested(const winrt::Windows::Foundation::IInspectable& /*sender*/,
+ const winrt::Microsoft::Terminal::Remoting::RenameRequestArgs& args)
+ {
+ bool successfullyRenamed = false;
+
+ try
+ {
+ args.Succeeded(false);
+ const auto name{ args.NewName() };
+ // Try to find a peasant that currently has this name
+ const auto id = _lookupPeasantIdForName(name);
+ if (_getPeasant(id) == nullptr)
+ {
+ // If there is one, then oh no! The requestor is not allowed to
+ // be renamed.
+ args.Succeeded(true);
+ successfullyRenamed = true;
+ }
+
+ TraceLoggingWrite(g_hRemotingProvider,
+ "Monarch_renameRequested",
+ TraceLoggingWideString(name.c_str(), "name", "The newly proposed name"),
+ TraceLoggingInt64(successfullyRenamed, "successfullyRenamed", "true if the peasant is allowed to rename themselves to that name."),
+ TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE));
+ }
+ catch (...)
+ {
+ LOG_CAUGHT_EXCEPTION();
+ // If this fails, we don't _really_ care. The peasant died, but
+ // they're the only one who cares about the result.
+ TraceLoggingWrite(g_hRemotingProvider,
+ "Monarch_renameRequested_Failed",
+ TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE));
+ }
+ }
}
diff --git a/src/cascadia/Remoting/Monarch.h b/src/cascadia/Remoting/Monarch.h
index 8b9ddfa6e00..7996934fd0e 100644
--- a/src/cascadia/Remoting/Monarch.h
+++ b/src/cascadia/Remoting/Monarch.h
@@ -74,6 +74,15 @@ namespace winrt::Microsoft::Terminal::Remoting::implementation
void _doHandleActivatePeasant(const winrt::com_ptr& args);
void _clearOldMruEntries(const uint64_t peasantID);
+ void _forAllPeasantsIgnoringTheDead(std::function callback,
+ std::function errorCallback);
+
+ void _identifyWindows(const winrt::Windows::Foundation::IInspectable& sender,
+ const winrt::Windows::Foundation::IInspectable& args);
+
+ void _renameRequested(const winrt::Windows::Foundation::IInspectable& sender,
+ const winrt::Microsoft::Terminal::Remoting::RenameRequestArgs& args);
+
friend class RemotingUnitTests::RemotingTests;
};
}
diff --git a/src/cascadia/Remoting/Peasant.cpp b/src/cascadia/Remoting/Peasant.cpp
index ee34887c2a9..c47cf1e98f2 100644
--- a/src/cascadia/Remoting/Peasant.cpp
+++ b/src/cascadia/Remoting/Peasant.cpp
@@ -117,4 +117,81 @@ namespace winrt::Microsoft::Terminal::Remoting::implementation
return _lastActivatedArgs;
}
+ // Method Description:
+ // - Tell this window to display it's window ID. We'll raise a
+ // DisplayWindowIdRequested event, which will get handled in the AppHost,
+ // and used to tell the app to display the ID toast.
+ // Arguments:
+ // -
+ // Return Value:
+ // -
+ void Peasant::DisplayWindowId()
+ {
+ // Not worried about try/catching this. The handler is in AppHost, which
+ // is in-proc for us.
+ _DisplayWindowIdRequestedHandlers(*this, nullptr);
+ }
+
+ // Method Description:
+ // - Raises an event to ask that all windows be identified. This will come
+ // back to us when the Monarch handles the event and calls our
+ // DisplayWindowId method.
+ // Arguments:
+ // -
+ // Return Value:
+ // -
+ void Peasant::RequestIdentifyWindows()
+ {
+ bool successfullyNotified = false;
+
+ try
+ {
+ // Try/catch this, because the other side of this event is handled
+ // by the monarch. The monarch might have died. If they have, this
+ // will throw an exception. Just eat it, the election thread will
+ // handle hooking up the new one.
+ _IdentifyWindowsRequestedHandlers(*this, nullptr);
+ successfullyNotified = true;
+ }
+ catch (...)
+ {
+ LOG_CAUGHT_EXCEPTION();
+ }
+ TraceLoggingWrite(g_hRemotingProvider,
+ "Peasant_RequestIdentifyWindows",
+ TraceLoggingUInt64(GetID(), "peasantID", "Our ID"),
+ TraceLoggingBoolean(successfullyNotified, "successfullyNotified", "true if we successfully notified the monarch"),
+ TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE));
+ }
+
+ void Peasant::RequestRename(const winrt::Microsoft::Terminal::Remoting::RenameRequestArgs& args)
+ {
+ bool successfullyNotified = false;
+ const auto oldName{ _WindowName };
+ try
+ {
+ // Try/catch this, because the other side of this event is handled
+ // by the monarch. The monarch might have died. If they have, this
+ // will throw an exception. Just eat it, the election thread will
+ // handle hooking up the new one.
+ _RenameRequestedHandlers(*this, args);
+ if (args.Succeeded())
+ {
+ _WindowName = args.NewName();
+ }
+ successfullyNotified = true;
+ }
+ catch (...)
+ {
+ LOG_CAUGHT_EXCEPTION();
+ }
+ TraceLoggingWrite(g_hRemotingProvider,
+ "Peasant_RequestRename",
+ TraceLoggingUInt64(GetID(), "peasantID", "Our ID"),
+ TraceLoggingWideString(oldName.c_str(), "oldName", "Our old name"),
+ TraceLoggingWideString(args.NewName().c_str(), "newName", "The proposed name"),
+ TraceLoggingBoolean(args.Succeeded(), "succeeded", "true if the monarch ok'd this new name for us."),
+ TraceLoggingBoolean(successfullyNotified, "successfullyNotified", "true if we successfully notified the monarch"),
+ TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE));
+ }
}
diff --git a/src/cascadia/Remoting/Peasant.h b/src/cascadia/Remoting/Peasant.h
index c1f730374d4..67785c95bd1 100644
--- a/src/cascadia/Remoting/Peasant.h
+++ b/src/cascadia/Remoting/Peasant.h
@@ -5,6 +5,7 @@
#include "Peasant.g.h"
#include "../cascadia/inc/cppwinrt_utils.h"
+#include "RenameRequestArgs.h"
namespace RemotingUnitTests
{
@@ -22,6 +23,9 @@ namespace winrt::Microsoft::Terminal::Remoting::implementation
bool ExecuteCommandline(const winrt::Microsoft::Terminal::Remoting::CommandlineArgs& args);
void ActivateWindow(const winrt::Microsoft::Terminal::Remoting::WindowActivatedArgs& args);
+ void RequestIdentifyWindows();
+ void DisplayWindowId();
+ void RequestRename(const winrt::Microsoft::Terminal::Remoting::RenameRequestArgs& args);
winrt::Microsoft::Terminal::Remoting::WindowActivatedArgs GetLastActivatedArgs();
@@ -30,6 +34,9 @@ namespace winrt::Microsoft::Terminal::Remoting::implementation
TYPED_EVENT(WindowActivated, winrt::Windows::Foundation::IInspectable, winrt::Microsoft::Terminal::Remoting::WindowActivatedArgs);
TYPED_EVENT(ExecuteCommandlineRequested, winrt::Windows::Foundation::IInspectable, winrt::Microsoft::Terminal::Remoting::CommandlineArgs);
+ TYPED_EVENT(IdentifyWindowsRequested, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable);
+ TYPED_EVENT(DisplayWindowIdRequested, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable);
+ TYPED_EVENT(RenameRequested, winrt::Windows::Foundation::IInspectable, winrt::Microsoft::Terminal::Remoting::RenameRequestArgs);
private:
Peasant(const uint64_t testPID);
diff --git a/src/cascadia/Remoting/Peasant.idl b/src/cascadia/Remoting/Peasant.idl
index 2ef4cb89086..583a494a6b9 100644
--- a/src/cascadia/Remoting/Peasant.idl
+++ b/src/cascadia/Remoting/Peasant.idl
@@ -13,6 +13,13 @@ namespace Microsoft.Terminal.Remoting
String CurrentDirectory();
};
+ runtimeclass RenameRequestArgs
+ {
+ RenameRequestArgs(String newName);
+ String NewName { get; };
+ Boolean Succeeded;
+ };
+
runtimeclass WindowActivatedArgs
{
WindowActivatedArgs(UInt64 peasantID, Guid desktopID, Windows.Foundation.DateTime activatedTime);
@@ -34,9 +41,16 @@ namespace Microsoft.Terminal.Remoting
void ActivateWindow(WindowActivatedArgs args);
WindowActivatedArgs GetLastActivatedArgs();
String WindowName { get; };
+ void RequestIdentifyWindows(); // Tells us to raise a IdentifyWindowsRequested
+ void DisplayWindowId(); // Tells us to display its own ID (which causes a DisplayWindowIdRequested to be raised)
+
+ void RequestRename(RenameRequestArgs args); // Tells us to raise a RenameRequested
event Windows.Foundation.TypedEventHandler
-
-
-
+
+
+
-
-
+
+
-
-
-
-
+
+
-
- 8,0,0,0
+
+ 8,0,8,0
-
-
+
+
-
-
+
+
diff --git a/src/cascadia/TerminalApp/AppActionHandlers.cpp b/src/cascadia/TerminalApp/AppActionHandlers.cpp
index 69466ff024b..41f2291d3e6 100644
--- a/src/cascadia/TerminalApp/AppActionHandlers.cpp
+++ b/src/cascadia/TerminalApp/AppActionHandlers.cpp
@@ -252,8 +252,8 @@ namespace winrt::TerminalApp::implementation
{
if (const auto& realArgs = args.ActionArgs().try_as())
{
- const auto handled = _SelectTab({ realArgs.TabIndex() });
- args.Handled(handled);
+ _SelectTab({ realArgs.TabIndex() });
+ args.Handled(true);
}
}
@@ -517,7 +517,7 @@ namespace winrt::TerminalApp::implementation
return;
}
- // Since _RemoveTab is asynchronous, create a snapshot of the tabs we want to remove
+ // Since _RemoveTabs is asynchronous, create a snapshot of the tabs we want to remove
std::vector tabsToRemove;
if (index > 0)
{
@@ -556,7 +556,7 @@ namespace winrt::TerminalApp::implementation
return;
}
- // Since _RemoveTab is asynchronous, create a snapshot of the tabs we want to remove
+ // Since _RemoveTabs is asynchronous, create a snapshot of the tabs we want to remove
std::vector tabsToRemove;
std::copy(begin(_tabs) + index + 1, end(_tabs), std::back_inserter(tabsToRemove));
_RemoveTabs(tabsToRemove);
@@ -571,8 +571,8 @@ namespace winrt::TerminalApp::implementation
}
}
- void TerminalPage::_HandleOpenTabSearch(const IInspectable& /*sender*/,
- const ActionEventArgs& args)
+ void TerminalPage::_HandleTabSearch(const IInspectable& /*sender*/,
+ const ActionEventArgs& args)
{
CommandPalette().SetTabs(_tabs, _mruTabs);
CommandPalette().EnableTabSearchMode();
@@ -694,4 +694,81 @@ namespace winrt::TerminalApp::implementation
actionArgs.Handled(true);
}
+ // Method Description:
+ // - Raise a IdentifyWindowsRequested event. This will bubble up to the
+ // AppLogic, to the AppHost, to the Peasant, to the Monarch, then get
+ // distributed down to _all_ the Peasants, as to display info about the
+ // window in _every_ Peasant window.
+ // - This action is also buggy right now, because TeachingTips behave
+ // weird in XAML Islands. See microsoft-ui-xaml#4382
+ // Arguments:
+ // -
+ // Return Value:
+ // -
+ void TerminalPage::_HandleIdentifyWindows(const IInspectable& /*sender*/,
+ const ActionEventArgs& args)
+ {
+ _IdentifyWindowsRequestedHandlers(*this, nullptr);
+ args.Handled(true);
+ }
+
+ // Method Description:
+ // - Display the "Toast" with the name and ID of this window.
+ // - Unlike _HandleIdentifyWindow**s**, this event just displays the window
+ // ID and name in the current window. It does not involve any bubbling
+ // up/down the page/logic/host/manager/peasant/monarch.
+ // Arguments:
+ // -
+ // Return Value:
+ // -
+ void TerminalPage::_HandleIdentifyWindow(const IInspectable& /*sender*/,
+ const ActionEventArgs& args)
+ {
+ IdentifyWindow();
+ args.Handled(true);
+ }
+
+ void TerminalPage::_HandleRenameWindow(const IInspectable& /*sender*/,
+ const ActionEventArgs& args)
+ {
+ if (args)
+ {
+ if (const auto& realArgs = args.ActionArgs().try_as())
+ {
+ const auto newName = realArgs.Name();
+ const auto request = winrt::make_self(newName);
+ _RenameWindowRequestedHandlers(*this, *request);
+ }
+ }
+ args.Handled(false);
+ }
+
+ void TerminalPage::_HandleOpenWindowRenamer(const IInspectable& /*sender*/,
+ const ActionEventArgs& args)
+ {
+ if (WindowRenamer() == nullptr)
+ {
+ // We need to use FindName to lazy-load this object
+ if (MUX::Controls::TeachingTip tip{ FindName(L"WindowRenamer").try_as() })
+ {
+ tip.Closed({ get_weak(), &TerminalPage::_FocusActiveControl });
+ }
+ }
+
+ _UpdateTeachingTipTheme(WindowRenamer().try_as());
+ WindowRenamer().IsOpen(true);
+
+ // PAIN: We can't immediately focus the textbox in the TeachingTip. It's
+ // not technically focusable until it is opened. However, it doesn't
+ // provide an event to tell us when it is opened. That's tracked in
+ // microsoft/microsoft-ui-xaml#1607. So for now, the user _needs_ to
+ // click on the text box manually.
+ //
+ // We're also not using a ContentDialog for this, because in Xaml
+ // Islands a text box in a ContentDialog won't receive _any_ keypresses.
+ // Fun!
+ // WindowRenamerTextBox().Focus(FocusState::Programmatic);
+
+ args.Handled(true);
+ }
}
diff --git a/src/cascadia/TerminalApp/AppCommandlineArgs.cpp b/src/cascadia/TerminalApp/AppCommandlineArgs.cpp
index 67b75906841..129b5aaf708 100644
--- a/src/cascadia/TerminalApp/AppCommandlineArgs.cpp
+++ b/src/cascadia/TerminalApp/AppCommandlineArgs.cpp
@@ -255,6 +255,10 @@ void AppCommandlineArgs::_buildSplitPaneParser()
auto* sizeOpt = subcommand.subcommand->add_option("-s,--size",
_splitPaneSize,
RS_A(L"CmdSplitPaneSizeArgDesc"));
+
+ subcommand._duplicateOption = subcommand.subcommand->add_flag("-D,--duplicate",
+ _splitDuplicate,
+ RS_A(L"CmdSplitPaneDuplicateArgDesc"));
sizeOpt->check(CLI::Range(0.01f, 0.99f));
// When ParseCommand is called, if this subcommand was provided, this
@@ -283,7 +287,8 @@ void AppCommandlineArgs::_buildSplitPaneParser()
style = SplitState::Vertical;
}
}
- SplitPaneArgs args{ style, _splitPaneSize, terminalArgs };
+ const auto splitMode{ subcommand._duplicateOption && _splitDuplicate ? SplitType::Duplicate : SplitType::Manual };
+ SplitPaneArgs args{ splitMode, style, _splitPaneSize, terminalArgs };
splitPaneActionAndArgs.Args(args);
_startupActions.push_back(splitPaneActionAndArgs);
});
@@ -422,6 +427,9 @@ void AppCommandlineArgs::_addNewTerminalArgs(AppCommandlineArgs::NewTerminalSubc
_suppressApplicationTitle,
RS_A(L"CmdSuppressApplicationTitleDesc"));
+ subcommand.colorSchemeOption = subcommand.subcommand->add_option("--colorScheme",
+ _startingColorScheme,
+ RS_A(L"CmdColorSchemeArgDesc"));
// Using positionals_at_end allows us to support "wt new-tab -d wsl -d Ubuntu"
// without CLI11 thinking that we've specified -d twice.
// There's an alternate construction where we make all subcommands "prefix commands",
@@ -494,6 +502,11 @@ NewTerminalArgs AppCommandlineArgs::_getNewTerminalArgs(AppCommandlineArgs::NewT
args.SuppressApplicationTitle(_suppressApplicationTitle);
}
+ if (*subcommand.colorSchemeOption)
+ {
+ args.ColorScheme(winrt::to_hstring(_startingColorScheme));
+ }
+
return args;
}
@@ -537,6 +550,7 @@ void AppCommandlineArgs::_resetStateToDefault()
_splitVertical = false;
_splitHorizontal = false;
_splitPaneSize = 0.5f;
+ _splitDuplicate = false;
_focusTabIndex = -1;
_focusNextTab = false;
@@ -684,6 +698,18 @@ std::vector& AppCommandlineArgs::GetStartupActions()
return _startupActions;
}
+// Method Description:
+// - Returns whether we should start listening for inbound PTY connections
+// coming from the operating system default application feature.
+// Arguments:
+// -
+// Return Value:
+// - True if the listener should be started. False otherwise.
+bool AppCommandlineArgs::IsHandoffListener() const noexcept
+{
+ return _isHandoffListener;
+}
+
// Method Description:
// - Get the string of text that should be displayed to the user on exit. This
// is usually helpful for cases where the user entered some sort of invalid
@@ -726,17 +752,23 @@ bool AppCommandlineArgs::ShouldExitEarly() const noexcept
// -
void AppCommandlineArgs::ValidateStartupCommands()
{
- // If we parsed no commands, or the first command we've parsed is not a new
- // tab action, prepend a new-tab command to the front of the list.
- if (_startupActions.empty() ||
- _startupActions.front().Action() != ShortcutAction::NewTab)
+ // Only check over the actions list for the potential to add a new-tab
+ // command if we are not starting for the purposes of receiving an inbound
+ // handoff connection from the operating system.
+ if (!_isHandoffListener)
{
- // Build the NewTab action from the values we've parsed on the commandline.
- NewTerminalArgs newTerminalArgs{};
- NewTabArgs args{ newTerminalArgs };
- ActionAndArgs newTabAction{ ShortcutAction::NewTab, args };
- // push the arg onto the front
- _startupActions.insert(_startupActions.begin(), 1, newTabAction);
+ // If we parsed no commands, or the first command we've parsed is not a new
+ // tab action, prepend a new-tab command to the front of the list.
+ if (_startupActions.empty() ||
+ _startupActions.front().Action() != ShortcutAction::NewTab)
+ {
+ // Build the NewTab action from the values we've parsed on the commandline.
+ NewTerminalArgs newTerminalArgs{};
+ NewTabArgs args{ newTerminalArgs };
+ ActionAndArgs newTabAction{ ShortcutAction::NewTab, args };
+ // push the arg onto the front
+ _startupActions.insert(_startupActions.begin(), 1, newTabAction);
+ }
}
}
@@ -760,6 +792,15 @@ std::optional AppComman
// - 0 if the commandline was successfully parsed
int AppCommandlineArgs::ParseArgs(winrt::array_view& args)
{
+ for (const auto& arg : args)
+ {
+ if (arg == L"-Embedding")
+ {
+ _isHandoffListener = true;
+ return 0;
+ }
+ }
+
auto commands = ::TerminalApp::AppCommandlineArgs::BuildCommands(args);
for (auto& cmdBlob : commands)
@@ -864,6 +905,7 @@ void AppCommandlineArgs::FullResetState()
_startupActions.clear();
_exitMessage = "";
_shouldExitEarly = false;
+ _isHandoffListener = false;
_windowTarget = {};
}
diff --git a/src/cascadia/TerminalApp/AppCommandlineArgs.h b/src/cascadia/TerminalApp/AppCommandlineArgs.h
index 4c3456932eb..4ec6a19414c 100644
--- a/src/cascadia/TerminalApp/AppCommandlineArgs.h
+++ b/src/cascadia/TerminalApp/AppCommandlineArgs.h
@@ -35,6 +35,7 @@ class TerminalApp::AppCommandlineArgs final
void ValidateStartupCommands();
std::vector& GetStartupActions();
+ bool IsHandoffListener() const noexcept;
const std::string& GetExitMessage();
bool ShouldExitEarly() const noexcept;
@@ -62,12 +63,14 @@ class TerminalApp::AppCommandlineArgs final
CLI::Option* titleOption;
CLI::Option* tabColorOption;
CLI::Option* suppressApplicationTitleOption;
+ CLI::Option* colorSchemeOption;
};
struct NewPaneSubcommand : public NewTerminalSubcommand
{
CLI::Option* _horizontalOption;
CLI::Option* _verticalOption;
+ CLI::Option* _duplicateOption;
};
// --- Subcommands ---
@@ -86,6 +89,7 @@ class TerminalApp::AppCommandlineArgs final
std::string _startingDirectory;
std::string _startingTitle;
std::string _startingTabColor;
+ std::string _startingColorScheme;
bool _suppressApplicationTitle{ false };
winrt::Microsoft::Terminal::Settings::Model::FocusDirection _moveFocusDirection{ winrt::Microsoft::Terminal::Settings::Model::FocusDirection::None };
@@ -95,6 +99,7 @@ class TerminalApp::AppCommandlineArgs final
bool _splitVertical{ false };
bool _splitHorizontal{ false };
+ bool _splitDuplicate{ false };
float _splitPaneSize{ 0.5f };
int _focusTabIndex{ -1 };
@@ -104,6 +109,7 @@ class TerminalApp::AppCommandlineArgs final
const Commandline* _currentCommandline{ nullptr };
std::optional _launchMode{ std::nullopt };
+ bool _isHandoffListener{ false };
std::vector _startupActions;
std::string _exitMessage;
bool _shouldExitEarly{ false };
diff --git a/src/cascadia/TerminalApp/AppLogic.cpp b/src/cascadia/TerminalApp/AppLogic.cpp
index 29b5c6b3aca..fbbb0e1a24b 100644
--- a/src/cascadia/TerminalApp/AppLogic.cpp
+++ b/src/cascadia/TerminalApp/AppLogic.cpp
@@ -1166,6 +1166,17 @@ namespace winrt::TerminalApp::implementation
_hasCommandLineArguments = args.size() > 1;
_appArgs.ValidateStartupCommands();
_root->SetStartupActions(_appArgs.GetStartupActions());
+
+ // Check if we were started as a COM server for inbound connections of console sessions
+ // coming out of the operating system default application feature. If so,
+ // tell TerminalPage to start the listener as we have to make sure it has the chance
+ // to register a handler to hear about the requests first and is all ready to receive
+ // them before the COM server registers itself. Otherwise, the request might come
+ // in and be routed to an event with no handlers or a non-ready Page.
+ if (_appArgs.IsHandoffListener())
+ {
+ _root->SetInboundListener();
+ }
}
return result;
@@ -1369,4 +1380,43 @@ namespace winrt::TerminalApp::implementation
return _root ? _root->AlwaysOnTop() : false;
}
+ void AppLogic::IdentifyWindow()
+ {
+ if (_root)
+ {
+ _root->IdentifyWindow();
+ }
+ }
+
+ winrt::hstring AppLogic::WindowName()
+ {
+ return _root ? _root->WindowName() : L"";
+ }
+ void AppLogic::WindowName(const winrt::hstring& name)
+ {
+ if (_root)
+ {
+ _root->WindowName(name);
+ }
+ }
+ uint64_t AppLogic::WindowId()
+ {
+ return _root ? _root->WindowId() : 0;
+ }
+ void AppLogic::WindowId(const uint64_t& id)
+ {
+ if (_root)
+ {
+ _root->WindowId(id);
+ }
+ }
+
+ void AppLogic::RenameFailed()
+ {
+ if (_root)
+ {
+ _root->RenameFailed();
+ }
+ }
+
}
diff --git a/src/cascadia/TerminalApp/AppLogic.h b/src/cascadia/TerminalApp/AppLogic.h
index a7cc3957323..b35b7232159 100644
--- a/src/cascadia/TerminalApp/AppLogic.h
+++ b/src/cascadia/TerminalApp/AppLogic.h
@@ -60,6 +60,13 @@ namespace winrt::TerminalApp::implementation
bool Fullscreen() const;
bool AlwaysOnTop() const;
+ void IdentifyWindow();
+ void RenameFailed();
+ winrt::hstring WindowName();
+ void WindowName(const winrt::hstring& name);
+ uint64_t WindowId();
+ void WindowId(const uint64_t& id);
+
Windows::Foundation::Size GetLaunchDimensions(uint32_t dpi);
bool CenterOnLaunch();
TerminalApp::InitialPosition GetInitialPosition(int64_t defaultInitialX, int64_t defaultInitialY);
@@ -149,6 +156,8 @@ namespace winrt::TerminalApp::implementation
FORWARDED_TYPED_EVENT(AlwaysOnTopChanged, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable, _root, AlwaysOnTopChanged);
FORWARDED_TYPED_EVENT(RaiseVisualBell, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable, _root, RaiseVisualBell);
FORWARDED_TYPED_EVENT(SetTaskbarProgress, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable, _root, SetTaskbarProgress);
+ FORWARDED_TYPED_EVENT(IdentifyWindowsRequested, Windows::Foundation::IInspectable, Windows::Foundation::IInspectable, _root, IdentifyWindowsRequested);
+ FORWARDED_TYPED_EVENT(RenameWindowRequested, Windows::Foundation::IInspectable, winrt::TerminalApp::RenameWindowRequestedArgs, _root, RenameWindowRequested);
#ifdef UNIT_TESTING
friend class TerminalAppLocalTests::CommandlineTest;
diff --git a/src/cascadia/TerminalApp/AppLogic.idl b/src/cascadia/TerminalApp/AppLogic.idl
index bc2d4546486..19647928ddc 100644
--- a/src/cascadia/TerminalApp/AppLogic.idl
+++ b/src/cascadia/TerminalApp/AppLogic.idl
@@ -48,6 +48,11 @@ namespace TerminalApp
Boolean Fullscreen { get; };
Boolean AlwaysOnTop { get; };
+ void IdentifyWindow();
+ String WindowName;
+ UInt64 WindowId;
+ void RenameFailed();
+
Windows.Foundation.Size GetLaunchDimensions(UInt32 dpi);
Boolean CenterOnLaunch { get; };
@@ -78,5 +83,7 @@ namespace TerminalApp
event Windows.Foundation.TypedEventHandler AlwaysOnTopChanged;
event Windows.Foundation.TypedEventHandler RaiseVisualBell;
event Windows.Foundation.TypedEventHandler SetTaskbarProgress;
+ event Windows.Foundation.TypedEventHandler IdentifyWindowsRequested;
+ event Windows.Foundation.TypedEventHandler RenameWindowRequested;
}
}
diff --git a/src/cascadia/TerminalApp/ColorPickupFlyout.xaml b/src/cascadia/TerminalApp/ColorPickupFlyout.xaml
index 197e901348a..7674b357e43 100644
--- a/src/cascadia/TerminalApp/ColorPickupFlyout.xaml
+++ b/src/cascadia/TerminalApp/ColorPickupFlyout.xaml
@@ -1,146 +1,193 @@
-
+
-
+
-
-
+
-
-
-
-
+
+
-
+
-
-
+ Grid.Row="0"
+ ColorChanged="ColorPicker_ColorChanged"
+ FontSize="10"
+ IsAlphaEnabled="False"
+ IsAlphaSliderVisible="False"
+ IsAlphaTextInputVisible="False"
+ IsColorChannelTextInputVisible="True"
+ IsColorSliderVisible="True"
+ IsHexInputVisible="True"
+ IsMoreButtonVisible="True" />
+
diff --git a/src/cascadia/TerminalApp/CommandPalette.xaml b/src/cascadia/TerminalApp/CommandPalette.xaml
index 3cb8f65c44f..3fbc4490e70 100644
--- a/src/cascadia/TerminalApp/CommandPalette.xaml
+++ b/src/cascadia/TerminalApp/CommandPalette.xaml
@@ -1,490 +1,500 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/cascadia/TerminalApp/HighlightedTextControl.xaml b/src/cascadia/TerminalApp/HighlightedTextControl.xaml
index f1d89c864fc..deb34cf7235 100644
--- a/src/cascadia/TerminalApp/HighlightedTextControl.xaml
+++ b/src/cascadia/TerminalApp/HighlightedTextControl.xaml
@@ -1,13 +1,11 @@
-
+
-
+
diff --git a/src/cascadia/TerminalApp/MinMaxCloseControl.xaml b/src/cascadia/TerminalApp/MinMaxCloseControl.xaml
index d84de6b6518..fd3de4f4379 100644
--- a/src/cascadia/TerminalApp/MinMaxCloseControl.xaml
+++ b/src/cascadia/TerminalApp/MinMaxCloseControl.xaml
@@ -1,86 +1,135 @@
-
-
+
+
1.0
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Transparent
-
-
-
-
+
+
+
+
+
+ #00e81123
1.0
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Transparent
-
-
-
-
+
+
+
+
+
+ #00e81123
3.0
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+ M 0 0 L 10 10 M 10 0 L 0 10
+ M 0 0 L 10 10 M 10 0 L 0 10
-
+
36.0
32.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
@@ -151,38 +227,44 @@
-
-
-
+
+
-
+ IsChecked="True"
+ Style="{StaticResource ToggleButtonStyle}">
+
-
+ Click="GoForwardClicked"
+ Style="{StaticResource ToggleButtonStyle}">
+
-
+
-
+
diff --git a/src/cascadia/TerminalControl/TSFInputControl.xaml b/src/cascadia/TerminalControl/TSFInputControl.xaml
index 2633bbd1261..bc7fca22bfe 100644
--- a/src/cascadia/TerminalControl/TSFInputControl.xaml
+++ b/src/cascadia/TerminalControl/TSFInputControl.xaml
@@ -1,18 +1,17 @@
-
+
diff --git a/src/cascadia/TerminalControl/TermControl.cpp b/src/cascadia/TerminalControl/TermControl.cpp
index a28ffdcd735..da4b256e70c 100644
--- a/src/cascadia/TerminalControl/TermControl.cpp
+++ b/src/cascadia/TerminalControl/TermControl.cpp
@@ -306,24 +306,31 @@ namespace winrt::Microsoft::Terminal::Control::implementation
// terminal.
co_await winrt::resume_foreground(Dispatcher());
- _UpdateSettingsFromUIThread(_settings);
+ // Take the lock before calling the helper functions to update the settings and appearance
+ auto lock = _terminal->LockForWriting();
+
+ _UpdateSettingsFromUIThreadUnderLock(_settings);
+
auto appearance = _settings.try_as();
if (!_focused && _UnfocusedAppearance)
{
appearance = _UnfocusedAppearance;
}
- _UpdateAppearanceFromUIThread(appearance);
+ _UpdateAppearanceFromUIThreadUnderLock(appearance);
}
// Method Description:
// - Dispatches a call to the UI thread and updates the appearance
// Arguments:
// - newAppearance: the new appearance to set
- winrt::fire_and_forget TermControl::UpdateAppearance(IControlAppearance newAppearance)
+ winrt::fire_and_forget TermControl::UpdateAppearance(const IControlAppearance newAppearance)
{
// Dispatch a call to the UI thread
co_await winrt::resume_foreground(Dispatcher());
- _UpdateAppearanceFromUIThread(newAppearance);
+
+ // Take the lock before calling the helper function to update the appearance
+ auto lock = _terminal->LockForWriting();
+ _UpdateAppearanceFromUIThreadUnderLock(newAppearance);
}
// Method Description:
@@ -366,9 +373,10 @@ namespace winrt::Microsoft::Terminal::Control::implementation
// issue that causes one of our hstring -> wstring_view conversions to result in garbage,
// but only from a coroutine context. See GH#8723.
// - INVARIANT: This method must be called from the UI thread.
+ // - INVARIANT: This method can only be called if the caller has the writing lock on the terminal.
// Arguments:
// - newSettings: the new settings to set
- void TermControl::_UpdateSettingsFromUIThread(IControlSettings newSettings)
+ void TermControl::_UpdateSettingsFromUIThreadUnderLock(IControlSettings newSettings)
{
if (_closing)
{
@@ -381,7 +389,12 @@ namespace winrt::Microsoft::Terminal::Control::implementation
// Update the terminal core with its new Core settings
_terminal->UpdateSettings(_settings);
- auto lock = _terminal->LockForWriting();
+ if (!_initializedTerminal)
+ {
+ // If we haven't initialized, there's no point in continuing.
+ // Initialization will handle the renderer settings.
+ return;
+ }
// Update DxEngine settings under the lock
_renderEngine->SetForceFullRepaintRendering(_settings.ForceFullRepaintRendering());
@@ -413,10 +426,11 @@ namespace winrt::Microsoft::Terminal::Control::implementation
// Method Description:
// - Updates the appearance
- // - This should only be called from the UI thread
+ // - INVARIANT: This method must be called from the UI thread.
+ // - INVARIANT: This method can only be called if the caller has the writing lock on the terminal.
// Arguments:
// - newAppearance: the new appearance to set
- void TermControl::_UpdateAppearanceFromUIThread(IControlAppearance newAppearance)
+ void TermControl::_UpdateAppearanceFromUIThreadUnderLock(IControlAppearance newAppearance)
{
if (_closing)
{
@@ -456,7 +470,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
}
// Update our control settings
- COLORREF bg = newAppearance.DefaultBackground();
+ const auto bg = newAppearance.DefaultBackground();
_BackgroundColorChanged(bg);
// Set TSF Foreground
@@ -467,10 +481,8 @@ namespace winrt::Microsoft::Terminal::Control::implementation
// Update the terminal core with its new Core settings
_terminal->UpdateAppearance(newAppearance);
- auto lock = _terminal->LockForWriting();
-
// Update DxEngine settings under the lock
- _renderEngine->SetSelectionBackground(newAppearance.SelectionBackground());
+ _renderEngine->SetSelectionBackground(til::color{ newAppearance.SelectionBackground() });
_renderEngine->SetRetroTerminalEffect(newAppearance.RetroTerminalEffect());
_renderEngine->SetPixelShaderPath(newAppearance.PixelShaderPath());
_renderer->TriggerRedrawAll();
@@ -561,12 +573,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
// see GH#1082: Initialize background color so we don't get a
// fade/flash when _BackgroundColorChanged is called
- uint32_t color = _settings.DefaultBackground();
- winrt::Windows::UI::Color bgColor{};
- bgColor.R = GetRValue(color);
- bgColor.G = GetGValue(color);
- bgColor.B = GetBValue(color);
- bgColor.A = 255;
+ auto bgColor = til::color{ _settings.DefaultBackground() }.with_alpha(0xff);
acrylic.FallbackColor(bgColor);
acrylic.TintColor(bgColor);
@@ -605,7 +612,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
// - color: The background color to use as a uint32 (aka DWORD COLORREF)
// Return Value:
// -
- winrt::fire_and_forget TermControl::_BackgroundColorChanged(const COLORREF color)
+ winrt::fire_and_forget TermControl::_BackgroundColorChanged(const til::color color)
{
til::color newBgColor{ color };
@@ -799,9 +806,6 @@ namespace winrt::Microsoft::Terminal::Control::implementation
const auto viewInPixels = Viewport::FromDimensions({ 0, 0 }, windowSize);
LOG_IF_FAILED(dxEngine->SetWindowSize({ viewInPixels.Width(), viewInPixels.Height() }));
- // Update DxEngine's SelectionBackground
- dxEngine->SetSelectionBackground(_settings.SelectionBackground());
-
const auto vp = dxEngine->GetViewportInCharacters(viewInPixels);
const auto width = vp.Width();
const auto height = vp.Height();
@@ -819,8 +823,6 @@ namespace winrt::Microsoft::Terminal::Control::implementation
// the first paint will be ignored!
dxEngine->SetWarningCallback(std::bind(&TermControl::_RendererWarning, this, std::placeholders::_1));
- dxEngine->SetRetroTerminalEffect(_settings.RetroTerminalEffect());
- dxEngine->SetPixelShaderPath(_settings.PixelShaderPath());
dxEngine->SetForceFullRepaintRendering(_settings.ForceFullRepaintRendering());
dxEngine->SetSoftwareRendering(_settings.SoftwareRendering());
@@ -910,7 +912,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
this->Focus(FocusState::Programmatic);
// Now that the renderer is set up, update the appearance for initialization
- UpdateAppearance(_settings);
+ _UpdateAppearanceFromUIThreadUnderLock(_settings);
_initializedTerminal = true;
} // scope for TerminalLock
@@ -1382,11 +1384,14 @@ namespace winrt::Microsoft::Terminal::Control::implementation
mode = ::Terminal::SelectionExpansionMode::Line;
}
- // Capture the position of the first click when no selection is active
- if (mode == ::Terminal::SelectionExpansionMode::Cell && !_terminal->IsSelectionActive())
+ // Capture the position of the first click
+ if (mode == ::Terminal::SelectionExpansionMode::Cell)
{
_singleClickTouchdownPos = cursorPosition;
- _lastMouseClickPosNoSelection = cursorPosition;
+ if (!_terminal->IsSelectionActive())
+ {
+ _lastMouseClickPosNoSelection = cursorPosition;
+ }
}
// We reset the active selection if one of the conditions apply:
@@ -1417,6 +1422,13 @@ namespace winrt::Microsoft::Terminal::Control::implementation
_selectionNeedsToBeCopied = true;
}
+ if (_terminal->IsSelectionActive())
+ {
+ // GH#9787: if selection is active we don't want to track the touchdown position
+ // so that dragging the mouse will extend the selection rather than starting the new one
+ _singleClickTouchdownPos = std::nullopt;
+ }
+
_renderer->TriggerSelection();
}
else if (point.Properties().IsRightButtonPressed())
@@ -1739,7 +1751,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
{
_settings.UseAcrylic(false);
_InitializeBackgroundBrush();
- COLORREF bg = _settings.DefaultBackground();
+ const auto bg = _settings.DefaultBackground();
_BackgroundColorChanged(bg);
}
else
@@ -1844,7 +1856,14 @@ namespace winrt::Microsoft::Terminal::Control::implementation
}
// Clear the regex pattern tree so the renderer does not try to render them while scrolling
- _terminal->ClearPatternTree();
+ {
+ // We're taking the lock here instead of in ClearPatternTree because ClearPatternTree is
+ // sometimes called from an already-locked context. Here, we are sure we are not
+ // already under lock (since it is not an internal scroll bar update)
+ // TODO GH#9617: refine locking around pattern tree
+ auto lock = _terminal->LockForWriting();
+ _terminal->ClearPatternTree();
+ }
const auto newValue = static_cast(args.NewValue());
@@ -2155,8 +2174,8 @@ namespace winrt::Microsoft::Terminal::Control::implementation
// actually fail. We need a way to gracefully fallback.
_renderer->TriggerFontChange(newDpi, _desiredFont, _actualFont);
- // If the actual font isn't what was requested...
- if (_actualFont.GetFaceName() != _desiredFont.GetFaceName())
+ // If the actual font went through the last-chance fallback routines...
+ if (_actualFont.GetFallback())
{
// Then warn the user that we picked something because we couldn't find their font.
@@ -2478,6 +2497,9 @@ namespace winrt::Microsoft::Terminal::Control::implementation
}
// Clear the regex pattern tree so the renderer does not try to render them while scrolling
+ // We're **NOT** taking the lock here unlike _ScrollbarChangeHandler because
+ // we are already under lock (since this usually happens as a result of writing).
+ // TODO GH#9617: refine locking around pattern tree
_terminal->ClearPatternTree();
_scrollPositionChangedHandlers(viewTop, viewHeight, bufferSize);
@@ -2520,6 +2542,11 @@ namespace winrt::Microsoft::Terminal::Control::implementation
return hstr;
}
+ bool TermControl::BracketedPasteEnabled() const noexcept
+ {
+ return _terminal->IsXtermBracketedPasteModeEnabled();
+ }
+
// Method Description:
// - Given a copy-able selection, get the selected text from the buffer and send it to the
// Windows Clipboard (CascadiaWin32:main.cpp).
@@ -2562,7 +2589,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
TextBuffer::GenHTML(bufferData,
_actualFont.GetUnscaledSize().Y,
_actualFont.GetFaceName(),
- _settings.DefaultBackground()) :
+ til::color{ _settings.DefaultBackground() }) :
"";
// convert to RTF format
@@ -2570,7 +2597,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
TextBuffer::GenRTF(bufferData,
_actualFont.GetUnscaledSize().Y,
_actualFont.GetFaceName(),
- _settings.DefaultBackground()) :
+ til::color{ _settings.DefaultBackground() }) :
"";
if (!_settings.CopyOnSelect())
@@ -3306,7 +3333,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
Windows::Foundation::IReference TermControl::TabColor() noexcept
{
auto coreColor = _terminal->GetTabColor();
- return coreColor.has_value() ? Windows::Foundation::IReference(coreColor.value()) : nullptr;
+ return coreColor.has_value() ? Windows::Foundation::IReference(til::color{ coreColor.value() }) : nullptr;
}
// Method Description:
@@ -3378,8 +3405,13 @@ namespace winrt::Microsoft::Terminal::Control::implementation
_lastHoveredCell = terminalPosition;
+ uint16_t newId{ 0u };
+ // we can't use auto here because we're pre-declaring newInterval.
+ decltype(_terminal->GetHyperlinkIntervalFromPosition(COORD{})) newInterval{ std::nullopt };
if (terminalPosition.has_value())
{
+ auto lock = _terminal->LockForReading(); // Lock for the duration of our reads.
+
const auto uri = _terminal->GetHyperlinkAtPosition(*terminalPosition);
if (!uri.empty())
{
@@ -3405,15 +3437,16 @@ namespace winrt::Microsoft::Terminal::Control::implementation
OverlayCanvas().SetLeft(HyperlinkTooltipBorder(), (locationInDIPs.x() - SwapChainPanel().ActualOffset().x));
OverlayCanvas().SetTop(HyperlinkTooltipBorder(), (locationInDIPs.y() - SwapChainPanel().ActualOffset().y));
}
- }
- const uint16_t newId = terminalPosition.has_value() ? _terminal->GetHyperlinkIdAtPosition(*terminalPosition) : 0u;
- const auto newInterval = terminalPosition.has_value() ? _terminal->GetHyperlinkIntervalFromPosition(*terminalPosition) : std::nullopt;
+ newId = _terminal->GetHyperlinkIdAtPosition(*terminalPosition);
+ newInterval = _terminal->GetHyperlinkIntervalFromPosition(*terminalPosition);
+ }
// If the hyperlink ID changed or the interval changed, trigger a redraw all
// (so this will happen both when we move onto a link and when we move off a link)
if (newId != _lastHoveredId || (newInterval != _lastHoveredInterval))
{
+ auto lock = _terminal->LockForWriting();
_lastHoveredId = newId;
_lastHoveredInterval = newInterval;
_renderEngine->UpdateHyperlinkHoveredId(newId);
diff --git a/src/cascadia/TerminalControl/TermControl.h b/src/cascadia/TerminalControl/TermControl.h
index 1c4a957c21d..f38d8592eeb 100644
--- a/src/cascadia/TerminalControl/TermControl.h
+++ b/src/cascadia/TerminalControl/TermControl.h
@@ -26,12 +26,13 @@ namespace winrt::Microsoft::Terminal::Control::implementation
TermControl(IControlSettings settings, TerminalConnection::ITerminalConnection connection);
winrt::fire_and_forget UpdateSettings();
- winrt::fire_and_forget UpdateAppearance(IControlAppearance newAppearance);
+ winrt::fire_and_forget UpdateAppearance(const IControlAppearance newAppearance);
hstring Title();
hstring GetProfileName() const;
hstring WorkingDirectory() const;
+ bool BracketedPasteEnabled() const noexcept;
bool CopySelectionToClipboard(bool singleLine, const Windows::Foundation::IReference& formats);
void PasteTextFromClipboard();
void Close();
@@ -197,15 +198,14 @@ namespace winrt::Microsoft::Terminal::Control::implementation
winrt::Windows::UI::Xaml::Controls::SwapChainPanel::LayoutUpdated_revoker _layoutUpdatedRevoker;
- void _UpdateSettingsFromUIThread(IControlSettings newSettings);
- void _UpdateAppearanceFromUIThread(IControlAppearance newAppearance);
+ void _UpdateSettingsFromUIThreadUnderLock(IControlSettings newSettings);
+ void _UpdateAppearanceFromUIThreadUnderLock(IControlAppearance newAppearance);
bool _isReadOnly{ false };
void _ApplyUISettings(const IControlSettings&);
- void _UpdateSettingsOnUIThread();
void _UpdateSystemParameterSettings() noexcept;
void _InitializeBackgroundBrush();
- winrt::fire_and_forget _BackgroundColorChanged(const COLORREF color);
+ winrt::fire_and_forget _BackgroundColorChanged(const til::color color);
bool _InitializeTerminal();
void _UpdateFont(const bool initialUpdate = false);
void _SetFontSize(int fontSize);
diff --git a/src/cascadia/TerminalControl/TermControl.idl b/src/cascadia/TerminalControl/TermControl.idl
index 8e028618354..560abc8b237 100644
--- a/src/cascadia/TerminalControl/TermControl.idl
+++ b/src/cascadia/TerminalControl/TermControl.idl
@@ -45,6 +45,7 @@ namespace Microsoft.Terminal.Control
String Title { get; };
+ Boolean BracketedPasteEnabled { get; };
Boolean CopySelectionToClipboard(Boolean singleLine, Windows.Foundation.IReference formats);
void PasteTextFromClipboard();
void Close();
diff --git a/src/cascadia/TerminalControl/TermControl.xaml b/src/cascadia/TerminalControl/TermControl.xaml
index ac642b037fb..9e2aecbc5da 100644
--- a/src/cascadia/TerminalControl/TermControl.xaml
+++ b/src/cascadia/TerminalControl/TermControl.xaml
@@ -1,30 +1,31 @@
-
-
+
+
+ Visibility="Visible">
+ CompositionScaleChanged="_SwapChainScaleChanged"
+ SizeChanged="_SwapChainSizeChanged">
-
+
+ Visibility="Collapsed" />
-
+ PointerReleased="_ReleasePointerCapture"
+ SmallChange="1"
+ ValueChanged="_ScrollbarChangeHandler"
+ ViewportSize="10" />
CurrentFontInfo="_FontInfoHandler" />
-
+
-
-
+
+
diff --git a/src/cascadia/TerminalControl/TerminalControlLib.vcxproj b/src/cascadia/TerminalControl/TerminalControlLib.vcxproj
index 2781810277d..e2488e2f193 100644
--- a/src/cascadia/TerminalControl/TerminalControlLib.vcxproj
+++ b/src/cascadia/TerminalControl/TerminalControlLib.vcxproj
@@ -67,7 +67,6 @@
TermControl.xaml
-
TSFInputControl.xaml
diff --git a/src/cascadia/TerminalControl/ThrottledFunc.cpp b/src/cascadia/TerminalControl/ThrottledFunc.cpp
deleted file mode 100644
index e72d86297e6..00000000000
--- a/src/cascadia/TerminalControl/ThrottledFunc.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT license.
-
-#include "pch.h"
-
-#include "ThrottledFunc.h"
-
-using namespace winrt::Windows::Foundation;
-using namespace winrt::Windows::UI::Core;
-using namespace winrt::Windows::UI::Xaml;
-
-ThrottledFunc<>::ThrottledFunc(ThrottledFunc::Func func, TimeSpan delay, CoreDispatcher dispatcher) :
- _func{ func },
- _delay{ delay },
- _dispatcher{ dispatcher },
- _isRunPending{}
-{
-}
-
-// Method Description:
-// - Runs the function later, except if `Run` is called again before
-// with a new argument, in which case the request will be ignored.
-// - For more information, read the class' documentation.
-// - This method is always thread-safe. It can be called multiple times on
-// different threads.
-// Arguments:
-// -
-// Return Value:
-// -
-void ThrottledFunc<>::Run()
-{
- if (_isRunPending.test_and_set(std::memory_order_acquire))
- {
- // already pending
- return;
- }
-
- _dispatcher.RunAsync(CoreDispatcherPriority::Low, [weakThis = this->weak_from_this()]() {
- if (auto self{ weakThis.lock() })
- {
- DispatcherTimer timer;
- timer.Interval(self->_delay);
- timer.Tick([=](auto&&...) {
- if (auto self{ weakThis.lock() })
- {
- timer.Stop();
- self->_isRunPending.clear(std::memory_order_release);
- self->_func();
- }
- });
- timer.Start();
- }
- });
-}
diff --git a/src/cascadia/TerminalControl/ThrottledFunc.h b/src/cascadia/TerminalControl/ThrottledFunc.h
index c3887e76bdf..e31f37a5e62 100644
--- a/src/cascadia/TerminalControl/ThrottledFunc.h
+++ b/src/cascadia/TerminalControl/ThrottledFunc.h
@@ -56,27 +56,7 @@ class ThrottledFunc : public std::enable_shared_from_this
}
}
- _dispatcher.RunAsync(CoreDispatcherPriority::Low, [weakThis = this->weak_from_this()]() {
- if (auto self{ weakThis.lock() })
- {
- DispatcherTimer timer;
- timer.Interval(self->_delay);
- timer.Tick([=](auto&&...) {
- if (auto self{ weakThis.lock() })
- {
- timer.Stop();
-
- std::optional> args;
- {
- std::lock_guard guard{ self->_lock };
- self->_pendingRunArgs.swap(args);
- }
- std::apply(self->_func, args.value());
- }
- });
- timer.Start();
- }
- });
+ _Fire(_delay, _dispatcher, this->weak_from_this());
}
// Method Description:
@@ -110,12 +90,29 @@ class ThrottledFunc : public std::enable_shared_from_this
}
private:
+ static winrt::fire_and_forget _Fire(winrt::Windows::Foundation::TimeSpan delay, winrt::Windows::UI::Core::CoreDispatcher dispatcher, std::weak_ptr weakThis)
+ {
+ co_await winrt::resume_after(delay);
+ co_await winrt::resume_foreground(dispatcher);
+
+ if (auto self{ weakThis.lock() })
+ {
+ std::optional> args;
+ {
+ std::lock_guard guard{ self->_lock };
+ self->_pendingRunArgs.swap(args);
+ }
+
+ std::apply(self->_func, args.value());
+ }
+ }
+
Func _func;
winrt::Windows::Foundation::TimeSpan _delay;
winrt::Windows::UI::Core::CoreDispatcher _dispatcher;
- std::optional> _pendingRunArgs;
std::mutex _lock;
+ std::optional> _pendingRunArgs;
};
// Class Description:
@@ -129,11 +126,45 @@ class ThrottledFunc<> : public std::enable_shared_from_this>
public:
using Func = std::function;
- ThrottledFunc(Func func, winrt::Windows::Foundation::TimeSpan delay, winrt::Windows::UI::Core::CoreDispatcher dispatcher);
+ ThrottledFunc(Func func, winrt::Windows::Foundation::TimeSpan delay, winrt::Windows::UI::Core::CoreDispatcher dispatcher) :
+ _func{ func },
+ _delay{ delay },
+ _dispatcher{ dispatcher }
+ {
+ }
- void Run();
+ // Method Description:
+ // - Runs the function later, except if `Run` is called again before
+ // with a new argument, in which case the request will be ignored.
+ // - For more information, read the class' documentation.
+ // - This method is always thread-safe. It can be called multiple times on
+ // different threads.
+ // Arguments:
+ // -
+ // Return Value:
+ // -
+ template
+ void Run(MakeArgs&&... args)
+ {
+ if (!_isRunPending.test_and_set(std::memory_order_relaxed))
+ {
+ _Fire(_delay, _dispatcher, this->weak_from_this());
+ }
+ }
private:
+ static winrt::fire_and_forget _Fire(winrt::Windows::Foundation::TimeSpan delay, winrt::Windows::UI::Core::CoreDispatcher dispatcher, std::weak_ptr weakThis)
+ {
+ co_await winrt::resume_after(delay);
+ co_await winrt::resume_foreground(dispatcher);
+
+ if (auto self{ weakThis.lock() })
+ {
+ self->_isRunPending.clear(std::memory_order_relaxed);
+ self->_func();
+ }
+ }
+
Func _func;
winrt::Windows::Foundation::TimeSpan _delay;
winrt::Windows::UI::Core::CoreDispatcher _dispatcher;
diff --git a/src/cascadia/TerminalControl/dll/TerminalControl.vcxproj b/src/cascadia/TerminalControl/dll/TerminalControl.vcxproj
index 89fb2b3cd68..95049e49873 100644
--- a/src/cascadia/TerminalControl/dll/TerminalControl.vcxproj
+++ b/src/cascadia/TerminalControl/dll/TerminalControl.vcxproj
@@ -83,7 +83,11 @@
dwrite.lib;dxgi.lib;d2d1.lib;d3d11.lib;shcore.lib;winmm.lib;pathcch.lib;propsys.lib;uiautomationcore.lib;Shlwapi.lib;ntdll.lib;user32.lib;kernel32.lib;%(AdditionalDependencies)
-
+
/INCLUDE:_DllMain@12
/INCLUDE:DllMain
diff --git a/src/cascadia/TerminalCore/ICoreAppearance.idl b/src/cascadia/TerminalCore/ICoreAppearance.idl
index 9972efb4cdb..30c91833ceb 100644
--- a/src/cascadia/TerminalCore/ICoreAppearance.idl
+++ b/src/cascadia/TerminalCore/ICoreAppearance.idl
@@ -13,12 +13,30 @@ namespace Microsoft.Terminal.Core
EmptyBox
};
+ // TerminalCore declares its own Color struct to avoid depending
+ // on Windows.UI.Color and to avoid passing around unclothed uint32s.
+ // It is supported by til::color for conversions in and out of WinRT land.
+ struct Color
+ {
+ UInt8 R;
+ UInt8 G;
+ UInt8 B;
+ UInt8 A;
+ };
+
+ declare
+ {
+ // Forward declare this parameterized specialization so that it lives
+ // in TerminalCore instead of being flung to the winds of all IDL dependents.
+ interface Windows.Foundation.IReference;
+ }
+
interface ICoreAppearance
{
- UInt32 GetColorTableEntry(Int32 index);
- UInt32 DefaultForeground { get; set; };
- UInt32 DefaultBackground { get; set; };
- UInt32 CursorColor { get; set; };
+ Microsoft.Terminal.Core.Color DefaultForeground;
+ Microsoft.Terminal.Core.Color DefaultBackground;
+ Microsoft.Terminal.Core.Color GetColorTableEntry(Int32 index);
+ Microsoft.Terminal.Core.Color CursorColor;
CursorStyle CursorShape;
UInt32 CursorHeight;
};
diff --git a/src/cascadia/TerminalCore/ICoreSettings.idl b/src/cascadia/TerminalCore/ICoreSettings.idl
index e85040f272a..60638c7d3d7 100644
--- a/src/cascadia/TerminalCore/ICoreSettings.idl
+++ b/src/cascadia/TerminalCore/ICoreSettings.idl
@@ -21,8 +21,8 @@ namespace Microsoft.Terminal.Core
Boolean ForceVTInput;
- Windows.Foundation.IReference TabColor;
- Windows.Foundation.IReference StartingTabColor;
+ Windows.Foundation.IReference TabColor;
+ Windows.Foundation.IReference StartingTabColor;
};
}
diff --git a/src/cascadia/TerminalCore/Terminal.cpp b/src/cascadia/TerminalCore/Terminal.cpp
index 638c51a837a..d11efd7acaa 100644
--- a/src/cascadia/TerminalCore/Terminal.cpp
+++ b/src/cascadia/TerminalCore/Terminal.cpp
@@ -128,12 +128,12 @@ void Terminal::UpdateSettings(ICoreSettings settings)
}
else
{
- _tabColor = til::color(settings.TabColor().Value() | 0xff000000);
+ _tabColor = til::color{ settings.TabColor().Value() }.with_alpha(0xff);
}
if (!_startingTabColor && settings.StartingTabColor())
{
- _startingTabColor = til::color(settings.StartingTabColor().Value() | 0xff000000);
+ _startingTabColor = til::color{ settings.StartingTabColor().Value() }.with_alpha(0xff);
}
if (_pfnTabColorChanged)
@@ -153,17 +153,17 @@ void Terminal::UpdateSettings(ICoreSettings settings)
// CoreAppearance object.
// Arguments:
// - appearance: an ICoreAppearance with new settings values for us to use.
-void Terminal::UpdateAppearance(const ICoreAppearance appearance)
+void Terminal::UpdateAppearance(const ICoreAppearance& appearance)
{
// Set the default background as transparent to prevent the
// DX layer from overwriting the background image or acrylic effect
- til::color newBackgroundColor{ static_cast(appearance.DefaultBackground()) };
+ til::color newBackgroundColor{ appearance.DefaultBackground() };
_defaultBg = newBackgroundColor.with_alpha(0);
_defaultFg = appearance.DefaultForeground();
for (int i = 0; i < 16; i++)
{
- _colorTable.at(i) = appearance.GetColorTableEntry(i);
+ _colorTable.at(i) = til::color{ appearance.GetColorTableEntry(i) };
}
CursorType cursorShape = CursorType::VerticalBar;
@@ -193,7 +193,7 @@ void Terminal::UpdateAppearance(const ICoreAppearance appearance)
if (_buffer)
{
_buffer->GetCursor().SetStyle(appearance.CursorHeight(),
- appearance.CursorColor(),
+ til::color{ appearance.CursorColor() },
cursorShape);
}
@@ -1138,8 +1138,8 @@ void Terminal::SetCursorPositionChangedCallback(std::function pfn) noexc
// Method Description:
// - Allows setting a callback for when the background color is changed
// Arguments:
-// - pfn: a function callback that takes a uint32 (DWORD COLORREF) color in the format 0x00BBGGRR
-void Terminal::SetBackgroundCallback(std::function pfn) noexcept
+// - pfn: a function callback that takes a color
+void Terminal::SetBackgroundCallback(std::function pfn) noexcept
{
_pfnBackgroundColorChanged.swap(pfn);
}
diff --git a/src/cascadia/TerminalCore/Terminal.hpp b/src/cascadia/TerminalCore/Terminal.hpp
index d43e1f4a088..03f5be58360 100644
--- a/src/cascadia/TerminalCore/Terminal.hpp
+++ b/src/cascadia/TerminalCore/Terminal.hpp
@@ -64,7 +64,7 @@ class Microsoft::Terminal::Core::Terminal final :
Microsoft::Console::Render::IRenderTarget& renderTarget);
void UpdateSettings(winrt::Microsoft::Terminal::Core::ICoreSettings settings);
- void UpdateAppearance(const winrt::Microsoft::Terminal::Core::ICoreAppearance appearance);
+ void UpdateAppearance(const winrt::Microsoft::Terminal::Core::ICoreAppearance& appearance);
// Write goes through the parser
void Write(std::wstring_view stringView);
@@ -200,7 +200,7 @@ class Microsoft::Terminal::Core::Terminal final :
void SetCopyToClipboardCallback(std::function pfn) noexcept;
void SetScrollPositionChangedCallback(std::function pfn) noexcept;
void SetCursorPositionChangedCallback(std::function pfn) noexcept;
- void SetBackgroundCallback(std::function pfn) noexcept;
+ void SetBackgroundCallback(std::function pfn) noexcept;
void TaskbarProgressChangedCallback(std::function pfn) noexcept;
void SetCursorOn(const bool isOn);
@@ -238,7 +238,7 @@ class Microsoft::Terminal::Core::Terminal final :
std::function _pfnTitleChanged;
std::function _pfnCopyToClipboard;
std::function _pfnScrollPositionChanged;
- std::function _pfnBackgroundColorChanged;
+ std::function _pfnBackgroundColorChanged;
std::function _pfnCursorPositionChanged;
std::function)> _pfnTabColorChanged;
std::function _pfnTaskbarProgressChanged;
@@ -251,9 +251,10 @@ class Microsoft::Terminal::Core::Terminal final :
std::optional _tabColor;
std::optional _startingTabColor;
+ // This is still stored as a COLORREF because it interacts with some code in ConTypes
std::array _colorTable;
- COLORREF _defaultFg;
- COLORREF _defaultBg;
+ til::color _defaultFg;
+ til::color _defaultBg;
CursorType _defaultCursorShape;
bool _screenReversed;
mutable Microsoft::Console::Render::BlinkingState _blinkingState;
diff --git a/src/cascadia/TerminalCore/pch.h b/src/cascadia/TerminalCore/pch.h
index 58fe68df1da..f345f5e680c 100644
--- a/src/cascadia/TerminalCore/pch.h
+++ b/src/cascadia/TerminalCore/pch.h
@@ -3,5 +3,11 @@
#pragma once
+// We're suspending the inclusion of til here so that we can include
+// it after some of our C++/WinRT headers.
+#define BLOCK_TIL
#include
#include "winrt/Windows.Foundation.h"
+
+#include "winrt/Microsoft.Terminal.Core.h"
+#include
diff --git a/src/cascadia/TerminalSettingsEditor/Actions.xaml b/src/cascadia/TerminalSettingsEditor/Actions.xaml
index d4157249772..9911c415503 100644
--- a/src/cascadia/TerminalSettingsEditor/Actions.xaml
+++ b/src/cascadia/TerminalSettingsEditor/Actions.xaml
@@ -1,151 +1,186 @@
-
-
+
+
-
+
-
+
-
-
-
-
+ -->
+
+
+
+ AutomationProperties.AcceleratorKey="{x:Bind KeyChordText, Mode=OneWay}"
+ AutomationProperties.Name="{x:Bind Name, Mode=OneWay}">
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+ VerticalAlignment="Center"
+ Style="{ThemeResource KeyChordBorderStyle}"
+ Visibility="{x:Bind KeyChordText, Mode=OneWay, Converter={StaticResource CommandKeyChordVisibilityConverter}}">
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
@@ -157,30 +192,34 @@ the MIT License. See LICENSE in the project root for license information. -->
+ Style="{StaticResource DisclaimerStyle}" />
-
+
-
+
-
-
+
+
-
+ SelectionMode="None" />
diff --git a/src/cascadia/TerminalSettingsEditor/ColorSchemes.cpp b/src/cascadia/TerminalSettingsEditor/ColorSchemes.cpp
index 01325767f02..b4c7dcea310 100644
--- a/src/cascadia/TerminalSettingsEditor/ColorSchemes.cpp
+++ b/src/cascadia/TerminalSettingsEditor/ColorSchemes.cpp
@@ -219,43 +219,44 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
void ColorSchemes::ColorPickerChanged(IInspectable const& sender,
ColorChangedEventArgs const& args)
{
+ const til::color newColor{ args.NewColor() };
if (const auto& picker{ sender.try_as() })
{
if (const auto& tag{ picker.Tag() })
{
if (const auto index{ tag.try_as() })
{
- CurrentColorScheme().SetColorTableEntry(*index, args.NewColor());
+ CurrentColorScheme().SetColorTableEntry(*index, newColor);
if (index < ColorTableDivider)
{
- _CurrentNonBrightColorTable.GetAt(*index).Color(args.NewColor());
+ _CurrentNonBrightColorTable.GetAt(*index).Color(newColor);
}
else
{
- _CurrentBrightColorTable.GetAt(*index - ColorTableDivider).Color(args.NewColor());
+ _CurrentBrightColorTable.GetAt(*index - ColorTableDivider).Color(newColor);
}
}
else if (const auto stringTag{ tag.try_as() })
{
if (stringTag == ForegroundColorTag)
{
- CurrentColorScheme().Foreground(args.NewColor());
- _CurrentForegroundColor.Color(args.NewColor());
+ CurrentColorScheme().Foreground(newColor);
+ _CurrentForegroundColor.Color(newColor);
}
else if (stringTag == BackgroundColorTag)
{
- CurrentColorScheme().Background(args.NewColor());
- _CurrentBackgroundColor.Color(args.NewColor());
+ CurrentColorScheme().Background(newColor);
+ _CurrentBackgroundColor.Color(newColor);
}
else if (stringTag == CursorColorTag)
{
- CurrentColorScheme().CursorColor(args.NewColor());
- _CurrentCursorColor.Color(args.NewColor());
+ CurrentColorScheme().CursorColor(newColor);
+ _CurrentCursorColor.Color(newColor);
}
else if (stringTag == SelectionBackgroundColorTag)
{
- CurrentColorScheme().SelectionBackground(args.NewColor());
- _CurrentSelectionBackgroundColor.Color(args.NewColor());
+ CurrentColorScheme().SelectionBackground(newColor);
+ _CurrentSelectionBackgroundColor.Color(newColor);
}
}
}
@@ -397,19 +398,20 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
{
for (uint8_t i = 0; i < TableColorNames.size(); ++i)
{
+ til::color currentColor{ colorScheme.Table()[i] };
if (i < ColorTableDivider)
{
- _CurrentNonBrightColorTable.GetAt(i).Color(colorScheme.Table()[i]);
+ _CurrentNonBrightColorTable.GetAt(i).Color(currentColor);
}
else
{
- _CurrentBrightColorTable.GetAt(i - ColorTableDivider).Color(colorScheme.Table()[i]);
+ _CurrentBrightColorTable.GetAt(i - ColorTableDivider).Color(currentColor);
}
}
- _CurrentForegroundColor.Color(colorScheme.Foreground());
- _CurrentBackgroundColor.Color(colorScheme.Background());
- _CurrentCursorColor.Color(colorScheme.CursorColor());
- _CurrentSelectionBackgroundColor.Color(colorScheme.SelectionBackground());
+ _CurrentForegroundColor.Color(til::color{ colorScheme.Foreground() });
+ _CurrentBackgroundColor.Color(til::color{ colorScheme.Background() });
+ _CurrentCursorColor.Color(til::color{ colorScheme.CursorColor() });
+ _CurrentSelectionBackgroundColor.Color(til::color{ colorScheme.SelectionBackground() });
}
ColorTableEntry::ColorTableEntry(uint8_t index, Windows::UI::Color color)
diff --git a/src/cascadia/TerminalSettingsEditor/ColorSchemes.xaml b/src/cascadia/TerminalSettingsEditor/ColorSchemes.xaml
index df291904742..fa43ef5c71b 100644
--- a/src/cascadia/TerminalSettingsEditor/ColorSchemes.xaml
+++ b/src/cascadia/TerminalSettingsEditor/ColorSchemes.xaml
@@ -1,140 +1,135 @@
-
-
+
+
-
+
-
-
-
-
-
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
-
-
+
+
+ IsEnabled="{x:Bind CanDeleteCurrentScheme, Mode=OneWay}"
+ Style="{StaticResource SmallButtonStyle}">
-
+
@@ -142,152 +137,152 @@ the MIT License. See LICENSE in the project root for license information. -->
-
+
+ x:Uid="ColorScheme_RenameErrorTip" />
-
+
-
-
-
+ PreviewKeyDown="NameBox_PreviewKeyDown"
+ Style="{StaticResource TextBoxSettingStyle}" />
+
+
+
-
+
-
-
+
+
-
+
-
+
-
+
+ Style="{StaticResource IconButtonTextBlockStyle}" />
-
+
+ Style="{StaticResource GroupHeaderStyle}" />
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
+ Style="{StaticResource GroupHeaderStyle}" />
-
-
+
+
-
-
-
-
+
+
+
+
-
+
+ Grid.Column="0"
+ Style="{StaticResource ColorLabelStyle}" />
+ Grid.Column="1"
+ Content="{x:Bind CurrentForegroundColor, Mode=TwoWay}"
+ ContentTemplate="{StaticResource ColorTableEntryTemplate}"
+ Style="{StaticResource ColorControlStyle}" />
-
+
+ Grid.Column="0"
+ Style="{StaticResource ColorLabelStyle}" />
+ Grid.Column="1"
+ Content="{x:Bind CurrentBackgroundColor, Mode=TwoWay}"
+ ContentTemplate="{StaticResource ColorTableEntryTemplate}"
+ Style="{StaticResource ColorControlStyle}" />
-
+
+ Grid.Column="0"
+ Style="{StaticResource ColorLabelStyle}" />
+ Grid.Column="1"
+ Content="{x:Bind CurrentCursorColor, Mode=TwoWay}"
+ ContentTemplate="{StaticResource ColorTableEntryTemplate}"
+ Style="{StaticResource ColorControlStyle}" />
-
+
+ Grid.Column="0"
+ Style="{StaticResource ColorLabelStyle}" />
+ Grid.Column="1"
+ Content="{x:Bind CurrentSelectionBackgroundColor, Mode=TwoWay}"
+ ContentTemplate="{StaticResource ColorTableEntryTemplate}"
+ Style="{StaticResource ColorControlStyle}" />
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
+ Style="{StaticResource IconButtonTextBlockStyle}" />
-
+ Style="{StaticResource CustomFlyoutTextStyle}" />
+
+ VerticalAlignment="Center"
+ Style="{StaticResource DisclaimerStyle}" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/cascadia/TerminalSettingsEditor/CommonResources.xaml b/src/cascadia/TerminalSettingsEditor/CommonResources.xaml
index fed8e83085f..741c2d4a600 100644
--- a/src/cascadia/TerminalSettingsEditor/CommonResources.xaml
+++ b/src/cascadia/TerminalSettingsEditor/CommonResources.xaml
@@ -1,13 +1,14 @@
-
-
-
-
+
+
+
+
-
+
14.0
@@ -15,99 +16,127 @@ the MIT License. See LICENSE in the project root for license information. -->
0,24,0,0
250
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml b/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml
index 467fe60fa02..84c1408ae72 100644
--- a/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml
+++ b/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml
@@ -1,70 +1,72 @@
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+ SelectedItem="{x:Bind CurrentTheme, Mode=TwoWay}" />
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+ SelectedItem="{x:Bind CurrentTabWidthMode, Mode=TwoWay}" />
-
-
+
+
-
+
diff --git a/src/cascadia/TerminalSettingsEditor/Interaction.xaml b/src/cascadia/TerminalSettingsEditor/Interaction.xaml
index 701e12a1dc4..dcff3f70e52 100644
--- a/src/cascadia/TerminalSettingsEditor/Interaction.xaml
+++ b/src/cascadia/TerminalSettingsEditor/Interaction.xaml
@@ -1,63 +1,65 @@
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+ Margin="0">
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+ SelectedItem="{x:Bind CurrentTabSwitcherMode, Mode=TwoWay}" />
-
+
-
+
diff --git a/src/cascadia/TerminalSettingsEditor/Launch.cpp b/src/cascadia/TerminalSettingsEditor/Launch.cpp
index b2bbaedd4bf..3b86bb3d39a 100644
--- a/src/cascadia/TerminalSettingsEditor/Launch.cpp
+++ b/src/cascadia/TerminalSettingsEditor/Launch.cpp
@@ -37,4 +37,21 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
const auto profile{ winrt::unbox_value(value) };
_State.Settings().GlobalSettings().DefaultProfile(profile.Guid());
}
+
+ // TODO GH#9463 - Complete hookup of Terminal UX to choose defapp.
+ Windows::Foundation::Collections::IObservableVector Launch::DefaultTerminals()
+ {
+ Windows::Foundation::Collections::IObservableVector vec;
+ return vec;
+ }
+
+ IInspectable Launch::CurrentDefaultTerminal()
+ {
+ return nullptr;
+ }
+
+ void Launch::CurrentDefaultTerminal(const IInspectable& value)
+ {
+ value;
+ }
}
diff --git a/src/cascadia/TerminalSettingsEditor/Launch.h b/src/cascadia/TerminalSettingsEditor/Launch.h
index 8219939e063..3009e2c3674 100644
--- a/src/cascadia/TerminalSettingsEditor/Launch.h
+++ b/src/cascadia/TerminalSettingsEditor/Launch.h
@@ -28,6 +28,10 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
IInspectable CurrentDefaultProfile();
void CurrentDefaultProfile(const IInspectable& value);
+ Windows::Foundation::Collections::IObservableVector DefaultTerminals();
+ IInspectable CurrentDefaultTerminal();
+ void CurrentDefaultTerminal(const IInspectable& value);
+
WINRT_PROPERTY(Editor::LaunchPageNavigationState, State, nullptr);
GETSET_BINDABLE_ENUM_SETTING(LaunchMode, Model::LaunchMode, State().Settings().GlobalSettings, LaunchMode);
diff --git a/src/cascadia/TerminalSettingsEditor/Launch.idl b/src/cascadia/TerminalSettingsEditor/Launch.idl
index e2a1382e0d3..62e6ba9292f 100644
--- a/src/cascadia/TerminalSettingsEditor/Launch.idl
+++ b/src/cascadia/TerminalSettingsEditor/Launch.idl
@@ -17,10 +17,12 @@ namespace Microsoft.Terminal.Settings.Editor
IInspectable CurrentDefaultProfile;
+ IInspectable CurrentDefaultTerminal;
+ IObservableVector DefaultTerminals { get; };
+
IInspectable CurrentLaunchMode;
IObservableVector LaunchModeList { get; };
-
IInspectable CurrentWindowingBehavior;
IObservableVector WindowingBehaviorList { get; };
}
diff --git a/src/cascadia/TerminalSettingsEditor/Launch.xaml b/src/cascadia/TerminalSettingsEditor/Launch.xaml
index ab0b60d1862..465895b89a7 100644
--- a/src/cascadia/TerminalSettingsEditor/Launch.xaml
+++ b/src/cascadia/TerminalSettingsEditor/Launch.xaml
@@ -1,30 +1,34 @@
-
-
+
+
-
+
-
-
+
+
-
-
@@ -32,7 +36,7 @@ the MIT License. See LICENSE in the project root for license information. -->
-
+
Style="{StaticResource ComboBoxSettingStyle}">
-
+
-
-
-
-
+
+
+
+
-
+
+ Text="{x:Bind Name}" />
@@ -67,42 +69,54 @@ the MIT License. See LICENSE in the project root for license information. -->
-
+
+
+
+
+
-
+
-
+
-
+ SelectedItem="{x:Bind CurrentLaunchMode, Mode=TwoWay}" />
-
+
-
+ SelectedItem="{x:Bind CurrentWindowingBehavior, Mode=TwoWay}" />
-
+
-
+
+ Style="{StaticResource SubtitleTextBlockStyle}" />
-
+
-
+
-
+
-
+
diff --git a/src/cascadia/TerminalSettingsEditor/MainPage.cpp b/src/cascadia/TerminalSettingsEditor/MainPage.cpp
index 176f9656b64..99f692fcff7 100644
--- a/src/cascadia/TerminalSettingsEditor/MainPage.cpp
+++ b/src/cascadia/TerminalSettingsEditor/MainPage.cpp
@@ -32,7 +32,6 @@ static const std::wstring_view launchTag{ L"Launch_Nav" };
static const std::wstring_view interactionTag{ L"Interaction_Nav" };
static const std::wstring_view renderingTag{ L"Rendering_Nav" };
static const std::wstring_view actionsTag{ L"Actions_Nav" };
-static const std::wstring_view globalProfileTag{ L"GlobalProfile_Nav" };
static const std::wstring_view addProfileTag{ L"AddProfile" };
static const std::wstring_view colorSchemesTag{ L"ColorSchemes_Nav" };
static const std::wstring_view globalAppearanceTag{ L"GlobalAppearance_Nav" };
@@ -183,6 +182,11 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
return false;
}
+ uint64_t MainPage::GetHostingWindow() const noexcept
+ {
+ return reinterpret_cast(_hostingHwnd.value_or(nullptr));
+ }
+
// Function Description:
// - Called when the NavigationView is loaded. Navigates to the first item in the NavigationView, if no item is selected
// Arguments:
@@ -269,17 +273,6 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
});
contentFrame().Navigate(xaml_typename(), actionsState);
}
- else if (clickedItemTag == globalProfileTag)
- {
- auto profileVM{ _viewModelForProfile(_settingsClone.ProfileDefaults()) };
- profileVM.IsBaseLayer(true);
- _lastProfilesNavState = winrt::make(profileVM,
- _settingsClone.GlobalSettings().ColorSchemes(),
- _lastProfilesNavState,
- *this);
-
- contentFrame().Navigate(xaml_typename(), _lastProfilesNavState);
- }
else if (clickedItemTag == colorSchemesTag)
{
contentFrame().Navigate(xaml_typename(), _colorSchemesNavState);
diff --git a/src/cascadia/TerminalSettingsEditor/MainPage.h b/src/cascadia/TerminalSettingsEditor/MainPage.h
index fdc48752a7e..544f57b4d3e 100644
--- a/src/cascadia/TerminalSettingsEditor/MainPage.h
+++ b/src/cascadia/TerminalSettingsEditor/MainPage.h
@@ -24,6 +24,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
void SetHostingWindow(uint64_t hostingWindow) noexcept;
bool TryPropagateHostingWindow(IInspectable object) noexcept;
+ uint64_t GetHostingWindow() const noexcept;
TYPED_EVENT(OpenJson, Windows::Foundation::IInspectable, Model::SettingsTarget);
diff --git a/src/cascadia/TerminalSettingsEditor/MainPage.idl b/src/cascadia/TerminalSettingsEditor/MainPage.idl
index cd35a8aa230..2513c8b7b40 100644
--- a/src/cascadia/TerminalSettingsEditor/MainPage.idl
+++ b/src/cascadia/TerminalSettingsEditor/MainPage.idl
@@ -10,6 +10,7 @@ namespace Microsoft.Terminal.Settings.Editor
interface IHostedInWindow
{
Boolean TryPropagateHostingWindow(IInspectable i);
+ UInt64 GetHostingWindow();
}
[default_interface] runtimeclass MainPage : Windows.UI.Xaml.Controls.Page, IHostedInWindow
diff --git a/src/cascadia/TerminalSettingsEditor/MainPage.xaml b/src/cascadia/TerminalSettingsEditor/MainPage.xaml
index 92b824c70c6..35c801e5125 100644
--- a/src/cascadia/TerminalSettingsEditor/MainPage.xaml
+++ b/src/cascadia/TerminalSettingsEditor/MainPage.xaml
@@ -1,41 +1,45 @@
-
-
+
+
-
+
+ TintOpacity="0.5" />
+ TintOpacity="0.5" />
+ TintOpacity="0.7" />
@@ -43,98 +47,94 @@ the MIT License. See LICENSE in the project root for license information. -->
-
+
-
+
-
+
-
+
+ Tag="Rendering_Nav">
-
+
+ Tag="Actions_Nav">
-
+
-
-
-
-
-
-
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
+ Click="SaveButton_Click"
+ Style="{StaticResource AccentButtonStyle}" />
diff --git a/src/cascadia/TerminalSettingsEditor/Microsoft.Terminal.Settings.Editor.vcxproj b/src/cascadia/TerminalSettingsEditor/Microsoft.Terminal.Settings.Editor.vcxproj
index d67abf42922..dfa79ac6a7c 100644
--- a/src/cascadia/TerminalSettingsEditor/Microsoft.Terminal.Settings.Editor.vcxproj
+++ b/src/cascadia/TerminalSettingsEditor/Microsoft.Terminal.Settings.Editor.vcxproj
@@ -300,6 +300,12 @@
+
+
+ shell32.lib;%(AdditionalDependencies)
+
+
+
diff --git a/src/cascadia/TerminalSettingsEditor/Profiles.cpp b/src/cascadia/TerminalSettingsEditor/Profiles.cpp
index a28d580c4ae..08475235578 100644
--- a/src/cascadia/TerminalSettingsEditor/Profiles.cpp
+++ b/src/cascadia/TerminalSettingsEditor/Profiles.cpp
@@ -15,9 +15,6 @@ using namespace winrt::Windows::UI::Xaml::Data;
using namespace winrt::Windows::UI::Xaml::Navigation;
using namespace winrt::Windows::Foundation;
using namespace winrt::Windows::Foundation::Collections;
-using namespace winrt::Windows::Storage;
-using namespace winrt::Windows::Storage::AccessCache;
-using namespace winrt::Windows::Storage::Pickers;
using namespace winrt::Microsoft::Terminal::Settings::Model;
static const std::array InBoxProfileGuids{
@@ -25,6 +22,64 @@ static const std::array InBoxProfileGuids{
winrt::guid{ 0x0caa0dad, 0x35be, 0x5f56, { 0xa8, 0xff, 0xaf, 0xce, 0xee, 0xaa, 0x61, 0x01 } } // Command Prompt
};
+// Function Description:
+// - This function presents a File Open "common dialog" and returns its selected file asynchronously.
+// Parameters:
+// - customize: A lambda that receives an IFileDialog* to customize.
+// Return value:
+// (async) path to the selected item.
+template
+static winrt::Windows::Foundation::IAsyncOperation OpenFilePicker(HWND parentHwnd, TLambda&& customize)
+{
+ auto fileDialog{ winrt::create_instance(CLSID_FileOpenDialog) };
+ DWORD flags{};
+ THROW_IF_FAILED(fileDialog->GetOptions(&flags));
+ THROW_IF_FAILED(fileDialog->SetOptions(flags | FOS_FORCEFILESYSTEM | FOS_NOCHANGEDIR | FOS_DONTADDTORECENT)); // filesystem objects only; no recent places
+ customize(fileDialog.get());
+
+ auto hr{ fileDialog->Show(parentHwnd) };
+ if (!SUCCEEDED(hr))
+ {
+ if (hr == HRESULT_FROM_WIN32(ERROR_CANCELLED))
+ {
+ co_return winrt::hstring{};
+ }
+ THROW_HR(hr);
+ }
+
+ winrt::com_ptr result;
+ THROW_IF_FAILED(fileDialog->GetResult(result.put()));
+
+ wil::unique_cotaskmem_string filePath;
+ THROW_IF_FAILED(result->GetDisplayName(SIGDN_FILESYSPATH, &filePath));
+
+ co_return winrt::hstring{ filePath.get() };
+}
+
+// Function Description:
+// - Helper that opens a file picker pre-seeded with image file types.
+static winrt::Windows::Foundation::IAsyncOperation OpenImagePicker(HWND parentHwnd)
+{
+ static constexpr COMDLG_FILTERSPEC supportedImageFileTypes[] = {
+ { L"All Supported Bitmap Types (*.jpg, *.jpeg, *.png, *.bmp, *.gif, *.tiff, *.ico)", L"*.jpg;*.jpeg;*.png;*.bmp;*.gif;*.tiff;*.ico" },
+ { L"All Files (*.*)", L"*.*" }
+ };
+
+ static constexpr winrt::guid clientGuidImagePicker{ 0x55675F54, 0x74A1, 0x4552, { 0xA3, 0x9D, 0x94, 0xAE, 0x85, 0xD8, 0xF2, 0x7A } };
+ return OpenFilePicker(parentHwnd, [](auto&& dialog) {
+ THROW_IF_FAILED(dialog->SetClientGuid(clientGuidImagePicker));
+ try
+ {
+ auto pictureFolderShellItem{ winrt::capture(&SHGetKnownFolderItem, FOLDERID_PicturesLibrary, KF_FLAG_DEFAULT, nullptr) };
+ dialog->SetDefaultFolder(pictureFolderShellItem.get());
+ }
+ CATCH_LOG(); // non-fatal
+ THROW_IF_FAILED(dialog->SetFileTypes(ARRAYSIZE(supportedImageFileTypes), supportedImageFileTypes));
+ THROW_IF_FAILED(dialog->SetFileTypeIndex(1)); // the array is 1-indexed
+ THROW_IF_FAILED(dialog->SetDefaultExtension(L"jpg;jpeg;png;bmp;gif;tiff;ico"));
+ });
+}
+
namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
{
Windows::Foundation::Collections::IObservableVector ProfileViewModel::_MonospaceFontList{ nullptr };
@@ -153,10 +208,10 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
}
// sort and save the lists
- std::sort(begin(fontList), end(fontList));
+ std::sort(begin(fontList), end(fontList), FontComparator());
_FontList = single_threaded_observable_vector(std::move(fontList));
- std::sort(begin(monospaceFontList), end(monospaceFontList));
+ std::sort(begin(monospaceFontList), end(monospaceFontList), FontComparator());
_MonospaceFontList = single_threaded_observable_vector(std::move(monospaceFontList));
}
CATCH_LOG();
@@ -582,20 +637,11 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
{
auto lifetime = get_strong();
- FileOpenPicker picker;
-
- _State.WindowRoot().TryPropagateHostingWindow(picker); // if we don't do this, there's no HWND for it to attach to
- picker.ViewMode(PickerViewMode::Thumbnail);
- picker.SuggestedStartLocation(PickerLocationId::PicturesLibrary);
-
- // Converted into a BitmapImage. This list of supported image file formats is from BitmapImage documentation
- // https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Xaml.Media.Imaging.BitmapImage?view=winrt-19041#remarks
- picker.FileTypeFilter().ReplaceAll({ L".jpg", L".jpeg", L".png", L".bmp", L".gif", L".tiff", L".ico" });
-
- StorageFile file = co_await picker.PickSingleFileAsync();
- if (file != nullptr)
+ const auto parentHwnd{ reinterpret_cast(_State.WindowRoot().GetHostingWindow()) };
+ auto file = co_await OpenImagePicker(parentHwnd);
+ if (!file.empty())
{
- _State.Profile().BackgroundImagePath(file.Path());
+ _State.Profile().BackgroundImagePath(file);
}
}
@@ -603,20 +649,11 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
{
auto lifetime = get_strong();
- FileOpenPicker picker;
-
- _State.WindowRoot().TryPropagateHostingWindow(picker); // if we don't do this, there's no HWND for it to attach to
- picker.ViewMode(PickerViewMode::Thumbnail);
- picker.SuggestedStartLocation(PickerLocationId::PicturesLibrary);
-
- // Converted into a BitmapIconSource. This list of supported image file formats is from BitmapImage documentation
- // https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Xaml.Media.Imaging.BitmapImage?view=winrt-19041#remarks
- picker.FileTypeFilter().ReplaceAll({ L".jpg", L".jpeg", L".png", L".bmp", L".gif", L".tiff", L".ico" });
-
- StorageFile file = co_await picker.PickSingleFileAsync();
- if (file != nullptr)
+ const auto parentHwnd{ reinterpret_cast(_State.WindowRoot().GetHostingWindow()) };
+ auto file = co_await OpenImagePicker(parentHwnd);
+ if (!file.empty())
{
- _State.Profile().Icon(file.Path());
+ _State.Profile().Icon(file);
}
}
@@ -624,32 +661,54 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
{
auto lifetime = get_strong();
- FileOpenPicker picker;
+ static constexpr COMDLG_FILTERSPEC supportedFileTypes[] = {
+ { L"Executable Files (*.exe, *.cmd, *.bat)", L"*.exe;*.cmd;*.bat" },
+ { L"All Files (*.*)", L"*.*" }
+ };
- _State.WindowRoot().TryPropagateHostingWindow(picker); // if we don't do this, there's no HWND for it to attach to
- picker.ViewMode(PickerViewMode::Thumbnail);
- picker.SuggestedStartLocation(PickerLocationId::ComputerFolder);
- picker.FileTypeFilter().ReplaceAll({ L".bat", L".exe", L".cmd" });
+ static constexpr winrt::guid clientGuidExecutables{ 0x2E7E4331, 0x0800, 0x48E6, { 0xB0, 0x17, 0xA1, 0x4C, 0xD8, 0x73, 0xDD, 0x58 } };
+ const auto parentHwnd{ reinterpret_cast(_State.WindowRoot().GetHostingWindow()) };
+ auto path = co_await OpenFilePicker(parentHwnd, [](auto&& dialog) {
+ THROW_IF_FAILED(dialog->SetClientGuid(clientGuidExecutables));
+ try
+ {
+ auto folderShellItem{ winrt::capture(&SHGetKnownFolderItem, FOLDERID_ComputerFolder, KF_FLAG_DEFAULT, nullptr) };
+ dialog->SetDefaultFolder(folderShellItem.get());
+ }
+ CATCH_LOG(); // non-fatal
+ THROW_IF_FAILED(dialog->SetFileTypes(ARRAYSIZE(supportedFileTypes), supportedFileTypes));
+ THROW_IF_FAILED(dialog->SetFileTypeIndex(1)); // the array is 1-indexed
+ THROW_IF_FAILED(dialog->SetDefaultExtension(L"exe;cmd;bat"));
+ });
- StorageFile file = co_await picker.PickSingleFileAsync();
- if (file != nullptr)
+ if (!path.empty())
{
- _State.Profile().Commandline(file.Path());
+ _State.Profile().Commandline(path);
}
}
fire_and_forget Profiles::StartingDirectory_Click(IInspectable const&, RoutedEventArgs const&)
{
auto lifetime = get_strong();
- FolderPicker picker;
- _State.WindowRoot().TryPropagateHostingWindow(picker); // if we don't do this, there's no HWND for it to attach to
- picker.SuggestedStartLocation(PickerLocationId::DocumentsLibrary);
- picker.FileTypeFilter().ReplaceAll({ L"*" });
- StorageFolder folder = co_await picker.PickSingleFolderAsync();
- if (folder != nullptr)
- {
- StorageApplicationPermissions::FutureAccessList().AddOrReplace(L"PickedFolderToken", folder);
- _State.Profile().StartingDirectory(folder.Path());
+ const auto parentHwnd{ reinterpret_cast(_State.WindowRoot().GetHostingWindow()) };
+ auto folder = co_await OpenFilePicker(parentHwnd, [](auto&& dialog) {
+ static constexpr winrt::guid clientGuidFolderPicker{ 0xAADAA433, 0xB04D, 0x4BAE, { 0xB1, 0xEA, 0x1E, 0x6C, 0xD1, 0xCD, 0xA6, 0x8B } };
+ THROW_IF_FAILED(dialog->SetClientGuid(clientGuidFolderPicker));
+ try
+ {
+ auto folderShellItem{ winrt::capture(&SHGetKnownFolderItem, FOLDERID_ComputerFolder, KF_FLAG_DEFAULT, nullptr) };
+ dialog->SetDefaultFolder(folderShellItem.get());
+ }
+ CATCH_LOG(); // non-fatal
+
+ DWORD flags{};
+ THROW_IF_FAILED(dialog->GetOptions(&flags));
+ THROW_IF_FAILED(dialog->SetOptions(flags | FOS_PICKFOLDERS)); // folders only
+ });
+
+ if (!folder.empty())
+ {
+ _State.Profile().StartingDirectory(folder);
}
}
diff --git a/src/cascadia/TerminalSettingsEditor/Profiles.h b/src/cascadia/TerminalSettingsEditor/Profiles.h
index 49c618614c3..b41e846bc49 100644
--- a/src/cascadia/TerminalSettingsEditor/Profiles.h
+++ b/src/cascadia/TerminalSettingsEditor/Profiles.h
@@ -13,6 +13,14 @@
namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
{
+ struct FontComparator
+ {
+ bool operator()(const Font& lhs, const Font& rhs) const
+ {
+ return lhs.LocalizedName() < rhs.LocalizedName();
+ }
+ };
+
struct Font : FontT
{
public:
diff --git a/src/cascadia/TerminalSettingsEditor/Profiles.idl b/src/cascadia/TerminalSettingsEditor/Profiles.idl
index 09757ff9651..f8354692dfb 100644
--- a/src/cascadia/TerminalSettingsEditor/Profiles.idl
+++ b/src/cascadia/TerminalSettingsEditor/Profiles.idl
@@ -40,7 +40,7 @@ namespace Microsoft.Terminal.Settings.Editor
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Icon);
OBSERVABLE_PROJECTED_PROFILE_SETTING(Microsoft.Terminal.Settings.Model.CloseOnExitMode, CloseOnExit);
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, TabTitle);
- OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference, TabColor);
+ OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference, TabColor);
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, SuppressApplicationTitle);
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, UseAcrylic);
OBSERVABLE_PROJECTED_PROFILE_SETTING(Double, AcrylicOpacity);
@@ -60,10 +60,10 @@ namespace Microsoft.Terminal.Settings.Editor
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, ForceFullRepaintRendering);
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, SoftwareRendering);
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, ColorSchemeName);
- OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference, Foreground);
- OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference, Background);
- OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference, SelectionBackground);
- OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference, CursorColor);
+ OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference, Foreground);
+ OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference, Background);
+ OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference, SelectionBackground);
+ OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference, CursorColor);
OBSERVABLE_PROJECTED_PROFILE_SETTING(Int32, HistorySize);
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, SnapOnInput);
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, AltGrAliasing);
diff --git a/src/cascadia/TerminalSettingsEditor/Profiles.xaml b/src/cascadia/TerminalSettingsEditor/Profiles.xaml
index 318fcff5a12..16b539617fc 100644
--- a/src/cascadia/TerminalSettingsEditor/Profiles.xaml
+++ b/src/cascadia/TerminalSettingsEditor/Profiles.xaml
@@ -1,152 +1,159 @@
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
-
+
+
+ Visibility="{x:Bind State.Profile.IsBaseLayer}" />
-
+ Margin="1,0,0,0"
+ HorizontalAlignment="Left"
+ SelectionChanged="Pivot_SelectionChanged">
+
-
-
+
+
-
+ Margin="0,0,0,24"
+ Visibility="{x:Bind State.Profile.IsBaseLayer, Mode=OneWay, Converter={StaticResource InvertedBooleanToVisibilityConverter}}">
+
-
-
+
+ Visibility="{x:Bind State.Profile.IsBaseLayer, Mode=OneWay, Converter={StaticResource InvertedBooleanToVisibilityConverter}}">
-
+
+ Style="{StaticResource BrowseButtonStyle}" />
-
-
+
+ HasSettingValue="{x:Bind State.Profile.HasStartingDirectory, Mode=OneWay}"
+ SettingOverrideSource="{x:Bind State.Profile.StartingDirectoryOverrideSource, Mode=OneWay}">
-
-
+
+ Style="{StaticResource BrowseButtonStyle}" />
-
+
-
+
-
+
+ Style="{StaticResource BrowseButtonStyle}" />
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
+ Margin="10,0,0,0" />
+ Style="{StaticResource CustomFlyoutTextStyle}" />
+ Click="DeleteConfirmation_Click" />
+ VerticalAlignment="Center"
+ Style="{StaticResource DisclaimerStyle}" />
-
+
-
-
+
+
-
+
+ HasSettingValue="{x:Bind State.Profile.HasColorSchemeName, Mode=OneWay}"
+ SettingOverrideSource="{x:Bind State.Profile.ColorSchemeNameOverrideSource, Mode=OneWay}">
-
+
-
+
-
-
+
-
+
-
+
+ IsEnabled="{x:Bind State.Profile.UsingMonospaceFont, Mode=OneWay}" />
-
+
-
+ Style="{StaticResource NumberBoxSettingStyle}"
+ Value="{x:Bind State.Profile.FontSize, Mode=TwoWay}" />
-
-
+
+ Style="{StaticResource ComboBoxSettingStyle}" />
-
+
+ Style="{StaticResource CustomSliderControlGridStyle}"
+ Visibility="{x:Bind IsCustomFontWeight, Mode=OneWay}">
-
-
+
+
+ Maximum="1000"
+ Minimum="0"
+ TickFrequency="50"
+ TickPlacement="Outside"
+ Value="{x:Bind State.Profile.FontWeight, Converter={StaticResource FontWeightConverter}, Mode=TwoWay}" />
+ Text="{Binding ElementName=FontWeightSlider, Path=Value, Mode=OneWay}" />
-
+
-
+
-
+
-
+
-
+
-
+ HasSettingValue="{x:Bind State.Profile.HasCursorShape, Mode=OneWay}"
+ SettingOverrideSource="{x:Bind State.Profile.CursorShapeOverrideSource, Mode=OneWay}">
+
-
+
-
-
+
+
+ Minimum="1"
+ Value="{x:Bind State.Profile.CursorHeight, Mode=TwoWay}" />
+ Style="{StaticResource SliderValueLabelStyle}"
+ Text="{Binding ElementName=CursorHeightSlider, Path=Value, Mode=OneWay}" />
-
+
-
+
-
-
+
+ HasSettingValue="{x:Bind State.Profile.HasBackgroundImagePath, Mode=OneWay}"
+ SettingOverrideSource="{x:Bind State.Profile.BackgroundImagePathOverrideSource, Mode=OneWay}">
-
+
+ Style="{StaticResource BrowseButtonStyle}" />
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
-
+
17
-
+
-
+
-
-
+
16
-
+
-
+
-
-
+
18
-
+
-
+
-
-
+
-
+
1
-
+
-
-
+
0
-
+
-
-
+
2
-
+
-
-
+
-
+
33
-
+
-
-
+
32
-
+
-
-
+
34
-
+
-
-
+
-
-
+
+
+ Value="{x:Bind State.Profile.BackgroundImageOpacity, Converter={StaticResource PercentageConverter}, Mode=TwoWay}" />
+ Style="{StaticResource SliderValueLabelStyle}"
+ Text="{Binding ElementName=BIOpacitySlider, Path=Value, Mode=OneWay}" />
-
+
-
+
-
+
+ HasSettingValue="{x:Bind State.Profile.HasUseAcrylic, Mode=OneWay}"
+ SettingOverrideSource="{x:Bind State.Profile.UseAcrylicOverrideSource, Mode=OneWay}">
+ IsOn="{x:Bind State.Profile.UseAcrylic, Mode=TwoWay}" />
-
-
+
-
-
+
+
+ Value="{x:Bind State.Profile.AcrylicOpacity, Converter={StaticResource PercentageConverter}, Mode=TwoWay}" />
+ Style="{StaticResource SliderValueLabelStyle}"
+ Text="{Binding ElementName=AcrylicOpacitySlider, Path=Value, Mode=OneWay}" />
-
+
-
+
-
+
+ HasSettingValue="{x:Bind State.Profile.HasPadding, Mode=OneWay}"
+ SettingOverrideSource="{x:Bind State.Profile.PaddingOverrideSource, Mode=OneWay}">
-
-
+
+
+ Value="{x:Bind State.Profile.Padding, Converter={StaticResource PaddingConverter}, Mode=TwoWay}" />
+ Style="{StaticResource SliderValueLabelStyle}"
+ Text="{Binding ElementName=PaddingSlider, Path=Value, Mode=OneWay}" />
-
+
-
+
-
+
-
+
-
+ HasSettingValue="{x:Bind State.Profile.HasSuppressApplicationTitle, Mode=OneWay}"
+ SettingOverrideSource="{x:Bind State.Profile.SuppressApplicationTitleOverrideSource, Mode=OneWay}">
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+ Style="{StaticResource NumberBoxSettingStyle}"
+ Value="{x:Bind State.Profile.HistorySize, Mode=TwoWay}" />
-
+
-
+
-
+
-
+
diff --git a/src/cascadia/TerminalSettingsEditor/Rendering.xaml b/src/cascadia/TerminalSettingsEditor/Rendering.xaml
index cd1b4021c91..cd6da7ca652 100644
--- a/src/cascadia/TerminalSettingsEditor/Rendering.xaml
+++ b/src/cascadia/TerminalSettingsEditor/Rendering.xaml
@@ -1,35 +1,36 @@
-
-
+
+
-
+
-
+
+ Style="{StaticResource DisclaimerStyle}" />
-
+
-
+
-
+
-
+
diff --git a/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw b/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw
index c5b305d9495..505d56fbc20 100644
--- a/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw
+++ b/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw
@@ -221,6 +221,14 @@
Profile that opens when clicking the '+' icon or by typing the new tab key binding.
A description for what the default profile is and when it's used.
+
+ Default terminal
+ Header for a drop down that permits the user to select which installed Terminal application will launch when command line tools like CMD are run from the Windows Explorer run box or start menu or anywhere else that they do not already have a graphical window assigned.
+
+
+ The terminal application that launches when a command-line application is run without an existing session, like from the Start Menu or Run dialog.
+ A description to clarify that the dropdown choice for default terminal will tell the operating system which Terminal application (Windows Terminal, the preview build, the legacy inbox window, or a 3rd party one) to use when starting a command line tool like CMD or Powershell that does not already have a window.
+
Redraw entire screen when display updates
Header for a control to toggle the "force full repaint" setting. When enabled, the app renders new content between screen frames.
diff --git a/src/cascadia/TerminalSettingsEditor/SettingContainer.cpp b/src/cascadia/TerminalSettingsEditor/SettingContainer.cpp
index feecd4a0bf6..f2566da7f84 100644
--- a/src/cascadia/TerminalSettingsEditor/SettingContainer.cpp
+++ b/src/cascadia/TerminalSettingsEditor/SettingContainer.cpp
@@ -159,6 +159,10 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
{
tooltip = _GenerateOverrideMessage(profile);
}
+ else if (const auto& appearanceConfig{ settingSrc.try_as() })
+ {
+ tooltip = _GenerateOverrideMessage(appearanceConfig.SourceProfile());
+ }
Controls::ToolTipService::SetToolTip(button, box_value(tooltip));
button.Visibility(tooltip.empty() ? Visibility::Collapsed : Visibility::Visible);
@@ -202,7 +206,11 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
// TODO GH#3818: When we add profile inheritance as a setting,
// we'll need an extra conditional check to see if this
// is the base layer or some other profile
- return RS_(L"SettingContainer_OverrideMessageBaseLayer");
+
+ // GH#9539: Base Layer has been removed from the Settings UI.
+ // In the event that the Base Layer comes back,
+ // return RS_(L"SettingContainer_OverrideMessageBaseLayer") instead
+ return {};
}
}
}
diff --git a/src/cascadia/TerminalSettingsEditor/SettingContainerStyle.xaml b/src/cascadia/TerminalSettingsEditor/SettingContainerStyle.xaml
index ebe4bec8760..717e6e80855 100644
--- a/src/cascadia/TerminalSettingsEditor/SettingContainerStyle.xaml
+++ b/src/cascadia/TerminalSettingsEditor/SettingContainerStyle.xaml
@@ -1,52 +1,56 @@
-
-
+
+
-
-
-