diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/ListItemViewModel.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/ListItemViewModel.cs new file mode 100644 index 0000000000..827d5614c0 --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/ListItemViewModel.cs @@ -0,0 +1,17 @@ +// Copyright (c) Microsoft Corporation +// The Microsoft Corporation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using CommunityToolkit.Mvvm.ComponentModel; + +namespace Microsoft.CmdPal.UI.ViewModels; + +public partial class ListItemViewModel : ObservableObject +{ + // Observable from MVVM Toolkit will auto create public properties that use inotifyproperty change + [ObservableProperty] + private string _header = string.Empty; + + [ObservableProperty] + private string _subheader = string.Empty; +} diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/ListViewModel.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/ListViewModel.cs new file mode 100644 index 0000000000..c255cdb864 --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/ListViewModel.cs @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation +// The Microsoft Corporation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.ObjectModel; +using System.Diagnostics; +using CommunityToolkit.Mvvm.ComponentModel; +using CommunityToolkit.Mvvm.Input; +using CommunityToolkit.Mvvm.Messaging; + +namespace Microsoft.CmdPal.UI.ViewModels; + +public partial class ListViewModel : ObservableObject +{ + // Observable from MVVM Toolkit will auto create public properties that use inotifyproperty change + [ObservableProperty] + private ObservableCollection _items = []; + + // InvokeItemCommand is what this will be in Xaml due to source generator + [RelayCommand] + private void InvokeItem(ListItemViewModel item) + { + WeakReferenceMessenger.Default.Send(new(item)); + + Debug.WriteLine("Hello!" + item.Header); + } +} diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Microsoft.CmdPal.UI.ViewModels.csproj b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Microsoft.CmdPal.UI.ViewModels.csproj new file mode 100644 index 0000000000..29a1e9184b --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Microsoft.CmdPal.UI.ViewModels.csproj @@ -0,0 +1,12 @@ + + + + enable + enable + + + + + + + diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/NavigateBackMessage.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/NavigateBackMessage.cs new file mode 100644 index 0000000000..ad0064e8ef --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/NavigateBackMessage.cs @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation +// The Microsoft Corporation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.CmdPal.UI.ViewModels; + +public record NavigateBackMessage() +{ +} diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/NavigateToDetailsMessage.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/NavigateToDetailsMessage.cs new file mode 100644 index 0000000000..dd757430ae --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/NavigateToDetailsMessage.cs @@ -0,0 +1,11 @@ +// Copyright (c) Microsoft Corporation +// The Microsoft Corporation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace Microsoft.CmdPal.UI.ViewModels; + +// Want to know what a record is? here is a TLDR +// https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/record +public record NavigateToDetailsMessage(ListItemViewModel ListItem) +{ +} diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/App.xaml b/src/modules/cmdpal/Microsoft.CmdPal.UI/App.xaml new file mode 100644 index 0000000000..4bf9dcc1e8 --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/App.xaml @@ -0,0 +1,16 @@ + + + + + + + + + + + + diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/App.xaml.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI/App.xaml.cs new file mode 100644 index 0000000000..1f8729a374 --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/App.xaml.cs @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation +// The Microsoft Corporation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls.Primitives; +using Microsoft.UI.Xaml.Data; +using Microsoft.UI.Xaml.Input; +using Microsoft.UI.Xaml.Media; +using Microsoft.UI.Xaml.Navigation; +using Microsoft.UI.Xaml.Shapes; +using Windows.ApplicationModel; +using Windows.ApplicationModel.Activation; +using Windows.Foundation; +using Windows.Foundation.Collections; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. +namespace Microsoft.CmdPal.UI; + +/// +/// Provides application-specific behavior to supplement the default Application class. +/// +public partial class App : Application +{ + /// + /// Initializes a new instance of the class. + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// + public App() + { + this.InitializeComponent(); + } + + /// + /// Invoked when the application is launched. + /// + /// Details about the launch request and process. + protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs args) + { + _window = new MainWindow(); + _window.Activate(); + } + + private Window? _window; +} diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/LockScreenLogo.scale-200.png b/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/LockScreenLogo.scale-200.png new file mode 100644 index 0000000000..7440f0d4bf Binary files /dev/null and b/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/LockScreenLogo.scale-200.png differ diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/SplashScreen.scale-200.png b/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/SplashScreen.scale-200.png new file mode 100644 index 0000000000..32f486a867 Binary files /dev/null and b/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/SplashScreen.scale-200.png differ diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/Square150x150Logo.scale-200.png b/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/Square150x150Logo.scale-200.png new file mode 100644 index 0000000000..53ee3777ea Binary files /dev/null and b/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/Square150x150Logo.scale-200.png differ diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/Square44x44Logo.scale-200.png b/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/Square44x44Logo.scale-200.png new file mode 100644 index 0000000000..f713bba67f Binary files /dev/null and b/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/Square44x44Logo.scale-200.png differ diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 0000000000..dc9f5bea0c Binary files /dev/null and b/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/Square44x44Logo.targetsize-24_altform-unplated.png differ diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/StoreLogo.png b/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/StoreLogo.png new file mode 100644 index 0000000000..a4586f26bd Binary files /dev/null and b/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/StoreLogo.png differ diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/Wide310x150Logo.scale-200.png b/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/Wide310x150Logo.scale-200.png new file mode 100644 index 0000000000..8b4a5d0dd5 Binary files /dev/null and b/src/modules/cmdpal/Microsoft.CmdPal.UI/Assets/Wide310x150Logo.scale-200.png differ diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/ListDetailPage.xaml b/src/modules/cmdpal/Microsoft.CmdPal.UI/ListDetailPage.xaml new file mode 100644 index 0000000000..0710b017ff --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/ListDetailPage.xaml @@ -0,0 +1,17 @@ + + + + + + + + + diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/ListDetailPage.xaml.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI/ListDetailPage.xaml.cs new file mode 100644 index 0000000000..9ae5c67af8 --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/ListDetailPage.xaml.cs @@ -0,0 +1,49 @@ +// Copyright (c) Microsoft Corporation +// The Microsoft Corporation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using CommunityToolkit.Mvvm.Messaging; +using Microsoft.CmdPal.UI.ViewModels; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls.Primitives; +using Microsoft.UI.Xaml.Data; +using Microsoft.UI.Xaml.Input; +using Microsoft.UI.Xaml.Media; +using Microsoft.UI.Xaml.Navigation; +using Windows.Foundation; +using Windows.Foundation.Collections; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. +namespace Microsoft.CmdPal.UI; + +/// +/// An empty page that can be used on its own or navigated to within a Frame. +/// +public sealed partial class ListDetailPage : Page +{ + public ListItemViewModel ViewModel { get; set; } = new ListItemViewModel(); + + public ListDetailPage() + { + this.InitializeComponent(); + } + + protected override void OnNavigatedTo(NavigationEventArgs e) + { + ViewModel = (ListItemViewModel)e.Parameter; + + base.OnNavigatedTo(e); + } + + private void Button_Click(object sender, RoutedEventArgs e) + { + WeakReferenceMessenger.Default.Send(); + } +} diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/MainPage.xaml b/src/modules/cmdpal/Microsoft.CmdPal.UI/MainPage.xaml new file mode 100644 index 0000000000..253a411d1e --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/MainPage.xaml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/MainPage.xaml.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI/MainPage.xaml.cs new file mode 100644 index 0000000000..9b7869269a --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/MainPage.xaml.cs @@ -0,0 +1,52 @@ +// Copyright (c) Microsoft Corporation +// The Microsoft Corporation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Microsoft.CmdPal.UI.ViewModels; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls.Primitives; +using Microsoft.UI.Xaml.Data; +using Microsoft.UI.Xaml.Input; +using Microsoft.UI.Xaml.Media; +using Microsoft.UI.Xaml.Navigation; +using Windows.Foundation; +using Windows.Foundation.Collections; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. +namespace Microsoft.CmdPal.UI; + +/// +/// An empty page that can be used on its own or navigated to within a Frame. +/// +public sealed partial class MainPage : Page +{ + public ListViewModel ViewModel { get; set; } = new(); + + public MainPage() + { + this.InitializeComponent(); + ViewModel.Items.Add(new ListItemViewModel { Header = "Hello", Subheader = "World" }); + ViewModel.Items.Add(new ListItemViewModel { Header = "Clint", Subheader = "Rutkas" }); + ViewModel.Items.Add(new ListItemViewModel { Header = "Michael", Subheader = "Hawker" }); + } + + private void MyButton_Click(object sender, RoutedEventArgs e) + { + // myButton.Content = "Clicked"; + } + + private void ItemsView_ItemInvoked(ItemsView sender, ItemsViewItemInvokedEventArgs args) + { + if (args.InvokedItem is ListItemViewModel item) + { + ViewModel.InvokeItemCommand.Execute(item); + } + } +} diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/MainWindow.xaml b/src/modules/cmdpal/Microsoft.CmdPal.UI/MainWindow.xaml new file mode 100644 index 0000000000..44d84c446f --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/MainWindow.xaml @@ -0,0 +1,12 @@ + + + + diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/MainWindow.xaml.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI/MainWindow.xaml.cs new file mode 100644 index 0000000000..502c831428 --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/MainWindow.xaml.cs @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation +// The Microsoft Corporation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using CommunityToolkit.Mvvm.Messaging; +using Microsoft.CmdPal.UI.ViewModels; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls.Primitives; +using Microsoft.UI.Xaml.Data; +using Microsoft.UI.Xaml.Input; +using Microsoft.UI.Xaml.Media; +using Microsoft.UI.Xaml.Navigation; +using Windows.Foundation; +using Windows.Foundation.Collections; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. +namespace Microsoft.CmdPal.UI; + +/// +/// An empty window that can be used on its own or navigated to within a Frame. +/// +public sealed partial class MainWindow : Window, IRecipient, IRecipient +{ + public MainWindow() + { + InitializeComponent(); + + // how we are doing navigation around + WeakReferenceMessenger.Default.RegisterAll(this); + + RootFrame.Navigate(typeof(MainPage)); + } + + public void Receive(NavigateToDetailsMessage message) + { + RootFrame.Navigate(typeof(ListDetailPage), message.ListItem); + } + + public void Receive(NavigateBackMessage message) + { + if (RootFrame.CanGoBack) + { + RootFrame.GoBack(); + } + } +} diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Microsoft.CmdPal.UI.csproj b/src/modules/cmdpal/Microsoft.CmdPal.UI/Microsoft.CmdPal.UI.csproj new file mode 100644 index 0000000000..5333162555 --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/Microsoft.CmdPal.UI.csproj @@ -0,0 +1,65 @@ + + + + WinExe + Microsoft.CmdPal.UI + app.manifest + win-$(Platform).pubxml + true + true + enable + enable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MSBuild:Compile + + + + + MSBuild:Compile + + + + + + true + + \ No newline at end of file diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Package.appxmanifest b/src/modules/cmdpal/Microsoft.CmdPal.UI/Package.appxmanifest new file mode 100644 index 0000000000..9ef5845c63 --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/Package.appxmanifest @@ -0,0 +1,51 @@ + + + + + + + + + + Microsoft.CmdPal.UI + crutkas + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Properties/PublishProfiles/win-arm64.pubxml b/src/modules/cmdpal/Microsoft.CmdPal.UI/Properties/PublishProfiles/win-arm64.pubxml new file mode 100644 index 0000000000..06da89e11f --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/Properties/PublishProfiles/win-arm64.pubxml @@ -0,0 +1,19 @@ + + + + + FileSystem + ARM64 + win-arm64 + win10-arm64 + bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ + true + False + False + True + False + True + + \ No newline at end of file diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Properties/PublishProfiles/win-x64.pubxml b/src/modules/cmdpal/Microsoft.CmdPal.UI/Properties/PublishProfiles/win-x64.pubxml new file mode 100644 index 0000000000..3568f8d8dd --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/Properties/PublishProfiles/win-x64.pubxml @@ -0,0 +1,19 @@ + + + + + FileSystem + x64 + win-x64 + win10-x64 + bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ + true + False + False + True + False + True + + \ No newline at end of file diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Properties/launchSettings.json b/src/modules/cmdpal/Microsoft.CmdPal.UI/Properties/launchSettings.json new file mode 100644 index 0000000000..de8ffbec99 --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/Properties/launchSettings.json @@ -0,0 +1,10 @@ +{ + "profiles": { + "Microsoft.CmdPal.UI (Package)": { + "commandName": "MsixPackage" + }, + "Microsoft.CmdPal.UI (Unpackaged)": { + "commandName": "Project" + } + } +} \ No newline at end of file diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/app.manifest b/src/modules/cmdpal/Microsoft.CmdPal.UI/app.manifest new file mode 100644 index 0000000000..78c55957e0 --- /dev/null +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/app.manifest @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + PerMonitorV2 + + + \ No newline at end of file diff --git a/src/modules/cmdpal/WindowsCommandPalette.sln b/src/modules/cmdpal/WindowsCommandPalette.sln index 0b74e7135d..c91caa3eaa 100644 --- a/src/modules/cmdpal/WindowsCommandPalette.sln +++ b/src/modules/cmdpal/WindowsCommandPalette.sln @@ -42,12 +42,18 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SSHKeychainExtension", "ext EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SamplePagesExtension", "exts\SamplePagesExtension\SamplePagesExtension.csproj", "{399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CmdPal.UI", "Microsoft.CmdPal.UI\Microsoft.CmdPal.UI.csproj", "{1DF70F56-ABB2-4798-BBA5-0B9568715BA1}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CmdPal.UI.ViewModels", "Microsoft.CmdPal.UI.ViewModels\Microsoft.CmdPal.UI.ViewModels.csproj", "{D2FC419D-0ABC-425F-9D43-A7782AC4A0AE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM64 = Debug|ARM64 Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|ARM64 = Release|ARM64 Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Debug|ARM64.ActiveCfg = Debug|ARM64 @@ -56,148 +62,260 @@ Global {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Debug|x64.ActiveCfg = Debug|x64 {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Debug|x64.Build.0 = Debug|x64 {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Debug|x64.Deploy.0 = Debug|x64 + {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Debug|x86.ActiveCfg = Debug|x64 + {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Debug|x86.Build.0 = Debug|x64 + {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Debug|x86.Deploy.0 = Debug|x64 {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Release|ARM64.ActiveCfg = Release|ARM64 {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Release|ARM64.Build.0 = Release|ARM64 {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Release|ARM64.Deploy.0 = Release|ARM64 {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Release|x64.ActiveCfg = Release|x64 {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Release|x64.Build.0 = Release|x64 {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Release|x64.Deploy.0 = Release|x64 + {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Release|x86.ActiveCfg = Release|x64 + {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Release|x86.Build.0 = Release|x64 + {F71CF22B-A5C7-4328-A5B3-F4191AE57314}.Release|x86.Deploy.0 = Release|x64 {6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}.Debug|ARM64.ActiveCfg = Debug|ARM64 {6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}.Debug|ARM64.Build.0 = Debug|ARM64 {6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}.Debug|x64.ActiveCfg = Debug|x64 {6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}.Debug|x64.Build.0 = Debug|x64 + {6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}.Debug|x86.ActiveCfg = Debug|x64 + {6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}.Debug|x86.Build.0 = Debug|x64 {6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}.Release|ARM64.ActiveCfg = Release|ARM64 {6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}.Release|ARM64.Build.0 = Release|ARM64 {6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}.Release|x64.ActiveCfg = Release|x64 {6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}.Release|x64.Build.0 = Release|x64 + {6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}.Release|x86.ActiveCfg = Release|x64 + {6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}.Release|x86.Build.0 = Release|x64 {305DD37E-C85D-4B08-AAFE-7381FA890463}.Debug|ARM64.ActiveCfg = Debug|ARM64 {305DD37E-C85D-4B08-AAFE-7381FA890463}.Debug|ARM64.Build.0 = Debug|ARM64 {305DD37E-C85D-4B08-AAFE-7381FA890463}.Debug|x64.ActiveCfg = Debug|x64 {305DD37E-C85D-4B08-AAFE-7381FA890463}.Debug|x64.Build.0 = Debug|x64 + {305DD37E-C85D-4B08-AAFE-7381FA890463}.Debug|x86.ActiveCfg = Debug|x64 + {305DD37E-C85D-4B08-AAFE-7381FA890463}.Debug|x86.Build.0 = Debug|x64 {305DD37E-C85D-4B08-AAFE-7381FA890463}.Release|ARM64.ActiveCfg = Release|ARM64 {305DD37E-C85D-4B08-AAFE-7381FA890463}.Release|ARM64.Build.0 = Release|ARM64 {305DD37E-C85D-4B08-AAFE-7381FA890463}.Release|x64.ActiveCfg = Release|x64 {305DD37E-C85D-4B08-AAFE-7381FA890463}.Release|x64.Build.0 = Release|x64 + {305DD37E-C85D-4B08-AAFE-7381FA890463}.Release|x86.ActiveCfg = Release|x64 + {305DD37E-C85D-4B08-AAFE-7381FA890463}.Release|x86.Build.0 = Release|x64 {79060D06-7174-4D66-8D0B-4FF021154049}.Debug|ARM64.ActiveCfg = Debug|arm64 {79060D06-7174-4D66-8D0B-4FF021154049}.Debug|ARM64.Build.0 = Debug|arm64 {79060D06-7174-4D66-8D0B-4FF021154049}.Debug|x64.ActiveCfg = Debug|x64 {79060D06-7174-4D66-8D0B-4FF021154049}.Debug|x64.Build.0 = Debug|x64 + {79060D06-7174-4D66-8D0B-4FF021154049}.Debug|x86.ActiveCfg = Debug|x86 + {79060D06-7174-4D66-8D0B-4FF021154049}.Debug|x86.Build.0 = Debug|x86 {79060D06-7174-4D66-8D0B-4FF021154049}.Release|ARM64.ActiveCfg = Release|arm64 {79060D06-7174-4D66-8D0B-4FF021154049}.Release|ARM64.Build.0 = Release|arm64 {79060D06-7174-4D66-8D0B-4FF021154049}.Release|x64.ActiveCfg = Release|x64 {79060D06-7174-4D66-8D0B-4FF021154049}.Release|x64.Build.0 = Release|x64 + {79060D06-7174-4D66-8D0B-4FF021154049}.Release|x86.ActiveCfg = Release|x86 + {79060D06-7174-4D66-8D0B-4FF021154049}.Release|x86.Build.0 = Release|x86 {05CDE6EE-23AE-42AF-A9F5-E398C382675F}.Debug|ARM64.ActiveCfg = Debug|arm64 {05CDE6EE-23AE-42AF-A9F5-E398C382675F}.Debug|ARM64.Build.0 = Debug|arm64 {05CDE6EE-23AE-42AF-A9F5-E398C382675F}.Debug|x64.ActiveCfg = Debug|x64 {05CDE6EE-23AE-42AF-A9F5-E398C382675F}.Debug|x64.Build.0 = Debug|x64 + {05CDE6EE-23AE-42AF-A9F5-E398C382675F}.Debug|x86.ActiveCfg = Debug|x64 + {05CDE6EE-23AE-42AF-A9F5-E398C382675F}.Debug|x86.Build.0 = Debug|x64 {05CDE6EE-23AE-42AF-A9F5-E398C382675F}.Release|ARM64.ActiveCfg = Release|arm64 {05CDE6EE-23AE-42AF-A9F5-E398C382675F}.Release|ARM64.Build.0 = Release|arm64 {05CDE6EE-23AE-42AF-A9F5-E398C382675F}.Release|x64.ActiveCfg = Release|x64 {05CDE6EE-23AE-42AF-A9F5-E398C382675F}.Release|x64.Build.0 = Release|x64 + {05CDE6EE-23AE-42AF-A9F5-E398C382675F}.Release|x86.ActiveCfg = Release|x64 + {05CDE6EE-23AE-42AF-A9F5-E398C382675F}.Release|x86.Build.0 = Release|x64 {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Debug|ARM64.ActiveCfg = Debug|ARM64 {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Debug|ARM64.Build.0 = Debug|ARM64 {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Debug|ARM64.Deploy.0 = Debug|ARM64 {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Debug|x64.ActiveCfg = Debug|x64 {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Debug|x64.Build.0 = Debug|x64 {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Debug|x64.Deploy.0 = Debug|x64 + {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Debug|x86.ActiveCfg = Debug|x64 + {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Debug|x86.Build.0 = Debug|x64 + {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Debug|x86.Deploy.0 = Debug|x64 {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Release|ARM64.ActiveCfg = Release|ARM64 {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Release|ARM64.Build.0 = Release|ARM64 {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Release|ARM64.Deploy.0 = Release|ARM64 {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Release|x64.ActiveCfg = Release|x64 {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Release|x64.Build.0 = Release|x64 {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Release|x64.Deploy.0 = Release|x64 + {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Release|x86.ActiveCfg = Release|x64 + {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Release|x86.Build.0 = Release|x64 + {57617906-DEC8-4D62-A270-6EBE3F8E5C0D}.Release|x86.Deploy.0 = Release|x64 {1A506BBA-06A9-476E-B5D3-1495F299D53F}.Debug|ARM64.ActiveCfg = Debug|ARM64 {1A506BBA-06A9-476E-B5D3-1495F299D53F}.Debug|ARM64.Build.0 = Debug|ARM64 {1A506BBA-06A9-476E-B5D3-1495F299D53F}.Debug|x64.ActiveCfg = Debug|x64 {1A506BBA-06A9-476E-B5D3-1495F299D53F}.Debug|x64.Build.0 = Debug|x64 + {1A506BBA-06A9-476E-B5D3-1495F299D53F}.Debug|x86.ActiveCfg = Debug|x64 + {1A506BBA-06A9-476E-B5D3-1495F299D53F}.Debug|x86.Build.0 = Debug|x64 + {1A506BBA-06A9-476E-B5D3-1495F299D53F}.Debug|x86.Deploy.0 = Debug|x64 {1A506BBA-06A9-476E-B5D3-1495F299D53F}.Release|ARM64.ActiveCfg = Release|ARM64 {1A506BBA-06A9-476E-B5D3-1495F299D53F}.Release|ARM64.Build.0 = Release|ARM64 {1A506BBA-06A9-476E-B5D3-1495F299D53F}.Release|x64.ActiveCfg = Release|x64 {1A506BBA-06A9-476E-B5D3-1495F299D53F}.Release|x64.Build.0 = Release|x64 + {1A506BBA-06A9-476E-B5D3-1495F299D53F}.Release|x86.ActiveCfg = Release|x64 + {1A506BBA-06A9-476E-B5D3-1495F299D53F}.Release|x86.Build.0 = Release|x64 + {1A506BBA-06A9-476E-B5D3-1495F299D53F}.Release|x86.Deploy.0 = Release|x64 {D08AE85F-B6FE-4E1C-8402-DB396B70D6DA}.Debug|ARM64.ActiveCfg = Debug|ARM64 {D08AE85F-B6FE-4E1C-8402-DB396B70D6DA}.Debug|ARM64.Build.0 = Debug|ARM64 {D08AE85F-B6FE-4E1C-8402-DB396B70D6DA}.Debug|x64.ActiveCfg = Debug|x64 {D08AE85F-B6FE-4E1C-8402-DB396B70D6DA}.Debug|x64.Build.0 = Debug|x64 + {D08AE85F-B6FE-4E1C-8402-DB396B70D6DA}.Debug|x86.ActiveCfg = Debug|x64 + {D08AE85F-B6FE-4E1C-8402-DB396B70D6DA}.Debug|x86.Build.0 = Debug|x64 + {D08AE85F-B6FE-4E1C-8402-DB396B70D6DA}.Debug|x86.Deploy.0 = Debug|x64 {D08AE85F-B6FE-4E1C-8402-DB396B70D6DA}.Release|ARM64.ActiveCfg = Release|ARM64 {D08AE85F-B6FE-4E1C-8402-DB396B70D6DA}.Release|ARM64.Build.0 = Release|ARM64 {D08AE85F-B6FE-4E1C-8402-DB396B70D6DA}.Release|x64.ActiveCfg = Release|x64 {D08AE85F-B6FE-4E1C-8402-DB396B70D6DA}.Release|x64.Build.0 = Release|x64 + {D08AE85F-B6FE-4E1C-8402-DB396B70D6DA}.Release|x86.ActiveCfg = Release|x64 + {D08AE85F-B6FE-4E1C-8402-DB396B70D6DA}.Release|x86.Build.0 = Release|x64 + {D08AE85F-B6FE-4E1C-8402-DB396B70D6DA}.Release|x86.Deploy.0 = Release|x64 {9456257A-3292-4A8D-AF63-9830EABE7ED2}.Debug|ARM64.ActiveCfg = Debug|ARM64 {9456257A-3292-4A8D-AF63-9830EABE7ED2}.Debug|ARM64.Build.0 = Debug|ARM64 {9456257A-3292-4A8D-AF63-9830EABE7ED2}.Debug|x64.ActiveCfg = Debug|x64 {9456257A-3292-4A8D-AF63-9830EABE7ED2}.Debug|x64.Build.0 = Debug|x64 + {9456257A-3292-4A8D-AF63-9830EABE7ED2}.Debug|x86.ActiveCfg = Debug|x64 + {9456257A-3292-4A8D-AF63-9830EABE7ED2}.Debug|x86.Build.0 = Debug|x64 + {9456257A-3292-4A8D-AF63-9830EABE7ED2}.Debug|x86.Deploy.0 = Debug|x64 {9456257A-3292-4A8D-AF63-9830EABE7ED2}.Release|ARM64.ActiveCfg = Release|ARM64 {9456257A-3292-4A8D-AF63-9830EABE7ED2}.Release|ARM64.Build.0 = Release|ARM64 {9456257A-3292-4A8D-AF63-9830EABE7ED2}.Release|x64.ActiveCfg = Release|x64 {9456257A-3292-4A8D-AF63-9830EABE7ED2}.Release|x64.Build.0 = Release|x64 + {9456257A-3292-4A8D-AF63-9830EABE7ED2}.Release|x86.ActiveCfg = Release|x64 + {9456257A-3292-4A8D-AF63-9830EABE7ED2}.Release|x86.Build.0 = Release|x64 + {9456257A-3292-4A8D-AF63-9830EABE7ED2}.Release|x86.Deploy.0 = Release|x64 {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Debug|ARM64.ActiveCfg = Debug|ARM64 {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Debug|ARM64.Build.0 = Debug|ARM64 {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Debug|ARM64.Deploy.0 = Debug|ARM64 {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Debug|x64.ActiveCfg = Debug|x64 {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Debug|x64.Build.0 = Debug|x64 {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Debug|x64.Deploy.0 = Debug|x64 + {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Debug|x86.ActiveCfg = Debug|x64 + {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Debug|x86.Build.0 = Debug|x64 + {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Debug|x86.Deploy.0 = Debug|x64 {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Release|ARM64.ActiveCfg = Release|ARM64 {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Release|ARM64.Build.0 = Release|ARM64 {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Release|ARM64.Deploy.0 = Release|ARM64 {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Release|x64.ActiveCfg = Release|x64 {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Release|x64.Build.0 = Release|x64 {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Release|x64.Deploy.0 = Release|x64 + {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Release|x86.ActiveCfg = Release|x64 + {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Release|x86.Build.0 = Release|x64 + {EB13FDBD-7DD5-4E7E-8BEB-727B3C9331CB}.Release|x86.Deploy.0 = Release|x64 {65E22130-6A8F-4AB7-80EC-FF75475DE821}.Debug|ARM64.ActiveCfg = Debug|ARM64 {65E22130-6A8F-4AB7-80EC-FF75475DE821}.Debug|ARM64.Build.0 = Debug|ARM64 {65E22130-6A8F-4AB7-80EC-FF75475DE821}.Debug|x64.ActiveCfg = Debug|x64 {65E22130-6A8F-4AB7-80EC-FF75475DE821}.Debug|x64.Build.0 = Debug|x64 + {65E22130-6A8F-4AB7-80EC-FF75475DE821}.Debug|x86.ActiveCfg = Debug|x64 + {65E22130-6A8F-4AB7-80EC-FF75475DE821}.Debug|x86.Build.0 = Debug|x64 + {65E22130-6A8F-4AB7-80EC-FF75475DE821}.Debug|x86.Deploy.0 = Debug|x64 {65E22130-6A8F-4AB7-80EC-FF75475DE821}.Release|ARM64.ActiveCfg = Release|ARM64 {65E22130-6A8F-4AB7-80EC-FF75475DE821}.Release|ARM64.Build.0 = Release|ARM64 {65E22130-6A8F-4AB7-80EC-FF75475DE821}.Release|x64.ActiveCfg = Release|x64 {65E22130-6A8F-4AB7-80EC-FF75475DE821}.Release|x64.Build.0 = Release|x64 + {65E22130-6A8F-4AB7-80EC-FF75475DE821}.Release|x86.ActiveCfg = Release|x64 + {65E22130-6A8F-4AB7-80EC-FF75475DE821}.Release|x86.Build.0 = Release|x64 + {65E22130-6A8F-4AB7-80EC-FF75475DE821}.Release|x86.Deploy.0 = Release|x64 {C5BADA22-70FF-41D1-9529-28F4891316A8}.Debug|ARM64.ActiveCfg = Debug|ARM64 {C5BADA22-70FF-41D1-9529-28F4891316A8}.Debug|ARM64.Build.0 = Debug|ARM64 {C5BADA22-70FF-41D1-9529-28F4891316A8}.Debug|x64.ActiveCfg = Debug|x64 {C5BADA22-70FF-41D1-9529-28F4891316A8}.Debug|x64.Build.0 = Debug|x64 + {C5BADA22-70FF-41D1-9529-28F4891316A8}.Debug|x86.ActiveCfg = Debug|x64 + {C5BADA22-70FF-41D1-9529-28F4891316A8}.Debug|x86.Build.0 = Debug|x64 {C5BADA22-70FF-41D1-9529-28F4891316A8}.Release|ARM64.ActiveCfg = Release|ARM64 {C5BADA22-70FF-41D1-9529-28F4891316A8}.Release|ARM64.Build.0 = Release|ARM64 {C5BADA22-70FF-41D1-9529-28F4891316A8}.Release|x64.ActiveCfg = Release|x64 {C5BADA22-70FF-41D1-9529-28F4891316A8}.Release|x64.Build.0 = Release|x64 + {C5BADA22-70FF-41D1-9529-28F4891316A8}.Release|x86.ActiveCfg = Release|x64 + {C5BADA22-70FF-41D1-9529-28F4891316A8}.Release|x86.Build.0 = Release|x64 {42DB35EE-1EDB-41E4-9C9F-A3520EBC5CC4}.Debug|ARM64.ActiveCfg = Debug|ARM64 {42DB35EE-1EDB-41E4-9C9F-A3520EBC5CC4}.Debug|ARM64.Build.0 = Debug|ARM64 {42DB35EE-1EDB-41E4-9C9F-A3520EBC5CC4}.Debug|x64.ActiveCfg = Debug|x64 {42DB35EE-1EDB-41E4-9C9F-A3520EBC5CC4}.Debug|x64.Build.0 = Debug|x64 + {42DB35EE-1EDB-41E4-9C9F-A3520EBC5CC4}.Debug|x86.ActiveCfg = Debug|x64 + {42DB35EE-1EDB-41E4-9C9F-A3520EBC5CC4}.Debug|x86.Build.0 = Debug|x64 {42DB35EE-1EDB-41E4-9C9F-A3520EBC5CC4}.Release|ARM64.ActiveCfg = Release|ARM64 {42DB35EE-1EDB-41E4-9C9F-A3520EBC5CC4}.Release|ARM64.Build.0 = Release|ARM64 {42DB35EE-1EDB-41E4-9C9F-A3520EBC5CC4}.Release|x64.ActiveCfg = Release|x64 {42DB35EE-1EDB-41E4-9C9F-A3520EBC5CC4}.Release|x64.Build.0 = Release|x64 + {42DB35EE-1EDB-41E4-9C9F-A3520EBC5CC4}.Release|x86.ActiveCfg = Release|x64 + {42DB35EE-1EDB-41E4-9C9F-A3520EBC5CC4}.Release|x86.Build.0 = Release|x64 {7F6796A4-4233-4CEC-914F-95EC7A5283A0}.Debug|ARM64.ActiveCfg = Debug|ARM64 {7F6796A4-4233-4CEC-914F-95EC7A5283A0}.Debug|ARM64.Build.0 = Debug|ARM64 {7F6796A4-4233-4CEC-914F-95EC7A5283A0}.Debug|x64.ActiveCfg = Debug|x64 {7F6796A4-4233-4CEC-914F-95EC7A5283A0}.Debug|x64.Build.0 = Debug|x64 + {7F6796A4-4233-4CEC-914F-95EC7A5283A0}.Debug|x86.ActiveCfg = Debug|x64 + {7F6796A4-4233-4CEC-914F-95EC7A5283A0}.Debug|x86.Build.0 = Debug|x64 {7F6796A4-4233-4CEC-914F-95EC7A5283A0}.Release|ARM64.ActiveCfg = Release|ARM64 {7F6796A4-4233-4CEC-914F-95EC7A5283A0}.Release|ARM64.Build.0 = Release|ARM64 {7F6796A4-4233-4CEC-914F-95EC7A5283A0}.Release|x64.ActiveCfg = Release|x64 {7F6796A4-4233-4CEC-914F-95EC7A5283A0}.Release|x64.Build.0 = Release|x64 + {7F6796A4-4233-4CEC-914F-95EC7A5283A0}.Release|x86.ActiveCfg = Release|x64 + {7F6796A4-4233-4CEC-914F-95EC7A5283A0}.Release|x86.Build.0 = Release|x64 {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Debug|ARM64.ActiveCfg = Debug|ARM64 {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Debug|ARM64.Build.0 = Debug|ARM64 {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Debug|ARM64.Deploy.0 = Debug|ARM64 {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Debug|x64.ActiveCfg = Debug|x64 {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Debug|x64.Build.0 = Debug|x64 {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Debug|x64.Deploy.0 = Debug|x64 + {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Debug|x86.ActiveCfg = Debug|x64 + {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Debug|x86.Build.0 = Debug|x64 + {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Debug|x86.Deploy.0 = Debug|x64 {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Release|ARM64.ActiveCfg = Release|ARM64 {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Release|ARM64.Build.0 = Release|ARM64 {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Release|ARM64.Deploy.0 = Release|ARM64 {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Release|x64.ActiveCfg = Release|x64 {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Release|x64.Build.0 = Release|x64 {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Release|x64.Deploy.0 = Release|x64 + {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Release|x86.ActiveCfg = Release|x64 + {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Release|x86.Build.0 = Release|x64 + {77D99BE0-F69C-4F27-8153-951CEC5110FE}.Release|x86.Deploy.0 = Release|x64 {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Debug|ARM64.ActiveCfg = Debug|ARM64 {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Debug|ARM64.Build.0 = Debug|ARM64 {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Debug|ARM64.Deploy.0 = Debug|ARM64 {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Debug|x64.ActiveCfg = Debug|x64 {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Debug|x64.Build.0 = Debug|x64 {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Debug|x64.Deploy.0 = Debug|x64 + {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Debug|x86.ActiveCfg = Debug|x64 + {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Debug|x86.Build.0 = Debug|x64 + {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Debug|x86.Deploy.0 = Debug|x64 {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Release|ARM64.ActiveCfg = Release|ARM64 {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Release|ARM64.Build.0 = Release|ARM64 {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Release|ARM64.Deploy.0 = Release|ARM64 {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Release|x64.ActiveCfg = Release|x64 {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Release|x64.Build.0 = Release|x64 {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Release|x64.Deploy.0 = Release|x64 + {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Release|x86.ActiveCfg = Release|x64 + {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Release|x86.Build.0 = Release|x64 + {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1}.Release|x86.Deploy.0 = Release|x64 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Debug|ARM64.Build.0 = Debug|ARM64 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Debug|ARM64.Deploy.0 = Debug|ARM64 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Debug|x64.ActiveCfg = Debug|x64 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Debug|x64.Build.0 = Debug|x64 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Debug|x64.Deploy.0 = Debug|x64 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Debug|x86.ActiveCfg = Debug|x86 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Debug|x86.Build.0 = Debug|x86 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Debug|x86.Deploy.0 = Debug|x86 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Release|ARM64.ActiveCfg = Release|ARM64 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Release|ARM64.Build.0 = Release|ARM64 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Release|ARM64.Deploy.0 = Release|ARM64 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Release|x64.ActiveCfg = Release|x64 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Release|x64.Build.0 = Release|x64 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Release|x64.Deploy.0 = Release|x64 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Release|x86.ActiveCfg = Release|x86 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Release|x86.Build.0 = Release|x86 + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1}.Release|x86.Deploy.0 = Release|x86 + {D2FC419D-0ABC-425F-9D43-A7782AC4A0AE}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {D2FC419D-0ABC-425F-9D43-A7782AC4A0AE}.Debug|ARM64.Build.0 = Debug|ARM64 + {D2FC419D-0ABC-425F-9D43-A7782AC4A0AE}.Debug|x64.ActiveCfg = Debug|x64 + {D2FC419D-0ABC-425F-9D43-A7782AC4A0AE}.Debug|x64.Build.0 = Debug|x64 + {D2FC419D-0ABC-425F-9D43-A7782AC4A0AE}.Debug|x86.ActiveCfg = Debug|x64 + {D2FC419D-0ABC-425F-9D43-A7782AC4A0AE}.Debug|x86.Build.0 = Debug|x64 + {D2FC419D-0ABC-425F-9D43-A7782AC4A0AE}.Release|ARM64.ActiveCfg = Release|ARM64 + {D2FC419D-0ABC-425F-9D43-A7782AC4A0AE}.Release|ARM64.Build.0 = Release|ARM64 + {D2FC419D-0ABC-425F-9D43-A7782AC4A0AE}.Release|x64.ActiveCfg = Release|x64 + {D2FC419D-0ABC-425F-9D43-A7782AC4A0AE}.Release|x64.Build.0 = Release|x64 + {D2FC419D-0ABC-425F-9D43-A7782AC4A0AE}.Release|x86.ActiveCfg = Release|x64 + {D2FC419D-0ABC-425F-9D43-A7782AC4A0AE}.Release|x86.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -219,6 +337,8 @@ Global {7F6796A4-4233-4CEC-914F-95EC7A5283A0} = {272D0E9A-8FC3-49F5-8FAD-79ABAE8AB1E4} {77D99BE0-F69C-4F27-8153-951CEC5110FE} = {B7FF739F-7716-4FC3-B622-705486187B87} {399B53F1-5AA6-4FE0-8C3C-66E07B84E6F1} = {B7FF739F-7716-4FC3-B622-705486187B87} + {1DF70F56-ABB2-4798-BBA5-0B9568715BA1} = {B4B13D2C-8C19-43D0-9FD4-3084F42EA4C2} + {D2FC419D-0ABC-425F-9D43-A7782AC4A0AE} = {B4B13D2C-8C19-43D0-9FD4-3084F42EA4C2} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BC94BFC2-A741-4978-B6A4-9E01B7660E6B}