From 07acc689dd2a114071268f0d0c7d5a152afec508 Mon Sep 17 00:00:00 2001 From: Michael Sharp Date: Wed, 3 Mar 2021 18:12:27 +0000 Subject: [PATCH 01/16] arm testing --- Directory.Build.props | 4 + Directory.Build.targets | 2 + Microsoft.ML.sln | 758 ++++++++++++++++++ .../Microsoft.ML.FastTree.csproj | 2 +- .../MatrixFactorizationNative/CMakeLists.txt | 5 +- src/Native/Native.proj | 6 +- src/Native/build.sh | 2 +- src/Native/gen-buildsys-win.bat | 1 + test/Microsoft.ML.TestFramework/GlobalBase.cs | 16 +- 9 files changed, 785 insertions(+), 11 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index dbe8844455..ae7bba8cdb 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -7,6 +7,10 @@ + + $(DefineConstants);ARM64 + + true diff --git a/Directory.Build.targets b/Directory.Build.targets index bbb9d56b9b..2faeec996b 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -7,12 +7,14 @@ + lib .dll .so .dylib + $(Platform) x64 $(TargetArchitecture) $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin')) diff --git a/Microsoft.ML.sln b/Microsoft.ML.sln index e52f9d2014..7b4bf674d1 100644 --- a/Microsoft.ML.sln +++ b/Microsoft.ML.sln @@ -154,12 +154,14 @@ Global Debug|Any CPU = Debug|Any CPU Debug|x64 = Debug|x64 Debug-netcoreapp3_1|Any CPU = Debug-netcoreapp3_1|Any CPU + Debug-netcoreapp3_1|Arm64 = Debug-netcoreapp3_1|Arm64 Debug-netcoreapp3_1|x64 = Debug-netcoreapp3_1|x64 Debug-netfx|Any CPU = Debug-netfx|Any CPU Debug-netfx|x64 = Debug-netfx|x64 Release|Any CPU = Release|Any CPU Release|x64 = Release|x64 Release-netcoreapp3_1|Any CPU = Release-netcoreapp3_1|Any CPU + Release-netcoreapp3_1|Arm64 = Release-netcoreapp3_1|Arm64 Release-netcoreapp3_1|x64 = Release-netcoreapp3_1|x64 Release-netfx|Any CPU = Release-netfx|Any CPU Release-netfx|x64 = Release-netfx|x64 @@ -167,1441 +169,2161 @@ Global GlobalSection(ProjectConfigurationPlatforms) = postSolution {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug|Arm64.Build.0 = Debug|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug|x64.ActiveCfg = Debug|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug|x64.Build.0 = Debug|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release|Any CPU.ActiveCfg = Release|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release|Any CPU.Build.0 = Release|Any CPU + {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release|Arm64.ActiveCfg = Release|Any CPU + {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release|Arm64.Build.0 = Release|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release|x64.ActiveCfg = Release|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release|x64.Build.0 = Release|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug|Arm64.Build.0 = Debug|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug|x64.ActiveCfg = Debug|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug|x64.Build.0 = Debug|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release|Any CPU.ActiveCfg = Release|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release|Any CPU.Build.0 = Release|Any CPU + {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release|Arm64.ActiveCfg = Release|Any CPU + {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release|Arm64.Build.0 = Release|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release|x64.ActiveCfg = Release|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release|x64.Build.0 = Release|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug|Arm64.Build.0 = Debug|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug|x64.ActiveCfg = Debug|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug|x64.Build.0 = Debug|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release|Any CPU.ActiveCfg = Release|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release|Any CPU.Build.0 = Release|Any CPU + {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release|Arm64.ActiveCfg = Release|Any CPU + {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release|Arm64.Build.0 = Release|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release|x64.ActiveCfg = Release|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release|x64.Build.0 = Release|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|Arm64.Build.0 = Debug|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|x64.ActiveCfg = Debug|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|x64.Build.0 = Debug|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release|Any CPU.ActiveCfg = Release|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release|Any CPU.Build.0 = Release|Any CPU + {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release|Arm64.ActiveCfg = Release|Any CPU + {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release|Arm64.Build.0 = Release|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release|x64.ActiveCfg = Release|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release|x64.Build.0 = Release|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug|Any CPU.Build.0 = Debug|Any CPU + {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug|Arm64.Build.0 = Debug|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug|x64.ActiveCfg = Debug|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug|x64.Build.0 = Debug|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release|Any CPU.ActiveCfg = Release|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release|Any CPU.Build.0 = Release|Any CPU + {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release|Arm64.ActiveCfg = Release|Any CPU + {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release|Arm64.Build.0 = Release|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release|x64.ActiveCfg = Release|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release|x64.Build.0 = Release|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug|Any CPU.Build.0 = Debug|Any CPU + {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug|Arm64.Build.0 = Debug|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug|x64.ActiveCfg = Debug|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug|x64.Build.0 = Debug|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release|Any CPU.ActiveCfg = Release|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release|Any CPU.Build.0 = Release|Any CPU + {707BB22C-7E5F-497A-8C2F-74578F675705}.Release|Arm64.ActiveCfg = Release|Any CPU + {707BB22C-7E5F-497A-8C2F-74578F675705}.Release|Arm64.Build.0 = Release|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release|x64.ActiveCfg = Release|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release|x64.Build.0 = Release|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug|Arm64.Build.0 = Debug|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug|x64.ActiveCfg = Debug|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug|x64.Build.0 = Debug|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release|Any CPU.ActiveCfg = Release|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release|Any CPU.Build.0 = Release|Any CPU + {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release|Arm64.ActiveCfg = Release|Any CPU + {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release|Arm64.Build.0 = Release|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release|x64.ActiveCfg = Release|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release|x64.Build.0 = Release|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug|Arm64.Build.0 = Debug|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug|x64.ActiveCfg = Debug|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug|x64.Build.0 = Debug|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release|Any CPU.ActiveCfg = Release|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release|Any CPU.Build.0 = Release|Any CPU + {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release|Arm64.ActiveCfg = Release|Any CPU + {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release|Arm64.Build.0 = Release|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release|x64.ActiveCfg = Release|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release|x64.Build.0 = Release|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug|Arm64.Build.0 = Debug|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug|x64.ActiveCfg = Debug|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug|x64.Build.0 = Debug|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release|Any CPU.ActiveCfg = Release|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release|Any CPU.Build.0 = Release|Any CPU + {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release|Arm64.ActiveCfg = Release|Any CPU + {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release|Arm64.Build.0 = Release|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release|x64.ActiveCfg = Release|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release|x64.Build.0 = Release|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug|Arm64.Build.0 = Debug|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug|x64.ActiveCfg = Debug|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug|x64.Build.0 = Debug|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release|Any CPU.ActiveCfg = Release|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release|Any CPU.Build.0 = Release|Any CPU + {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release|Arm64.ActiveCfg = Release|Any CPU + {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release|Arm64.Build.0 = Release|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release|x64.ActiveCfg = Release|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release|x64.Build.0 = Release|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug|Arm64.Build.0 = Debug|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug|x64.ActiveCfg = Debug|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug|x64.Build.0 = Debug|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release|Any CPU.ActiveCfg = Release|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release|Any CPU.Build.0 = Release|Any CPU + {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release|Arm64.ActiveCfg = Release|Any CPU + {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release|Arm64.Build.0 = Release|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release|x64.ActiveCfg = Release|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release|x64.Build.0 = Release|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug|Arm64.Build.0 = Debug|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug|x64.ActiveCfg = Debug|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug|x64.Build.0 = Debug|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release|Any CPU.ActiveCfg = Release|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release|Any CPU.Build.0 = Release|Any CPU + {6B047E09-39C9-4583-96F3-685D84CA4117}.Release|Arm64.ActiveCfg = Release|Any CPU + {6B047E09-39C9-4583-96F3-685D84CA4117}.Release|Arm64.Build.0 = Release|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release|x64.ActiveCfg = Release|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release|x64.Build.0 = Release|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug|Arm64.Build.0 = Debug|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug|x64.ActiveCfg = Debug|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug|x64.Build.0 = Debug|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release|Any CPU.ActiveCfg = Release|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release|Any CPU.Build.0 = Release|Any CPU + {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release|Arm64.ActiveCfg = Release|Any CPU + {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release|Arm64.Build.0 = Release|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release|x64.ActiveCfg = Release|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release|x64.Build.0 = Release|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug|Arm64.Build.0 = Debug|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug|x64.ActiveCfg = Debug|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug|x64.Build.0 = Debug|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release|Any CPU.ActiveCfg = Release|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release|Any CPU.Build.0 = Release|Any CPU + {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release|Arm64.ActiveCfg = Release|Any CPU + {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release|Arm64.Build.0 = Release|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release|x64.ActiveCfg = Release|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release|x64.Build.0 = Release|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug|Arm64.Build.0 = Debug|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug|x64.ActiveCfg = Debug|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug|x64.Build.0 = Debug|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release|Any CPU.ActiveCfg = Release|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release|Any CPU.Build.0 = Release|Any CPU + {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release|Arm64.ActiveCfg = Release|Any CPU + {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release|Arm64.Build.0 = Release|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release|x64.ActiveCfg = Release|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release|x64.Build.0 = Release|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug|Any CPU.Build.0 = Debug|Any CPU + {16BB1454-2108-40E5-B3A6-594654005303}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {16BB1454-2108-40E5-B3A6-594654005303}.Debug|Arm64.Build.0 = Debug|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug|x64.ActiveCfg = Debug|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug|x64.Build.0 = Debug|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release|Any CPU.ActiveCfg = Release|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release|Any CPU.Build.0 = Release|Any CPU + {16BB1454-2108-40E5-B3A6-594654005303}.Release|Arm64.ActiveCfg = Release|Any CPU + {16BB1454-2108-40E5-B3A6-594654005303}.Release|Arm64.Build.0 = Release|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release|x64.ActiveCfg = Release|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release|x64.Build.0 = Release|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {16BB1454-2108-40E5-B3A6-594654005303}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {16BB1454-2108-40E5-B3A6-594654005303}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {16BB1454-2108-40E5-B3A6-594654005303}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {16BB1454-2108-40E5-B3A6-594654005303}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug|Any CPU.Build.0 = Debug|Any CPU + {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug|Arm64.Build.0 = Debug|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug|x64.ActiveCfg = Debug|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug|x64.Build.0 = Debug|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release|Any CPU.ActiveCfg = Release|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release|Any CPU.Build.0 = Release|Any CPU + {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release|Arm64.ActiveCfg = Release|Any CPU + {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release|Arm64.Build.0 = Release|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release|x64.ActiveCfg = Release|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release|x64.Build.0 = Release|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug|Arm64.Build.0 = Debug|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug|x64.ActiveCfg = Debug|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug|x64.Build.0 = Debug|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release|Any CPU.ActiveCfg = Release|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release|Any CPU.Build.0 = Release|Any CPU + {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release|Arm64.ActiveCfg = Release|Any CPU + {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release|Arm64.Build.0 = Release|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release|x64.ActiveCfg = Release|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release|x64.Build.0 = Release|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug|Arm64.Build.0 = Debug|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug|x64.ActiveCfg = Debug|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug|x64.Build.0 = Debug|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release|Any CPU.ActiveCfg = Release|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release|Any CPU.Build.0 = Release|Any CPU + {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release|Arm64.ActiveCfg = Release|Any CPU + {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release|Arm64.Build.0 = Release|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release|x64.ActiveCfg = Release|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release|x64.Build.0 = Release|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug|Any CPU.Build.0 = Debug|Any CPU + {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug|Arm64.Build.0 = Debug|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug|x64.ActiveCfg = Debug|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug|x64.Build.0 = Debug|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|Any CPU.ActiveCfg = Release|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|Any CPU.Build.0 = Release|Any CPU + {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|Arm64.ActiveCfg = Release|Any CPU + {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|Arm64.Build.0 = Release|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|x64.ActiveCfg = Release|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|x64.Build.0 = Release|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|Arm64.Build.0 = Debug|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|x64.ActiveCfg = Debug|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|x64.Build.0 = Debug|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|Any CPU.ActiveCfg = Release|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|Any CPU.Build.0 = Release|Any CPU + {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|Arm64.ActiveCfg = Release|Any CPU + {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|Arm64.Build.0 = Release|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|x64.ActiveCfg = Release|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|x64.Build.0 = Release|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug|Any CPU.Build.0 = Debug|Any CPU + {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug|Arm64.Build.0 = Debug|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug|x64.ActiveCfg = Debug|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug|x64.Build.0 = Debug|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release|Any CPU.ActiveCfg = Release|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release|Any CPU.Build.0 = Release|Any CPU + {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release|Arm64.ActiveCfg = Release|Any CPU + {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release|Arm64.Build.0 = Release|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release|x64.ActiveCfg = Release|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release|x64.Build.0 = Release|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug|Arm64.Build.0 = Debug|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug|x64.ActiveCfg = Debug|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug|x64.Build.0 = Debug|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release|Any CPU.ActiveCfg = Release|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release|Any CPU.Build.0 = Release|Any CPU + {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release|Arm64.ActiveCfg = Release|Any CPU + {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release|Arm64.Build.0 = Release|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release|x64.ActiveCfg = Release|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release|x64.Build.0 = Release|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug|Arm64.Build.0 = Debug|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug|x64.ActiveCfg = Debug|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug|x64.Build.0 = Debug|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release|Any CPU.ActiveCfg = Release|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release|Any CPU.Build.0 = Release|Any CPU + {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release|Arm64.ActiveCfg = Release|Any CPU + {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release|Arm64.Build.0 = Release|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release|x64.ActiveCfg = Release|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release|x64.Build.0 = Release|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug|Arm64.Build.0 = Debug|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug|x64.ActiveCfg = Debug|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug|x64.Build.0 = Debug|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release|Any CPU.ActiveCfg = Release|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release|Any CPU.Build.0 = Release|Any CPU + {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release|Arm64.ActiveCfg = Release|Any CPU + {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release|Arm64.Build.0 = Release|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release|x64.ActiveCfg = Release|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release|x64.Build.0 = Release|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug|Arm64.Build.0 = Debug|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug|x64.ActiveCfg = Debug|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug|x64.Build.0 = Debug|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release|Any CPU.ActiveCfg = Release|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release|Any CPU.Build.0 = Release|Any CPU + {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release|Arm64.ActiveCfg = Release|Any CPU + {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release|Arm64.Build.0 = Release|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release|x64.ActiveCfg = Release|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release|x64.Build.0 = Release|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug|Arm64.Build.0 = Debug|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug|x64.ActiveCfg = Debug|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug|x64.Build.0 = Debug|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release|Any CPU.ActiveCfg = Release|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release|Any CPU.Build.0 = Release|Any CPU + {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release|Arm64.ActiveCfg = Release|Any CPU + {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release|Arm64.Build.0 = Release|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release|x64.ActiveCfg = Release|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release|x64.Build.0 = Release|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug|Arm64.Build.0 = Debug|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug|x64.ActiveCfg = Debug|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug|x64.Build.0 = Debug|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release|Any CPU.ActiveCfg = Release|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release|Any CPU.Build.0 = Release|Any CPU + {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release|Arm64.ActiveCfg = Release|Any CPU + {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release|Arm64.Build.0 = Release|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release|x64.ActiveCfg = Release|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release|x64.Build.0 = Release|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug|Any CPU.Build.0 = Debug|Any CPU + {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug|Arm64.Build.0 = Debug|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug|x64.ActiveCfg = Debug|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug|x64.Build.0 = Debug|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release|Any CPU.ActiveCfg = Release|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release|Any CPU.Build.0 = Release|Any CPU + {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release|Arm64.ActiveCfg = Release|Any CPU + {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release|Arm64.Build.0 = Release|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release|x64.ActiveCfg = Release|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release|x64.Build.0 = Release|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug|Arm64.Build.0 = Debug|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug|x64.ActiveCfg = Debug|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug|x64.Build.0 = Debug|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release|Any CPU.ActiveCfg = Release|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release|Any CPU.Build.0 = Release|Any CPU + {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release|Arm64.ActiveCfg = Release|Any CPU + {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release|Arm64.Build.0 = Release|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release|x64.ActiveCfg = Release|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release|x64.Build.0 = Release|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug|Arm64.Build.0 = Debug|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug|x64.ActiveCfg = Debug|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug|x64.Build.0 = Debug|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release|Any CPU.ActiveCfg = Release|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release|Any CPU.Build.0 = Release|Any CPU + {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release|Arm64.ActiveCfg = Release|Any CPU + {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release|Arm64.Build.0 = Release|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release|x64.ActiveCfg = Release|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release|x64.Build.0 = Release|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug|Arm64.Build.0 = Debug|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug|x64.ActiveCfg = Debug|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug|x64.Build.0 = Debug|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release|Any CPU.ActiveCfg = Release|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release|Any CPU.Build.0 = Release|Any CPU + {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release|Arm64.ActiveCfg = Release|Any CPU + {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release|Arm64.Build.0 = Release|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release|x64.ActiveCfg = Release|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release|x64.Build.0 = Release|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug|Arm64.Build.0 = Debug|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug|x64.ActiveCfg = Debug|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug|x64.Build.0 = Debug|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release|Any CPU.ActiveCfg = Release|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release|Any CPU.Build.0 = Release|Any CPU + {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release|Arm64.ActiveCfg = Release|Any CPU + {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release|Arm64.Build.0 = Release|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release|x64.ActiveCfg = Release|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release|x64.Build.0 = Release|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug|Arm64.Build.0 = Debug|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug|x64.ActiveCfg = Debug|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug|x64.Build.0 = Debug|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release|Any CPU.ActiveCfg = Release|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release|Any CPU.Build.0 = Release|Any CPU + {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release|Arm64.ActiveCfg = Release|Any CPU + {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release|Arm64.Build.0 = Release|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release|x64.ActiveCfg = Release|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release|x64.Build.0 = Release|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug|Arm64.Build.0 = Debug|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug|x64.ActiveCfg = Debug|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug|x64.Build.0 = Debug|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release|Any CPU.ActiveCfg = Release|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release|Any CPU.Build.0 = Release|Any CPU + {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release|Arm64.ActiveCfg = Release|Any CPU + {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release|Arm64.Build.0 = Release|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release|x64.ActiveCfg = Release|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release|x64.Build.0 = Release|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug|Arm64.Build.0 = Debug|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug|x64.ActiveCfg = Debug|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug|x64.Build.0 = Debug|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release|Any CPU.ActiveCfg = Release|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release|Any CPU.Build.0 = Release|Any CPU + {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release|Arm64.ActiveCfg = Release|Any CPU + {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release|Arm64.Build.0 = Release|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release|x64.ActiveCfg = Release|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release|x64.Build.0 = Release|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug|Arm64.Build.0 = Debug|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug|x64.ActiveCfg = Debug|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug|x64.Build.0 = Debug|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release|Any CPU.ActiveCfg = Release|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release|Any CPU.Build.0 = Release|Any CPU + {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release|Arm64.ActiveCfg = Release|Any CPU + {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release|Arm64.Build.0 = Release|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release|x64.ActiveCfg = Release|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release|x64.Build.0 = Release|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug|Arm64.Build.0 = Debug|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug|x64.ActiveCfg = Debug|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug|x64.Build.0 = Debug|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release|Any CPU.ActiveCfg = Release|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release|Any CPU.Build.0 = Release|Any CPU + {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release|Arm64.ActiveCfg = Release|Any CPU + {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release|Arm64.Build.0 = Release|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release|x64.ActiveCfg = Release|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release|x64.Build.0 = Release|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug|Any CPU.Build.0 = Debug|Any CPU + {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug|Arm64.Build.0 = Debug|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug|x64.ActiveCfg = Debug|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug|x64.Build.0 = Debug|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release|Any CPU.ActiveCfg = Release|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release|Any CPU.Build.0 = Release|Any CPU + {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release|Arm64.ActiveCfg = Release|Any CPU + {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release|Arm64.Build.0 = Release|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release|x64.ActiveCfg = Release|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release|x64.Build.0 = Release|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug|Arm64.Build.0 = Debug|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug|x64.ActiveCfg = Debug|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug|x64.Build.0 = Debug|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release|Any CPU.ActiveCfg = Release|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release|Any CPU.Build.0 = Release|Any CPU + {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release|Arm64.ActiveCfg = Release|Any CPU + {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release|Arm64.Build.0 = Release|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release|x64.ActiveCfg = Release|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release|x64.Build.0 = Release|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug|Arm64.Build.0 = Debug|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug|x64.ActiveCfg = Debug|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug|x64.Build.0 = Debug|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release|Any CPU.ActiveCfg = Release|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release|Any CPU.Build.0 = Release|Any CPU + {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release|Arm64.ActiveCfg = Release|Any CPU + {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release|Arm64.Build.0 = Release|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release|x64.ActiveCfg = Release|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release|x64.Build.0 = Release|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug|Arm64.Build.0 = Debug|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug|x64.ActiveCfg = Debug|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug|x64.Build.0 = Debug|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release|Any CPU.ActiveCfg = Release|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release|Any CPU.Build.0 = Release|Any CPU + {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release|Arm64.ActiveCfg = Release|Any CPU + {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release|Arm64.Build.0 = Release|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release|x64.ActiveCfg = Release|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release|x64.Build.0 = Release|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug|Arm64.Build.0 = Debug|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug|x64.ActiveCfg = Debug|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug|x64.Build.0 = Debug|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release|Any CPU.ActiveCfg = Release|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release|Any CPU.Build.0 = Release|Any CPU + {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release|Arm64.ActiveCfg = Release|Any CPU + {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release|Arm64.Build.0 = Release|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release|x64.ActiveCfg = Release|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release|x64.Build.0 = Release|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug|Arm64.Build.0 = Debug|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug|x64.ActiveCfg = Debug|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug|x64.Build.0 = Debug|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release|Any CPU.ActiveCfg = Release|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release|Any CPU.Build.0 = Release|Any CPU + {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release|Arm64.ActiveCfg = Release|Any CPU + {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release|Arm64.Build.0 = Release|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release|x64.ActiveCfg = Release|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release|x64.Build.0 = Release|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug|Arm64.Build.0 = Debug|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug|x64.ActiveCfg = Debug|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug|x64.Build.0 = Debug|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release|Any CPU.ActiveCfg = Release|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release|Any CPU.Build.0 = Release|Any CPU + {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release|Arm64.ActiveCfg = Release|Any CPU + {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release|Arm64.Build.0 = Release|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release|x64.ActiveCfg = Release|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release|x64.Build.0 = Release|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug|Any CPU.Build.0 = Debug|Any CPU + {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug|Arm64.Build.0 = Debug|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug|x64.ActiveCfg = Debug|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug|x64.Build.0 = Debug|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release|Any CPU.ActiveCfg = Release|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release|Any CPU.Build.0 = Release|Any CPU + {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release|Arm64.ActiveCfg = Release|Any CPU + {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release|Arm64.Build.0 = Release|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release|x64.ActiveCfg = Release|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release|x64.Build.0 = Release|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5E920CAC-5A28-42FB-936E-49C472130953}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {5E920CAC-5A28-42FB-936E-49C472130953}.Debug|Arm64.Build.0 = Debug|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug|x64.ActiveCfg = Debug|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug|x64.Build.0 = Debug|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release|Any CPU.ActiveCfg = Release|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release|Any CPU.Build.0 = Release|Any CPU + {5E920CAC-5A28-42FB-936E-49C472130953}.Release|Arm64.ActiveCfg = Release|Any CPU + {5E920CAC-5A28-42FB-936E-49C472130953}.Release|Arm64.Build.0 = Release|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release|x64.ActiveCfg = Release|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release|x64.Build.0 = Release|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug|Arm64.Build.0 = Debug|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug|x64.ActiveCfg = Debug|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug|x64.Build.0 = Debug|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release|Any CPU.ActiveCfg = Release|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release|Any CPU.Build.0 = Release|Any CPU + {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release|Arm64.ActiveCfg = Release|Any CPU + {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release|Arm64.Build.0 = Release|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release|x64.ActiveCfg = Release|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release|x64.Build.0 = Release|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug|Arm64.Build.0 = Debug|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug|x64.ActiveCfg = Debug|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug|x64.Build.0 = Debug|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release|Any CPU.ActiveCfg = Release|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release|Any CPU.Build.0 = Release|Any CPU + {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release|Arm64.ActiveCfg = Release|Any CPU + {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release|Arm64.Build.0 = Release|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release|x64.ActiveCfg = Release|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release|x64.Build.0 = Release|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug|Any CPU.Build.0 = Debug|Any CPU + {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug|Arm64.Build.0 = Debug|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug|x64.ActiveCfg = Debug|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug|x64.Build.0 = Debug|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release|Any CPU.ActiveCfg = Release|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release|Any CPU.Build.0 = Release|Any CPU + {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release|Arm64.ActiveCfg = Release|Any CPU + {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release|Arm64.Build.0 = Release|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release|x64.ActiveCfg = Release|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release|x64.Build.0 = Release|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|Arm64.Build.0 = Debug|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|x64.ActiveCfg = Debug|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|x64.Build.0 = Debug|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|Any CPU.ActiveCfg = Release|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|Any CPU.Build.0 = Release|Any CPU + {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|Arm64.ActiveCfg = Release|Any CPU + {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|Arm64.Build.0 = Release|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|x64.ActiveCfg = Release|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|x64.Build.0 = Release|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug|Arm64.Build.0 = Debug|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug|x64.ActiveCfg = Debug|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug|x64.Build.0 = Debug|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release|Any CPU.ActiveCfg = Release|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release|Any CPU.Build.0 = Release|Any CPU + {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release|Arm64.ActiveCfg = Release|Any CPU + {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release|Arm64.Build.0 = Release|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release|x64.ActiveCfg = Release|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release|x64.Build.0 = Release|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug|Arm64.Build.0 = Debug|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug|x64.ActiveCfg = Debug|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug|x64.Build.0 = Debug|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release|Any CPU.ActiveCfg = Release|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release|Any CPU.Build.0 = Release|Any CPU + {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release|Arm64.ActiveCfg = Release|Any CPU + {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release|Arm64.Build.0 = Release|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release|x64.ActiveCfg = Release|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release|x64.Build.0 = Release|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug|Arm64.Build.0 = Debug|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug|x64.ActiveCfg = Debug|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug|x64.Build.0 = Debug|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release|Any CPU.ActiveCfg = Release|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release|Any CPU.Build.0 = Release|Any CPU + {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release|Arm64.ActiveCfg = Release|Any CPU + {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release|Arm64.Build.0 = Release|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release|x64.ActiveCfg = Release|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release|x64.Build.0 = Release|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug|Arm64.Build.0 = Debug|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug|x64.ActiveCfg = Debug|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug|x64.Build.0 = Debug|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release|Any CPU.ActiveCfg = Release|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release|Any CPU.Build.0 = Release|Any CPU + {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release|Arm64.ActiveCfg = Release|Any CPU + {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release|Arm64.Build.0 = Release|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release|x64.ActiveCfg = Release|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release|x64.Build.0 = Release|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug|Arm64.Build.0 = Debug|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug|x64.ActiveCfg = Debug|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug|x64.Build.0 = Debug|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release|Any CPU.ActiveCfg = Release|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release|Any CPU.Build.0 = Release|Any CPU + {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release|Arm64.ActiveCfg = Release|Any CPU + {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release|Arm64.Build.0 = Release|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release|x64.ActiveCfg = Release|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release|x64.Build.0 = Release|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug|Arm64.Build.0 = Debug|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug|x64.ActiveCfg = Debug|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug|x64.Build.0 = Debug|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release|Any CPU.ActiveCfg = Release|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release|Any CPU.Build.0 = Release|Any CPU + {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release|Arm64.ActiveCfg = Release|Any CPU + {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release|Arm64.Build.0 = Release|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release|x64.ActiveCfg = Release|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release|x64.Build.0 = Release|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug|Any CPU.Build.0 = Debug|Any CPU + {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug|Arm64.Build.0 = Debug|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug|x64.ActiveCfg = Debug|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug|x64.Build.0 = Debug|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release|Any CPU.ActiveCfg = Release|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release|Any CPU.Build.0 = Release|Any CPU + {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release|Arm64.ActiveCfg = Release|Any CPU + {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release|Arm64.Build.0 = Release|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release|x64.ActiveCfg = Release|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release|x64.Build.0 = Release|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug|Arm64.Build.0 = Debug|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug|x64.ActiveCfg = Debug|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug|x64.Build.0 = Debug|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release|Any CPU.ActiveCfg = Release|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release|Any CPU.Build.0 = Release|Any CPU + {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release|Arm64.ActiveCfg = Release|Any CPU + {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release|Arm64.Build.0 = Release|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release|x64.ActiveCfg = Release|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release|x64.Build.0 = Release|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug|Arm64.Build.0 = Debug|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug|x64.ActiveCfg = Debug|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug|x64.Build.0 = Debug|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release|Any CPU.ActiveCfg = Release|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release|Any CPU.Build.0 = Release|Any CPU + {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release|Arm64.ActiveCfg = Release|Any CPU + {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release|Arm64.Build.0 = Release|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release|x64.ActiveCfg = Release|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release|x64.Build.0 = Release|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {A1CAC86F-F4BB-4B6D-9D18-E9AE15B3C66E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -1618,74 +2340,110 @@ Global {A1CAC86F-F4BB-4B6D-9D18-E9AE15B3C66E}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug|Arm64.Build.0 = Debug|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug|x64.ActiveCfg = Debug|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug|x64.Build.0 = Debug|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release|Any CPU.ActiveCfg = Release|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release|Any CPU.Build.0 = Release|Any CPU + {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release|Arm64.ActiveCfg = Release|Any CPU + {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release|Arm64.Build.0 = Release|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release|x64.ActiveCfg = Release|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release|x64.Build.0 = Release|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug|Arm64.Build.0 = Debug|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug|x64.ActiveCfg = Debug|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug|x64.Build.0 = Debug|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release|Any CPU.ActiveCfg = Release|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release|Any CPU.Build.0 = Release|Any CPU + {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release|Arm64.ActiveCfg = Release|Any CPU + {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release|Arm64.Build.0 = Release|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release|x64.ActiveCfg = Release|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release|x64.Build.0 = Release|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug|Arm64.ActiveCfg = Debug|Any CPU + {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug|Arm64.Build.0 = Debug|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug|x64.ActiveCfg = Debug|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug|x64.Build.0 = Debug|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU + {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU + {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU + {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU + {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release|Any CPU.ActiveCfg = Release|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release|Any CPU.Build.0 = Release|Any CPU + {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release|Arm64.ActiveCfg = Release|Any CPU + {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release|Arm64.Build.0 = Release|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release|x64.ActiveCfg = Release|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release|x64.Build.0 = Release|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU + {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU + {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU + {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU + {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {84150C22-0627-4A11-81C9-F214762855EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU diff --git a/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj b/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj index 144bee96f6..52cc2f11a5 100644 --- a/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj +++ b/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj @@ -4,7 +4,7 @@ netstandard2.0 Microsoft.ML.FastTree ML.NET component for FastTree - $(DefineConstants);USE_FASTTREENATIVE;NO_STORE;CORECLR + $(DefineConstants);NO_STORE;CORECLR true $(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage diff --git a/src/Native/MatrixFactorizationNative/CMakeLists.txt b/src/Native/MatrixFactorizationNative/CMakeLists.txt index 8fed1afc90..1df4f32313 100644 --- a/src/Native/MatrixFactorizationNative/CMakeLists.txt +++ b/src/Native/MatrixFactorizationNative/CMakeLists.txt @@ -1,7 +1,10 @@ project (MatrixFactorizationNative) add_definitions(-D_SCL_SECURE_NO_WARNINGS) add_definitions(-DUSEOMP) -add_definitions(-DUSESSE) + +if(not CMAKE_GENERATOR_PLATFORM matches "Arm64") + add_definitions(-DUSESSE) +endif() include_directories(libmf) diff --git a/src/Native/Native.proj b/src/Native/Native.proj index 46d6006eb2..fa9c9d9e74 100644 --- a/src/Native/Native.proj +++ b/src/Native/Native.proj @@ -15,7 +15,7 @@ true True - $(ArtifactsObjDir)$(MSBuildProjectName)\$(TargetArchitecture).$(Configuration)\ + $(ArtifactsObjDir)$(MSBuildProjectName)\$(Platform).$(Configuration)\ @@ -55,7 +55,7 @@ We are shipping 2 native assemblies in different nuget packages, and one has a reference on the other and MacOS needs to have the rpath in the assembly to where it should load the referenced assembly and since .NET Core can run assemblies out of a NuGet cache, we need to add the NuGet cache relative location. --> - --configuration $(Configuration) --arch $(TargetArchitecture) $(StripArgs) --mkllibpath $(NuGetPackageRoot)mlnetmkldeps/$(MlNetMklDepsPackageVersion)/runtimes/$(PackageRid)/native --mkllibrpath ../../../../../microsoft.ml.mkl.redist/$(Version)/runtimes/$(PackageRid)/native + --configuration $(Configuration) --arch $(Platform) $(StripArgs) --mkllibpath $(NuGetPackageRoot)mlnetmkldeps/$(MlNetMklDepsPackageVersion)/runtimes/$(PackageRid)/native --mkllibrpath ../../../../../microsoft.ml.mkl.redist/$(Version)/runtimes/$(PackageRid)/native @@ -68,7 +68,7 @@ DependsOnTargets="GenerateNativeVersionFile"> - $(Configuration) $(TargetArchitecture) --mkllibpath $(NuGetPackageRoot)mlnetmkldeps\$(MlNetMklDepsPackageVersion)\runtimes\$(PackageRid)\native + $(Configuration) $(Platform) --mkllibpath $(NuGetPackageRoot)mlnetmkldeps\$(MlNetMklDepsPackageVersion)\runtimes\$(PackageRid)\native diff --git a/src/Native/build.sh b/src/Native/build.sh index cbc7582ce1..2c5fab97e8 100755 --- a/src/Native/build.sh +++ b/src/Native/build.sh @@ -63,7 +63,7 @@ while [ "$1" != "" ]; do shift done -__cmake_defines="-DCMAKE_BUILD_TYPE=${__configuration} ${__strip_argument} -DMKL_LIB_PATH=${__mkllibpath} -DMKL_LIB_RPATH=${__mkllibrpath}" +__cmake_defines="-DCMAKE_BUILD_TYPE=${__configuration} ${__strip_argument} -DMKL_LIB_PATH=${__mkllibpath} -DMKL_LIB_RPATH=${__mkllibrpath} -A ${__build_arch}" __IntermediatesDir="$__baseIntermediateOutputPath/Native/$__build_arch.$__configuration" __BinDir="$__rootBinPath/Native/$__build_arch.$__configuration" diff --git a/src/Native/gen-buildsys-win.bat b/src/Native/gen-buildsys-win.bat index 78f42a9f78..9d615b4546 100644 --- a/src/Native/gen-buildsys-win.bat +++ b/src/Native/gen-buildsys-win.bat @@ -28,6 +28,7 @@ popd :DoGen if /i "%3" == "x64" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A x64) if /i "%3" == "x86" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A Win32) +if /i "%3" == "Arm64" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A Arm64) "%CMakePath%" "-DCMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE%" "-DCMAKE_INSTALL_PREFIX=%__CMakeBinDir%" "-DMKL_LIB_PATH=%MKL_LIB_PATH%" -G "Visual Studio %__VSString%" %__ExtraCmakeParams% -B. -H%1 endlocal GOTO :DONE diff --git a/test/Microsoft.ML.TestFramework/GlobalBase.cs b/test/Microsoft.ML.TestFramework/GlobalBase.cs index 3f366b837e..538c50ee8e 100644 --- a/test/Microsoft.ML.TestFramework/GlobalBase.cs +++ b/test/Microsoft.ML.TestFramework/GlobalBase.cs @@ -25,13 +25,19 @@ public static void AssemblyInit() var prev = Contracts.SetAssertHandler(AssertHandler); Contracts.Check(prev == null, "Expected to replace null assertion handler!"); +#if ARM64 +Console.WriteLine("arm "); +#endif + + // Enable Conditional Numerical Reproducibility - // https://software.intel.com/en-us/articles/introduction-to-the-conditional-numerical-reproducibility-cnr - Environment.SetEnvironmentVariable("MKL_CBWR", "COMPATIBLE"); + // // https://software.intel.com/en-us/articles/introduction-to-the-conditional-numerical-reproducibility-cnr + // Environment.SetEnvironmentVariable("MKL_CBWR", "COMPATIBLE"); + + // // HACK: ensure MklImports is loaded very early in the tests so it doesn't deadlock while loading it later. + // // See https://github.com/dotnet/machinelearning/issues/1073 + // Mkl.PptrfInternal(Mkl.Layout.RowMajor, Mkl.UpLo.Up, 0, Array.Empty()); - // HACK: ensure MklImports is loaded very early in the tests so it doesn't deadlock while loading it later. - // See https://github.com/dotnet/machinelearning/issues/1073 - Mkl.PptrfInternal(Mkl.Layout.RowMajor, Mkl.UpLo.Up, 0, Array.Empty()); } private static class Mkl From b813fb9b3c272b68d1d914f77039a658f41e623b Mon Sep 17 00:00:00 2001 From: Michael Sharp Date: Mon, 5 Apr 2021 23:24:35 +0000 Subject: [PATCH 02/16] initial commit with build working on arm64 --- Directory.Build.props | 1 - Directory.Build.targets | 7 ++--- .../Microsoft.ML.AutoML.Samples.csproj | 2 +- .../Microsoft.ML.Samples.GPU.csproj | 6 ++-- .../Microsoft.ML.Samples.csproj | 6 ++-- .../Microsoft.ML.Console.csproj | 6 ++-- .../Microsoft.ML.FastTree.csproj | 1 + src/Native/CMakeLists.txt | 12 +++++--- .../MatrixFactorizationNative/CMakeLists.txt | 9 ++++-- src/Native/Native.proj | 21 ++++++++------ src/Native/SymSgdNative/CMakeLists.txt | 4 ++- src/Native/build.cmd | 17 +++++++---- src/Native/build.sh | 2 +- .../Microsoft.Extensions.ML.Tests.csproj | 4 +-- .../Microsoft.ML.AutoML.Tests.csproj | 8 +++--- .../Microsoft.ML.Benchmarks.Tests.csproj | 4 +-- .../Microsoft.ML.CodeGenerator.Tests.csproj | 2 +- .../Microsoft.ML.Core.Tests.csproj | 8 +++--- .../UnitTests/TestEntryPoints.cs | 4 +-- ...crosoft.ML.CpuMath.PerformanceTests.csproj | 2 +- .../Microsoft.ML.CpuMath.UnitTests.csproj | 4 +-- .../Microsoft.ML.FSharp.Tests.fsproj | 4 +-- .../Microsoft.ML.IntegrationTests.csproj | 8 +++--- .../Microsoft.ML.NightlyBuild.Tests.csproj | 8 +++--- .../Microsoft.ML.OnnxTransformerTest.csproj | 4 +-- .../Microsoft.ML.PerformanceTests.csproj | 6 ++-- .../Microsoft.ML.Predictor.Tests.csproj | 6 ++-- .../TestPredictors.cs | 8 +++--- .../Microsoft.ML.Sweeper.Tests.csproj | 6 ++-- .../Attributes/LightGBMFactAttribute.cs | 5 +++- .../Attributes/NotSupportedOnArmAttribute.cs | 28 +++++++++++++++++++ .../Attributes/TensorflowFactAttribute.cs | 6 +++- .../Microsoft.ML.TestFramework.csproj | 8 +++--- .../TestCommandBase.cs | 8 +++--- .../Microsoft.ML.Tests.csproj | 8 +++--- .../Microsoft.ML.TimeSeries.Tests.csproj | 6 ++-- 36 files changed, 151 insertions(+), 98 deletions(-) create mode 100644 test/Microsoft.ML.TestFramework/Attributes/NotSupportedOnArmAttribute.cs diff --git a/Directory.Build.props b/Directory.Build.props index ae7bba8cdb..13bafa4710 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -28,7 +28,6 @@ Debug;Release;Debug-netcoreapp3_1;Release-netcoreapp3_1;Debug-netfx;Release-netfx AnyCPU x64 - $(TargetArchitecture) $(Platform).$(Configuration) Open diff --git a/Directory.Build.targets b/Directory.Build.targets index 2faeec996b..e78e337636 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -7,18 +7,15 @@ - + lib .dll .so .dylib - $(Platform) - x64 - $(TargetArchitecture) $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin')) - $(BinDir)Native\$(NativeTargetArchitecture).$(Configuration)\ + $(BinDir)Native\$(TargetArchitecture).$(Configuration)\ AnyCPU $(Platform).$(Configuration) diff --git a/docs/samples/Microsoft.ML.AutoML.Samples/Microsoft.ML.AutoML.Samples.csproj b/docs/samples/Microsoft.ML.AutoML.Samples/Microsoft.ML.AutoML.Samples.csproj index 4628e6b6e2..3db70c20f4 100644 --- a/docs/samples/Microsoft.ML.AutoML.Samples/Microsoft.ML.AutoML.Samples.csproj +++ b/docs/samples/Microsoft.ML.AutoML.Samples/Microsoft.ML.AutoML.Samples.csproj @@ -16,7 +16,7 @@ - + diff --git a/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj b/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj index 2b54ea24b0..fdde663a2e 100644 --- a/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj +++ b/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj @@ -28,12 +28,12 @@ - - + + - + diff --git a/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj b/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj index 10f2bf06bc..9dc48a75c3 100644 --- a/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj +++ b/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj @@ -34,12 +34,12 @@ - - + + - + True True diff --git a/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj b/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj index 4177d204be..ec2ed1ea51 100644 --- a/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj +++ b/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj @@ -28,12 +28,12 @@ - - + + - + diff --git a/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj b/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj index 52cc2f11a5..c6da3c1b31 100644 --- a/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj +++ b/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj @@ -5,6 +5,7 @@ Microsoft.ML.FastTree ML.NET component for FastTree $(DefineConstants);NO_STORE;CORECLR + $(DefineConstants);USE_FASTTREENATIVE true $(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage diff --git a/src/Native/CMakeLists.txt b/src/Native/CMakeLists.txt index 716636c00e..8dfd0c73bd 100644 --- a/src/Native/CMakeLists.txt +++ b/src/Native/CMakeLists.txt @@ -193,9 +193,13 @@ function(install_library_and_symbols targetName) endif() endfunction() -add_subdirectory(CpuMathNative) -add_subdirectory(FastTreeNative) +if(NOT ${ARCHITECTURE} MATCHES "Arm64") + add_subdirectory(CpuMathNative) + add_subdirectory(FastTreeNative) + add_subdirectory(MklProxyNative) +endif() + +add_subdirectory(SymSgdNative) add_subdirectory(LdaNative) add_subdirectory(MatrixFactorizationNative) -add_subdirectory(SymSgdNative) -add_subdirectory(MklProxyNative) + diff --git a/src/Native/MatrixFactorizationNative/CMakeLists.txt b/src/Native/MatrixFactorizationNative/CMakeLists.txt index 1df4f32313..f89c596905 100644 --- a/src/Native/MatrixFactorizationNative/CMakeLists.txt +++ b/src/Native/MatrixFactorizationNative/CMakeLists.txt @@ -2,14 +2,19 @@ project (MatrixFactorizationNative) add_definitions(-D_SCL_SECURE_NO_WARNINGS) add_definitions(-DUSEOMP) -if(not CMAKE_GENERATOR_PLATFORM matches "Arm64") +if(NOT ${ARCHITECTURE} MATCHES "Arm64") add_definitions(-DUSESSE) endif() include_directories(libmf) if(UNIX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -pthread -std=c++0x -march=native") + if(NOT ${ARCHITECTURE} MATCHES "Arm64") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -pthread -std=c++0x -march=native") + else() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -pthread -std=c++0x") + endif() + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fopenmp") if (APPLE) include_directories("/usr/local/opt/libomp/include") diff --git a/src/Native/Native.proj b/src/Native/Native.proj index fa9c9d9e74..b9a864a899 100644 --- a/src/Native/Native.proj +++ b/src/Native/Native.proj @@ -15,7 +15,7 @@ true True - $(ArtifactsObjDir)$(MSBuildProjectName)\$(Platform).$(Configuration)\ + $(ArtifactsObjDir)$(MSBuildProjectName)\$(TargetArchitecture).$(Configuration)\ @@ -55,7 +55,7 @@ We are shipping 2 native assemblies in different nuget packages, and one has a reference on the other and MacOS needs to have the rpath in the assembly to where it should load the referenced assembly and since .NET Core can run assemblies out of a NuGet cache, we need to add the NuGet cache relative location. --> - --configuration $(Configuration) --arch $(Platform) $(StripArgs) --mkllibpath $(NuGetPackageRoot)mlnetmkldeps/$(MlNetMklDepsPackageVersion)/runtimes/$(PackageRid)/native --mkllibrpath ../../../../../microsoft.ml.mkl.redist/$(Version)/runtimes/$(PackageRid)/native + --configuration $(Configuration) --arch $(TargetArchitecture) $(StripArgs) --mkllibpath $(NuGetPackageRoot)mlnetmkldeps/$(MlNetMklDepsPackageVersion)/runtimes/$(PackageRid)/native --mkllibrpath ../../../../../microsoft.ml.mkl.redist/$(Version)/runtimes/$(PackageRid)/native @@ -68,7 +68,7 @@ DependsOnTargets="GenerateNativeVersionFile"> - $(Configuration) $(Platform) --mkllibpath $(NuGetPackageRoot)mlnetmkldeps\$(MlNetMklDepsPackageVersion)\runtimes\$(PackageRid)\native + $(Configuration) $(TargetArchitecture) --mkllibpath $(NuGetPackageRoot)mlnetmkldeps\$(MlNetMklDepsPackageVersion)\runtimes\$(PackageRid)\native @@ -82,14 +82,16 @@ - - @@ -97,11 +99,13 @@ RelativePath="Microsoft.ML\runtimes\$(PackageRid)\native" /> - - @@ -112,7 +116,8 @@ - diff --git a/src/Native/SymSgdNative/CMakeLists.txt b/src/Native/SymSgdNative/CMakeLists.txt index 80665883b9..00c01b76ad 100644 --- a/src/Native/SymSgdNative/CMakeLists.txt +++ b/src/Native/SymSgdNative/CMakeLists.txt @@ -33,7 +33,9 @@ else() endif() endif() -find_library(MKL_LIBRARY MklImports HINTS ${MKL_LIB_PATH}) +if(NOT ${ARCHITECTURE} MATCHES "Arm64") + find_library(MKL_LIBRARY MklImports HINTS ${MKL_LIB_PATH}) +endif() add_definitions(-DUSE_OMP) add_library(SymSgdNative SHARED ${SOURCES} ${RESOURCES}) diff --git a/src/Native/build.cmd b/src/Native/build.cmd index 529006a03f..7659abca82 100644 --- a/src/Native/build.cmd +++ b/src/Native/build.cmd @@ -68,8 +68,10 @@ exit /b 1 set __PlatformToolset=v142 set __VSVersion=16 2019 if NOT "%__BuildArch%" == "arm64" ( - :: Set the environment for the native build - call "%VS160COMNTOOLS%..\..\VC\Auxiliary\Build\vcvarsall.bat" %__VCBuildArch% + if NOT "%__BuildArch%" == "arm" ( + :: Set the environment for the native build + call "%VS160COMNTOOLS%..\..\VC\Auxiliary\Build\vcvarsall.bat" %__VCBuildArch% + ) ) goto :SetupDirs @@ -78,8 +80,10 @@ goto :SetupDirs set __PlatformToolset=v141 set __VSVersion=15 2017 if NOT "%__BuildArch%" == "arm64" ( - :: Set the environment for the native build - call "%VS150COMNTOOLS%..\..\VC\Auxiliary\Build\vcvarsall.bat" %__VCBuildArch% + if NOT "%__BuildArch%" == "arm" ( + :: Set the environment for the native build + call "%VS150COMNTOOLS%..\..\VC\Auxiliary\Build\vcvarsall.bat" %__VCBuildArch% + ) ) goto :SetupDirs @@ -88,8 +92,9 @@ goto :SetupDirs set __PlatformToolset=v140 set __VSVersion=14 2015 if NOT "%__BuildArch%" == "arm64" ( - :: Set the environment for the native build - call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" %__VCBuildArch% + if NOT "%__BuildArch%" == "arm" ( + :: Set the environment for the native build + call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" %__VCBuildArch% ) :SetupDirs diff --git a/src/Native/build.sh b/src/Native/build.sh index 2c5fab97e8..2e315a781f 100755 --- a/src/Native/build.sh +++ b/src/Native/build.sh @@ -63,7 +63,7 @@ while [ "$1" != "" ]; do shift done -__cmake_defines="-DCMAKE_BUILD_TYPE=${__configuration} ${__strip_argument} -DMKL_LIB_PATH=${__mkllibpath} -DMKL_LIB_RPATH=${__mkllibrpath} -A ${__build_arch}" +__cmake_defines="-DCMAKE_BUILD_TYPE=${__configuration} ${__strip_argument} -DMKL_LIB_PATH=${__mkllibpath} -DMKL_LIB_RPATH=${__mkllibrpath} -DARCHITECTURE=${__build_arch}" __IntermediatesDir="$__baseIntermediateOutputPath/Native/$__build_arch.$__configuration" __BinDir="$__rootBinPath/Native/$__build_arch.$__configuration" diff --git a/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj b/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj index 2105028eea..6c79f1994c 100644 --- a/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj +++ b/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj @@ -21,8 +21,8 @@ - - + + diff --git a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj index fad409f5f0..b41ffae883 100644 --- a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj +++ b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj @@ -22,13 +22,13 @@ - - + + - + - + diff --git a/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj b/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj index 9df7fd4b36..a963500cf9 100644 --- a/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj +++ b/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj @@ -3,8 +3,8 @@ - - + + diff --git a/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj b/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj index c3a34bb966..3975b2404d 100644 --- a/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj +++ b/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj @@ -18,7 +18,7 @@ - + diff --git a/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj b/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj index ac8a35dd5a..a640e1d5ef 100644 --- a/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj +++ b/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj @@ -33,11 +33,11 @@ - - - + + + - + diff --git a/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs b/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs index c58531fa0d..bd9fa84003 100644 --- a/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs +++ b/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs @@ -2123,7 +2123,7 @@ public void EntryPointMulticlassPipelineEnsemble() } } - [Fact] + [NotSupportedOnArm] public void EntryPointPipelineEnsembleGetSummary() { var dataPath = GetDataPath("breast-cancer-withheader.txt"); @@ -4225,7 +4225,7 @@ public void EntryPointNodeSchedulingFields() } } - [Fact] + [NotSupportedOnArm] public void EntryPointLinearPredictorSummary() { var dataPath = GetDataPath("breast-cancer-withheader.txt"); diff --git a/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj b/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj index 4e79957fd5..5342b7821f 100644 --- a/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj +++ b/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj @@ -29,7 +29,7 @@ - + diff --git a/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj b/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj index e3ece97b3d..7614cb91ea 100644 --- a/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj +++ b/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj @@ -6,11 +6,11 @@ - + - + diff --git a/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj b/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj index dc1f4bed45..f74545dc16 100644 --- a/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj +++ b/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj @@ -25,8 +25,8 @@ - - + + \ No newline at end of file diff --git a/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj b/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj index d925c75212..c1b9e2f963 100644 --- a/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj +++ b/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj @@ -34,13 +34,13 @@ - - + + - - + + diff --git a/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj b/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj index 4e8f8106ab..d0fdc2614f 100644 --- a/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj +++ b/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj @@ -15,13 +15,13 @@ - - + + - - + + diff --git a/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj b/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj index dd5706eafa..9d5233a604 100644 --- a/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj +++ b/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj @@ -32,8 +32,8 @@ - - + + diff --git a/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj b/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj index c295cb68c9..def59e127c 100644 --- a/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj +++ b/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj @@ -27,9 +27,9 @@ - - - + + + diff --git a/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj b/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj index 55ac586111..63e4d2be35 100644 --- a/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj +++ b/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj @@ -16,10 +16,10 @@ - - + + - + diff --git a/test/Microsoft.ML.Predictor.Tests/TestPredictors.cs b/test/Microsoft.ML.Predictor.Tests/TestPredictors.cs index a6f48005f0..0a70d1d46c 100644 --- a/test/Microsoft.ML.Predictor.Tests/TestPredictors.cs +++ b/test/Microsoft.ML.Predictor.Tests/TestPredictors.cs @@ -1193,7 +1193,7 @@ public void RegressorOlsTest() /// /// A test for ordinary least squares regression. /// - [Fact] + [NotSupportedOnArm] [TestCategory("Regressor")] public void RegressorOlsTestOne() { @@ -1783,8 +1783,8 @@ public void NnConfigTests() [TestCategory("Anomaly")] public void PcaAnomalyTest() { - Run_TrainTest(TestLearners.PCAAnomalyDefault, TestDatasets.mnistOneClass, extraSettings: new[] { "loader=text{sparse+}" }, digitsOfPrecision: 5); - Run_TrainTest(TestLearners.PCAAnomalyNoNorm, TestDatasets.mnistOneClass, extraSettings: new[] { "loader=text{sparse+}" }, digitsOfPrecision: 5); + Run_TrainTest(TestLearners.PCAAnomalyDefault, TestDatasets.mnistOneClass, extraSettings: new[] { "loader=text{sparse+}" }, digitsOfPrecision: 4); + Run_TrainTest(TestLearners.PCAAnomalyNoNorm, TestDatasets.mnistOneClass, extraSettings: new[] { "loader=text{sparse+}" }, digitsOfPrecision: 4); // REVIEW: This next test was misbehaving in a strange way that seems to have gone away // mysteriously (bad build?). @@ -2170,7 +2170,7 @@ public void BinaryClassifierLDSvmNoBiasTest() /// /// A test for field-aware factorization machine. /// - [Fact] + [NotSupportedOnArm] [TestCategory("Binary")] [TestCategory("FieldAwareFactorizationMachine")] public void BinaryClassifierFieldAwareFactorizationMachineTest() diff --git a/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj b/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj index f2e89976e1..15362605c6 100644 --- a/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj +++ b/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj @@ -7,9 +7,9 @@ - - - + + + diff --git a/test/Microsoft.ML.TestFramework/Attributes/LightGBMFactAttribute.cs b/test/Microsoft.ML.TestFramework/Attributes/LightGBMFactAttribute.cs index fbedec7676..7aae7aae52 100644 --- a/test/Microsoft.ML.TestFramework/Attributes/LightGBMFactAttribute.cs +++ b/test/Microsoft.ML.TestFramework/Attributes/LightGBMFactAttribute.cs @@ -3,6 +3,8 @@ // See the LICENSE file in the project root for more information. using System; +using static System.Runtime.InteropServices.RuntimeInformation; +using System.Runtime.InteropServices; using Microsoft.ML.TestFrameworkCommon.Attributes; namespace Microsoft.ML.TestFramework.Attributes @@ -19,7 +21,8 @@ public LightGBMFactAttribute() : base("LightGBM is 64-bit only") /// protected override bool IsEnvironmentSupported() { - return Environment.Is64BitProcess; + var architecture = ProcessArchitecture; + return Environment.Is64BitProcess && architecture != Architecture.Arm64 && architecture != Architecture.Arm; } } } \ No newline at end of file diff --git a/test/Microsoft.ML.TestFramework/Attributes/NotSupportedOnArmAttribute.cs b/test/Microsoft.ML.TestFramework/Attributes/NotSupportedOnArmAttribute.cs new file mode 100644 index 0000000000..f89f53cd51 --- /dev/null +++ b/test/Microsoft.ML.TestFramework/Attributes/NotSupportedOnArmAttribute.cs @@ -0,0 +1,28 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using static System.Runtime.InteropServices.RuntimeInformation; +using System.Runtime.InteropServices; +using Microsoft.ML.TestFrameworkCommon.Attributes; + +namespace Microsoft.ML.TestFramework.Attributes +{ + /// + /// A fact for tests that can't run on Arm/Arm64. + /// + public sealed class NotSupportedOnArmAttribute : EnvironmentSpecificFactAttribute + { + public NotSupportedOnArmAttribute() : base("This test is not supported on Arm/Arm64") + { + } + + /// + protected override bool IsEnvironmentSupported() + { + var architecture = ProcessArchitecture; + return architecture != Architecture.Arm64 && architecture != Architecture.Arm; + } + } +} \ No newline at end of file diff --git a/test/Microsoft.ML.TestFramework/Attributes/TensorflowFactAttribute.cs b/test/Microsoft.ML.TestFramework/Attributes/TensorflowFactAttribute.cs index d2376ef3ac..c1899233fd 100644 --- a/test/Microsoft.ML.TestFramework/Attributes/TensorflowFactAttribute.cs +++ b/test/Microsoft.ML.TestFramework/Attributes/TensorflowFactAttribute.cs @@ -4,6 +4,7 @@ using System; using System.Runtime.InteropServices; +using static System.Runtime.InteropServices.RuntimeInformation; using Microsoft.ML.TestFrameworkCommon.Attributes; namespace Microsoft.ML.TestFramework.Attributes @@ -20,9 +21,12 @@ public TensorFlowFactAttribute() : base("TensorFlow is 64-bit only and is not su /// protected override bool IsEnvironmentSupported() { + var architecture = ProcessArchitecture; + return Environment.Is64BitProcess && ( RuntimeInformation.IsOSPlatform(OSPlatform.Windows) || - AttributeHelpers.CheckLibcVersionGreaterThanMinimum(new Version(2, 23))); + AttributeHelpers.CheckLibcVersionGreaterThanMinimum(new Version(2, 23))) && + architecture != Architecture.Arm64 && architecture != Architecture.Arm;; } } diff --git a/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj b/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj index d9b057e907..f793d76e54 100644 --- a/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj +++ b/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj @@ -23,11 +23,11 @@ - - - + + + - + diff --git a/test/Microsoft.ML.TestFramework/TestCommandBase.cs b/test/Microsoft.ML.TestFramework/TestCommandBase.cs index c634296e23..136da521a1 100644 --- a/test/Microsoft.ML.TestFramework/TestCommandBase.cs +++ b/test/Microsoft.ML.TestFramework/TestCommandBase.cs @@ -1978,7 +1978,7 @@ public void CommandTrainClustering() } [TestCategory(Cat), TestCategory("FieldAwareFactorizationMachine"), TestCategory("Continued Training")] - [Fact] + [NotSupportedOnArm] public void CommandTrainingBinaryFactorizationMachineWithInitialization() { const string loaderArgs = "loader=text{col=Label:0 col=Features:1-*}"; @@ -1994,7 +1994,7 @@ public void CommandTrainingBinaryFactorizationMachineWithInitialization() } [TestCategory(Cat), TestCategory("FieldAwareFactorizationMachine"), TestCategory("Continued Training")] - [Fact] + [NotSupportedOnArm] public void CommandTrainingBinaryFieldAwareFactorizationMachineWithInitialization() { const string loaderArgs = "loader=text{col=Label:0 col=FieldA:1-2 col=FieldB:3-4 col=FieldC:5-6 col=FieldD:7-9}"; @@ -2063,7 +2063,7 @@ public void CommandTrainingBinaryFieldAwareFactorizationMachineWithValidation() } [TestCategory(Cat), TestCategory("FieldAwareFactorizationMachine"), TestCategory("Continued Training")] - [Fact] + [NotSupportedOnArm] public void CommandTrainingBinaryFactorizationMachineWithValidationAndInitialization() { const string loaderArgs = "loader=text{col=Label:0 col=Features:1-*}"; @@ -2093,7 +2093,7 @@ public void CommandTrainingBinaryFactorizationMachineWithValidationAndInitializa } [TestCategory(Cat), TestCategory("FieldAwareFactorizationMachine"), TestCategory("Continued Training")] - [Fact] + [NotSupportedOnArm] public void CommandTrainingBinaryFieldAwareFactorizationMachineWithValidationAndInitialization() { const string loaderArgs = "loader=text{col=Label:0 col=FieldA:1-2 col=FieldB:3-4 col=FieldC:5-6 col=FieldD:7-9}"; diff --git a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj index 23e925133a..5114603516 100644 --- a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj +++ b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj @@ -36,13 +36,13 @@ - - + + - - + + diff --git a/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj b/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj index d604ec0a9e..9b2da4ebb6 100644 --- a/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj +++ b/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj @@ -9,9 +9,9 @@ - - - + + + From c945a05f2c00d1cd7c2dbc0ddbeefd2120d56af2 Mon Sep 17 00:00:00 2001 From: Michael Sharp Date: Mon, 3 May 2021 18:25:41 -0700 Subject: [PATCH 03/16] windows changes --- src/Microsoft.ML.Console/Microsoft.ML.Console.csproj | 5 +++-- src/Native/CMakeLists.txt | 3 ++- src/Native/Native.proj | 8 +++++--- src/Native/build.cmd | 12 ++++++------ src/Native/gen-buildsys-win.bat | 2 +- .../Microsoft.Extensions.ML.Tests.csproj | 6 +++--- .../Microsoft.ML.AutoML.Tests.csproj | 9 +++++---- .../Microsoft.ML.Benchmarks.Tests.csproj | 2 +- .../Microsoft.ML.CodeGenerator.Tests.csproj | 2 +- .../Microsoft.ML.Core.Tests.csproj | 2 +- .../Microsoft.ML.CpuMath.UnitTests.csproj | 8 ++++---- .../Microsoft.ML.IntegrationTests.csproj | 7 ++++--- .../Microsoft.ML.NightlyBuild.Tests.csproj | 5 +++-- .../Microsoft.ML.OnnxTransformerTest.csproj | 2 +- .../Microsoft.ML.PerformanceTests.csproj | 2 +- .../Microsoft.ML.Predictor.Tests.csproj | 5 +++-- .../Microsoft.ML.Sweeper.Tests.csproj | 2 +- .../Microsoft.ML.TestFramework.csproj | 2 +- test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj | 5 +++-- .../Microsoft.ML.TimeSeries.Tests.csproj | 2 +- 20 files changed, 50 insertions(+), 41 deletions(-) diff --git a/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj b/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj index ec2ed1ea51..21aa876737 100644 --- a/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj +++ b/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj @@ -32,9 +32,10 @@ - + + - + diff --git a/src/Native/CMakeLists.txt b/src/Native/CMakeLists.txt index 8dfd0c73bd..73cb43ff54 100644 --- a/src/Native/CMakeLists.txt +++ b/src/Native/CMakeLists.txt @@ -197,9 +197,10 @@ if(NOT ${ARCHITECTURE} MATCHES "Arm64") add_subdirectory(CpuMathNative) add_subdirectory(FastTreeNative) add_subdirectory(MklProxyNative) + # TODO: once we fix the 4 intel MKL methods, SymSgdNative will need to go back in. + add_subdirectory(SymSgdNative) endif() -add_subdirectory(SymSgdNative) add_subdirectory(LdaNative) add_subdirectory(MatrixFactorizationNative) diff --git a/src/Native/Native.proj b/src/Native/Native.proj index b9a864a899..ba315a799b 100644 --- a/src/Native/Native.proj +++ b/src/Native/Native.proj @@ -86,7 +86,7 @@ SourceFiles="$(NuGetPackageRoot)mlnetmkldeps\$(MlNetMklDepsPackageVersion)\runtimes\$(PackageRid)\native\$(NativeLibPrefix)MklImports$(NativeLibExtension)" DestinationFolder="$(NativeAssetsBuiltPath)" /> - @@ -97,7 +97,9 @@ RelativePath="Microsoft.ML.CpuMath\runtimes\$(PackageRid)\nativeassets\netcoreapp3.1" /> - + - diff --git a/src/Native/build.cmd b/src/Native/build.cmd index 7659abca82..82c394715a 100644 --- a/src/Native/build.cmd +++ b/src/Native/build.cmd @@ -29,6 +29,8 @@ if /i [%1] == [Debug-netfx] ( set CMAKE_BUILD_TYPE=Debug-netfx&&shift&goto if /i [%1] == [x86] ( set __BuildArch=x86&&set __VCBuildArch=x86&&shift&goto Arg_Loop) if /i [%1] == [x64] ( set __BuildArch=x64&&set __VCBuildArch=x86_amd64&&shift&goto Arg_Loop) if /i [%1] == [amd64] ( set __BuildArch=x64&&set __VCBuildArch=x86_amd64&&shift&goto Arg_Loop) +if /i [%1] == [arm] ( set __BuildArch=arm&&set __VCBuildArch=x86_arm&&shift&goto Arg_Loop) +if /i [%1] == [arm64] ( set __BuildArch=arm64&&set __VCBuildArch=x86_arm64&&shift&goto Arg_Loop) if /i [%1] == [--mkllibpath] ( set MKL_LIB_PATH=%2&&shift&goto Arg_Loop) shift @@ -67,12 +69,10 @@ exit /b 1 :: Setup vars for VS2019 set __PlatformToolset=v142 set __VSVersion=16 2019 -if NOT "%__BuildArch%" == "arm64" ( - if NOT "%__BuildArch%" == "arm" ( - :: Set the environment for the native build - call "%VS160COMNTOOLS%..\..\VC\Auxiliary\Build\vcvarsall.bat" %__VCBuildArch% - ) -) + +:: Set the environment for the native build +call "%VS160COMNTOOLS%..\..\VC\Auxiliary\Build\vcvarsall.bat" %__VCBuildArch% + goto :SetupDirs :VS2017 diff --git a/src/Native/gen-buildsys-win.bat b/src/Native/gen-buildsys-win.bat index 9d615b4546..050b0a22e6 100644 --- a/src/Native/gen-buildsys-win.bat +++ b/src/Native/gen-buildsys-win.bat @@ -29,7 +29,7 @@ popd if /i "%3" == "x64" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A x64) if /i "%3" == "x86" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A Win32) if /i "%3" == "Arm64" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A Arm64) -"%CMakePath%" "-DCMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE%" "-DCMAKE_INSTALL_PREFIX=%__CMakeBinDir%" "-DMKL_LIB_PATH=%MKL_LIB_PATH%" -G "Visual Studio %__VSString%" %__ExtraCmakeParams% -B. -H%1 +"%CMakePath%" "-DCMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE%" "-DCMAKE_INSTALL_PREFIX=%__CMakeBinDir%" "-DMKL_LIB_PATH=%MKL_LIB_PATH%" "-DARCHITECTURE=%3" -G "Visual Studio %__VSString%" %__ExtraCmakeParams% -B. -H%1 endlocal GOTO :DONE diff --git a/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj b/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj index 6c79f1994c..a96804259e 100644 --- a/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj +++ b/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj @@ -19,13 +19,13 @@ - + - + - + Always diff --git a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj index b41ffae883..6750458568 100644 --- a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj +++ b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj @@ -5,13 +5,13 @@ - + - + PreserveNewest @@ -21,15 +21,16 @@ + - + - + \ No newline at end of file diff --git a/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj b/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj index a963500cf9..a4194b39c2 100644 --- a/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj +++ b/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj @@ -5,7 +5,7 @@ - + diff --git a/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj b/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj index 3975b2404d..563f541913 100644 --- a/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj +++ b/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj @@ -19,7 +19,7 @@ - + diff --git a/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj b/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj index a640e1d5ef..8810c06f15 100644 --- a/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj +++ b/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj @@ -38,7 +38,7 @@ - + diff --git a/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj b/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj index 7614cb91ea..f9ebccfd76 100644 --- a/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj +++ b/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj @@ -4,20 +4,20 @@ - + - + - + PreserveNewest - + \ No newline at end of file diff --git a/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj b/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj index c1b9e2f963..72a8eac20b 100644 --- a/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj +++ b/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj @@ -9,7 +9,7 @@ false true - + @@ -38,10 +38,11 @@ - + + - + diff --git a/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj b/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj index d0fdc2614f..43a63a80f5 100644 --- a/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj +++ b/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj @@ -14,15 +14,16 @@ + - + - + diff --git a/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj b/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj index 9d5233a604..2605f762c7 100644 --- a/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj +++ b/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj @@ -34,7 +34,7 @@ - + diff --git a/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj b/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj index def59e127c..d548013219 100644 --- a/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj +++ b/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj @@ -30,6 +30,6 @@ - + diff --git a/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj b/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj index 63e4d2be35..21c8f059f8 100644 --- a/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj +++ b/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj @@ -15,12 +15,13 @@ + - + - + diff --git a/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj b/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj index 15362605c6..708bb2372a 100644 --- a/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj +++ b/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj @@ -10,7 +10,7 @@ - + diff --git a/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj b/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj index f793d76e54..4685aa25e8 100644 --- a/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj +++ b/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj @@ -28,7 +28,7 @@ - + diff --git a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj index 5114603516..7aec1df712 100644 --- a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj +++ b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj @@ -35,15 +35,16 @@ + - + - + diff --git a/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj b/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj index 9b2da4ebb6..899ce6a6be 100644 --- a/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj +++ b/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj @@ -12,7 +12,7 @@ - + From 37ca2d7ead3535aae05b0983ee2595d458bef5f4 Mon Sep 17 00:00:00 2001 From: Michael Sharp Date: Thu, 6 May 2021 13:02:40 -0700 Subject: [PATCH 04/16] build fixes for arm/arm64 with cross compilation --- Microsoft.ML.sln | 758 ------------------ docs/building/windows-instructions.md | 24 +- .../Microsoft.ML.Samples.GPU.csproj | 8 +- .../Microsoft.ML.Samples.csproj | 8 +- eng/common/cross/build-rootfs.sh | 4 + .../Microsoft.ML.Console.csproj | 10 +- .../Microsoft.ML.FastTree.csproj | 2 +- src/Native/CMakeLists.txt | 2 +- .../MatrixFactorizationNative/CMakeLists.txt | 4 +- src/Native/Native.proj | 16 +- src/Native/SymSgdNative/CMakeLists.txt | 2 +- src/Native/build.cmd | 17 +- src/Native/build.sh | 9 +- src/Native/gen-buildsys-win.bat | 3 +- .../Microsoft.Extensions.ML.Tests.csproj | 6 +- .../Microsoft.ML.AutoML.Tests.csproj | 12 +- .../Microsoft.ML.Benchmarks.Tests.csproj | 6 +- .../Microsoft.ML.CodeGenerator.Tests.csproj | 4 +- .../Microsoft.ML.Core.Tests.csproj | 10 +- ...crosoft.ML.CpuMath.PerformanceTests.csproj | 14 +- .../Microsoft.ML.CpuMath.UnitTests.csproj | 6 +- .../Microsoft.ML.FSharp.Tests.fsproj | 4 +- .../Microsoft.ML.IntegrationTests.csproj | 12 +- .../Microsoft.ML.NightlyBuild.Tests.csproj | 12 +- .../Microsoft.ML.OnnxTransformerTest.csproj | 6 +- .../Microsoft.ML.PerformanceTests.csproj | 8 +- .../Microsoft.ML.Predictor.Tests.csproj | 10 +- .../Microsoft.ML.Sweeper.Tests.csproj | 8 +- .../Microsoft.ML.TestFramework.csproj | 10 +- .../Microsoft.ML.Tests.csproj | 12 +- .../Microsoft.ML.TimeSeries.Tests.csproj | 8 +- 31 files changed, 141 insertions(+), 874 deletions(-) diff --git a/Microsoft.ML.sln b/Microsoft.ML.sln index 7b4bf674d1..e52f9d2014 100644 --- a/Microsoft.ML.sln +++ b/Microsoft.ML.sln @@ -154,14 +154,12 @@ Global Debug|Any CPU = Debug|Any CPU Debug|x64 = Debug|x64 Debug-netcoreapp3_1|Any CPU = Debug-netcoreapp3_1|Any CPU - Debug-netcoreapp3_1|Arm64 = Debug-netcoreapp3_1|Arm64 Debug-netcoreapp3_1|x64 = Debug-netcoreapp3_1|x64 Debug-netfx|Any CPU = Debug-netfx|Any CPU Debug-netfx|x64 = Debug-netfx|x64 Release|Any CPU = Release|Any CPU Release|x64 = Release|x64 Release-netcoreapp3_1|Any CPU = Release-netcoreapp3_1|Any CPU - Release-netcoreapp3_1|Arm64 = Release-netcoreapp3_1|Arm64 Release-netcoreapp3_1|x64 = Release-netcoreapp3_1|x64 Release-netfx|Any CPU = Release-netfx|Any CPU Release-netfx|x64 = Release-netfx|x64 @@ -169,2161 +167,1441 @@ Global GlobalSection(ProjectConfigurationPlatforms) = postSolution {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug|Arm64.Build.0 = Debug|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug|x64.ActiveCfg = Debug|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug|x64.Build.0 = Debug|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release|Any CPU.ActiveCfg = Release|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release|Any CPU.Build.0 = Release|Any CPU - {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release|Arm64.ActiveCfg = Release|Any CPU - {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release|Arm64.Build.0 = Release|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release|x64.ActiveCfg = Release|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release|x64.Build.0 = Release|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug|Arm64.Build.0 = Debug|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug|x64.ActiveCfg = Debug|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug|x64.Build.0 = Debug|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release|Any CPU.ActiveCfg = Release|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release|Any CPU.Build.0 = Release|Any CPU - {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release|Arm64.ActiveCfg = Release|Any CPU - {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release|Arm64.Build.0 = Release|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release|x64.ActiveCfg = Release|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release|x64.Build.0 = Release|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug|Arm64.Build.0 = Debug|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug|x64.ActiveCfg = Debug|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug|x64.Build.0 = Debug|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release|Any CPU.ActiveCfg = Release|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release|Any CPU.Build.0 = Release|Any CPU - {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release|Arm64.ActiveCfg = Release|Any CPU - {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release|Arm64.Build.0 = Release|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release|x64.ActiveCfg = Release|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release|x64.Build.0 = Release|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|Arm64.Build.0 = Debug|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|x64.ActiveCfg = Debug|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|x64.Build.0 = Debug|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release|Any CPU.ActiveCfg = Release|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release|Any CPU.Build.0 = Release|Any CPU - {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release|Arm64.ActiveCfg = Release|Any CPU - {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release|Arm64.Build.0 = Release|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release|x64.ActiveCfg = Release|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release|x64.Build.0 = Release|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug|Any CPU.Build.0 = Debug|Any CPU - {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug|Arm64.Build.0 = Debug|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug|x64.ActiveCfg = Debug|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug|x64.Build.0 = Debug|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release|Any CPU.ActiveCfg = Release|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release|Any CPU.Build.0 = Release|Any CPU - {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release|Arm64.ActiveCfg = Release|Any CPU - {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release|Arm64.Build.0 = Release|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release|x64.ActiveCfg = Release|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release|x64.Build.0 = Release|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug|Any CPU.Build.0 = Debug|Any CPU - {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug|Arm64.Build.0 = Debug|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug|x64.ActiveCfg = Debug|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug|x64.Build.0 = Debug|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release|Any CPU.ActiveCfg = Release|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release|Any CPU.Build.0 = Release|Any CPU - {707BB22C-7E5F-497A-8C2F-74578F675705}.Release|Arm64.ActiveCfg = Release|Any CPU - {707BB22C-7E5F-497A-8C2F-74578F675705}.Release|Arm64.Build.0 = Release|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release|x64.ActiveCfg = Release|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release|x64.Build.0 = Release|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {707BB22C-7E5F-497A-8C2F-74578F675705}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug|Arm64.Build.0 = Debug|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug|x64.ActiveCfg = Debug|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug|x64.Build.0 = Debug|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release|Any CPU.ActiveCfg = Release|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release|Any CPU.Build.0 = Release|Any CPU - {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release|Arm64.ActiveCfg = Release|Any CPU - {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release|Arm64.Build.0 = Release|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release|x64.ActiveCfg = Release|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release|x64.Build.0 = Release|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug|Arm64.Build.0 = Debug|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug|x64.ActiveCfg = Debug|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug|x64.Build.0 = Debug|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release|Any CPU.ActiveCfg = Release|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release|Any CPU.Build.0 = Release|Any CPU - {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release|Arm64.ActiveCfg = Release|Any CPU - {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release|Arm64.Build.0 = Release|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release|x64.ActiveCfg = Release|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release|x64.Build.0 = Release|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug|Arm64.Build.0 = Debug|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug|x64.ActiveCfg = Debug|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug|x64.Build.0 = Debug|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release|Any CPU.ActiveCfg = Release|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release|Any CPU.Build.0 = Release|Any CPU - {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release|Arm64.ActiveCfg = Release|Any CPU - {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release|Arm64.Build.0 = Release|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release|x64.ActiveCfg = Release|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release|x64.Build.0 = Release|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug|Arm64.Build.0 = Debug|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug|x64.ActiveCfg = Debug|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug|x64.Build.0 = Debug|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release|Any CPU.ActiveCfg = Release|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release|Any CPU.Build.0 = Release|Any CPU - {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release|Arm64.ActiveCfg = Release|Any CPU - {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release|Arm64.Build.0 = Release|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release|x64.ActiveCfg = Release|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release|x64.Build.0 = Release|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug|Arm64.Build.0 = Debug|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug|x64.ActiveCfg = Debug|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug|x64.Build.0 = Debug|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release|Any CPU.ActiveCfg = Release|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release|Any CPU.Build.0 = Release|Any CPU - {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release|Arm64.ActiveCfg = Release|Any CPU - {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release|Arm64.Build.0 = Release|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release|x64.ActiveCfg = Release|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release|x64.Build.0 = Release|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug|Arm64.Build.0 = Debug|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug|x64.ActiveCfg = Debug|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug|x64.Build.0 = Debug|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release|Any CPU.ActiveCfg = Release|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release|Any CPU.Build.0 = Release|Any CPU - {6B047E09-39C9-4583-96F3-685D84CA4117}.Release|Arm64.ActiveCfg = Release|Any CPU - {6B047E09-39C9-4583-96F3-685D84CA4117}.Release|Arm64.Build.0 = Release|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release|x64.ActiveCfg = Release|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release|x64.Build.0 = Release|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {6B047E09-39C9-4583-96F3-685D84CA4117}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug|Arm64.Build.0 = Debug|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug|x64.ActiveCfg = Debug|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug|x64.Build.0 = Debug|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release|Any CPU.ActiveCfg = Release|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release|Any CPU.Build.0 = Release|Any CPU - {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release|Arm64.ActiveCfg = Release|Any CPU - {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release|Arm64.Build.0 = Release|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release|x64.ActiveCfg = Release|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release|x64.Build.0 = Release|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {CFED9F0C-FF81-4C96-8D5E-0436264CA7B5}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug|Arm64.Build.0 = Debug|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug|x64.ActiveCfg = Debug|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug|x64.Build.0 = Debug|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release|Any CPU.ActiveCfg = Release|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release|Any CPU.Build.0 = Release|Any CPU - {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release|Arm64.ActiveCfg = Release|Any CPU - {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release|Arm64.Build.0 = Release|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release|x64.ActiveCfg = Release|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release|x64.Build.0 = Release|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug|Arm64.Build.0 = Debug|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug|x64.ActiveCfg = Debug|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug|x64.Build.0 = Debug|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release|Any CPU.ActiveCfg = Release|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release|Any CPU.Build.0 = Release|Any CPU - {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release|Arm64.ActiveCfg = Release|Any CPU - {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release|Arm64.Build.0 = Release|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release|x64.ActiveCfg = Release|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release|x64.Build.0 = Release|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug|Any CPU.Build.0 = Debug|Any CPU - {16BB1454-2108-40E5-B3A6-594654005303}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {16BB1454-2108-40E5-B3A6-594654005303}.Debug|Arm64.Build.0 = Debug|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug|x64.ActiveCfg = Debug|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug|x64.Build.0 = Debug|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release|Any CPU.ActiveCfg = Release|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release|Any CPU.Build.0 = Release|Any CPU - {16BB1454-2108-40E5-B3A6-594654005303}.Release|Arm64.ActiveCfg = Release|Any CPU - {16BB1454-2108-40E5-B3A6-594654005303}.Release|Arm64.Build.0 = Release|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release|x64.ActiveCfg = Release|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release|x64.Build.0 = Release|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {16BB1454-2108-40E5-B3A6-594654005303}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {16BB1454-2108-40E5-B3A6-594654005303}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {16BB1454-2108-40E5-B3A6-594654005303}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {16BB1454-2108-40E5-B3A6-594654005303}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {16BB1454-2108-40E5-B3A6-594654005303}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug|Any CPU.Build.0 = Debug|Any CPU - {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug|Arm64.Build.0 = Debug|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug|x64.ActiveCfg = Debug|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug|x64.Build.0 = Debug|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release|Any CPU.ActiveCfg = Release|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release|Any CPU.Build.0 = Release|Any CPU - {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release|Arm64.ActiveCfg = Release|Any CPU - {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release|Arm64.Build.0 = Release|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release|x64.ActiveCfg = Release|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release|x64.Build.0 = Release|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug|Arm64.Build.0 = Debug|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug|x64.ActiveCfg = Debug|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug|x64.Build.0 = Debug|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release|Any CPU.ActiveCfg = Release|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release|Any CPU.Build.0 = Release|Any CPU - {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release|Arm64.ActiveCfg = Release|Any CPU - {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release|Arm64.Build.0 = Release|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release|x64.ActiveCfg = Release|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release|x64.Build.0 = Release|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug|Arm64.Build.0 = Debug|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug|x64.ActiveCfg = Debug|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug|x64.Build.0 = Debug|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release|Any CPU.ActiveCfg = Release|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release|Any CPU.Build.0 = Release|Any CPU - {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release|Arm64.ActiveCfg = Release|Any CPU - {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release|Arm64.Build.0 = Release|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release|x64.ActiveCfg = Release|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release|x64.Build.0 = Release|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug|Any CPU.Build.0 = Debug|Any CPU - {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug|Arm64.Build.0 = Debug|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug|x64.ActiveCfg = Debug|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug|x64.Build.0 = Debug|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|Any CPU.ActiveCfg = Release|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|Any CPU.Build.0 = Release|Any CPU - {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|Arm64.ActiveCfg = Release|Any CPU - {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|Arm64.Build.0 = Release|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|x64.ActiveCfg = Release|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|x64.Build.0 = Release|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|Arm64.Build.0 = Debug|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|x64.ActiveCfg = Debug|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|x64.Build.0 = Debug|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|Any CPU.ActiveCfg = Release|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|Any CPU.Build.0 = Release|Any CPU - {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|Arm64.ActiveCfg = Release|Any CPU - {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|Arm64.Build.0 = Release|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|x64.ActiveCfg = Release|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|x64.Build.0 = Release|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug|Any CPU.Build.0 = Debug|Any CPU - {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug|Arm64.Build.0 = Debug|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug|x64.ActiveCfg = Debug|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug|x64.Build.0 = Debug|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release|Any CPU.ActiveCfg = Release|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release|Any CPU.Build.0 = Release|Any CPU - {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release|Arm64.ActiveCfg = Release|Any CPU - {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release|Arm64.Build.0 = Release|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release|x64.ActiveCfg = Release|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release|x64.Build.0 = Release|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug|Arm64.Build.0 = Debug|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug|x64.ActiveCfg = Debug|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug|x64.Build.0 = Debug|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release|Any CPU.ActiveCfg = Release|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release|Any CPU.Build.0 = Release|Any CPU - {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release|Arm64.ActiveCfg = Release|Any CPU - {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release|Arm64.Build.0 = Release|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release|x64.ActiveCfg = Release|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release|x64.Build.0 = Release|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug|Arm64.Build.0 = Debug|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug|x64.ActiveCfg = Debug|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug|x64.Build.0 = Debug|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release|Any CPU.ActiveCfg = Release|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release|Any CPU.Build.0 = Release|Any CPU - {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release|Arm64.ActiveCfg = Release|Any CPU - {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release|Arm64.Build.0 = Release|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release|x64.ActiveCfg = Release|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release|x64.Build.0 = Release|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {B4E55B2D-2A92-46E7-B72F-E76D6FD83440}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug|Arm64.Build.0 = Debug|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug|x64.ActiveCfg = Debug|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug|x64.Build.0 = Debug|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release|Any CPU.ActiveCfg = Release|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release|Any CPU.Build.0 = Release|Any CPU - {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release|Arm64.ActiveCfg = Release|Any CPU - {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release|Arm64.Build.0 = Release|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release|x64.ActiveCfg = Release|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release|x64.Build.0 = Release|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug|Arm64.Build.0 = Debug|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug|x64.ActiveCfg = Debug|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug|x64.Build.0 = Debug|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release|Any CPU.ActiveCfg = Release|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release|Any CPU.Build.0 = Release|Any CPU - {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release|Arm64.ActiveCfg = Release|Any CPU - {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release|Arm64.Build.0 = Release|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release|x64.ActiveCfg = Release|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release|x64.Build.0 = Release|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug|Arm64.Build.0 = Debug|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug|x64.ActiveCfg = Debug|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug|x64.Build.0 = Debug|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release|Any CPU.ActiveCfg = Release|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release|Any CPU.Build.0 = Release|Any CPU - {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release|Arm64.ActiveCfg = Release|Any CPU - {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release|Arm64.Build.0 = Release|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release|x64.ActiveCfg = Release|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release|x64.Build.0 = Release|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {E97D8B5A-3035-4D41-9B0D-77FF8FB8D132}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug|Arm64.Build.0 = Debug|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug|x64.ActiveCfg = Debug|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug|x64.Build.0 = Debug|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release|Any CPU.ActiveCfg = Release|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release|Any CPU.Build.0 = Release|Any CPU - {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release|Arm64.ActiveCfg = Release|Any CPU - {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release|Arm64.Build.0 = Release|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release|x64.ActiveCfg = Release|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release|x64.Build.0 = Release|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug|Any CPU.Build.0 = Debug|Any CPU - {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug|Arm64.Build.0 = Debug|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug|x64.ActiveCfg = Debug|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug|x64.Build.0 = Debug|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release|Any CPU.ActiveCfg = Release|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release|Any CPU.Build.0 = Release|Any CPU - {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release|Arm64.ActiveCfg = Release|Any CPU - {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release|Arm64.Build.0 = Release|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release|x64.ActiveCfg = Release|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release|x64.Build.0 = Release|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {00E38F77-1E61-4CDF-8F97-1417D4E85053}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug|Arm64.Build.0 = Debug|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug|x64.ActiveCfg = Debug|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug|x64.Build.0 = Debug|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release|Any CPU.ActiveCfg = Release|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release|Any CPU.Build.0 = Release|Any CPU - {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release|Arm64.ActiveCfg = Release|Any CPU - {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release|Arm64.Build.0 = Release|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release|x64.ActiveCfg = Release|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release|x64.Build.0 = Release|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {A7222F41-1CF0-47D9-B80C-B4D77B027A61}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug|Arm64.Build.0 = Debug|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug|x64.ActiveCfg = Debug|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug|x64.Build.0 = Debug|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release|Any CPU.ActiveCfg = Release|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release|Any CPU.Build.0 = Release|Any CPU - {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release|Arm64.ActiveCfg = Release|Any CPU - {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release|Arm64.Build.0 = Release|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release|x64.ActiveCfg = Release|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release|x64.Build.0 = Release|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {570A0B8A-5463-44D2-8521-54C0CA4CACA9}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug|Arm64.Build.0 = Debug|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug|x64.ActiveCfg = Debug|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug|x64.Build.0 = Debug|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release|Any CPU.ActiveCfg = Release|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release|Any CPU.Build.0 = Release|Any CPU - {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release|Arm64.ActiveCfg = Release|Any CPU - {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release|Arm64.Build.0 = Release|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release|x64.ActiveCfg = Release|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release|x64.Build.0 = Release|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {5A79C7F0-3D99-4123-B0DA-7C9FFCD13132}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug|Arm64.Build.0 = Debug|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug|x64.ActiveCfg = Debug|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug|x64.Build.0 = Debug|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release|Any CPU.ActiveCfg = Release|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release|Any CPU.Build.0 = Release|Any CPU - {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release|Arm64.ActiveCfg = Release|Any CPU - {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release|Arm64.Build.0 = Release|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release|x64.ActiveCfg = Release|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release|x64.Build.0 = Release|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {8C05642D-C3AA-4972-B02C-93681161A6BC}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug|Arm64.Build.0 = Debug|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug|x64.ActiveCfg = Debug|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug|x64.Build.0 = Debug|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release|Any CPU.ActiveCfg = Release|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release|Any CPU.Build.0 = Release|Any CPU - {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release|Arm64.ActiveCfg = Release|Any CPU - {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release|Arm64.Build.0 = Release|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release|x64.ActiveCfg = Release|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release|x64.Build.0 = Release|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {73DAAC82-D308-48CC-8FFE-3B037F8BBCCA}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug|Arm64.Build.0 = Debug|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug|x64.ActiveCfg = Debug|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug|x64.Build.0 = Debug|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release|Any CPU.ActiveCfg = Release|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release|Any CPU.Build.0 = Release|Any CPU - {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release|Arm64.ActiveCfg = Release|Any CPU - {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release|Arm64.Build.0 = Release|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release|x64.ActiveCfg = Release|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release|x64.Build.0 = Release|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {49D03292-8AFE-4B82-823C-D047BF8420F7}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug|Arm64.Build.0 = Debug|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug|x64.ActiveCfg = Debug|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug|x64.Build.0 = Debug|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release|Any CPU.ActiveCfg = Release|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release|Any CPU.Build.0 = Release|Any CPU - {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release|Arm64.ActiveCfg = Release|Any CPU - {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release|Arm64.Build.0 = Release|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release|x64.ActiveCfg = Release|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release|x64.Build.0 = Release|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {B6C83F04-A04B-4F00-9E68-1EC411F9317C}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug|Arm64.Build.0 = Debug|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug|x64.ActiveCfg = Debug|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug|x64.Build.0 = Debug|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release|Any CPU.ActiveCfg = Release|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release|Any CPU.Build.0 = Release|Any CPU - {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release|Arm64.ActiveCfg = Release|Any CPU - {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release|Arm64.Build.0 = Release|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release|x64.ActiveCfg = Release|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release|x64.Build.0 = Release|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {4B101D58-E7E4-4877-A536-A9B41E2E82A3}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug|Arm64.Build.0 = Debug|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug|x64.ActiveCfg = Debug|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug|x64.Build.0 = Debug|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release|Any CPU.ActiveCfg = Release|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release|Any CPU.Build.0 = Release|Any CPU - {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release|Arm64.ActiveCfg = Release|Any CPU - {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release|Arm64.Build.0 = Release|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release|x64.ActiveCfg = Release|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release|x64.Build.0 = Release|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {ECB71297-9DF1-48CE-B93A-CD969221F9B6}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug|Any CPU.Build.0 = Debug|Any CPU - {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug|Arm64.Build.0 = Debug|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug|x64.ActiveCfg = Debug|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug|x64.Build.0 = Debug|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release|Any CPU.ActiveCfg = Release|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release|Any CPU.Build.0 = Release|Any CPU - {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release|Arm64.ActiveCfg = Release|Any CPU - {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release|Arm64.Build.0 = Release|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release|x64.ActiveCfg = Release|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release|x64.Build.0 = Release|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {11A5210E-2EA7-42F1-80DB-827762E9C781}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug|Arm64.Build.0 = Debug|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug|x64.ActiveCfg = Debug|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug|x64.Build.0 = Debug|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release|Any CPU.ActiveCfg = Release|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release|Any CPU.Build.0 = Release|Any CPU - {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release|Arm64.ActiveCfg = Release|Any CPU - {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release|Arm64.Build.0 = Release|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release|x64.ActiveCfg = Release|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release|x64.Build.0 = Release|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {C8E1772B-DFD9-4A4D-830D-6AAB1C668BB3}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug|Arm64.Build.0 = Debug|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug|x64.ActiveCfg = Debug|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug|x64.Build.0 = Debug|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release|Any CPU.ActiveCfg = Release|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release|Any CPU.Build.0 = Release|Any CPU - {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release|Arm64.ActiveCfg = Release|Any CPU - {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release|Arm64.Build.0 = Release|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release|x64.ActiveCfg = Release|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release|x64.Build.0 = Release|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {9222FC9D-599A-49A5-B685-08CC9A5C81D7}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug|Arm64.Build.0 = Debug|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug|x64.ActiveCfg = Debug|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug|x64.Build.0 = Debug|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release|Any CPU.ActiveCfg = Release|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release|Any CPU.Build.0 = Release|Any CPU - {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release|Arm64.ActiveCfg = Release|Any CPU - {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release|Arm64.Build.0 = Release|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release|x64.ActiveCfg = Release|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release|x64.Build.0 = Release|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {6C29AA9B-054B-4762-BEA5-D305B932AA80}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug|Arm64.Build.0 = Debug|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug|x64.ActiveCfg = Debug|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug|x64.Build.0 = Debug|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release|Any CPU.ActiveCfg = Release|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release|Any CPU.Build.0 = Release|Any CPU - {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release|Arm64.ActiveCfg = Release|Any CPU - {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release|Arm64.Build.0 = Release|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release|x64.ActiveCfg = Release|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release|x64.Build.0 = Release|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {4805129D-78C8-46D4-9519-0AD9B0574D6D}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug|Arm64.Build.0 = Debug|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug|x64.ActiveCfg = Debug|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug|x64.Build.0 = Debug|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release|Any CPU.ActiveCfg = Release|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release|Any CPU.Build.0 = Release|Any CPU - {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release|Arm64.ActiveCfg = Release|Any CPU - {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release|Arm64.Build.0 = Release|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release|x64.ActiveCfg = Release|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release|x64.Build.0 = Release|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {DB7CEB5E-8BE6-48A7-87BE-B91D9AE96F71}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug|Arm64.Build.0 = Debug|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug|x64.ActiveCfg = Debug|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug|x64.Build.0 = Debug|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release|Any CPU.ActiveCfg = Release|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release|Any CPU.Build.0 = Release|Any CPU - {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release|Arm64.ActiveCfg = Release|Any CPU - {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release|Arm64.Build.0 = Release|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release|x64.ActiveCfg = Release|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release|x64.Build.0 = Release|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {7504D46F-E4B3-43CB-9B1C-82F3131F1C99}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug|Any CPU.Build.0 = Debug|Any CPU - {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug|Arm64.Build.0 = Debug|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug|x64.ActiveCfg = Debug|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug|x64.Build.0 = Debug|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release|Any CPU.ActiveCfg = Release|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release|Any CPU.Build.0 = Release|Any CPU - {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release|Arm64.ActiveCfg = Release|Any CPU - {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release|Arm64.Build.0 = Release|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release|x64.ActiveCfg = Release|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release|x64.Build.0 = Release|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {85D0CAFD-2FE8-496A-88C7-585D35B94243}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5E920CAC-5A28-42FB-936E-49C472130953}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {5E920CAC-5A28-42FB-936E-49C472130953}.Debug|Arm64.Build.0 = Debug|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug|x64.ActiveCfg = Debug|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug|x64.Build.0 = Debug|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release|Any CPU.ActiveCfg = Release|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release|Any CPU.Build.0 = Release|Any CPU - {5E920CAC-5A28-42FB-936E-49C472130953}.Release|Arm64.ActiveCfg = Release|Any CPU - {5E920CAC-5A28-42FB-936E-49C472130953}.Release|Arm64.Build.0 = Release|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release|x64.ActiveCfg = Release|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release|x64.Build.0 = Release|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {5E920CAC-5A28-42FB-936E-49C472130953}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug|Arm64.Build.0 = Debug|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug|x64.ActiveCfg = Debug|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug|x64.Build.0 = Debug|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release|Any CPU.ActiveCfg = Release|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release|Any CPU.Build.0 = Release|Any CPU - {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release|Arm64.ActiveCfg = Release|Any CPU - {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release|Arm64.Build.0 = Release|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release|x64.ActiveCfg = Release|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release|x64.Build.0 = Release|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug|Arm64.Build.0 = Debug|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug|x64.ActiveCfg = Debug|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug|x64.Build.0 = Debug|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release|Any CPU.ActiveCfg = Release|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release|Any CPU.Build.0 = Release|Any CPU - {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release|Arm64.ActiveCfg = Release|Any CPU - {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release|Arm64.Build.0 = Release|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release|x64.ActiveCfg = Release|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release|x64.Build.0 = Release|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {D6741C37-B5E6-4050-BCBA-9715809EA15B}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug|Any CPU.Build.0 = Debug|Any CPU - {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug|Arm64.Build.0 = Debug|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug|x64.ActiveCfg = Debug|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug|x64.Build.0 = Debug|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release|Any CPU.ActiveCfg = Release|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release|Any CPU.Build.0 = Release|Any CPU - {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release|Arm64.ActiveCfg = Release|Any CPU - {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release|Arm64.Build.0 = Release|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release|x64.ActiveCfg = Release|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release|x64.Build.0 = Release|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|Arm64.Build.0 = Debug|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|x64.ActiveCfg = Debug|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|x64.Build.0 = Debug|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|Any CPU.ActiveCfg = Release|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|Any CPU.Build.0 = Release|Any CPU - {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|Arm64.ActiveCfg = Release|Any CPU - {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|Arm64.Build.0 = Release|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|x64.ActiveCfg = Release|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|x64.Build.0 = Release|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug|Arm64.Build.0 = Debug|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug|x64.ActiveCfg = Debug|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug|x64.Build.0 = Debug|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release|Any CPU.ActiveCfg = Release|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release|Any CPU.Build.0 = Release|Any CPU - {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release|Arm64.ActiveCfg = Release|Any CPU - {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release|Arm64.Build.0 = Release|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release|x64.ActiveCfg = Release|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release|x64.Build.0 = Release|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {C2652287-CD6D-40FB-B042-95FB56D09DB8}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug|Arm64.Build.0 = Debug|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug|x64.ActiveCfg = Debug|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug|x64.Build.0 = Debug|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release|Any CPU.ActiveCfg = Release|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release|Any CPU.Build.0 = Release|Any CPU - {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release|Arm64.ActiveCfg = Release|Any CPU - {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release|Arm64.Build.0 = Release|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release|x64.ActiveCfg = Release|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release|x64.Build.0 = Release|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug|Arm64.Build.0 = Debug|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug|x64.ActiveCfg = Debug|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug|x64.Build.0 = Debug|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release|Any CPU.ActiveCfg = Release|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release|Any CPU.Build.0 = Release|Any CPU - {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release|Arm64.ActiveCfg = Release|Any CPU - {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release|Arm64.Build.0 = Release|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release|x64.ActiveCfg = Release|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release|x64.Build.0 = Release|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {A6924919-9E37-4023-8B7F-E85C8E3CC9B3}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug|Arm64.Build.0 = Debug|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug|x64.ActiveCfg = Debug|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug|x64.Build.0 = Debug|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release|Any CPU.ActiveCfg = Release|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release|Any CPU.Build.0 = Release|Any CPU - {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release|Arm64.ActiveCfg = Release|Any CPU - {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release|Arm64.Build.0 = Release|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release|x64.ActiveCfg = Release|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release|x64.Build.0 = Release|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {3C8F910B-7F23-4D25-B521-6D5AC9570ADD}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug|Arm64.Build.0 = Debug|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug|x64.ActiveCfg = Debug|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug|x64.Build.0 = Debug|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release|Any CPU.ActiveCfg = Release|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release|Any CPU.Build.0 = Release|Any CPU - {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release|Arm64.ActiveCfg = Release|Any CPU - {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release|Arm64.Build.0 = Release|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release|x64.ActiveCfg = Release|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release|x64.Build.0 = Release|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {E2DD0721-5B0F-4606-8182-4C7EFB834518}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug|Arm64.Build.0 = Debug|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug|x64.ActiveCfg = Debug|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug|x64.Build.0 = Debug|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release|Any CPU.ActiveCfg = Release|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release|Any CPU.Build.0 = Release|Any CPU - {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release|Arm64.ActiveCfg = Release|Any CPU - {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release|Arm64.Build.0 = Release|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release|x64.ActiveCfg = Release|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release|x64.Build.0 = Release|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {56CB0850-7341-4D71-9AE4-9EFC472D93DD}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug|Any CPU.Build.0 = Debug|Any CPU - {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug|Arm64.Build.0 = Debug|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug|x64.ActiveCfg = Debug|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug|x64.Build.0 = Debug|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release|Any CPU.ActiveCfg = Release|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release|Any CPU.Build.0 = Release|Any CPU - {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release|Arm64.ActiveCfg = Release|Any CPU - {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release|Arm64.Build.0 = Release|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release|x64.ActiveCfg = Release|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release|x64.Build.0 = Release|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {46CC5637-3DDF-4100-93FC-44BB87B2DB81}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug|Arm64.Build.0 = Debug|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug|x64.ActiveCfg = Debug|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug|x64.Build.0 = Debug|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release|Any CPU.ActiveCfg = Release|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release|Any CPU.Build.0 = Release|Any CPU - {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release|Arm64.ActiveCfg = Release|Any CPU - {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release|Arm64.Build.0 = Release|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release|x64.ActiveCfg = Release|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release|x64.Build.0 = Release|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {419F93D5-4135-4DA0-A76E-EFC23E04093D}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug|Arm64.Build.0 = Debug|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug|x64.ActiveCfg = Debug|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug|x64.Build.0 = Debug|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release|Any CPU.ActiveCfg = Release|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release|Any CPU.Build.0 = Release|Any CPU - {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release|Arm64.ActiveCfg = Release|Any CPU - {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release|Arm64.Build.0 = Release|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release|x64.ActiveCfg = Release|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release|x64.Build.0 = Release|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {A22FAD27-77E8-4460-8B92-EC7090B7173A}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {A1CAC86F-F4BB-4B6D-9D18-E9AE15B3C66E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -2340,110 +1618,74 @@ Global {A1CAC86F-F4BB-4B6D-9D18-E9AE15B3C66E}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug|Arm64.Build.0 = Debug|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug|x64.ActiveCfg = Debug|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug|x64.Build.0 = Debug|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release|Any CPU.ActiveCfg = Release|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release|Any CPU.Build.0 = Release|Any CPU - {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release|Arm64.ActiveCfg = Release|Any CPU - {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release|Arm64.Build.0 = Release|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release|x64.ActiveCfg = Release|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release|x64.Build.0 = Release|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {C8DB58DC-6434-4431-A81F-263D86E2A5F3}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug|Arm64.Build.0 = Debug|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug|x64.ActiveCfg = Debug|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug|x64.Build.0 = Debug|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release|Any CPU.ActiveCfg = Release|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release|Any CPU.Build.0 = Release|Any CPU - {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release|Arm64.ActiveCfg = Release|Any CPU - {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release|Arm64.Build.0 = Release|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release|x64.ActiveCfg = Release|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release|x64.Build.0 = Release|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {6CF88209-69DB-4B36-9604-3ECD9F163E96}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug|Arm64.ActiveCfg = Debug|Any CPU - {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug|Arm64.Build.0 = Debug|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug|x64.ActiveCfg = Debug|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug|x64.Build.0 = Debug|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netcoreapp3_1|Any CPU.ActiveCfg = Debug-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netcoreapp3_1|Any CPU.Build.0 = Debug-netcoreapp3_1|Any CPU - {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netcoreapp3_1|Arm64.ActiveCfg = Debug-netcoreapp3_1|Any CPU - {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netcoreapp3_1|Arm64.Build.0 = Debug-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netcoreapp3_1|x64.ActiveCfg = Debug-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netcoreapp3_1|x64.Build.0 = Debug-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netfx|Any CPU.ActiveCfg = Debug-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netfx|Any CPU.Build.0 = Debug-netfx|Any CPU - {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netfx|Arm64.ActiveCfg = Debug-netfx|Any CPU - {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netfx|Arm64.Build.0 = Debug-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netfx|x64.ActiveCfg = Debug-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Debug-netfx|x64.Build.0 = Debug-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release|Any CPU.ActiveCfg = Release|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release|Any CPU.Build.0 = Release|Any CPU - {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release|Arm64.ActiveCfg = Release|Any CPU - {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release|Arm64.Build.0 = Release|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release|x64.ActiveCfg = Release|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release|x64.Build.0 = Release|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netcoreapp3_1|Any CPU.ActiveCfg = Release-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netcoreapp3_1|Any CPU.Build.0 = Release-netcoreapp3_1|Any CPU - {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netcoreapp3_1|Arm64.ActiveCfg = Release-netcoreapp3_1|Any CPU - {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netcoreapp3_1|Arm64.Build.0 = Release-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netcoreapp3_1|x64.ActiveCfg = Release-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netcoreapp3_1|x64.Build.0 = Release-netcoreapp3_1|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netfx|Any CPU.ActiveCfg = Release-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netfx|Any CPU.Build.0 = Release-netfx|Any CPU - {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netfx|Arm64.ActiveCfg = Release-netfx|Any CPU - {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netfx|Arm64.Build.0 = Release-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netfx|x64.ActiveCfg = Release-netfx|Any CPU {4584326B-C5B3-4CAE-B98A-34C5F5AA16F3}.Release-netfx|x64.Build.0 = Release-netfx|Any CPU {84150C22-0627-4A11-81C9-F214762855EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU diff --git a/docs/building/windows-instructions.md b/docs/building/windows-instructions.md index 18a463fb49..c3b9fb2535 100644 --- a/docs/building/windows-instructions.md +++ b/docs/building/windows-instructions.md @@ -9,7 +9,7 @@ You can build ML.NET either via the command line or by using Visual Studio. 2. **[CMake](https://cmake.org/)** must be installed from [the CMake download page](https://cmake.org/download/#latest) and added to your path. ### Visual Studio 2019 Installation -We have successfully verified the below build instructions for Visual Studio version 16.4 and higher. +We have successfully verified the below build instructions for Visual Studio version 16.4 and higher. #### Visual Studio 2019 - 'Workloads' based install @@ -37,6 +37,12 @@ The following are the minimum requirements: * .NET Framework 4.6 Targeting Pack * Windows Universal CRT SDK +#### Visual Studio 2019 - Cross compilation for ARM + +If you want to cross compile for arm you will also need from the 'Individual components' section: + * MSVC v142 - VS 2019 C++ ARM build tools + * MSVC v142 - VS 2019 C++ ARM64 build tools + ## Building Instructions In order to fetch dependencies which come through Git submodules the following command needs to be run before building: `git submodule update --init`. @@ -51,7 +57,7 @@ After successfully running the command, the project can be built directly from t ### Building From the Command Line -You can use the Developer Command Prompt, Powershell or work in any regular cmd. The Developer Command Prompt will have a name like "Developer Command Prompt for VS 2019" or similar in your start menu. +You can use the Developer Command Prompt, Powershell or work in any regular cmd. The Developer Command Prompt will have a name like "Developer Command Prompt for VS 2019" or similar in your start menu. From a (non-admin) Command Prompt window: @@ -61,6 +67,20 @@ From a (non-admin) Command Prompt window: **Note**: Before working on individual projects or test projects you **must** run `build.cmd` from the root once before beginning that work. It is also a good idea to run `build.cmd` whenever you pull a large set of unknown changes into your branch. +### Cross compiling for ARM From the Command Line + +You can use the Developer Command Prompt, Powershell or work in any regular cmd. The Developer Command Prompt will have a name like "Developer Command Prompt for VS 2019" or similar in your start menu. + +From a (non-admin) Command Prompt window based on what you want to target: + +- `build.cmd /p:TargetArchitecture=arm` +- `build.cmd /p:TargetArchitecture=arm64` + +You can then pack them into nugets, pick the same target architecture you built with: + +- `build.cmd /p:TargetArchitecture=arm -pack` +- `build.cmd /p:TargetArchitecture=arm64 -pack` + ## Running Tests ### Running tests from Visual Studio diff --git a/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj b/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj index fdde663a2e..aae5581b13 100644 --- a/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj +++ b/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj @@ -28,12 +28,12 @@ - - + + - - + + diff --git a/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj b/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj index 9dc48a75c3..f050435275 100644 --- a/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj +++ b/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj @@ -34,12 +34,12 @@ - - + + - - + + True True diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index 81e641a57b..6969834f85 100755 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -57,6 +57,10 @@ __UbuntuPackages+=" libssl-dev" __UbuntuPackages+=" zlib1g-dev" __UbuntuPackages+=" libldap2-dev" +# ML.NET dependencies +__UbuntuPackages+=" libomp5" +__UbuntuPackages+=" libomp-dev" + __AlpinePackages+=" curl-dev" __AlpinePackages+=" krb5-dev" __AlpinePackages+=" openssl-dev" diff --git a/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj b/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj index 21aa876737..f56421a642 100644 --- a/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj +++ b/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj @@ -28,14 +28,14 @@ - - + + - - - + + + diff --git a/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj b/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj index c6da3c1b31..7b71a88d25 100644 --- a/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj +++ b/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj @@ -5,7 +5,7 @@ Microsoft.ML.FastTree ML.NET component for FastTree $(DefineConstants);NO_STORE;CORECLR - $(DefineConstants);USE_FASTTREENATIVE + $(DefineConstants);USE_FASTTREENATIVE true $(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage diff --git a/src/Native/CMakeLists.txt b/src/Native/CMakeLists.txt index 73cb43ff54..6ad8b65393 100644 --- a/src/Native/CMakeLists.txt +++ b/src/Native/CMakeLists.txt @@ -193,7 +193,7 @@ function(install_library_and_symbols targetName) endif() endfunction() -if(NOT ${ARCHITECTURE} MATCHES "Arm64") +if(NOT ${ARCHITECTURE} MATCHES "arm.*") add_subdirectory(CpuMathNative) add_subdirectory(FastTreeNative) add_subdirectory(MklProxyNative) diff --git a/src/Native/MatrixFactorizationNative/CMakeLists.txt b/src/Native/MatrixFactorizationNative/CMakeLists.txt index f89c596905..7cd8b8cdfe 100644 --- a/src/Native/MatrixFactorizationNative/CMakeLists.txt +++ b/src/Native/MatrixFactorizationNative/CMakeLists.txt @@ -2,14 +2,14 @@ project (MatrixFactorizationNative) add_definitions(-D_SCL_SECURE_NO_WARNINGS) add_definitions(-DUSEOMP) -if(NOT ${ARCHITECTURE} MATCHES "Arm64") +if(NOT ${ARCHITECTURE} MATCHES "arm.*") add_definitions(-DUSESSE) endif() include_directories(libmf) if(UNIX) - if(NOT ${ARCHITECTURE} MATCHES "Arm64") + if(NOT ${ARCHITECTURE} MATCHES "arm.*") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -pthread -std=c++0x -march=native") else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -pthread -std=c++0x") diff --git a/src/Native/Native.proj b/src/Native/Native.proj index ba315a799b..4955604c9c 100644 --- a/src/Native/Native.proj +++ b/src/Native/Native.proj @@ -82,15 +82,15 @@ - - - - - - @@ -118,10 +118,10 @@ - - diff --git a/src/Native/SymSgdNative/CMakeLists.txt b/src/Native/SymSgdNative/CMakeLists.txt index 00c01b76ad..f40d1a46b4 100644 --- a/src/Native/SymSgdNative/CMakeLists.txt +++ b/src/Native/SymSgdNative/CMakeLists.txt @@ -33,7 +33,7 @@ else() endif() endif() -if(NOT ${ARCHITECTURE} MATCHES "Arm64") +if(NOT ${ARCHITECTURE} MATCHES "arm.*") find_library(MKL_LIBRARY MklImports HINTS ${MKL_LIB_PATH}) endif() diff --git a/src/Native/build.cmd b/src/Native/build.cmd index 82c394715a..f4e6592e31 100644 --- a/src/Native/build.cmd +++ b/src/Native/build.cmd @@ -69,7 +69,6 @@ exit /b 1 :: Setup vars for VS2019 set __PlatformToolset=v142 set __VSVersion=16 2019 - :: Set the environment for the native build call "%VS160COMNTOOLS%..\..\VC\Auxiliary\Build\vcvarsall.bat" %__VCBuildArch% @@ -79,23 +78,17 @@ goto :SetupDirs :: Setup vars for VS2017 set __PlatformToolset=v141 set __VSVersion=15 2017 -if NOT "%__BuildArch%" == "arm64" ( - if NOT "%__BuildArch%" == "arm" ( - :: Set the environment for the native build - call "%VS150COMNTOOLS%..\..\VC\Auxiliary\Build\vcvarsall.bat" %__VCBuildArch% - ) -) +:: Set the environment for the native build +call "%VS150COMNTOOLS%..\..\VC\Auxiliary\Build\vcvarsall.bat" %__VCBuildArch% + goto :SetupDirs :VS2015 :: Setup vars for VS2015build set __PlatformToolset=v140 set __VSVersion=14 2015 -if NOT "%__BuildArch%" == "arm64" ( - if NOT "%__BuildArch%" == "arm" ( - :: Set the environment for the native build - call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" %__VCBuildArch% -) +:: Set the environment for the native build +call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" %__VCBuildArch% :SetupDirs :: Setup to cmake the native components diff --git a/src/Native/build.sh b/src/Native/build.sh index 2e315a781f..3b9ed0b6cb 100755 --- a/src/Native/build.sh +++ b/src/Native/build.sh @@ -53,7 +53,7 @@ while [ "$1" != "" ]; do --mkllibrpath) shift __mkllibrpath=$1 - ;; + ;; --stripsymbols) __strip_argument="-DSTRIP_SYMBOLS=true" ;; @@ -103,6 +103,13 @@ fi __cmake_defines="${__cmake_defines} -DVERSION_FILE_PATH:STRING=${__versionSourceFile}" +OS=$(uname -m) + +if [[ ( $OS == "amd64" || $OS == "x86_x64" ) && ( $__build_arch == "arm64" || $__build_arch == "arm" ) ]]; then + __cmake_defines="${__cmake_defines} -DCMAKE_TOOLCHAIN_FILE=$(PWD)/../../eng/common/cross/toolchain.cmake" + export TARGET_BUILD_ARCH=$__build_arch +fi + cd "$__IntermediatesDir" echo "Building Machine Learning native components from $DIR to $(pwd)" diff --git a/src/Native/gen-buildsys-win.bat b/src/Native/gen-buildsys-win.bat index 050b0a22e6..62ef6c4967 100644 --- a/src/Native/gen-buildsys-win.bat +++ b/src/Native/gen-buildsys-win.bat @@ -28,7 +28,8 @@ popd :DoGen if /i "%3" == "x64" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A x64) if /i "%3" == "x86" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A Win32) -if /i "%3" == "Arm64" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A Arm64) +if /i "%3" == "arm64" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A arm64) +if /i "%3" == "arm" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A arm) "%CMakePath%" "-DCMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE%" "-DCMAKE_INSTALL_PREFIX=%__CMakeBinDir%" "-DMKL_LIB_PATH=%MKL_LIB_PATH%" "-DARCHITECTURE=%3" -G "Visual Studio %__VSString%" %__ExtraCmakeParams% -B. -H%1 endlocal GOTO :DONE diff --git a/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj b/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj index a96804259e..2f85c15ece 100644 --- a/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj +++ b/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj @@ -21,9 +21,9 @@ - - - + + + diff --git a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj index 6750458568..ff1c7002b8 100644 --- a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj +++ b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj @@ -23,14 +23,14 @@ - - - - + + + + - - + + \ No newline at end of file diff --git a/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj b/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj index a4194b39c2..6aa0d7d706 100644 --- a/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj +++ b/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj @@ -3,9 +3,9 @@ - - - + + + diff --git a/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj b/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj index 563f541913..be76f85843 100644 --- a/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj +++ b/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj @@ -18,8 +18,8 @@ - - + + diff --git a/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj b/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj index 8810c06f15..ceb995c464 100644 --- a/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj +++ b/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj @@ -33,12 +33,12 @@ - - - + + + - - + + diff --git a/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj b/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj index 5342b7821f..b05f5ae786 100644 --- a/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj +++ b/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj @@ -6,32 +6,32 @@ true false true - + - + - + - + - + - + PreserveNewest diff --git a/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj b/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj index f9ebccfd76..b3dcd20752 100644 --- a/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj +++ b/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj @@ -6,12 +6,12 @@ - + - - + + diff --git a/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj b/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj index f74545dc16..3ff3470c70 100644 --- a/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj +++ b/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj @@ -25,8 +25,8 @@ - - + + \ No newline at end of file diff --git a/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj b/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj index 72a8eac20b..5e1fb4b1a1 100644 --- a/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj +++ b/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj @@ -34,15 +34,15 @@ - - + + - - - - + + + + diff --git a/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj b/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj index 43a63a80f5..9e7ce09496 100644 --- a/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj +++ b/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj @@ -16,14 +16,14 @@ - - + + - - - - + + + + diff --git a/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj b/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj index 2605f762c7..9b26417b32 100644 --- a/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj +++ b/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj @@ -32,9 +32,9 @@ - - - + + + diff --git a/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj b/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj index d548013219..6e9011a098 100644 --- a/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj +++ b/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj @@ -27,9 +27,9 @@ - - - - + + + + diff --git a/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj b/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj index 21c8f059f8..307ab6483c 100644 --- a/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj +++ b/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj @@ -17,11 +17,11 @@ - - - - - + + + + + diff --git a/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj b/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj index 708bb2372a..5a095df95d 100644 --- a/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj +++ b/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj @@ -7,10 +7,10 @@ - - - - + + + + diff --git a/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj b/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj index 4685aa25e8..98528a6286 100644 --- a/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj +++ b/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj @@ -23,12 +23,12 @@ - - - + + + - - + + diff --git a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj index 7aec1df712..af2eb0534e 100644 --- a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj +++ b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj @@ -37,14 +37,14 @@ - - + + - - - - + + + + diff --git a/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj b/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj index 899ce6a6be..06b446c1f9 100644 --- a/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj +++ b/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj @@ -9,10 +9,10 @@ - - - - + + + + From 745088b7cf223d1af26ecbc1f3ae2470d51f7e7e Mon Sep 17 00:00:00 2001 From: Michael Sharp Date: Thu, 6 May 2021 18:59:37 -0700 Subject: [PATCH 05/16] cross build instructions added --- .gitignore | 3 +++ docs/building/unix-instructions.md | 16 ++++++++++++++++ docs/building/windows-instructions.md | 2 +- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 654e29215f..510f1d486d 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,9 @@ msbuild.binlog # Uncomment if you have tasks that create the project's static files in wwwroot #wwwroot/ +# VSCode files +.vscode/ + # Visual Studio 2017 auto generated files Generated\ Files/ diff --git a/docs/building/unix-instructions.md b/docs/building/unix-instructions.md index 6a15adfbf9..a8232c0411 100644 --- a/docs/building/unix-instructions.md +++ b/docs/building/unix-instructions.md @@ -39,6 +39,22 @@ sudo apt-get install libssl1.0.0 libicu55 sudo apt-get install libomp-dev ``` +#### Cross compiling for ARM + +Cross compilation is only supported on an Ubuntu host, 18.x and newer, and only .Net Core 3.1 or newer. You will need to install debootstrap and qemu-user-static to facilitate the process. Once they are installed you will need to build the cross compiling rootfs. We provide a script, `build-rootfs.sh`, to do this. You will also need to set the ROOTFS_DIR environment variable to the location of the rootfs you just created. The general process is as follows: + +```sh +sudo apt-get update +sudo apt-get install debootstrap qemu-user-static +sudo ./eng/common/cross/build-rootfs.sh --rootfsdir +export ROOTFS_DIR= + +# The cross compiling environment is now setup and you can proceed with a normal build +./build.sh -c Release-netcoreapp3_1 /p:TargetArchitecture= +``` + +Note that the `` will usually be arm or arm64 and the `` is bionic for 18.04. + ### macOS macOS 10.13 (High Sierra) or higher is needed to build dotnet/machinelearning. We are using a .NET Core 3.1 SDK to build, which supports 10.13 or higher. diff --git a/docs/building/windows-instructions.md b/docs/building/windows-instructions.md index c3b9fb2535..40eb762812 100644 --- a/docs/building/windows-instructions.md +++ b/docs/building/windows-instructions.md @@ -67,7 +67,7 @@ From a (non-admin) Command Prompt window: **Note**: Before working on individual projects or test projects you **must** run `build.cmd` from the root once before beginning that work. It is also a good idea to run `build.cmd` whenever you pull a large set of unknown changes into your branch. -### Cross compiling for ARM From the Command Line +### Cross compiling for ARM You can use the Developer Command Prompt, Powershell or work in any regular cmd. The Developer Command Prompt will have a name like "Developer Command Prompt for VS 2019" or similar in your start menu. From a50ba082e3bd4a86166026a11827d437871aa705 Mon Sep 17 00:00:00 2001 From: Michael Sharp Date: Fri, 7 May 2021 15:17:47 -0700 Subject: [PATCH 06/16] renamed arm to Arm. Changed TargetArchitecture to default to OS architecture --- Directory.Build.props | 4 ++-- docs/building/unix-instructions.md | 2 +- docs/building/windows-instructions.md | 8 ++++---- .../Microsoft.ML.Samples.GPU.csproj | 8 ++++---- .../Microsoft.ML.Samples.csproj | 8 ++++---- .../Microsoft.ML.Console.csproj | 10 +++++----- .../Microsoft.ML.FastTree.csproj | 2 +- src/Native/Native.proj | 16 ++++++++-------- src/Native/build.cmd | 4 ++-- src/Native/build.sh | 2 +- src/Native/gen-buildsys-win.bat | 4 ++-- .../Microsoft.Extensions.ML.Tests.csproj | 6 +++--- .../Microsoft.ML.AutoML.Tests.csproj | 12 ++++++------ .../Microsoft.ML.Benchmarks.Tests.csproj | 6 +++--- .../Microsoft.ML.CodeGenerator.Tests.csproj | 4 ++-- .../Microsoft.ML.Core.Tests.csproj | 10 +++++----- .../Microsoft.ML.CpuMath.PerformanceTests.csproj | 2 +- .../Microsoft.ML.CpuMath.UnitTests.csproj | 6 +++--- .../Microsoft.ML.FSharp.Tests.fsproj | 4 ++-- .../Microsoft.ML.IntegrationTests.csproj | 12 ++++++------ .../Microsoft.ML.NightlyBuild.Tests.csproj | 12 ++++++------ .../Microsoft.ML.OnnxTransformerTest.csproj | 6 +++--- .../Microsoft.ML.PerformanceTests.csproj | 8 ++++---- .../Microsoft.ML.Predictor.Tests.csproj | 10 +++++----- .../Microsoft.ML.Sweeper.Tests.csproj | 8 ++++---- .../Microsoft.ML.TestFramework.csproj | 10 +++++----- .../Microsoft.ML.Tests/Microsoft.ML.Tests.csproj | 12 ++++++------ .../Microsoft.ML.TimeSeries.Tests.csproj | 8 ++++---- 28 files changed, 102 insertions(+), 102 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 13bafa4710..8450a4dbef 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -7,7 +7,7 @@ - + $(DefineConstants);ARM64 @@ -27,7 +27,7 @@ Debug Debug;Release;Debug-netcoreapp3_1;Release-netcoreapp3_1;Debug-netfx;Release-netfx AnyCPU - x64 + $([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture) $(Platform).$(Configuration) Open diff --git a/docs/building/unix-instructions.md b/docs/building/unix-instructions.md index a8232c0411..58959375f6 100644 --- a/docs/building/unix-instructions.md +++ b/docs/building/unix-instructions.md @@ -53,7 +53,7 @@ export ROOTFS_DIR= ./build.sh -c Release-netcoreapp3_1 /p:TargetArchitecture= ``` -Note that the `` will usually be arm or arm64 and the `` is bionic for 18.04. +Note that the `` will usually be Arm or Arm64 and the `` is bionic for 18.04. ### macOS diff --git a/docs/building/windows-instructions.md b/docs/building/windows-instructions.md index 40eb762812..1ad4e1d205 100644 --- a/docs/building/windows-instructions.md +++ b/docs/building/windows-instructions.md @@ -73,13 +73,13 @@ You can use the Developer Command Prompt, Powershell or work in any regular cmd. From a (non-admin) Command Prompt window based on what you want to target: -- `build.cmd /p:TargetArchitecture=arm` -- `build.cmd /p:TargetArchitecture=arm64` +- `build.cmd /p:TargetArchitecture=Arm` +- `build.cmd /p:TargetArchitecture=Arm64` You can then pack them into nugets, pick the same target architecture you built with: -- `build.cmd /p:TargetArchitecture=arm -pack` -- `build.cmd /p:TargetArchitecture=arm64 -pack` +- `build.cmd /p:TargetArchitecture=Arm -pack` +- `build.cmd /p:TargetArchitecture=Arm64 -pack` ## Running Tests diff --git a/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj b/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj index aae5581b13..b52115cdd6 100644 --- a/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj +++ b/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj @@ -28,12 +28,12 @@ - - + + - - + + diff --git a/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj b/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj index f050435275..b13615d0b2 100644 --- a/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj +++ b/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj @@ -34,12 +34,12 @@ - - + + - - + + True True diff --git a/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj b/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj index f56421a642..1273cda59c 100644 --- a/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj +++ b/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj @@ -28,14 +28,14 @@ - - + + - - - + + + diff --git a/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj b/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj index 7b71a88d25..c6da3c1b31 100644 --- a/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj +++ b/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj @@ -5,7 +5,7 @@ Microsoft.ML.FastTree ML.NET component for FastTree $(DefineConstants);NO_STORE;CORECLR - $(DefineConstants);USE_FASTTREENATIVE + $(DefineConstants);USE_FASTTREENATIVE true $(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage diff --git a/src/Native/Native.proj b/src/Native/Native.proj index 4955604c9c..ba315a799b 100644 --- a/src/Native/Native.proj +++ b/src/Native/Native.proj @@ -82,15 +82,15 @@ - - - - - - @@ -118,10 +118,10 @@ - - diff --git a/src/Native/build.cmd b/src/Native/build.cmd index f4e6592e31..e27943bf19 100644 --- a/src/Native/build.cmd +++ b/src/Native/build.cmd @@ -29,8 +29,8 @@ if /i [%1] == [Debug-netfx] ( set CMAKE_BUILD_TYPE=Debug-netfx&&shift&goto if /i [%1] == [x86] ( set __BuildArch=x86&&set __VCBuildArch=x86&&shift&goto Arg_Loop) if /i [%1] == [x64] ( set __BuildArch=x64&&set __VCBuildArch=x86_amd64&&shift&goto Arg_Loop) if /i [%1] == [amd64] ( set __BuildArch=x64&&set __VCBuildArch=x86_amd64&&shift&goto Arg_Loop) -if /i [%1] == [arm] ( set __BuildArch=arm&&set __VCBuildArch=x86_arm&&shift&goto Arg_Loop) -if /i [%1] == [arm64] ( set __BuildArch=arm64&&set __VCBuildArch=x86_arm64&&shift&goto Arg_Loop) +if /i [%1] == [Arm] ( set __BuildArch=arm&&set __VCBuildArch=x86_arm&&shift&goto Arg_Loop) +if /i [%1] == [Arm64] ( set __BuildArch=arm64&&set __VCBuildArch=x86_arm64&&shift&goto Arg_Loop) if /i [%1] == [--mkllibpath] ( set MKL_LIB_PATH=%2&&shift&goto Arg_Loop) shift diff --git a/src/Native/build.sh b/src/Native/build.sh index 3b9ed0b6cb..8449405320 100755 --- a/src/Native/build.sh +++ b/src/Native/build.sh @@ -105,7 +105,7 @@ __cmake_defines="${__cmake_defines} -DVERSION_FILE_PATH:STRING=${__versionSource OS=$(uname -m) -if [[ ( $OS == "amd64" || $OS == "x86_x64" ) && ( $__build_arch == "arm64" || $__build_arch == "arm" ) ]]; then +if [[ ( $OS == "amd64" || $OS == "x86_x64" ) && ( $__build_arch == "Arm64" || $__build_arch == "Arm" ) ]]; then __cmake_defines="${__cmake_defines} -DCMAKE_TOOLCHAIN_FILE=$(PWD)/../../eng/common/cross/toolchain.cmake" export TARGET_BUILD_ARCH=$__build_arch fi diff --git a/src/Native/gen-buildsys-win.bat b/src/Native/gen-buildsys-win.bat index 62ef6c4967..b1e078e547 100644 --- a/src/Native/gen-buildsys-win.bat +++ b/src/Native/gen-buildsys-win.bat @@ -28,8 +28,8 @@ popd :DoGen if /i "%3" == "x64" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A x64) if /i "%3" == "x86" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A Win32) -if /i "%3" == "arm64" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A arm64) -if /i "%3" == "arm" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A arm) +if /i "%3" == "Arm64" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A arm64) +if /i "%3" == "Arm" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A arm) "%CMakePath%" "-DCMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE%" "-DCMAKE_INSTALL_PREFIX=%__CMakeBinDir%" "-DMKL_LIB_PATH=%MKL_LIB_PATH%" "-DARCHITECTURE=%3" -G "Visual Studio %__VSString%" %__ExtraCmakeParams% -B. -H%1 endlocal GOTO :DONE diff --git a/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj b/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj index 2f85c15ece..a96804259e 100644 --- a/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj +++ b/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj @@ -21,9 +21,9 @@ - - - + + + diff --git a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj index ff1c7002b8..bff2d8c76c 100644 --- a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj +++ b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj @@ -23,14 +23,14 @@ - - - - + + + + - - + + \ No newline at end of file diff --git a/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj b/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj index 6aa0d7d706..a4194b39c2 100644 --- a/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj +++ b/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj @@ -3,9 +3,9 @@ - - - + + + diff --git a/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj b/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj index be76f85843..563f541913 100644 --- a/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj +++ b/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj @@ -18,8 +18,8 @@ - - + + diff --git a/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj b/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj index ceb995c464..8810c06f15 100644 --- a/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj +++ b/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj @@ -33,12 +33,12 @@ - - - + + + - - + + diff --git a/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj b/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj index b05f5ae786..14428ad3dd 100644 --- a/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj +++ b/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj @@ -29,7 +29,7 @@ - + diff --git a/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj b/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj index b3dcd20752..f9ebccfd76 100644 --- a/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj +++ b/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj @@ -6,12 +6,12 @@ - + - - + + diff --git a/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj b/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj index 3ff3470c70..f74545dc16 100644 --- a/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj +++ b/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj @@ -25,8 +25,8 @@ - - + + \ No newline at end of file diff --git a/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj b/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj index 5e1fb4b1a1..72a8eac20b 100644 --- a/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj +++ b/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj @@ -34,15 +34,15 @@ - - + + - - - - + + + + diff --git a/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj b/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj index 9e7ce09496..43a63a80f5 100644 --- a/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj +++ b/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj @@ -16,14 +16,14 @@ - - + + - - - - + + + + diff --git a/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj b/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj index 9b26417b32..2605f762c7 100644 --- a/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj +++ b/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj @@ -32,9 +32,9 @@ - - - + + + diff --git a/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj b/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj index 6e9011a098..d548013219 100644 --- a/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj +++ b/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj @@ -27,9 +27,9 @@ - - - - + + + + diff --git a/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj b/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj index 307ab6483c..21c8f059f8 100644 --- a/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj +++ b/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj @@ -17,11 +17,11 @@ - - - - - + + + + + diff --git a/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj b/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj index 5a095df95d..708bb2372a 100644 --- a/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj +++ b/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj @@ -7,10 +7,10 @@ - - - - + + + + diff --git a/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj b/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj index 98528a6286..4685aa25e8 100644 --- a/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj +++ b/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj @@ -23,12 +23,12 @@ - - - + + + - - + + diff --git a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj index af2eb0534e..7aec1df712 100644 --- a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj +++ b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj @@ -37,14 +37,14 @@ - - + + - - - - + + + + diff --git a/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj b/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj index 06b446c1f9..899ce6a6be 100644 --- a/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj +++ b/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj @@ -9,10 +9,10 @@ - - - - + + + + From f277fbf906a8a22c324a8624f19104a5be0a5d70 Mon Sep 17 00:00:00 2001 From: Michael Sharp Date: Fri, 7 May 2021 15:49:03 -0700 Subject: [PATCH 07/16] fixed some formatting --- Directory.Build.targets | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/Directory.Build.targets b/Directory.Build.targets index e78e337636..379ece52cd 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -7,25 +7,24 @@ - - lib - .dll - .so - .dylib + lib + .dll + .so + .dylib - $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin')) - $(BinDir)Native\$(TargetArchitecture).$(Configuration)\ + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin')) + $(BinDir)Native\$(TargetArchitecture).$(Configuration)\ - AnyCPU - $(Platform).$(Configuration) - $(BinDir)$(MSBuildProjectName)\Debug - + AnyCPU + $(Platform).$(Configuration) + $(BinDir)$(MSBuildProjectName)\Debug + - - $(NativeOutputPath)$(LibPrefix)%(NativeAssemblyReference.Identity)$(LibExtension) - + + $(NativeOutputPath)$(LibPrefix)%(NativeAssemblyReference.Identity)$(LibExtension) + Date: Fri, 7 May 2021 16:19:40 -0700 Subject: [PATCH 08/16] fixed capitilization --- Directory.Build.props | 9 +++++---- .../Microsoft.ML.AutoML.Samples.csproj | 2 +- .../Microsoft.ML.Samples.GPU.csproj | 8 ++++---- .../Microsoft.ML.Samples.csproj | 8 ++++---- .../Microsoft.ML.Console.csproj | 10 +++++----- .../Microsoft.ML.FastTree.csproj | 2 +- src/Native/Native.proj | 16 ++++++++-------- src/Native/build.cmd | 4 ++-- .../Microsoft.Extensions.ML.Tests.csproj | 6 +++--- .../Microsoft.ML.AutoML.Tests.csproj | 12 ++++++------ .../Microsoft.ML.Benchmarks.Tests.csproj | 6 +++--- .../Microsoft.ML.CodeGenerator.Tests.csproj | 4 ++-- .../Microsoft.ML.Core.Tests.csproj | 10 +++++----- .../Microsoft.ML.CpuMath.PerformanceTests.csproj | 2 +- .../Microsoft.ML.CpuMath.UnitTests.csproj | 6 +++--- .../Microsoft.ML.FSharp.Tests.fsproj | 4 ++-- .../Microsoft.ML.IntegrationTests.csproj | 12 ++++++------ .../Microsoft.ML.NightlyBuild.Tests.csproj | 12 ++++++------ .../Microsoft.ML.OnnxTransformerTest.csproj | 6 +++--- .../Microsoft.ML.PerformanceTests.csproj | 8 ++++---- .../Microsoft.ML.Predictor.Tests.csproj | 10 +++++----- .../Microsoft.ML.Sweeper.Tests.csproj | 8 ++++---- .../Microsoft.ML.TestFramework.csproj | 10 +++++----- .../Microsoft.ML.Tests/Microsoft.ML.Tests.csproj | 12 ++++++------ .../Microsoft.ML.TimeSeries.Tests.csproj | 8 ++++---- 25 files changed, 98 insertions(+), 97 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 8450a4dbef..c16efd5bfa 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -7,10 +7,6 @@ - - $(DefineConstants);ARM64 - - true @@ -28,10 +24,15 @@ Debug;Release;Debug-netcoreapp3_1;Release-netcoreapp3_1;Debug-netfx;Release-netfx AnyCPU $([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture) + $(TargetArchitecture.ToLower()) $(Platform).$(Configuration) Open + + $(DefineConstants);ARM64 + + $(ArtifactsDir)pkgassets/ $(RepoRoot)pkg/ diff --git a/docs/samples/Microsoft.ML.AutoML.Samples/Microsoft.ML.AutoML.Samples.csproj b/docs/samples/Microsoft.ML.AutoML.Samples/Microsoft.ML.AutoML.Samples.csproj index 3db70c20f4..6c612c1cb6 100644 --- a/docs/samples/Microsoft.ML.AutoML.Samples/Microsoft.ML.AutoML.Samples.csproj +++ b/docs/samples/Microsoft.ML.AutoML.Samples/Microsoft.ML.AutoML.Samples.csproj @@ -16,7 +16,7 @@ - + diff --git a/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj b/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj index b52115cdd6..aae5581b13 100644 --- a/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj +++ b/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj @@ -28,12 +28,12 @@ - - + + - - + + diff --git a/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj b/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj index b13615d0b2..f050435275 100644 --- a/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj +++ b/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj @@ -34,12 +34,12 @@ - - + + - - + + True True diff --git a/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj b/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj index 1273cda59c..f56421a642 100644 --- a/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj +++ b/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj @@ -28,14 +28,14 @@ - - + + - - - + + + diff --git a/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj b/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj index c6da3c1b31..7b71a88d25 100644 --- a/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj +++ b/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj @@ -5,7 +5,7 @@ Microsoft.ML.FastTree ML.NET component for FastTree $(DefineConstants);NO_STORE;CORECLR - $(DefineConstants);USE_FASTTREENATIVE + $(DefineConstants);USE_FASTTREENATIVE true $(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage diff --git a/src/Native/Native.proj b/src/Native/Native.proj index ba315a799b..4955604c9c 100644 --- a/src/Native/Native.proj +++ b/src/Native/Native.proj @@ -82,15 +82,15 @@ - - - - - - @@ -118,10 +118,10 @@ - - diff --git a/src/Native/build.cmd b/src/Native/build.cmd index e27943bf19..f4e6592e31 100644 --- a/src/Native/build.cmd +++ b/src/Native/build.cmd @@ -29,8 +29,8 @@ if /i [%1] == [Debug-netfx] ( set CMAKE_BUILD_TYPE=Debug-netfx&&shift&goto if /i [%1] == [x86] ( set __BuildArch=x86&&set __VCBuildArch=x86&&shift&goto Arg_Loop) if /i [%1] == [x64] ( set __BuildArch=x64&&set __VCBuildArch=x86_amd64&&shift&goto Arg_Loop) if /i [%1] == [amd64] ( set __BuildArch=x64&&set __VCBuildArch=x86_amd64&&shift&goto Arg_Loop) -if /i [%1] == [Arm] ( set __BuildArch=arm&&set __VCBuildArch=x86_arm&&shift&goto Arg_Loop) -if /i [%1] == [Arm64] ( set __BuildArch=arm64&&set __VCBuildArch=x86_arm64&&shift&goto Arg_Loop) +if /i [%1] == [arm] ( set __BuildArch=arm&&set __VCBuildArch=x86_arm&&shift&goto Arg_Loop) +if /i [%1] == [arm64] ( set __BuildArch=arm64&&set __VCBuildArch=x86_arm64&&shift&goto Arg_Loop) if /i [%1] == [--mkllibpath] ( set MKL_LIB_PATH=%2&&shift&goto Arg_Loop) shift diff --git a/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj b/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj index a96804259e..2f85c15ece 100644 --- a/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj +++ b/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj @@ -21,9 +21,9 @@ - - - + + + diff --git a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj index bff2d8c76c..ff1c7002b8 100644 --- a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj +++ b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj @@ -23,14 +23,14 @@ - - - - + + + + - - + + \ No newline at end of file diff --git a/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj b/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj index a4194b39c2..6aa0d7d706 100644 --- a/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj +++ b/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj @@ -3,9 +3,9 @@ - - - + + + diff --git a/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj b/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj index 563f541913..be76f85843 100644 --- a/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj +++ b/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj @@ -18,8 +18,8 @@ - - + + diff --git a/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj b/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj index 8810c06f15..ceb995c464 100644 --- a/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj +++ b/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj @@ -33,12 +33,12 @@ - - - + + + - - + + diff --git a/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj b/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj index 14428ad3dd..b05f5ae786 100644 --- a/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj +++ b/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj @@ -29,7 +29,7 @@ - + diff --git a/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj b/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj index f9ebccfd76..b3dcd20752 100644 --- a/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj +++ b/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj @@ -6,12 +6,12 @@ - + - - + + diff --git a/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj b/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj index f74545dc16..3ff3470c70 100644 --- a/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj +++ b/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj @@ -25,8 +25,8 @@ - - + + \ No newline at end of file diff --git a/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj b/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj index 72a8eac20b..5e1fb4b1a1 100644 --- a/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj +++ b/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj @@ -34,15 +34,15 @@ - - + + - - - - + + + + diff --git a/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj b/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj index 43a63a80f5..9e7ce09496 100644 --- a/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj +++ b/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj @@ -16,14 +16,14 @@ - - + + - - - - + + + + diff --git a/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj b/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj index 2605f762c7..9b26417b32 100644 --- a/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj +++ b/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj @@ -32,9 +32,9 @@ - - - + + + diff --git a/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj b/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj index d548013219..6e9011a098 100644 --- a/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj +++ b/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj @@ -27,9 +27,9 @@ - - - - + + + + diff --git a/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj b/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj index 21c8f059f8..307ab6483c 100644 --- a/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj +++ b/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj @@ -17,11 +17,11 @@ - - - - - + + + + + diff --git a/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj b/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj index 708bb2372a..5a095df95d 100644 --- a/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj +++ b/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj @@ -7,10 +7,10 @@ - - - - + + + + diff --git a/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj b/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj index 4685aa25e8..98528a6286 100644 --- a/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj +++ b/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj @@ -23,12 +23,12 @@ - - - + + + - - + + diff --git a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj index 7aec1df712..af2eb0534e 100644 --- a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj +++ b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj @@ -37,14 +37,14 @@ - - + + - - - - + + + + diff --git a/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj b/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj index 899ce6a6be..06b446c1f9 100644 --- a/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj +++ b/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj @@ -9,10 +9,10 @@ - - - - + + + + From 3e27e67e93dd84fdf8f01b3d37ff2c51ed48ce0d Mon Sep 17 00:00:00 2001 From: Michael Sharp Date: Fri, 7 May 2021 16:52:51 -0700 Subject: [PATCH 09/16] fixed Arm Capitilization --- docs/building/unix-instructions.md | 2 +- docs/building/windows-instructions.md | 8 ++++---- src/Native/build.sh | 2 +- src/Native/gen-buildsys-win.bat | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/building/unix-instructions.md b/docs/building/unix-instructions.md index 58959375f6..a8232c0411 100644 --- a/docs/building/unix-instructions.md +++ b/docs/building/unix-instructions.md @@ -53,7 +53,7 @@ export ROOTFS_DIR= ./build.sh -c Release-netcoreapp3_1 /p:TargetArchitecture= ``` -Note that the `` will usually be Arm or Arm64 and the `` is bionic for 18.04. +Note that the `` will usually be arm or arm64 and the `` is bionic for 18.04. ### macOS diff --git a/docs/building/windows-instructions.md b/docs/building/windows-instructions.md index 1ad4e1d205..40eb762812 100644 --- a/docs/building/windows-instructions.md +++ b/docs/building/windows-instructions.md @@ -73,13 +73,13 @@ You can use the Developer Command Prompt, Powershell or work in any regular cmd. From a (non-admin) Command Prompt window based on what you want to target: -- `build.cmd /p:TargetArchitecture=Arm` -- `build.cmd /p:TargetArchitecture=Arm64` +- `build.cmd /p:TargetArchitecture=arm` +- `build.cmd /p:TargetArchitecture=arm64` You can then pack them into nugets, pick the same target architecture you built with: -- `build.cmd /p:TargetArchitecture=Arm -pack` -- `build.cmd /p:TargetArchitecture=Arm64 -pack` +- `build.cmd /p:TargetArchitecture=arm -pack` +- `build.cmd /p:TargetArchitecture=arm64 -pack` ## Running Tests diff --git a/src/Native/build.sh b/src/Native/build.sh index 8449405320..3b9ed0b6cb 100755 --- a/src/Native/build.sh +++ b/src/Native/build.sh @@ -105,7 +105,7 @@ __cmake_defines="${__cmake_defines} -DVERSION_FILE_PATH:STRING=${__versionSource OS=$(uname -m) -if [[ ( $OS == "amd64" || $OS == "x86_x64" ) && ( $__build_arch == "Arm64" || $__build_arch == "Arm" ) ]]; then +if [[ ( $OS == "amd64" || $OS == "x86_x64" ) && ( $__build_arch == "arm64" || $__build_arch == "arm" ) ]]; then __cmake_defines="${__cmake_defines} -DCMAKE_TOOLCHAIN_FILE=$(PWD)/../../eng/common/cross/toolchain.cmake" export TARGET_BUILD_ARCH=$__build_arch fi diff --git a/src/Native/gen-buildsys-win.bat b/src/Native/gen-buildsys-win.bat index b1e078e547..62ef6c4967 100644 --- a/src/Native/gen-buildsys-win.bat +++ b/src/Native/gen-buildsys-win.bat @@ -28,8 +28,8 @@ popd :DoGen if /i "%3" == "x64" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A x64) if /i "%3" == "x86" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A Win32) -if /i "%3" == "Arm64" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A arm64) -if /i "%3" == "Arm" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A arm) +if /i "%3" == "arm64" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A arm64) +if /i "%3" == "arm" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A arm) "%CMakePath%" "-DCMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE%" "-DCMAKE_INSTALL_PREFIX=%__CMakeBinDir%" "-DMKL_LIB_PATH=%MKL_LIB_PATH%" "-DARCHITECTURE=%3" -G "Visual Studio %__VSString%" %__ExtraCmakeParams% -B. -H%1 endlocal GOTO :DONE From 0b461b225dc29acf03b7ca151218b36d04bae5b7 Mon Sep 17 00:00:00 2001 From: Michael Sharp Date: Sat, 8 May 2021 00:14:19 -0700 Subject: [PATCH 10/16] Fix cross-compilation if statement --- src/Native/build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Native/build.sh b/src/Native/build.sh index 3b9ed0b6cb..76a6e4cf87 100755 --- a/src/Native/build.sh +++ b/src/Native/build.sh @@ -105,8 +105,8 @@ __cmake_defines="${__cmake_defines} -DVERSION_FILE_PATH:STRING=${__versionSource OS=$(uname -m) -if [[ ( $OS == "amd64" || $OS == "x86_x64" ) && ( $__build_arch == "arm64" || $__build_arch == "arm" ) ]]; then - __cmake_defines="${__cmake_defines} -DCMAKE_TOOLCHAIN_FILE=$(PWD)/../../eng/common/cross/toolchain.cmake" +if [[ ( $OS == "amd64" || $OS == "x86_64" ) && ( $__build_arch == "arm64" || $__build_arch == "arm" ) ]] ; then + __cmake_defines="${__cmake_defines} -DCMAKE_TOOLCHAIN_FILE=$(pwd)/../../eng/common/cross/toolchain.cmake" export TARGET_BUILD_ARCH=$__build_arch fi From 955c40b9bd6371f4151923d7ec8485d2ee527b7f Mon Sep 17 00:00:00 2001 From: Michael Sharp Date: Sat, 8 May 2021 02:18:12 -0700 Subject: [PATCH 11/16] building on apple silicon --- .gitignore | 1 + src/Native/CMakeLists.txt | 5 +++++ .../MatrixFactorizationNative/CMakeLists.txt | 12 ++++++++++-- src/Native/build.sh | 16 +++++++++++++--- 4 files changed, 29 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 510f1d486d..a88e947836 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ *.user *.userosscache *.sln.docstates +*.DS_Store # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs diff --git a/src/Native/CMakeLists.txt b/src/Native/CMakeLists.txt index 6ad8b65393..4d7da7058c 100644 --- a/src/Native/CMakeLists.txt +++ b/src/Native/CMakeLists.txt @@ -80,6 +80,11 @@ else() add_definitions(-Werror) # treat warnings as errors endif() +# Set the architecture we are compiling for on APPLE. This lets you cross target from x86_64 -> arm64. +if(APPLE) + set(CMAKE_OSX_ARCHITECTURES ${ARCHITECTURE}) +endif() + # Older CMake doesn't support CMAKE_CXX_STANDARD and GCC/Clang need a switch to enable C++ 11 if(${CMAKE_CXX_COMPILER_ID} MATCHES "(Clang|GNU)") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") diff --git a/src/Native/MatrixFactorizationNative/CMakeLists.txt b/src/Native/MatrixFactorizationNative/CMakeLists.txt index 7cd8b8cdfe..172eeb8e20 100644 --- a/src/Native/MatrixFactorizationNative/CMakeLists.txt +++ b/src/Native/MatrixFactorizationNative/CMakeLists.txt @@ -17,8 +17,16 @@ if(UNIX) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fopenmp") if (APPLE) - include_directories("/usr/local/opt/libomp/include") - link_directories("/usr/local/opt/libomp/lib") + # Apple silicon and Intel macs store brew in different locations, this finds it no matter where it is. + execute_process( + COMMAND brew --prefix libomp + RESULT_VARIABLE BREW_LIBOMP + OUTPUT_VARIABLE BREW_LIBOMP_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + include_directories("${BREW_LIBOMP_PREFIX}/include") + link_directories("${BREW_LIBOMP_PREFIX}/lib") endif() endif() diff --git a/src/Native/build.sh b/src/Native/build.sh index 76a6e4cf87..6131c2b67d 100755 --- a/src/Native/build.sh +++ b/src/Native/build.sh @@ -63,7 +63,7 @@ while [ "$1" != "" ]; do shift done -__cmake_defines="-DCMAKE_BUILD_TYPE=${__configuration} ${__strip_argument} -DMKL_LIB_PATH=${__mkllibpath} -DMKL_LIB_RPATH=${__mkllibrpath} -DARCHITECTURE=${__build_arch}" +__cmake_defines="-DCMAKE_BUILD_TYPE=${__configuration} ${__strip_argument} -DMKL_LIB_PATH=${__mkllibpath} -DMKL_LIB_RPATH=${__mkllibrpath}" __IntermediatesDir="$__baseIntermediateOutputPath/Native/$__build_arch.$__configuration" __BinDir="$__rootBinPath/Native/$__build_arch.$__configuration" @@ -103,13 +103,23 @@ fi __cmake_defines="${__cmake_defines} -DVERSION_FILE_PATH:STRING=${__versionSourceFile}" -OS=$(uname -m) +OS_ARCH=$(uname -m) +OS=$(uname) -if [[ ( $OS == "amd64" || $OS == "x86_64" ) && ( $__build_arch == "arm64" || $__build_arch == "arm" ) ]] ; then +# If we are cross compiling on Linux we need to set the CMAKE_TOOLCHAIN_FILE +if [[ ( $OS_ARCH == "amd64" || $OS_ARCH == "x86_64" ) && ( $__build_arch == "arm64" || $__build_arch == "arm" ) && $OS != "Darwin" ]] ; then __cmake_defines="${__cmake_defines} -DCMAKE_TOOLCHAIN_FILE=$(pwd)/../../eng/common/cross/toolchain.cmake" export TARGET_BUILD_ARCH=$__build_arch + +# If we are on a Mac we need to let it know the cross architecture to build for. +# We use x64 for our 64 bit code, but Mac defines it as x86_64. +elif [[ $OS == "Darwin" && $__build_arch == "x64" ]] ; then + __build_arch="x86_64" fi +# Set the ARCHITECTURE for all builds +__cmake_defines="${__cmake_defines} -DARCHITECTURE=${__build_arch}" + cd "$__IntermediatesDir" echo "Building Machine Learning native components from $DIR to $(pwd)" From 630e024c5286e3583f472562b73afae271e2c8ee Mon Sep 17 00:00:00 2001 From: Michael Sharp Date: Mon, 10 May 2021 13:31:11 -0700 Subject: [PATCH 12/16] removed non build related files --- .../UnitTests/TestEntryPoints.cs | 20 ++++++------- .../TestPredictors.cs | 24 ++++++++-------- .../Attributes/LightGBMFactAttribute.cs | 5 +--- .../Attributes/NotSupportedOnArmAttribute.cs | 28 ------------------- .../Attributes/TensorflowFactAttribute.cs | 7 +---- test/Microsoft.ML.TestFramework/GlobalBase.cs | 22 ++++++--------- .../TestCommandBase.cs | 20 ++++++------- 7 files changed, 42 insertions(+), 84 deletions(-) delete mode 100644 test/Microsoft.ML.TestFramework/Attributes/NotSupportedOnArmAttribute.cs diff --git a/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs b/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs index bd9fa84003..d8b900306f 100644 --- a/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs +++ b/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs @@ -1194,7 +1194,7 @@ public void RegressionPermutationFeatureImportance() var args = new ExecuteGraphCommand.Arguments() { GraphPath = jsonPath }; var cmd = new ExecuteGraphCommand(Env, args); cmd.Run(); - + var mlContext = new MLContext(1); var loadedData = mlContext.Data.LoadFromBinary(outputDataPath); Assert.NotNull(loadedData.Schema.GetColumnOrNull("FeatureName")); @@ -2123,7 +2123,7 @@ public void EntryPointMulticlassPipelineEnsemble() } } - [NotSupportedOnArm] + [Fact] public void EntryPointPipelineEnsembleGetSummary() { var dataPath = GetDataPath("breast-cancer-withheader.txt"); @@ -3674,7 +3674,7 @@ public void EntryPointTrainTestMacro() 'TrainingData': '$data2', 'TestingData': '$TestData', 'TransformModel': '$transform', - 'Nodes': [ + 'Nodes': [ { 'Name': 'Trainers.LogisticRegressionBinaryClassifier', 'Inputs': { @@ -3802,7 +3802,7 @@ public void EntryPointChainedTrainTestMacros() 'TrainingData': '$data3', 'TestingData': '$TestData', 'TransformModel': '$CombinedModel', - 'Nodes': [ + 'Nodes': [ { 'Name': 'Trainers.LogisticRegressionBinaryClassifier', 'Inputs': { @@ -3835,7 +3835,7 @@ public void EntryPointChainedTrainTestMacros() 'TrainingData': '$data3', 'TestingData': '$TestData', 'TransformModel': '$CombinedModel', - 'Nodes': [ + 'Nodes': [ { 'Name': 'Trainers.StochasticGradientDescentBinaryClassifier', 'Inputs': { @@ -3964,7 +3964,7 @@ public void EntryPointChainedCrossValMacros() 'TransformModel': '$CombinedModel', 'Kind': 'SignatureBinaryClassifierTrainer', 'NumFolds': 3, - 'Nodes': [ + 'Nodes': [ { 'Name': 'Trainers.LogisticRegressionBinaryClassifier', 'Inputs': { @@ -4052,7 +4052,7 @@ public void EntryPointChainedCrossValMacros() 'PerInstanceMetrics': '$PerInstanceMetrics2', 'ConfusionMatrix': '$ConfusionMatrix2' } - }, + }, ] }"; @@ -4225,7 +4225,7 @@ public void EntryPointNodeSchedulingFields() } } - [NotSupportedOnArm] + [Fact] public void EntryPointLinearPredictorSummary() { var dataPath = GetDataPath("breast-cancer-withheader.txt"); @@ -6891,10 +6891,10 @@ void RankingWithColumnIdEntryPoint() Assert.Equal(10, ndcgArray.Length); Assert.True(ndcgArray[0] > 0); Assert.True(ndcgArray[1] > 0); - Assert.True(ndcgArray[2] > 0); + Assert.True(ndcgArray[2] > 0); Assert.True(ndcgArray[3] > 0); Assert.True(ndcgArray[4] > 0); - Assert.True(ndcgArray[5] > 0); + Assert.True(ndcgArray[5] > 0); Assert.True(ndcgArray[6] > 0); Assert.True(ndcgArray[7] > 0); Assert.True(ndcgArray[8] > 0); diff --git a/test/Microsoft.ML.Predictor.Tests/TestPredictors.cs b/test/Microsoft.ML.Predictor.Tests/TestPredictors.cs index 0a70d1d46c..f59ca10882 100644 --- a/test/Microsoft.ML.Predictor.Tests/TestPredictors.cs +++ b/test/Microsoft.ML.Predictor.Tests/TestPredictors.cs @@ -487,10 +487,10 @@ public void LightGBMClassificationTest() /// /// This test checks that the run-time behavior of LightGBM does not change by modifying the flags - /// used by LightGBM with , and that this change does not affect - /// the features extracted during validation. This is done by checking that an older LightGbm model + /// used by LightGBM with , and that this change does not affect + /// the features extracted during validation. This is done by checking that an older LightGbm model /// trained with produces the same baselines as it did before this change. - /// + /// /// [LightGBMFact] [TestCategory("Binary")] @@ -1193,7 +1193,7 @@ public void RegressorOlsTest() /// /// A test for ordinary least squares regression. /// - [NotSupportedOnArm] + [Fact] [TestCategory("Regressor")] public void RegressorOlsTestOne() { @@ -1342,7 +1342,7 @@ public void RegressorSyntheticOlsTest() float diff = scale * (2 * rgen.NextFloat() - 1) / 3; boundCost += diff * diff; noisyInstances.Add(new Instance(inst.Features, inst.Label + diff, inst.Name, false) { Id = inst.Id }); - // Make sure this solver also works, when we have + // Make sure this solver also works, when we have if (subdefined && 2 * noisyInstances.Count >= model.Length) break; } @@ -2030,7 +2030,7 @@ public void StreamingTimeSeriesAnomalyDetectorTest() #if OLD_TESTS // REVIEW: Need to port Tremble to the new world. /// - /// A test for tremble binary classifier using logistic regression + /// A test for tremble binary classifier using logistic regression /// in leaf and interior nodes /// [Fact(Skip = "Need CoreTLC specific baseline update")] @@ -2049,7 +2049,7 @@ public void BinaryClassifierTrembleTest() } /// - /// A test for tremble multi-class classifier using logistic regression + /// A test for tremble multi-class classifier using logistic regression /// in leaf and interior nodes /// [Fact(Skip = "Need CoreTLC specific baseline update")] @@ -2074,7 +2074,7 @@ public void MulticlassClassificationTrembleTest() [TestCategory("TrembleDecisionTree"), Priority(2)] public void BinaryClassifierDecisionTreeTest() { - var binaryPredictors = new[] { TestLearners.BinaryDecisionTreeDefault, TestLearners.BinaryDecisionTreeGini, + var binaryPredictors = new[] { TestLearners.BinaryDecisionTreeDefault, TestLearners.BinaryDecisionTreeGini, TestLearners.BinaryDecisionTreePruning, TestLearners.BinaryDecisionTreeModified }; var binaryClassificationDatasets = new List(); binaryClassificationDatasets.Add(TestDatasets.breastCancer); @@ -2093,7 +2093,7 @@ public void BinaryClassifierDecisionTreeTest() [TestCategory("TrembleDecisionTree"), Priority(2)] public void BinaryClassifierDecisionTreeWeightingTest() { - var binaryPredictors = new[] { TestLearners.BinaryDecisionTreeDefault, TestLearners.BinaryDecisionTreeGini, + var binaryPredictors = new[] { TestLearners.BinaryDecisionTreeDefault, TestLearners.BinaryDecisionTreeGini, TestLearners.BinaryDecisionTreePruning, TestLearners.BinaryDecisionTreeModified, TestLearners.BinaryDecisionTreeRewt }; var binaryClassificationDatasets = GetDatasetsForClassificationWeightingPredictorsTest(); RunAllTests(binaryPredictors, binaryClassificationDatasets); @@ -2108,7 +2108,7 @@ public void BinaryClassifierDecisionTreeWeightingTest() [TestCategory("TrembleDecisionTree"), Priority(2)] public void MulticlassClassificationDecisionTreeTest() { - var multiClassPredictors = new[] { TestLearners.MulticlassDecisionTreeDefault, TestLearners.MulticlassDecisionTreeGini, + var multiClassPredictors = new[] { TestLearners.MulticlassDecisionTreeDefault, TestLearners.MulticlassDecisionTreeGini, TestLearners.MulticlassDecisionTreePruning, TestLearners.MulticlassDecisionTreeModified }; var multiClassClassificationDatasets = new List(); multiClassClassificationDatasets.Add(TestDatasets.iris); @@ -2127,7 +2127,7 @@ public void MulticlassClassificationDecisionTreeTest() [TestCategory("TrembleDecisionTree"), Priority(2)] public void MulticlassifierDecisionTreeWeightingTest() { - var multiClassPredictors = new[] { TestLearners.MulticlassDecisionTreeDefault, TestLearners.MulticlassDecisionTreeGini, + var multiClassPredictors = new[] { TestLearners.MulticlassDecisionTreeDefault, TestLearners.MulticlassDecisionTreeGini, TestLearners.MulticlassDecisionTreePruning, TestLearners.MulticlassDecisionTreeModified }; var binaryClassificationDatasets = new List(GetDatasetsForClassificationWeightingPredictorsTest()); RunAllTests(multiClassPredictors, binaryClassificationDatasets); @@ -2170,7 +2170,7 @@ public void BinaryClassifierLDSvmNoBiasTest() /// /// A test for field-aware factorization machine. /// - [NotSupportedOnArm] + [Fact] [TestCategory("Binary")] [TestCategory("FieldAwareFactorizationMachine")] public void BinaryClassifierFieldAwareFactorizationMachineTest() diff --git a/test/Microsoft.ML.TestFramework/Attributes/LightGBMFactAttribute.cs b/test/Microsoft.ML.TestFramework/Attributes/LightGBMFactAttribute.cs index 7aae7aae52..fbedec7676 100644 --- a/test/Microsoft.ML.TestFramework/Attributes/LightGBMFactAttribute.cs +++ b/test/Microsoft.ML.TestFramework/Attributes/LightGBMFactAttribute.cs @@ -3,8 +3,6 @@ // See the LICENSE file in the project root for more information. using System; -using static System.Runtime.InteropServices.RuntimeInformation; -using System.Runtime.InteropServices; using Microsoft.ML.TestFrameworkCommon.Attributes; namespace Microsoft.ML.TestFramework.Attributes @@ -21,8 +19,7 @@ public LightGBMFactAttribute() : base("LightGBM is 64-bit only") /// protected override bool IsEnvironmentSupported() { - var architecture = ProcessArchitecture; - return Environment.Is64BitProcess && architecture != Architecture.Arm64 && architecture != Architecture.Arm; + return Environment.Is64BitProcess; } } } \ No newline at end of file diff --git a/test/Microsoft.ML.TestFramework/Attributes/NotSupportedOnArmAttribute.cs b/test/Microsoft.ML.TestFramework/Attributes/NotSupportedOnArmAttribute.cs deleted file mode 100644 index f89f53cd51..0000000000 --- a/test/Microsoft.ML.TestFramework/Attributes/NotSupportedOnArmAttribute.cs +++ /dev/null @@ -1,28 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using static System.Runtime.InteropServices.RuntimeInformation; -using System.Runtime.InteropServices; -using Microsoft.ML.TestFrameworkCommon.Attributes; - -namespace Microsoft.ML.TestFramework.Attributes -{ - /// - /// A fact for tests that can't run on Arm/Arm64. - /// - public sealed class NotSupportedOnArmAttribute : EnvironmentSpecificFactAttribute - { - public NotSupportedOnArmAttribute() : base("This test is not supported on Arm/Arm64") - { - } - - /// - protected override bool IsEnvironmentSupported() - { - var architecture = ProcessArchitecture; - return architecture != Architecture.Arm64 && architecture != Architecture.Arm; - } - } -} \ No newline at end of file diff --git a/test/Microsoft.ML.TestFramework/Attributes/TensorflowFactAttribute.cs b/test/Microsoft.ML.TestFramework/Attributes/TensorflowFactAttribute.cs index c1899233fd..ae6230af51 100644 --- a/test/Microsoft.ML.TestFramework/Attributes/TensorflowFactAttribute.cs +++ b/test/Microsoft.ML.TestFramework/Attributes/TensorflowFactAttribute.cs @@ -4,7 +4,6 @@ using System; using System.Runtime.InteropServices; -using static System.Runtime.InteropServices.RuntimeInformation; using Microsoft.ML.TestFrameworkCommon.Attributes; namespace Microsoft.ML.TestFramework.Attributes @@ -21,13 +20,9 @@ public TensorFlowFactAttribute() : base("TensorFlow is 64-bit only and is not su /// protected override bool IsEnvironmentSupported() { - var architecture = ProcessArchitecture; - return Environment.Is64BitProcess && ( RuntimeInformation.IsOSPlatform(OSPlatform.Windows) || - AttributeHelpers.CheckLibcVersionGreaterThanMinimum(new Version(2, 23))) && - architecture != Architecture.Arm64 && architecture != Architecture.Arm;; - + AttributeHelpers.CheckLibcVersionGreaterThanMinimum(new Version(2, 23))); } } } diff --git a/test/Microsoft.ML.TestFramework/GlobalBase.cs b/test/Microsoft.ML.TestFramework/GlobalBase.cs index 538c50ee8e..76cda4224f 100644 --- a/test/Microsoft.ML.TestFramework/GlobalBase.cs +++ b/test/Microsoft.ML.TestFramework/GlobalBase.cs @@ -3,10 +3,10 @@ // See the LICENSE file in the project root for more information. // Every unit test assembly should call GlobalBase.AssemblyInit() before running any tests. -// Test assembly should have following test also. -// +// Test assembly should have following test also. +// // public void AssertHandlerTest() -// { +// { // GlobalBase.AssertHandlerTest(); // } @@ -25,19 +25,13 @@ public static void AssemblyInit() var prev = Contracts.SetAssertHandler(AssertHandler); Contracts.Check(prev == null, "Expected to replace null assertion handler!"); -#if ARM64 -Console.WriteLine("arm "); -#endif - - // Enable Conditional Numerical Reproducibility - // // https://software.intel.com/en-us/articles/introduction-to-the-conditional-numerical-reproducibility-cnr - // Environment.SetEnvironmentVariable("MKL_CBWR", "COMPATIBLE"); - - // // HACK: ensure MklImports is loaded very early in the tests so it doesn't deadlock while loading it later. - // // See https://github.com/dotnet/machinelearning/issues/1073 - // Mkl.PptrfInternal(Mkl.Layout.RowMajor, Mkl.UpLo.Up, 0, Array.Empty()); + // https://software.intel.com/en-us/articles/introduction-to-the-conditional-numerical-reproducibility-cnr + Environment.SetEnvironmentVariable("MKL_CBWR", "COMPATIBLE"); + // HACK: ensure MklImports is loaded very early in the tests so it doesn't deadlock while loading it later. + // See https://github.com/dotnet/machinelearning/issues/1073 + Mkl.PptrfInternal(Mkl.Layout.RowMajor, Mkl.UpLo.Up, 0, Array.Empty()); } private static class Mkl diff --git a/test/Microsoft.ML.TestFramework/TestCommandBase.cs b/test/Microsoft.ML.TestFramework/TestCommandBase.cs index 136da521a1..05723d8933 100644 --- a/test/Microsoft.ML.TestFramework/TestCommandBase.cs +++ b/test/Microsoft.ML.TestFramework/TestCommandBase.cs @@ -669,7 +669,7 @@ protected bool TestInOutCore(string cmdName, string dataPath, OutputPath modelPa } } - // REVIEW: This class doesn't really belong in a file called TestCommandBase. + // REVIEW: This class doesn't really belong in a file called TestCommandBase. // And the name of this class isn't real suggestive or accurate. public sealed partial class TestDmCommand : TestSteppedDmCommandBase { @@ -712,9 +712,9 @@ public void CommandShowSchemaModel() string.Format( @"train data={{{0}}} loader=Text{{ - header=+ - col=NumFeatures:Num:9-14 - col=CatFeaturesText:TX:0~* + header=+ + col=NumFeatures:Num:9-14 + col=CatFeaturesText:TX:0~* col=Label:Num:0}} xf=Categorical{{col=CatFeatures:CatFeaturesText}} xf=Concat{{col=Features:NumFeatures,CatFeatures}} @@ -958,7 +958,7 @@ public void CommandCrossValidationAndSave() Done(); } - // Purpose of this test is to validate what our code correctly handle situation with + // Purpose of this test is to validate what our code correctly handle situation with // multiple different FastTree (Ranking and Classification for example) instances in different threads. // FastTree internally fails if we try to run it simultaneously and if this happens we wouldn't get model file for training. [TestCategory(Cat)] @@ -1978,7 +1978,7 @@ public void CommandTrainClustering() } [TestCategory(Cat), TestCategory("FieldAwareFactorizationMachine"), TestCategory("Continued Training")] - [NotSupportedOnArm] + [Fact] public void CommandTrainingBinaryFactorizationMachineWithInitialization() { const string loaderArgs = "loader=text{col=Label:0 col=Features:1-*}"; @@ -1994,7 +1994,7 @@ public void CommandTrainingBinaryFactorizationMachineWithInitialization() } [TestCategory(Cat), TestCategory("FieldAwareFactorizationMachine"), TestCategory("Continued Training")] - [NotSupportedOnArm] + [Fact] public void CommandTrainingBinaryFieldAwareFactorizationMachineWithInitialization() { const string loaderArgs = "loader=text{col=Label:0 col=FieldA:1-2 col=FieldB:3-4 col=FieldC:5-6 col=FieldD:7-9}"; @@ -2029,7 +2029,7 @@ public void CommandTrainingBinaryFactorizationMachineWithValidation() } // see https://github.com/dotnet/machinelearning/issues/404 - // in Linux, the clang sqrt() results vary highly from the ones in mac and Windows. + // in Linux, the clang sqrt() results vary highly from the ones in mac and Windows. if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) Assert.True(outputPath.CheckEqualityNormalized(digitsOfPrecision: 4)); else @@ -2063,7 +2063,7 @@ public void CommandTrainingBinaryFieldAwareFactorizationMachineWithValidation() } [TestCategory(Cat), TestCategory("FieldAwareFactorizationMachine"), TestCategory("Continued Training")] - [NotSupportedOnArm] + [Fact] public void CommandTrainingBinaryFactorizationMachineWithValidationAndInitialization() { const string loaderArgs = "loader=text{col=Label:0 col=Features:1-*}"; @@ -2093,7 +2093,7 @@ public void CommandTrainingBinaryFactorizationMachineWithValidationAndInitializa } [TestCategory(Cat), TestCategory("FieldAwareFactorizationMachine"), TestCategory("Continued Training")] - [NotSupportedOnArm] + [Fact] public void CommandTrainingBinaryFieldAwareFactorizationMachineWithValidationAndInitialization() { const string loaderArgs = "loader=text{col=Label:0 col=FieldA:1-2 col=FieldB:3-4 col=FieldC:5-6 col=FieldD:7-9}"; From 07e1fe02f73b1ffc2a088c7c591c145c0436f36d Mon Sep 17 00:00:00 2001 From: Michael Sharp Date: Thu, 13 May 2021 09:17:55 -0700 Subject: [PATCH 13/16] Changes from PR comments. Removal of FastTreeNative flag. --- Directory.Build.props | 7 +- Directory.Build.targets | 10 +- .../Microsoft.ML.AutoML.Samples.csproj | 2 +- .../Microsoft.ML.Samples.GPU.csproj | 8 +- .../Microsoft.ML.Samples.csproj | 8 +- .../Microsoft.ML.Console.csproj | 8 +- .../Dataset/DenseIntArray.cs | 44 ++-- src/Microsoft.ML.FastTree/Dataset/IntArray.cs | 47 ++++- .../Dataset/SegmentIntArray.cs | 48 +++-- .../Dataset/SparseIntArray.cs | 29 ++- src/Microsoft.ML.FastTree/FastTreeRanking.cs | 195 +++++++++--------- .../Microsoft.ML.FastTree.csproj | 1 - .../MatrixFactorizationNative/CMakeLists.txt | 8 +- src/Native/build.sh | 2 +- .../Microsoft.Extensions.ML.Tests.csproj | 6 +- .../Microsoft.ML.AutoML.Tests.csproj | 12 +- .../Microsoft.ML.Benchmarks.Tests.csproj | 6 +- .../Microsoft.ML.CodeGenerator.Tests.csproj | 4 +- .../Microsoft.ML.Core.Tests.csproj | 10 +- ...crosoft.ML.CpuMath.PerformanceTests.csproj | 2 +- .../Microsoft.ML.CpuMath.UnitTests.csproj | 6 +- .../Microsoft.ML.FSharp.Tests.fsproj | 4 +- .../Microsoft.ML.IntegrationTests.csproj | 12 +- .../Microsoft.ML.NightlyBuild.Tests.csproj | 12 +- .../Microsoft.ML.OnnxTransformerTest.csproj | 6 +- .../Microsoft.ML.PerformanceTests.csproj | 8 +- .../Microsoft.ML.Predictor.Tests.csproj | 10 +- .../Microsoft.ML.Sweeper.Tests.csproj | 8 +- .../Microsoft.ML.TestFramework.csproj | 10 +- .../Microsoft.ML.Tests.csproj | 12 +- .../Microsoft.ML.TimeSeries.Tests.csproj | 8 +- 31 files changed, 323 insertions(+), 230 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index c16efd5bfa..b5513ee945 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -29,8 +29,13 @@ Open + + + + + - $(DefineConstants);ARM64 + $(DefineConstants);ARM64 diff --git a/Directory.Build.targets b/Directory.Build.targets index 379ece52cd..7d353a9229 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -27,7 +27,15 @@ - + false + true + false + true + + + - + diff --git a/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj b/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj index aae5581b13..2b54ea24b0 100644 --- a/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj +++ b/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj @@ -28,12 +28,12 @@ - - + + - - + + diff --git a/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj b/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj index f050435275..10f2bf06bc 100644 --- a/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj +++ b/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj @@ -34,12 +34,12 @@ - - + + - - + + True True diff --git a/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj b/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj index f56421a642..6b75cf0717 100644 --- a/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj +++ b/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj @@ -28,13 +28,13 @@ - - + + - - + + diff --git a/src/Microsoft.ML.FastTree/Dataset/DenseIntArray.cs b/src/Microsoft.ML.FastTree/Dataset/DenseIntArray.cs index f7deea1612..ebfc2d6006 100644 --- a/src/Microsoft.ML.FastTree/Dataset/DenseIntArray.cs +++ b/src/Microsoft.ML.FastTree/Dataset/DenseIntArray.cs @@ -24,10 +24,11 @@ internal abstract class DenseIntArray : IntArray, IIntArrayForwardIndexer { public override IntArrayType Type { get { return IntArrayType.Dense; } } - protected DenseIntArray(int length) + protected DenseIntArray(int length, PerformSumup sumupHandler = null) { Contracts.Assert(length >= 0); Length = length; + SumupHandler = sumupHandler; } public override int Length { get; } @@ -70,7 +71,6 @@ public override IntArray[] Split(int[][] assignment) return newArrays; } -#if USE_FASTTREENATIVE internal const string NativePath = "FastTreeNative"; [DllImport(NativePath), SuppressUnmanagedCodeSecurity] private static extern unsafe int C_Sumup_float( @@ -111,8 +111,6 @@ protected static unsafe void SumupCPlusPlusDense(SumupInputData input, FeatureHi } } -#endif - public override IIntArrayForwardIndexer GetIndexer() { return this; @@ -391,18 +389,21 @@ public Dense8BitIntArray(int len) : base(len) { _data = new byte[len]; + SetupSumupHandler(SumupNative, base.Sumup); } public Dense8BitIntArray(byte[] buffer, ref int position) : base(buffer.ToInt(ref position)) { _data = buffer.ToByteArray(ref position); + SetupSumupHandler(SumupNative, base.Sumup); } public Dense8BitIntArray(int len, IEnumerable values) : base(len) { _data = values.Select(i => (byte)i).ToArray(len); + SetupSumupHandler(SumupNative, base.Sumup); } /// @@ -445,8 +446,7 @@ public override unsafe int this[int index] } } -#if USE_FASTTREENATIVE - public override void Sumup(SumupInputData input, FeatureHistogram histogram) + private void SumupNative(SumupInputData input, FeatureHistogram histogram) { unsafe { @@ -456,7 +456,8 @@ public override void Sumup(SumupInputData input, FeatureHistogram histogram) } } } -#endif + + public override void Sumup(SumupInputData input, FeatureHistogram histogram) => SumupHandler(input, histogram); } /// @@ -475,12 +476,14 @@ public Dense4BitIntArray(int len) : base(len) { _data = new byte[(len + 1) / 2]; // Even length = half the bytes. Odd length = half the bytes+0.5. + SetupSumupHandler(SumupNative, base.Sumup); } public Dense4BitIntArray(int len, IEnumerable values) : base(len) { _data = new byte[(len + 1) / 2]; + SetupSumupHandler(SumupNative, base.Sumup); int currentIndex = 0; bool upper = true; @@ -505,6 +508,7 @@ public Dense4BitIntArray(byte[] buffer, ref int position) : base(buffer.ToInt(ref position)) { _data = buffer.ToByteArray(ref position); + SetupSumupHandler(SumupNative, base.Sumup); } /// @@ -565,8 +569,7 @@ public override unsafe int this[int index] } } -#if USE_FASTTREENATIVE - public override void Sumup(SumupInputData input, FeatureHistogram histogram) + public void SumupNative(SumupInputData input, FeatureHistogram histogram) { unsafe { @@ -576,7 +579,8 @@ public override void Sumup(SumupInputData input, FeatureHistogram histogram) } } } -#endif + + public override void Sumup(SumupInputData input, FeatureHistogram histogram) => SumupHandler(input, histogram); } /// @@ -592,18 +596,21 @@ public Dense16BitIntArray(int len) : base(len) { _data = new ushort[len]; + SetupSumupHandler(SumupNative, base.Sumup); } public Dense16BitIntArray(int len, IEnumerable values) : base(len) { _data = values.Select(i => (ushort)i).ToArray(len); + SetupSumupHandler(SumupNative, base.Sumup); } public Dense16BitIntArray(byte[] buffer, ref int position) : base(buffer.ToInt(ref position)) { _data = buffer.ToUShortArray(ref position); + SetupSumupHandler(SumupNative, base.Sumup); } public override unsafe void Callback(Action callback) @@ -648,8 +655,8 @@ public override unsafe int this[int index] _data[index] = (ushort)value; } } -#if USE_FASTTREENATIVE - public override void Sumup(SumupInputData input, FeatureHistogram histogram) + + public void SumupNative(SumupInputData input, FeatureHistogram histogram) { unsafe { @@ -660,7 +667,9 @@ public override void Sumup(SumupInputData input, FeatureHistogram histogram) } } } -#endif + + public override void Sumup(SumupInputData input, FeatureHistogram histogram) => SumupHandler(input, histogram); + } /// @@ -676,18 +685,21 @@ public Dense32BitIntArray(int len) : base(len) { _data = new int[len]; + SetupSumupHandler(SumupNative, base.Sumup); } public Dense32BitIntArray(int len, IEnumerable values) : base(len) { _data = values.ToArray(len); + SetupSumupHandler(SumupNative, base.Sumup); } public Dense32BitIntArray(byte[] buffer, ref int position) : base(buffer.ToInt(ref position)) { _data = buffer.ToIntArray(ref position); + SetupSumupHandler(SumupNative, base.Sumup); } public override unsafe void Callback(Action callback) @@ -733,8 +745,7 @@ public override int this[int index] } } -#if USE_FASTTREENATIVE - public override void Sumup(SumupInputData input, FeatureHistogram histogram) + public void SumupNative(SumupInputData input, FeatureHistogram histogram) { unsafe { @@ -745,6 +756,7 @@ public override void Sumup(SumupInputData input, FeatureHistogram histogram) } } } -#endif + + public override void Sumup(SumupInputData input, FeatureHistogram histogram) => SumupHandler(input, histogram); } } diff --git a/src/Microsoft.ML.FastTree/Dataset/IntArray.cs b/src/Microsoft.ML.FastTree/Dataset/IntArray.cs index a980b760b6..523bb4e1cf 100644 --- a/src/Microsoft.ML.FastTree/Dataset/IntArray.cs +++ b/src/Microsoft.ML.FastTree/Dataset/IntArray.cs @@ -5,6 +5,8 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Runtime.InteropServices; +using System.Security; using Microsoft.ML.Runtime; namespace Microsoft.ML.Trainers.FastTree @@ -32,6 +34,38 @@ internal abstract class IntArray : IEnumerable /// public abstract int Length { get; } + // We can test if the dll is present by calling into a non-existant method. + // If we get an EntryPointNotFoundException then the dll exists and we can use the native code. + // If we get a DllNotFoundException then the dll doesn't exist and we should use the managed fallbacks. + private const string NativePath = "FastTreeNative"; + [DllImport(NativePath), SuppressUnmanagedCodeSecurity] + private static extern void NonExistantMethod(); + + /// + /// Lazy bool that checks if the FastTreeNative dll exists so we know if we should use the native code + /// or the managed fallbacks. + /// + public static Lazy UseFastTreeNative = new(() => + { + try + { + NonExistantMethod(); + } + // If the entry point isn't found then the dll exists and we should use the managed code. + catch(EntryPointNotFoundException) + { + return true; + } + // If any other error is returned we should use the managed fallbacks. + catch + { + return false; + } + + // We will never hit this but we need to have it so every path has a return value. Defaulting to managed fallbacks. + return false; + }); + /// /// Returns the number of bytes written by the member ToByteArray() /// @@ -198,6 +232,17 @@ public static IntArray New(byte[] buffer, ref int position) /// An indexer into the array public abstract IIntArrayForwardIndexer GetIndexer(); + // Used in the child classes so we can set either the native or managed Sumup method one time and then + // never have to check again. + protected delegate void PerformSumup(SumupInputData input, FeatureHistogram histogram); + + // Handler so the child classes don't have to redefine it. If they don't have different logic for native vs managed + // code then they don't need to use this. + protected PerformSumup SumupHandler { get; set; } + + // Helper to setup the SumupHandler for the derived classes that need it. + protected void SetupSumupHandler(PerformSumup native, PerformSumup managed) => SumupHandler = UseFastTreeNative.Value ? native : managed; + public virtual void Sumup(SumupInputData input, FeatureHistogram histogram) { Contracts.Assert((input.Weights == null) == (histogram.SumWeightsByBin == null)); @@ -313,7 +358,7 @@ public IntArray Compress(uint[] workarray = null) int bits = SegmentIntArray.BitsForValue((uint)maxval); if (bits <= 21) { - SegmentIntArray.SegmentFindOptimalPath(workarray, Length, + SegmentIntArray.SegmentFindOptimalPath.Value(workarray, Length, bits, out segBits, out segTransitions); } } diff --git a/src/Microsoft.ML.FastTree/Dataset/SegmentIntArray.cs b/src/Microsoft.ML.FastTree/Dataset/SegmentIntArray.cs index 7fee71b1df..d26e9d0837 100644 --- a/src/Microsoft.ML.FastTree/Dataset/SegmentIntArray.cs +++ b/src/Microsoft.ML.FastTree/Dataset/SegmentIntArray.cs @@ -2,6 +2,7 @@ // The .NET Foundation 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.Linq; using System.Runtime.InteropServices; @@ -40,10 +41,38 @@ public override IntArrayType Type get { return IntArrayType.Segmented; } } + // Delegate defintions so we can store a reference to the native or managed method so we only have to check it once. + public delegate void PerformSegmentFindOptimalPath(uint[] array, int len, int bitsNeeded, out long bits, out int transitions); + public delegate void PerformSegmentFindOptimalCost(uint[] array, int len, int bitsNeeded, out long bits); + + /// + /// Used so we can set either the native or managed SegmentFindOptimalCost method one time and then + /// never have to check again. + /// + public static Lazy SegmentFindOptimalCost = new(() => { + if (UseFastTreeNative.Value) + return NativeSegmentFindOptimalCost; + else + return ManagedSegmentFindOptimalCost; + }); + + /// + /// Used so we can set either the native or managed SegmentFindOptimalPath method one time and then + /// never have to check again. + /// + public static Lazy SegmentFindOptimalPath = new(() => { + if (UseFastTreeNative.Value) + return NativeSegmentFindOptimalPath; + else + return ManagedSegmentFindOptimalPath; + }); + public SegmentIntArray(int length, IEnumerable values) { using (Timer.Time(TimerEvent.SparseConstruction)) { + SetupSumupHandler(SumupCPlusPlus, base.Sumup); + uint[] vals = new uint[length]; uint pos = 0; uint max = 0; @@ -65,7 +94,7 @@ public SegmentIntArray(int length, IEnumerable values) int maxbits = BitsForValue(max); int transitions; long bits; - SegmentFindOptimalPath(vals, vals.Length, maxbits, out bits, out transitions); + SegmentFindOptimalPath.Value(vals, vals.Length, maxbits, out bits, out transitions); var b = FromWorkArray(vals, vals.Length, bits, transitions); _segType = b._segType; _segLength = b._segLength; @@ -388,8 +417,7 @@ public static SegmentIntArray FromWorkArray(uint[] workArray, int len, long bits return new SegmentIntArray(st, sl, data, len); } -#if USE_FASTTREENATIVE - public static void SegmentFindOptimalPath(uint[] array, int len, int bitsNeeded, out long bits, out int transitions) + public static void NativeSegmentFindOptimalPath(uint[] array, int len, int bitsNeeded, out long bits, out int transitions) { if (bitsNeeded <= 15) { @@ -409,7 +437,7 @@ public static void SegmentFindOptimalPath(uint[] array, int len, int bitsNeeded, } } - public static void SegmentFindOptimalCost(uint[] array, int len, int bitsNeeded, out long bits) + public static void NativeSegmentFindOptimalCost(uint[] array, int len, int bitsNeeded, out long bits) { if (bitsNeeded <= 15) { @@ -546,20 +574,18 @@ public unsafe void SumupCPlusPlus(SumupInputData input, FeatureHistogram histogr } } } -#else // when not USE_FASTTREENATIVE - public static void SegmentFindOptimalPath(uint[] array, int len, int bitsNeeded, out long bits, out int transitions) + public static void ManagedSegmentFindOptimalPath(uint[] array, int len, int bitsNeeded, out long bits, out int transitions) { uint max; StatsOfBestEncoding(array, bitsNeeded, true, out bits, out transitions, out max); } - public static void SegmentFindOptimalCost(uint[] array, int len, int bitsNeeded, out long bits) + public static void ManagedSegmentFindOptimalCost(uint[] array, int len, int bitsNeeded, out long bits) { int transitions; uint max; StatsOfBestEncoding(array, bitsNeeded, false, out bits, out transitions, out max); } -#endif // USE_FASTTREENATIVE public override void Sumup(SumupInputData input, FeatureHistogram histogram) { @@ -567,11 +593,7 @@ public override void Sumup(SumupInputData input, FeatureHistogram histogram) { if (_length == 0) return; -#if USE_FASTTREENATIVE - SumupCPlusPlus(input, histogram); -#else - base.Sumup(input, histogram); -#endif + SumupHandler(input, histogram); } } diff --git a/src/Microsoft.ML.FastTree/Dataset/SparseIntArray.cs b/src/Microsoft.ML.FastTree/Dataset/SparseIntArray.cs index 7925893e4f..497e187a48 100644 --- a/src/Microsoft.ML.FastTree/Dataset/SparseIntArray.cs +++ b/src/Microsoft.ML.FastTree/Dataset/SparseIntArray.cs @@ -459,25 +459,26 @@ public override void Sumup(SumupInputData input, FeatureHistogram histogram) { using (Timer.Time(TimerEvent.SumupSparse)) { -#if USE_FASTTREENATIVE - var callbackIntArray = _values as DenseDataCallbackIntArray; - if (callbackIntArray != null) - { - unsafe + if (UseFastTreeNative.Value) { + var callbackIntArray = _values as DenseDataCallbackIntArray; + if (callbackIntArray != null) { - fixed (byte* pDeltas = _deltas) + unsafe { - byte* pDeltas2 = pDeltas; - callbackIntArray.Callback(pValues => + fixed (byte* pDeltas = _deltas) { - SumupCPlusPlusSparse(input, histogram, (byte*)pValues, pDeltas2, _deltas.Length, - _values.BitsPerItem); - }); + byte* pDeltas2 = pDeltas; + callbackIntArray.Callback(pValues => + { + SumupCPlusPlusSparse(input, histogram, (byte*)pValues, pDeltas2, _deltas.Length, + _values.BitsPerItem); + }); + } } + return; } - return; } -#endif + if (input.DocIndices == null) SumupRoot(input, histogram); else @@ -485,7 +486,6 @@ public override void Sumup(SumupInputData input, FeatureHistogram histogram) } } -#if USE_FASTTREENATIVE internal const string NativePath = "FastTreeNative"; [DllImport(NativePath), SuppressUnmanagedCodeSecurity] private static extern unsafe int C_SumupDeltaSparse_float(int numBits, byte* pValues, byte* pDeltas, int numDeltas, int* pIndices, float* pSampleOutputs, double* pSampleOutputWeights, @@ -519,7 +519,6 @@ private unsafe void SumupCPlusPlusSparse(SumupInputData input, FeatureHistogram throw Contracts.Except("CSumup sumupdeltasparse {0}", rv); } } -#endif private class DeltaSparseIntArrayIndexer : IIntArrayForwardIndexer { diff --git a/src/Microsoft.ML.FastTree/FastTreeRanking.cs b/src/Microsoft.ML.FastTree/FastTreeRanking.cs index 8bea39ec31..c3e9974024 100644 --- a/src/Microsoft.ML.FastTree/FastTreeRanking.cs +++ b/src/Microsoft.ML.FastTree/FastTreeRanking.cs @@ -792,119 +792,122 @@ protected override void GetGradientInOneQuery(int query, int threadIndex) { // calculates the permutation that orders "scores" in descending order, without modifying "scores" Array.Copy(_oneTwoThree, permutation, numDocuments); -#if USE_FASTTREENATIVE - PermutationSort(permutation, scoresToUse, labels, numDocuments, begin); - // Get how far about baseline our current - double baselineDcgGap = 0.0; - //baselineDCGGap = ((new Random(query)).NextDouble() * 2 - 1)/inverseMaxDCG; // THIS IS EVIL CODE REMOVE LATER - // Keep track of top 3 labels for later use - GetTopQueryLabels(query, permutation, true); - - if (_useShiftedNdcg) + if (IntArray.UseFastTreeNative.Value) { - // Set non-best (rank-wise) duplicates to be ignored. Set Score to MinValue, Label to 0 - IgnoreNonBestDuplicates(labels, scoresToUse, permutation, Dataset.DupeIds, begin, numDocuments); - } + PermutationSort(permutation, scoresToUse, labels, numDocuments, begin); + // Get how far about baseline our current + double baselineDcgGap = 0.0; + //baselineDCGGap = ((new Random(query)).NextDouble() * 2 - 1)/inverseMaxDCG; // THIS IS EVIL CODE REMOVE LATER + // Keep track of top 3 labels for later use + GetTopQueryLabels(query, permutation, true); - int numActualResults = numDocuments; + if (_useShiftedNdcg) + { + // Set non-best (rank-wise) duplicates to be ignored. Set Score to MinValue, Label to 0 + IgnoreNonBestDuplicates(labels, scoresToUse, permutation, Dataset.DupeIds, begin, numDocuments); + } - // If the const function is ContinuousWeightedRanknet, update output scores - if (_costFunctionParam == 'c') - { - for (int i = begin; i < begin + numDocuments; ++i) + int numActualResults = numDocuments; + + // If the const function is ContinuousWeightedRanknet, update output scores + if (_costFunctionParam == 'c') { - if (pScores[i] == double.MinValue) - { - numActualResults--; - } - else + for (int i = begin; i < begin + numDocuments; ++i) { - pScores[i] = pScores[i] * (1.0 - pLabels[i] * 1.0 / (20.0 * Dataset.DatasetSkeleton.LabelGainMap.Length)); + if (pScores[i] == double.MinValue) + { + numActualResults--; + } + else + { + pScores[i] = pScores[i] * (1.0 - pLabels[i] * 1.0 / (20.0 * Dataset.DatasetSkeleton.LabelGainMap.Length)); + } } } - } - // Continuous cost function and shifted NDCG require a re-sort and recomputation of maxDCG - // (Change of scores in the former and scores and labels in the latter) - if (!_useDcg && (_costFunctionParam == 'c' || _useShiftedNdcg)) - { - PermutationSort(permutation, scoresToUse, labels, numDocuments, begin); - inverseMaxDcg = 1.0 / DcgCalculator.MaxDcgQuery(labels, begin, numDocuments, numDocuments, _labelCounts[query]); - } - // A constant related to secondary labels, which does not exist in the current codebase. - const bool secondaryIsolabelExclusive = false; - GetDerivatives(numDocuments, begin, pPermutation, pLabels, - pScores, pLambdas, pWeights, pDiscount, - inverseMaxDcg, pGainLabels, - _secondaryMetricShare, secondaryIsolabelExclusive, secondaryInverseMaxDcg, pSecondaryGains, - pSigmoidTable, _minScore, _maxScore, _sigmoidTable.Length, _scoreToSigmoidTableFactor, - _costFunctionParam, _distanceWeight2, numActualResults, &lambdaSum, double.MinValue, - _baselineAlphaCurrent, baselineDcgGap); - -#else - if (_useShiftedNdcg || _costFunctionParam == 'c' || _distanceWeight2 || _normalizeQueryLambdas) - { - throw new Exception("Shifted NDCG / ContinuousWeightedRanknet / distanceWeight2 / normalized lambdas are only supported by unmanaged code"); + // Continuous cost function and shifted NDCG require a re-sort and recomputation of maxDCG + // (Change of scores in the former and scores and labels in the latter) + if (!_useDcg && (_costFunctionParam == 'c' || _useShiftedNdcg)) + { + PermutationSort(permutation, scoresToUse, labels, numDocuments, begin); + inverseMaxDcg = 1.0 / DcgCalculator.MaxDcgQuery(labels, begin, numDocuments, numDocuments, _labelCounts[query]); + } + // A constant related to secondary labels, which does not exist in the current codebase. + const bool secondaryIsolabelExclusive = false; + GetDerivatives(numDocuments, begin, pPermutation, pLabels, + pScores, pLambdas, pWeights, pDiscount, + inverseMaxDcg, pGainLabels, + _secondaryMetricShare, secondaryIsolabelExclusive, secondaryInverseMaxDcg, pSecondaryGains, + pSigmoidTable, _minScore, _maxScore, _sigmoidTable.Length, _scoreToSigmoidTableFactor, + _costFunctionParam, _distanceWeight2, numActualResults, &lambdaSum, double.MinValue, + _baselineAlphaCurrent, baselineDcgGap); } - - var comparer = _comparers[threadIndex]; - comparer.Scores = scoresToUse; - comparer.Labels = labels; - comparer.ScoresOffset = begin; - comparer.LabelsOffset = begin; - Array.Sort(permutation, 0, numDocuments, comparer); - - // go over all pairs - double scoreHighMinusLow; - double lambdaP; - double weightP; - double deltaNdcgP; - for (int i = 0; i < numDocuments; ++i) + else { - int high = begin + pPermutation[i]; - if (pLabels[high] == 0) - continue; - double deltaLambdasHigh = 0; - double deltaWeightsHigh = 0; + if (_useShiftedNdcg || _costFunctionParam == 'c' || _distanceWeight2 || _normalizeQueryLambdas) + { + throw new Exception("Shifted NDCG / ContinuousWeightedRanknet / distanceWeight2 / normalized lambdas are only supported by unmanaged code"); + } - for (int j = 0; j < numDocuments; ++j) + var comparer = _comparers[threadIndex]; + comparer.Scores = scoresToUse; + comparer.Labels = labels; + comparer.ScoresOffset = begin; + comparer.LabelsOffset = begin; + Array.Sort(permutation, 0, numDocuments, comparer); + + // go over all pairs + double scoreHighMinusLow; + double lambdaP; + double weightP; + double deltaNdcgP; + for (int i = 0; i < numDocuments; ++i) { - // only consider pairs with different labels, where "high" has a higher label than "low" - if (i == j) - continue; - int low = begin + pPermutation[j]; - if (pLabels[high] <= pLabels[low]) + int high = begin + pPermutation[i]; + if (pLabels[high] == 0) continue; + double deltaLambdasHigh = 0; + double deltaWeightsHigh = 0; - // calculate the lambdaP for this pair - scoreHighMinusLow = pScores[high] - pScores[low]; - - if (scoreHighMinusLow <= _minScore) - lambdaP = _minSigmoid; - else if (scoreHighMinusLow >= _maxScore) - lambdaP = _maxSigmoid; - else - lambdaP = _sigmoidTable[(int)((scoreHighMinusLow - _minScore) * _scoreToSigmoidTableFactor)]; - - weightP = lambdaP * (2.0 - lambdaP); - - // calculate the deltaNDCGP for this pair - deltaNdcgP = - (pGain[pLabels[high]] - pGain[pLabels[low]]) * - Math.Abs((pDiscount[i] - pDiscount[j])) * - inverseMaxDcg; - - // update lambdas and weights - deltaLambdasHigh += lambdaP * deltaNdcgP; - pLambdas[low] -= lambdaP * deltaNdcgP; - deltaWeightsHigh += weightP * deltaNdcgP; - pWeights[low] += weightP * deltaNdcgP; + for (int j = 0; j < numDocuments; ++j) + { + // only consider pairs with different labels, where "high" has a higher label than "low" + if (i == j) + continue; + int low = begin + pPermutation[j]; + if (pLabels[high] <= pLabels[low]) + continue; + + // calculate the lambdaP for this pair + scoreHighMinusLow = pScores[high] - pScores[low]; + + if (scoreHighMinusLow <= _minScore) + lambdaP = _minSigmoid; + else if (scoreHighMinusLow >= _maxScore) + lambdaP = _maxSigmoid; + else + lambdaP = _sigmoidTable[(int)((scoreHighMinusLow - _minScore) * _scoreToSigmoidTableFactor)]; + + weightP = lambdaP * (2.0 - lambdaP); + + // calculate the deltaNDCGP for this pair + deltaNdcgP = + (pGain[pLabels[high]] - pGain[pLabels[low]]) * + Math.Abs((pDiscount[i] - pDiscount[j])) * + inverseMaxDcg; + + // update lambdas and weights + deltaLambdasHigh += lambdaP * deltaNdcgP; + pLambdas[low] -= lambdaP * deltaNdcgP; + deltaWeightsHigh += weightP * deltaNdcgP; + pWeights[low] += weightP * deltaNdcgP; + } + pLambdas[high] += deltaLambdasHigh; + pWeights[high] += deltaWeightsHigh; } - pLambdas[high] += deltaLambdasHigh; - pWeights[high] += deltaWeightsHigh; } -#endif + if (_normalizeQueryLambdas) { if (lambdaSum > 0) diff --git a/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj b/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj index 7b71a88d25..52cc2f11a5 100644 --- a/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj +++ b/src/Microsoft.ML.FastTree/Microsoft.ML.FastTree.csproj @@ -5,7 +5,6 @@ Microsoft.ML.FastTree ML.NET component for FastTree $(DefineConstants);NO_STORE;CORECLR - $(DefineConstants);USE_FASTTREENATIVE true $(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage diff --git a/src/Native/MatrixFactorizationNative/CMakeLists.txt b/src/Native/MatrixFactorizationNative/CMakeLists.txt index 172eeb8e20..301433d2e0 100644 --- a/src/Native/MatrixFactorizationNative/CMakeLists.txt +++ b/src/Native/MatrixFactorizationNative/CMakeLists.txt @@ -9,17 +9,17 @@ endif() include_directories(libmf) if(UNIX) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -pthread -std=c++0x") + if(NOT ${ARCHITECTURE} MATCHES "arm.*") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -pthread -std=c++0x -march=native") - else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -pthread -std=c++0x") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") endif() set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fopenmp") if (APPLE) # Apple silicon and Intel macs store brew in different locations, this finds it no matter where it is. execute_process( - COMMAND brew --prefix libomp + COMMAND brew --prefix libomp RESULT_VARIABLE BREW_LIBOMP OUTPUT_VARIABLE BREW_LIBOMP_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE diff --git a/src/Native/build.sh b/src/Native/build.sh index 6131c2b67d..2b126d9bf5 100755 --- a/src/Native/build.sh +++ b/src/Native/build.sh @@ -108,7 +108,7 @@ OS=$(uname) # If we are cross compiling on Linux we need to set the CMAKE_TOOLCHAIN_FILE if [[ ( $OS_ARCH == "amd64" || $OS_ARCH == "x86_64" ) && ( $__build_arch == "arm64" || $__build_arch == "arm" ) && $OS != "Darwin" ]] ; then - __cmake_defines="${__cmake_defines} -DCMAKE_TOOLCHAIN_FILE=$(pwd)/../../eng/common/cross/toolchain.cmake" + __cmake_defines="${__cmake_defines} -DCMAKE_TOOLCHAIN_FILE=$RootRepo/eng/common/cross/toolchain.cmake" export TARGET_BUILD_ARCH=$__build_arch # If we are on a Mac we need to let it know the cross architecture to build for. diff --git a/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj b/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj index 2f85c15ece..326af0999f 100644 --- a/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj +++ b/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj @@ -21,9 +21,9 @@ - - - + + + diff --git a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj index ff1c7002b8..7e0800ce95 100644 --- a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj +++ b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj @@ -23,14 +23,14 @@ - - - - + + + + - - + + \ No newline at end of file diff --git a/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj b/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj index 6aa0d7d706..9df7fd4b36 100644 --- a/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj +++ b/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj @@ -3,9 +3,9 @@ - - - + + + diff --git a/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj b/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj index be76f85843..c3a34bb966 100644 --- a/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj +++ b/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj @@ -18,8 +18,8 @@ - - + + diff --git a/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj b/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj index ceb995c464..ac8a35dd5a 100644 --- a/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj +++ b/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj @@ -33,12 +33,12 @@ - - - + + + - - + + diff --git a/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj b/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj index b05f5ae786..3a35fc52cb 100644 --- a/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj +++ b/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj @@ -29,7 +29,7 @@ - + diff --git a/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj b/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj index b3dcd20752..d5c54d3234 100644 --- a/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj +++ b/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj @@ -6,12 +6,12 @@ - + - - + + diff --git a/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj b/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj index 3ff3470c70..dc1f4bed45 100644 --- a/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj +++ b/test/Microsoft.ML.FSharp.Tests/Microsoft.ML.FSharp.Tests.fsproj @@ -25,8 +25,8 @@ - - + + \ No newline at end of file diff --git a/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj b/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj index 5e1fb4b1a1..dc5f85ce62 100644 --- a/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj +++ b/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj @@ -34,15 +34,15 @@ - - + + - - - - + + + + diff --git a/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj b/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj index 9e7ce09496..488cef2c37 100644 --- a/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj +++ b/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj @@ -16,14 +16,14 @@ - - + + - - - - + + + + diff --git a/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj b/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj index 9b26417b32..dd5706eafa 100644 --- a/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj +++ b/test/Microsoft.ML.OnnxTransformerTest/Microsoft.ML.OnnxTransformerTest.csproj @@ -32,9 +32,9 @@ - - - + + + diff --git a/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj b/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj index 6e9011a098..c295cb68c9 100644 --- a/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj +++ b/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj @@ -27,9 +27,9 @@ - - - - + + + + diff --git a/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj b/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj index 307ab6483c..2ca73094ce 100644 --- a/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj +++ b/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj @@ -17,11 +17,11 @@ - - - - - + + + + + diff --git a/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj b/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj index 5a095df95d..f2e89976e1 100644 --- a/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj +++ b/test/Microsoft.ML.Sweeper.Tests/Microsoft.ML.Sweeper.Tests.csproj @@ -7,10 +7,10 @@ - - - - + + + + diff --git a/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj b/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj index 98528a6286..d9b057e907 100644 --- a/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj +++ b/test/Microsoft.ML.TestFramework/Microsoft.ML.TestFramework.csproj @@ -23,12 +23,12 @@ - - - + + + - - + + diff --git a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj index af2eb0534e..a0f16dfbab 100644 --- a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj +++ b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj @@ -37,14 +37,14 @@ - - + + - - - - + + + + diff --git a/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj b/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj index 06b446c1f9..d604ec0a9e 100644 --- a/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj +++ b/test/Microsoft.ML.TimeSeries.Tests/Microsoft.ML.TimeSeries.Tests.csproj @@ -9,10 +9,10 @@ - - - - + + + + From 73c3f0fc0af2c8b68c5bd8ad284b3868a6866d78 Mon Sep 17 00:00:00 2001 From: Michael Sharp Date: Mon, 17 May 2021 09:38:15 -0700 Subject: [PATCH 14/16] Changes from pr comments. --- Directory.Build.props | 4 ---- .../Microsoft.ML.Console.csproj | 1 - src/Microsoft.ML.FastTree/Dataset/IntArray.cs | 19 +++---------------- .../Microsoft.ML.Tests.csproj | 1 - 4 files changed, 3 insertions(+), 22 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index b5513ee945..0d23fb5f38 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -34,10 +34,6 @@ - - $(DefineConstants);ARM64 - - $(ArtifactsDir)pkgassets/ $(RepoRoot)pkg/ diff --git a/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj b/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj index 6b75cf0717..75d66afc31 100644 --- a/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj +++ b/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj @@ -32,7 +32,6 @@ - diff --git a/src/Microsoft.ML.FastTree/Dataset/IntArray.cs b/src/Microsoft.ML.FastTree/Dataset/IntArray.cs index 523bb4e1cf..0d7c51c7f2 100644 --- a/src/Microsoft.ML.FastTree/Dataset/IntArray.cs +++ b/src/Microsoft.ML.FastTree/Dataset/IntArray.cs @@ -42,28 +42,15 @@ internal abstract class IntArray : IEnumerable private static extern void NonExistantMethod(); /// - /// Lazy bool that checks if the FastTreeNative dll exists so we know if we should use the native code + /// Lazy bool that checks if we are on x86/x64 so we know if we should use the native code /// or the managed fallbacks. /// public static Lazy UseFastTreeNative = new(() => { - try - { - NonExistantMethod(); - } - // If the entry point isn't found then the dll exists and we should use the managed code. - catch(EntryPointNotFoundException) - { + if (RuntimeInformation.ProcessArchitecture == Architecture.X64 || RuntimeInformation.ProcessArchitecture == Architecture.X86) return true; - } - // If any other error is returned we should use the managed fallbacks. - catch - { + else return false; - } - - // We will never hit this but we need to have it so every path has a return value. Defaulting to managed fallbacks. - return false; }); /// diff --git a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj index a0f16dfbab..23e925133a 100644 --- a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj +++ b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj @@ -35,7 +35,6 @@ - From 629b4e6ed8bf4c402cd0dae05f819d79ed03c114 Mon Sep 17 00:00:00 2001 From: Michael Sharp Date: Mon, 17 May 2021 13:45:59 -0700 Subject: [PATCH 15/16] Fixes from PR comments. --- Directory.Build.props | 5 ----- Directory.Build.targets | 7 ++++++- .../Microsoft.ML.Console.csproj | 2 +- src/Microsoft.ML.FastTree/Dataset/IntArray.cs | 20 +++---------------- .../Dataset/SegmentIntArray.cs | 4 ++-- .../Dataset/SparseIntArray.cs | 2 +- src/Microsoft.ML.FastTree/FastTreeRanking.cs | 2 +- .../Microsoft.Extensions.ML.Tests.csproj | 4 ++-- .../Microsoft.ML.AutoML.Tests.csproj | 5 ++--- .../UnitTests/TestEntryPoints.cs | 16 +++++++-------- ...crosoft.ML.CpuMath.PerformanceTests.csproj | 12 +++++------ .../Microsoft.ML.CpuMath.UnitTests.csproj | 6 +++--- .../Microsoft.ML.IntegrationTests.csproj | 3 +-- .../Microsoft.ML.NightlyBuild.Tests.csproj | 1 - .../Microsoft.ML.Predictor.Tests.csproj | 1 - .../Attributes/TensorflowFactAttribute.cs | 1 + test/Microsoft.ML.TestFramework/GlobalBase.cs | 6 +++--- .../TestCommandBase.cs | 12 +++++------ 18 files changed, 46 insertions(+), 63 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 0d23fb5f38..28e1f6527d 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -29,11 +29,6 @@ Open - - - - - $(ArtifactsDir)pkgassets/ $(RepoRoot)pkg/ diff --git a/Directory.Build.targets b/Directory.Build.targets index 7d353a9229..cec5371eae 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -27,11 +27,16 @@ + + + + + false true false - true + true - + diff --git a/src/Microsoft.ML.FastTree/Dataset/IntArray.cs b/src/Microsoft.ML.FastTree/Dataset/IntArray.cs index 0d7c51c7f2..5401667c5a 100644 --- a/src/Microsoft.ML.FastTree/Dataset/IntArray.cs +++ b/src/Microsoft.ML.FastTree/Dataset/IntArray.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; -using System.Security; using Microsoft.ML.Runtime; namespace Microsoft.ML.Trainers.FastTree @@ -34,24 +33,11 @@ internal abstract class IntArray : IEnumerable /// public abstract int Length { get; } - // We can test if the dll is present by calling into a non-existant method. - // If we get an EntryPointNotFoundException then the dll exists and we can use the native code. - // If we get a DllNotFoundException then the dll doesn't exist and we should use the managed fallbacks. - private const string NativePath = "FastTreeNative"; - [DllImport(NativePath), SuppressUnmanagedCodeSecurity] - private static extern void NonExistantMethod(); - /// - /// Lazy bool that checks if we are on x86/x64 so we know if we should use the native code + /// Bool that checks if we are on x86/x64 so we know if we should use the native code /// or the managed fallbacks. /// - public static Lazy UseFastTreeNative = new(() => - { - if (RuntimeInformation.ProcessArchitecture == Architecture.X64 || RuntimeInformation.ProcessArchitecture == Architecture.X86) - return true; - else - return false; - }); + public static bool UseFastTreeNative => RuntimeInformation.ProcessArchitecture == Architecture.X64 || RuntimeInformation.ProcessArchitecture == Architecture.X86; /// /// Returns the number of bytes written by the member ToByteArray() @@ -228,7 +214,7 @@ public static IntArray New(byte[] buffer, ref int position) protected PerformSumup SumupHandler { get; set; } // Helper to setup the SumupHandler for the derived classes that need it. - protected void SetupSumupHandler(PerformSumup native, PerformSumup managed) => SumupHandler = UseFastTreeNative.Value ? native : managed; + protected void SetupSumupHandler(PerformSumup native, PerformSumup managed) => SumupHandler = UseFastTreeNative ? native : managed; public virtual void Sumup(SumupInputData input, FeatureHistogram histogram) { diff --git a/src/Microsoft.ML.FastTree/Dataset/SegmentIntArray.cs b/src/Microsoft.ML.FastTree/Dataset/SegmentIntArray.cs index d26e9d0837..d3589f1e20 100644 --- a/src/Microsoft.ML.FastTree/Dataset/SegmentIntArray.cs +++ b/src/Microsoft.ML.FastTree/Dataset/SegmentIntArray.cs @@ -50,7 +50,7 @@ public override IntArrayType Type /// never have to check again. /// public static Lazy SegmentFindOptimalCost = new(() => { - if (UseFastTreeNative.Value) + if (UseFastTreeNative) return NativeSegmentFindOptimalCost; else return ManagedSegmentFindOptimalCost; @@ -61,7 +61,7 @@ public override IntArrayType Type /// never have to check again. /// public static Lazy SegmentFindOptimalPath = new(() => { - if (UseFastTreeNative.Value) + if (UseFastTreeNative) return NativeSegmentFindOptimalPath; else return ManagedSegmentFindOptimalPath; diff --git a/src/Microsoft.ML.FastTree/Dataset/SparseIntArray.cs b/src/Microsoft.ML.FastTree/Dataset/SparseIntArray.cs index 497e187a48..165dd2ea8a 100644 --- a/src/Microsoft.ML.FastTree/Dataset/SparseIntArray.cs +++ b/src/Microsoft.ML.FastTree/Dataset/SparseIntArray.cs @@ -459,7 +459,7 @@ public override void Sumup(SumupInputData input, FeatureHistogram histogram) { using (Timer.Time(TimerEvent.SumupSparse)) { - if (UseFastTreeNative.Value) { + if (UseFastTreeNative) { var callbackIntArray = _values as DenseDataCallbackIntArray; if (callbackIntArray != null) { diff --git a/src/Microsoft.ML.FastTree/FastTreeRanking.cs b/src/Microsoft.ML.FastTree/FastTreeRanking.cs index c3e9974024..57b6d2df1d 100644 --- a/src/Microsoft.ML.FastTree/FastTreeRanking.cs +++ b/src/Microsoft.ML.FastTree/FastTreeRanking.cs @@ -793,7 +793,7 @@ protected override void GetGradientInOneQuery(int query, int threadIndex) // calculates the permutation that orders "scores" in descending order, without modifying "scores" Array.Copy(_oneTwoThree, permutation, numDocuments); - if (IntArray.UseFastTreeNative.Value) + if (IntArray.UseFastTreeNative) { PermutationSort(permutation, scoresToUse, labels, numDocuments, begin); // Get how far about baseline our current diff --git a/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj b/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj index 326af0999f..2105028eea 100644 --- a/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj +++ b/test/Microsoft.Extensions.ML.Tests/Microsoft.Extensions.ML.Tests.csproj @@ -19,13 +19,13 @@ - + - + Always diff --git a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj index 7e0800ce95..fad409f5f0 100644 --- a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj +++ b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj @@ -5,13 +5,13 @@ - + - + PreserveNewest @@ -21,7 +21,6 @@ - diff --git a/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs b/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs index d8b900306f..c58531fa0d 100644 --- a/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs +++ b/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs @@ -1194,7 +1194,7 @@ public void RegressionPermutationFeatureImportance() var args = new ExecuteGraphCommand.Arguments() { GraphPath = jsonPath }; var cmd = new ExecuteGraphCommand(Env, args); cmd.Run(); - + var mlContext = new MLContext(1); var loadedData = mlContext.Data.LoadFromBinary(outputDataPath); Assert.NotNull(loadedData.Schema.GetColumnOrNull("FeatureName")); @@ -3674,7 +3674,7 @@ public void EntryPointTrainTestMacro() 'TrainingData': '$data2', 'TestingData': '$TestData', 'TransformModel': '$transform', - 'Nodes': [ + 'Nodes': [ { 'Name': 'Trainers.LogisticRegressionBinaryClassifier', 'Inputs': { @@ -3802,7 +3802,7 @@ public void EntryPointChainedTrainTestMacros() 'TrainingData': '$data3', 'TestingData': '$TestData', 'TransformModel': '$CombinedModel', - 'Nodes': [ + 'Nodes': [ { 'Name': 'Trainers.LogisticRegressionBinaryClassifier', 'Inputs': { @@ -3835,7 +3835,7 @@ public void EntryPointChainedTrainTestMacros() 'TrainingData': '$data3', 'TestingData': '$TestData', 'TransformModel': '$CombinedModel', - 'Nodes': [ + 'Nodes': [ { 'Name': 'Trainers.StochasticGradientDescentBinaryClassifier', 'Inputs': { @@ -3964,7 +3964,7 @@ public void EntryPointChainedCrossValMacros() 'TransformModel': '$CombinedModel', 'Kind': 'SignatureBinaryClassifierTrainer', 'NumFolds': 3, - 'Nodes': [ + 'Nodes': [ { 'Name': 'Trainers.LogisticRegressionBinaryClassifier', 'Inputs': { @@ -4052,7 +4052,7 @@ public void EntryPointChainedCrossValMacros() 'PerInstanceMetrics': '$PerInstanceMetrics2', 'ConfusionMatrix': '$ConfusionMatrix2' } - }, + }, ] }"; @@ -6891,10 +6891,10 @@ void RankingWithColumnIdEntryPoint() Assert.Equal(10, ndcgArray.Length); Assert.True(ndcgArray[0] > 0); Assert.True(ndcgArray[1] > 0); - Assert.True(ndcgArray[2] > 0); + Assert.True(ndcgArray[2] > 0); Assert.True(ndcgArray[3] > 0); Assert.True(ndcgArray[4] > 0); - Assert.True(ndcgArray[5] > 0); + Assert.True(ndcgArray[5] > 0); Assert.True(ndcgArray[6] > 0); Assert.True(ndcgArray[7] > 0); Assert.True(ndcgArray[8] > 0); diff --git a/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj b/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj index 3a35fc52cb..4e79957fd5 100644 --- a/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj +++ b/test/Microsoft.ML.CpuMath.PerformanceTests/Microsoft.ML.CpuMath.PerformanceTests.csproj @@ -6,32 +6,32 @@ true false true - + - + - + - + - + PreserveNewest diff --git a/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj b/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj index d5c54d3234..e3ece97b3d 100644 --- a/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj +++ b/test/Microsoft.ML.CpuMath.UnitTests/Microsoft.ML.CpuMath.UnitTests.csproj @@ -4,7 +4,7 @@ - + @@ -13,11 +13,11 @@ - + PreserveNewest - + \ No newline at end of file diff --git a/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj b/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj index dc5f85ce62..d925c75212 100644 --- a/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj +++ b/test/Microsoft.ML.IntegrationTests/Microsoft.ML.IntegrationTests.csproj @@ -9,7 +9,7 @@ false true - + @@ -38,7 +38,6 @@ - diff --git a/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj b/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj index 488cef2c37..4e8f8106ab 100644 --- a/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj +++ b/test/Microsoft.ML.NightlyBuild.Tests/Microsoft.ML.NightlyBuild.Tests.csproj @@ -14,7 +14,6 @@ - diff --git a/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj b/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj index 2ca73094ce..55ac586111 100644 --- a/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj +++ b/test/Microsoft.ML.Predictor.Tests/Microsoft.ML.Predictor.Tests.csproj @@ -15,7 +15,6 @@ - diff --git a/test/Microsoft.ML.TestFramework/Attributes/TensorflowFactAttribute.cs b/test/Microsoft.ML.TestFramework/Attributes/TensorflowFactAttribute.cs index ae6230af51..d2376ef3ac 100644 --- a/test/Microsoft.ML.TestFramework/Attributes/TensorflowFactAttribute.cs +++ b/test/Microsoft.ML.TestFramework/Attributes/TensorflowFactAttribute.cs @@ -23,6 +23,7 @@ protected override bool IsEnvironmentSupported() return Environment.Is64BitProcess && ( RuntimeInformation.IsOSPlatform(OSPlatform.Windows) || AttributeHelpers.CheckLibcVersionGreaterThanMinimum(new Version(2, 23))); + } } } diff --git a/test/Microsoft.ML.TestFramework/GlobalBase.cs b/test/Microsoft.ML.TestFramework/GlobalBase.cs index 76cda4224f..3f366b837e 100644 --- a/test/Microsoft.ML.TestFramework/GlobalBase.cs +++ b/test/Microsoft.ML.TestFramework/GlobalBase.cs @@ -3,10 +3,10 @@ // See the LICENSE file in the project root for more information. // Every unit test assembly should call GlobalBase.AssemblyInit() before running any tests. -// Test assembly should have following test also. -// +// Test assembly should have following test also. +// // public void AssertHandlerTest() -// { +// { // GlobalBase.AssertHandlerTest(); // } diff --git a/test/Microsoft.ML.TestFramework/TestCommandBase.cs b/test/Microsoft.ML.TestFramework/TestCommandBase.cs index 05723d8933..c634296e23 100644 --- a/test/Microsoft.ML.TestFramework/TestCommandBase.cs +++ b/test/Microsoft.ML.TestFramework/TestCommandBase.cs @@ -669,7 +669,7 @@ protected bool TestInOutCore(string cmdName, string dataPath, OutputPath modelPa } } - // REVIEW: This class doesn't really belong in a file called TestCommandBase. + // REVIEW: This class doesn't really belong in a file called TestCommandBase. // And the name of this class isn't real suggestive or accurate. public sealed partial class TestDmCommand : TestSteppedDmCommandBase { @@ -712,9 +712,9 @@ public void CommandShowSchemaModel() string.Format( @"train data={{{0}}} loader=Text{{ - header=+ - col=NumFeatures:Num:9-14 - col=CatFeaturesText:TX:0~* + header=+ + col=NumFeatures:Num:9-14 + col=CatFeaturesText:TX:0~* col=Label:Num:0}} xf=Categorical{{col=CatFeatures:CatFeaturesText}} xf=Concat{{col=Features:NumFeatures,CatFeatures}} @@ -958,7 +958,7 @@ public void CommandCrossValidationAndSave() Done(); } - // Purpose of this test is to validate what our code correctly handle situation with + // Purpose of this test is to validate what our code correctly handle situation with // multiple different FastTree (Ranking and Classification for example) instances in different threads. // FastTree internally fails if we try to run it simultaneously and if this happens we wouldn't get model file for training. [TestCategory(Cat)] @@ -2029,7 +2029,7 @@ public void CommandTrainingBinaryFactorizationMachineWithValidation() } // see https://github.com/dotnet/machinelearning/issues/404 - // in Linux, the clang sqrt() results vary highly from the ones in mac and Windows. + // in Linux, the clang sqrt() results vary highly from the ones in mac and Windows. if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) Assert.True(outputPath.CheckEqualityNormalized(digitsOfPrecision: 4)); else From b207b5649ad4a72defd06c4d94353c637f560393 Mon Sep 17 00:00:00 2001 From: Michael Sharp Date: Mon, 17 May 2021 20:22:01 -0700 Subject: [PATCH 16/16] Changed how we are excluding files. --- Directory.Build.targets | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/Directory.Build.targets b/Directory.Build.targets index cec5371eae..dfeedf59e1 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -27,20 +27,15 @@ - - - + + + + + + - - false - true - false - true - - -