diff --git a/WPinternals.sln b/WPinternals.sln index 51ba9f7..f4fa207 100644 --- a/WPinternals.sln +++ b/WPinternals.sln @@ -7,7 +7,18 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WPinternals", "WPinternals\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RootAccessTestUWP", "RootAccessTestUWP\RootAccessTestUWP.csproj", "{8B6AADBB-C750-492E-AF60-82F6323401CC}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPinternalsSDK.WP81", "WPinternalsSDK.WP81\WPinternalsSDK.WP81.csproj", "{25D167AB-D58A-4195-8EF7-E736F330822C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPinternalsSDK.UWP", "WPinternalsSDK.UWP\WPinternalsSDK.UWP.csproj", "{53EDF96D-D4F7-476C-9030-C29AD132719D}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "WPinternalsSDK", "WPinternalsSDK\WPinternalsSDK.shproj", "{D29275F2-BB58-44A2-81E1-96D68C4C48DB}" +EndProject Global + GlobalSection(SharedMSBuildProjectFiles) = preSolution + WPinternalsSDK\WPinternalsSDK.projitems*{25d167ab-d58a-4195-8ef7-e736f330822c}*SharedItemsImports = 4 + WPinternalsSDK\WPinternalsSDK.projitems*{53edf96d-d4f7-476c-9030-c29ad132719d}*SharedItemsImports = 4 + WPinternalsSDK\WPinternalsSDK.projitems*{d29275f2-bb58-44a2-81e1-96d68c4c48db}*SharedItemsImports = 13 + EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Debug|ARM = Debug|ARM @@ -1327,6 +1338,886 @@ Global {8B6AADBB-C750-492E-AF60-82F6323401CC}.Release-Test|x86.ActiveCfg = Release|x86 {8B6AADBB-C750-492E-AF60-82F6323401CC}.Release-Test|x86.Build.0 = Release|x86 {8B6AADBB-C750-492E-AF60-82F6323401CC}.Release-Test|x86.Deploy.0 = Release|x86 + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|Any CPU.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|Any CPU.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|ARM.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|ARM.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|ARM64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|ARM64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|x64.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|x64.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|x86.ActiveCfg = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|x86.Build.0 = Debug|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|Any CPU.Build.0 = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|ARM.ActiveCfg = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|ARM.Build.0 = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|ARM64.ActiveCfg = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|ARM64.Build.0 = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|x64.ActiveCfg = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|x64.Build.0 = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|x86.ActiveCfg = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|x86.Build.0 = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|Any CPU.ActiveCfg = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|Any CPU.Build.0 = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|ARM.ActiveCfg = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|ARM.Build.0 = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|ARM64.ActiveCfg = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|ARM64.Build.0 = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|x64.ActiveCfg = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|x64.Build.0 = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|x86.ActiveCfg = Release|Any CPU + {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|x86.Build.0 = Release|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|Any CPU.ActiveCfg = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|Any CPU.Build.0 = Debug|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|ARM.ActiveCfg = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|ARM.Build.0 = Debug|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|ARM64.ActiveCfg = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|ARM64.Build.0 = Debug|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|x64.ActiveCfg = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|x64.Build.0 = Debug|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|x86.ActiveCfg = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|x86.Build.0 = Debug|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|Any CPU.Build.0 = Release|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|ARM.ActiveCfg = Release|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|ARM.Build.0 = Release|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|ARM64.ActiveCfg = Release|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|ARM64.Build.0 = Release|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|x64.ActiveCfg = Release|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|x64.Build.0 = Release|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|x86.ActiveCfg = Release|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|x86.Build.0 = Release|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|Any CPU.ActiveCfg = Release|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|Any CPU.Build.0 = Release|Any CPU + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|ARM.ActiveCfg = Release|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|ARM.Build.0 = Release|ARM + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|ARM64.ActiveCfg = Release|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|ARM64.Build.0 = Release|ARM64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|x64.ActiveCfg = Release|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|x64.Build.0 = Release|x64 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|x86.ActiveCfg = Release|x86 + {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/WPinternalsSDK.UWP/Properties/WPinternalsSDK.UWP.rd.xml b/WPinternalsSDK.UWP/Properties/WPinternalsSDK.UWP.rd.xml new file mode 100644 index 0000000..90b020c --- /dev/null +++ b/WPinternalsSDK.UWP/Properties/WPinternalsSDK.UWP.rd.xml @@ -0,0 +1,33 @@ + + + + + + + + + diff --git a/WPinternalsSDK.UWP/WPinternalsSDK.UWP.csproj b/WPinternalsSDK.UWP/WPinternalsSDK.UWP.csproj new file mode 100644 index 0000000..46d8453 --- /dev/null +++ b/WPinternalsSDK.UWP/WPinternalsSDK.UWP.csproj @@ -0,0 +1,142 @@ + + + + + Debug + AnyCPU + {53EDF96D-D4F7-476C-9030-C29AD132719D} + Library + Properties + WPinternalsSDK.UWP + WPinternalsSDK.UWP + en-US + UAP + 10.0.22000.0 + 10.0.10240.0 + 14 + 512 + {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + prompt + 4 + + + x86 + true + bin\x86\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + false + prompt + + + x86 + bin\x86\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + false + prompt + + + ARM + true + bin\ARM\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + false + prompt + + + ARM + bin\ARM\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + false + prompt + + + ARM64 + true + bin\ARM64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + false + prompt + + + ARM64 + bin\ARM64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + false + prompt + + + x64 + true + bin\x64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + false + prompt + + + x64 + bin\x64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + false + prompt + + + PackageReference + + + + + + + 6.2.12 + + + + + 14.0 + + + + \ No newline at end of file diff --git a/WPinternalsSDK.WP81/WPinternalsSDK.WP81.csproj b/WPinternalsSDK.WP81/WPinternalsSDK.WP81.csproj new file mode 100644 index 0000000..3ee5849 --- /dev/null +++ b/WPinternalsSDK.WP81/WPinternalsSDK.WP81.csproj @@ -0,0 +1,53 @@ + + + + + Debug + AnyCPU + {25D167AB-D58A-4195-8EF7-E736F330822C} + Library + WPinternalsSDK + WPinternalsSDK + v8.1 + WindowsPhoneApp + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WPinternalsSDK/CreationDisposition.cs b/WPinternalsSDK/CreationDisposition.cs new file mode 100644 index 0000000..477d60d --- /dev/null +++ b/WPinternalsSDK/CreationDisposition.cs @@ -0,0 +1,14 @@ +using System; + +namespace WPinternalsSDK +{ + public enum CreationDisposition + { + CreateNew = 1, + CreateAlways, + OpenExisting, + OpenAlways, + TruncateExisting, + OpenForLoader + } +} diff --git a/WPinternalsSDK/Environment.cs b/WPinternalsSDK/Environment.cs new file mode 100644 index 0000000..3bc29eb --- /dev/null +++ b/WPinternalsSDK/Environment.cs @@ -0,0 +1,74 @@ +using System; +using System.Runtime.InteropServices; + +namespace WPinternalsSDK +{ + public static class Environment + { + public static bool HasRootAccess() + { + bool result = true; + try + { + new Folder("C:\\Windows\\System32\\config").GetSubItems(); + } + catch + { + result = false; + } + try + { + new RegistryKey((RegistryHive)2147483650U, "Security").GetSubItems(); + } + catch + { + result = false; + } + try + { + Environment.ShellExecute("C:\\WINDOWS\\SYSTEM32\\INSTALLAGENT.EXE"); + } + catch + { + result = false; + } + return result; + } + + public static void Elevate() + { + IntPtr intPtr; + UIntPtr uintPtr; + UIntPtr uintPtr2; + uint num; + if (!Win32.LogonUserExEx("DefApps", "", "", 2U, 0U, UIntPtr.Zero, out intPtr, out uintPtr, out uintPtr2, out num, UIntPtr.Zero)) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Elevate failed"); + } + } + + public static void ShellExecute(string Application) + { + Environment.ShellExecute(Application, null); + } + + public static void ShellExecute(string Application, string Arguments) + { + PROCESS_INFORMATION process_INFORMATION = default(PROCESS_INFORMATION); + STARTUPINFO startupinfo = default(STARTUPINFO); + if (!Win32.CreateProcess(Application, Arguments, UIntPtr.Zero, UIntPtr.Zero, false, 32U, IntPtr.Zero, null, ref startupinfo, out process_INFORMATION)) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "CreateProcess failed"); + } + if (process_INFORMATION.hProcess != IntPtr.Zero && process_INFORMATION.hProcess != (IntPtr)(-1)) + { + Win32.CloseHandle(process_INFORMATION.hProcess); + } + if (process_INFORMATION.hThread != IntPtr.Zero && process_INFORMATION.hThread != (IntPtr)(-1)) + { + Win32.CloseHandle(process_INFORMATION.hThread); + return; + } + } + } +} diff --git a/WPinternalsSDK/FILETIME.cs b/WPinternalsSDK/FILETIME.cs new file mode 100644 index 0000000..6eebd02 --- /dev/null +++ b/WPinternalsSDK/FILETIME.cs @@ -0,0 +1,11 @@ +using System; + +namespace WPinternalsSDK +{ + internal struct FILETIME + { + public uint DateTimeLow; + + public uint DateTimeHigh; + } +} diff --git a/WPinternalsSDK/File.cs b/WPinternalsSDK/File.cs new file mode 100644 index 0000000..6c2b314 --- /dev/null +++ b/WPinternalsSDK/File.cs @@ -0,0 +1,37 @@ +using System; + +namespace WPinternalsSDK +{ + public class File : FileSystemEntry + { + public File(string Path, FileAttributes Attributes) : base(Path, Attributes) + { + } + + public ulong Size + { + get + { + if (!this.sizeQueried) + { + this.size = FileSystem.GetFileSize(base.Path); + } + return this.size; + } + internal set + { + this.size = value; + this.sizeQueried = true; + } + } + + public override string ToString() + { + return base.Path; + } + + private bool sizeQueried; + + private ulong size; + } +} diff --git a/WPinternalsSDK/FileAccess.cs b/WPinternalsSDK/FileAccess.cs new file mode 100644 index 0000000..38b71fb --- /dev/null +++ b/WPinternalsSDK/FileAccess.cs @@ -0,0 +1,40 @@ +using System; + +namespace WPinternalsSDK +{ + [Flags] + internal enum FileAccess : uint + { + AccessSystemSecurity = 16777216U, + MaximumAllowed = 33554432U, + Delete = 65536U, + ReadControl = 131072U, + WriteDAC = 262144U, + WriteOwner = 524288U, + Synchronize = 1048576U, + StandardRightsRequired = 983040U, + StandardRightsRead = 131072U, + StandardRightsWrite = 131072U, + StandardRightsExecute = 131072U, + StandardRightsAll = 2031616U, + SpecificRightsAll = 65535U, + ReadData = 1U, + ListDirectory = 1U, + WriteData = 2U, + AddFile = 2U, + AppendData = 4U, + AddSubdirectory = 4U, + CreatePipeInstance = 4U, + ReadEa = 8U, + WriteEa = 16U, + Execute = 32U, + Traverse = 32U, + DeleteChild = 64U, + ReadAttributes = 128U, + WriteAttributes = 256U, + GenericRead = 2147483648U, + GenericWrite = 1073741824U, + GenericExecute = 536870912U, + GenericAll = 268435456U + } +} diff --git a/WPinternalsSDK/FileAttributes.cs b/WPinternalsSDK/FileAttributes.cs new file mode 100644 index 0000000..31db876 --- /dev/null +++ b/WPinternalsSDK/FileAttributes.cs @@ -0,0 +1,36 @@ +using System; + +namespace WPinternalsSDK +{ + [Flags] + public enum FileAttributes : uint + { + Invalid = 4294967295U, + Readonly = 1U, + Hidden = 2U, + System = 4U, + Directory = 16U, + Archive = 32U, + Device = 64U, + Normal = 128U, + Temporary = 256U, + SparseFile = 512U, + ReparsePoint = 1024U, + Compressed = 2048U, + Offline = 4096U, + NotContentIndexed = 8192U, + Encrypted = 16384U, + Virtual = 65536U, + BackupSemantics = 33554432U, + DeleteOnClose = 67108864U, + NoBuffering = 536870912U, + OpenNoRecall = 1048576U, + OpenReparsePoint = 2097152U, + Overlapped = 1073741824U, + PosixSemantics = 1048576U, + RandomAccess = 268435456U, + SessionAware = 8388608U, + SequentialScan = 134217728U, + WriteThrough = 2147483648U + } +} diff --git a/WPinternalsSDK/FileStream.cs b/WPinternalsSDK/FileStream.cs new file mode 100644 index 0000000..2665025 --- /dev/null +++ b/WPinternalsSDK/FileStream.cs @@ -0,0 +1,254 @@ +using System; +using System.IO; +using System.Runtime.InteropServices; + +namespace WPinternalsSDK +{ + public class FileStream : Stream + { + public FileStream(string Path, FileStreamMode Mode) + { + try + { + this.path = Path; + this.mode = Mode; + switch (this.mode) + { + case FileStreamMode.Read: + this.length = (uint)FileSystem.GetFileSize(this.path); + if (this.length > 0U) + { + this.hFile = Win32.CreateFile(this.path, (FileAccess)2147483648U, ShareMode.Read | ShareMode.Write, IntPtr.Zero, CreationDisposition.OpenExisting, FileAttributes.Normal, IntPtr.Zero); + } + break; + case FileStreamMode.Write: + this.hFile = Win32.CreateFile(this.path, FileAccess.GenericWrite, ShareMode.None, IntPtr.Zero, CreationDisposition.CreateAlways, FileAttributes.Normal, IntPtr.Zero); + break; + case FileStreamMode.ReadWrite: + if (FileSystem.FileExists(this.path)) + { + this.length = (uint)FileSystem.GetFileSize(this.path); + } + this.hFile = Win32.CreateFile(this.path, (FileAccess)3221225472U, ShareMode.None, IntPtr.Zero, CreationDisposition.OpenAlways, FileAttributes.Normal, IntPtr.Zero); + break; + } + this.open = true; + } + catch + { + throw; + } + } + + public override bool CanRead + { + get + { + return (this.mode == FileStreamMode.Read || this.mode == FileStreamMode.ReadWrite) && this.open; + } + } + + public override bool CanSeek + { + get + { + return true; + } + } + + public override bool CanWrite + { + get + { + return (this.mode == FileStreamMode.Write || this.mode == FileStreamMode.ReadWrite) && this.open; + } + } + + public override void Flush() + { + } + + public override long Length + { + get + { + return (long)((ulong)((this.mode == FileStreamMode.Read) ? this.length : this.position)); + } + } + + public override long Position + { + get + { + return (long)((ulong)this.position); + } + set + { + if (value != (long)((ulong)this.position)) + { + if (value < 0L || value > -1) + { + throw new IndexOutOfRangeException("Position must be unsigned 32 bit"); + } + int num; + if (Win32.SetFilePointer(this.hFile, (int)value, out num, MoveMethod.Begin) == 4294967295U) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to set position"); + } + this.position = (uint)value; + } + } + } + + public override int Read(byte[] buffer, int offset, int count) + { + if (!this.open) + { + throw new InvalidOperationException("Stream is closed"); + } + if (this.mode != FileStreamMode.Read && this.mode != FileStreamMode.ReadWrite) + { + throw new InvalidOperationException("Cannot read from this stream"); + } + if (count < 0) + { + throw new ArgumentException("Count must have a positive value"); + } + uint num = this.length - this.position; + if (num < 0U) + { + num = 0U; + } + if (buffer == null) + { + throw new ArgumentNullException("Buffer cannot be null"); + } + if ((ulong)num > (ulong)((long)count)) + { + num = (uint)count; + } + if (num > 0U) + { + if ((long)offset + (long)((ulong)num) > (long)buffer.Length) + { + throw new ArgumentException("Buffer too small"); + } + if (!Win32.ReadFile(this.hFile, buffer, (uint)count, out num, UIntPtr.Zero)) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to read file"); + } + this.position += num; + } + return (int)num; + } + + public override long Seek(long offset, SeekOrigin origin) + { + if (offset < -2147483648L || offset > 2147483647L) + { + throw new IndexOutOfRangeException("Offset must be in 32 bit range"); + } + int num2; + uint num = Win32.SetFilePointer(this.hFile, (int)offset, out num2, (MoveMethod)origin); + if (num == 4294967295U) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Seek failed"); + } + this.position = num; + return (long)((ulong)this.position); + } + + public override void SetLength(long value) + { + if (this.mode != FileStreamMode.ReadWrite) + { + throw new InvalidOperationException("Only possible to set the lenght when FileAccessMode is ReadWrite"); + } + if (value < 0L || value > -1) + { + throw new IndexOutOfRangeException("Length must be unsigned 32 bit"); + } + int num; + if (Win32.SetFilePointer(this.hFile, (int)value, out num, MoveMethod.Begin) == 4294967295U) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to set length"); + } + if (!Win32.SetEndOfFile(this.hFile)) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to set length"); + } + if ((ulong)this.position > (ulong)value) + { + this.position = (uint)value; + } + if (Win32.SetFilePointer(this.hFile, (int)this.position, out num, MoveMethod.Begin) == 4294967295U) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to set length"); + } + this.length = (uint)value; + } + + public override void Write(byte[] buffer, int offset, int count) + { + if (!this.open) + { + throw new InvalidOperationException("Stream is closed"); + } + if (this.mode != FileStreamMode.Write && this.mode != FileStreamMode.ReadWrite) + { + throw new InvalidOperationException("Cannot write to this stream"); + } + if (count < 0) + { + throw new ArgumentException("Count must have a positive value"); + } + uint num = (uint)(buffer.Length - offset); + if (buffer == null) + { + throw new ArgumentNullException("Buffer cannot be null"); + } + if ((ulong)num > (ulong)((long)count)) + { + num = (uint)count; + } + if ((long)count > (long)((ulong)num)) + { + throw new ArgumentException("Buffer too small"); + } + if (num > 0U) + { + if (!Win32.WriteFile(this.hFile, buffer, (uint)count, out num, UIntPtr.Zero)) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to write file"); + } + this.position += num; + if (this.length < this.position) + { + this.length = this.position; + } + } + } + + protected override void Dispose(bool disposing) + { + if (this.open) + { + Win32.CloseHandle(this.hFile); + } + this.open = false; + base.Dispose(disposing); + } + + private readonly string path; + + private readonly FileStreamMode mode; + + public bool open; + + private uint position; + + private uint length; + + private IntPtr hFile = (IntPtr)(-1); + } +} diff --git a/WPinternalsSDK/FileStreamMode.cs b/WPinternalsSDK/FileStreamMode.cs new file mode 100644 index 0000000..4164fb4 --- /dev/null +++ b/WPinternalsSDK/FileStreamMode.cs @@ -0,0 +1,11 @@ +using System; + +namespace WPinternalsSDK +{ + public enum FileStreamMode + { + Read, + Write, + ReadWrite + } +} diff --git a/WPinternalsSDK/FileSystem.cs b/WPinternalsSDK/FileSystem.cs new file mode 100644 index 0000000..1cc0e84 --- /dev/null +++ b/WPinternalsSDK/FileSystem.cs @@ -0,0 +1,194 @@ +using System; +using System.Runtime.InteropServices; +using System.Text; + +namespace WPinternalsSDK +{ + public static class FileSystem + { + public static Folder GetFolder(string Path) + { + Folder folder = null; + string text = Path.TrimEnd(new char[] + { + '\\' + }); + if (FileSystem.UseFolderCache) + { + KeyedList folderCache = FileSystem.FolderCache; + lock (folderCache) + { + string key = text.ToLower(); + if (FileSystem.FolderCache.Contains(key)) + { + folder = FileSystem.FolderCache[key]; + FileSystem.FolderCache.Remove(folder); + FileSystem.FolderCache.Insert(0, folder); + return folder; + } + folder = new Folder(text); + FileSystem.FolderCache.Insert(0, folder); + while (FileSystem.FolderCache.Count > 100) + { + FileSystem.FolderCache.RemoveAt(100); + } + return folder; + } + } + folder = new Folder(text); + return folder; + } + + public static void ClearFolderCache(string Path) + { + string key = Path.ToLower(); + if (FileSystem.FolderCache.Contains(key)) + { + Folder item = FileSystem.FolderCache[key]; + FileSystem.FolderCache.Remove(item); + } + } + + public static byte[] ReadFile(string Path) + { + uint num = (uint)FileSystem.GetFileSize(Path); + byte[] array = new byte[num]; + if (num > 0U) + { + IntPtr intPtr = Win32.CreateFile(Path, (FileAccess)2147483648U, ShareMode.Read | ShareMode.Write | ShareMode.Delete, IntPtr.Zero, CreationDisposition.OpenExisting, FileAttributes.Normal, IntPtr.Zero); + if (intPtr == (IntPtr)(-1)) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Could not open file"); + } + uint num2; + if (!Win32.ReadFile(intPtr, array, num, out num2, UIntPtr.Zero)) + { + Win32.CloseHandle(intPtr); + throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to read file"); + } + Win32.CloseHandle(intPtr); + } + return array; + } + + public static string ReadAsciiFile(string Path) + { + byte[] array = FileSystem.ReadFile(Path); + return Encoding.UTF8.GetString(array, 0, array.Length); + } + + public static string ReadUnicodeFile(string Path) + { + byte[] array = FileSystem.ReadFile(Path); + return Encoding.Unicode.GetString(array, 0, array.Length); + } + + public static void WriteFile(string Path, byte[] Buffer) + { + IntPtr intPtr = Win32.CreateFile(Path, FileAccess.GenericWrite, ShareMode.None, IntPtr.Zero, CreationDisposition.CreateAlways, FileAttributes.Normal, IntPtr.Zero); + if (intPtr == (IntPtr)(-1)) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Could not open file"); + } + uint num; + if (!Win32.WriteFile(intPtr, Buffer, (uint)Buffer.Length, out num, UIntPtr.Zero)) + { + Win32.CloseHandle(intPtr); + throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to write file"); + } + Win32.CloseHandle(intPtr); + } + + public static void WriteAsciiFile(string Path, string Text) + { + FileSystem.WriteFile(Path, Encoding.UTF8.GetBytes(Text)); + } + + public static void WriteUnicodeFile(string Path, string Text) + { + FileSystem.WriteFile(Path, Encoding.Unicode.GetBytes(Text)); + } + + public static void CopyFile(string SourceFilePath, string DestinationFilePath) + { + if (!Win32.CopyFile(SourceFilePath, DestinationFilePath, false)) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to copy file"); + } + } + + public static void MoveFile(string SourceFilePath, string DestinationFilePath, MoveFileFlags Flags) + { + if (!Win32.MoveFileEx(SourceFilePath, DestinationFilePath, Flags)) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to move file"); + } + } + + public static bool FileExists(string Path) + { + return Win32.GetFileAttributes(Path) != (FileAttributes)4294967295U; + } + + public static void DeleteFolder(string Path) + { + foreach (FileSystemEntry fileSystemEntry in FileSystem.GetFolder(Path).GetSubItems()) + { + if (fileSystemEntry.IsFile) + { + FileSystem.DeleteFile(fileSystemEntry.Path); + } + else + { + FileSystem.DeleteFolder(fileSystemEntry.Path); + } + } + if (!Win32.RemoveDirectory(Path)) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to delete folder"); + } + } + + public static void CreateFolder(string Path) + { + if (!Win32.CreateDirectory(Path, IntPtr.Zero) && Marshal.GetLastWin32Error() != 183) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to create folder"); + } + } + + public static void DeleteFile(string Path) + { + if (!Win32.DeleteFile(Path)) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to delete file"); + } + } + + public static void RenameFile(string OldPath, string NewPath) + { + if (!Win32.MoveFileEx(OldPath, NewPath, (MoveFileFlags)0)) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to rename file"); + } + } + + public static ulong GetFileSize(string Path) + { + WIN32_FILE_ATTRIBUTE_DATA win32_FILE_ATTRIBUTE_DATA; + if (!Win32.GetFileAttributesEx(Path, GET_FILEEX_INFO_LEVELS.GetFileExInfoStandard, out win32_FILE_ATTRIBUTE_DATA)) + { + throw new Win32Exception(Marshal.GetLastWin32Error(), "GetFileSize failed"); + } + return (ulong)win32_FILE_ATTRIBUTE_DATA.nFileSizeHigh << 32 | (ulong)win32_FILE_ATTRIBUTE_DATA.nFileSizeLow; + } + + public static bool UseFolderCache = false; + + public static int FolderCacheSize = 100; + + private static readonly KeyedList FolderCache = new KeyedList((Folder folder) => folder.Path.ToLower()); + + public static readonly Folder Root = FileSystem.GetFolder("C:\\"); + } +} diff --git a/WPinternalsSDK/FileSystemEntry.cs b/WPinternalsSDK/FileSystemEntry.cs new file mode 100644 index 0000000..68f9950 --- /dev/null +++ b/WPinternalsSDK/FileSystemEntry.cs @@ -0,0 +1,88 @@ +using System; + +namespace WPinternalsSDK +{ + public class FileSystemEntry : IComparable + { + public string Path { get; private set; } + + public string Name { get; private set; } + + internal FileSystemEntry(string Path, FileAttributes Attributes) + { + string text = Path.TrimEnd(new char[] + { + '\\' + }); + this.Path = text; + this.Name = text; + int num = this.Name.LastIndexOf('\\'); + if (num >= 0) + { + this.Name = this.Name.Substring(num + 1); + } + this.Attributes = Attributes; + } + + int IComparable.CompareTo(FileSystemEntry Other) + { + if (Other == null) + { + throw new ArgumentException(); + } + if (this.IsFolder && Other.IsFile) + { + return -1; + } + if (this.IsFile && Other.IsFolder) + { + return 1; + } + return string.Compare(this.Name, Other.Name, StringComparison.OrdinalIgnoreCase); + } + + public bool IsFolder + { + get + { + return (this.Attributes & FileAttributes.Directory) > ~FileAttributes.Invalid; + } + } + + public bool IsFile + { + get + { + return (this.Attributes & FileAttributes.Directory) == ~FileAttributes.Invalid; + } + } + + public bool IsReadOnly + { + get + { + return (this.Attributes & FileAttributes.Readonly) > ~FileAttributes.Invalid; + } + } + + public bool IsHidden + { + get + { + return (this.Attributes & FileAttributes.Hidden) > ~FileAttributes.Invalid; + } + } + + public bool IsSystem + { + get + { + return (this.Attributes & FileAttributes.System) > ~FileAttributes.Invalid; + } + } + + public readonly FileAttributes Attributes; + + public readonly FileSystemType Type = FileSystemType.Unknown; + } +} diff --git a/WPinternalsSDK/FileSystemType.cs b/WPinternalsSDK/FileSystemType.cs new file mode 100644 index 0000000..a95460e --- /dev/null +++ b/WPinternalsSDK/FileSystemType.cs @@ -0,0 +1,11 @@ +using System; + +namespace WPinternalsSDK +{ + public enum FileSystemType + { + Directory, + File, + Unknown + } +} diff --git a/WPinternalsSDK/Folder.cs b/WPinternalsSDK/Folder.cs new file mode 100644 index 0000000..db1f71c --- /dev/null +++ b/WPinternalsSDK/Folder.cs @@ -0,0 +1,159 @@ +using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; + +namespace WPinternalsSDK +{ + public class Folder : FileSystemEntry + { + internal Folder(string Path, FileAttributes Attributes) : base(Path, Attributes | FileAttributes.Directory) + { + } + + internal Folder(string Path) : base(Path, FileAttributes.Directory) + { + } + + public Folder() : base("", FileAttributes.Directory) + { + } + + public List GetSubItems() + { + this.QueryFolder(); + return this.SubItems; + } + + private void QueryFolder() + { + object obj = this.queryLockObject; + lock (obj) + { + if (this.SubItems == null) + { + this.SubItems = new List(); + this.subFolderCount = 0; + this.fileCount = 0; + if (base.Path.Length > 0) + { + string text = base.Path; + if (!base.Path.EndsWith("*")) + { + if (base.Path.EndsWith("\\")) + { + text += "*"; + } + else + { + text += "\\*"; + } + } + WIN32_FIND_DATA win32_FIND_DATA; + IntPtr intPtr = Win32.FindFirstFile(text, out win32_FIND_DATA); + if (intPtr == (IntPtr)(-1)) + { + int lastWin32Error = Marshal.GetLastWin32Error(); + if (lastWin32Error != 18) + { + throw new Win32Exception(lastWin32Error, "Failed to query folder"); + } + } + else + { + do + { + string text2 = base.Path; + if (!base.Path.EndsWith("\\")) + { + text2 += "\\"; + } + text2 += win32_FIND_DATA.cFileName; + if ((win32_FIND_DATA.dwFileAttributes & 16U) != 0U) + { + if (win32_FIND_DATA.cFileName != "." && win32_FIND_DATA.cFileName != "..") + { + this.SubItems.Add(FileSystem.GetFolder(text2)); + this.subFolderCount++; + } + } + else + { + File file = new File(text2, (FileAttributes)win32_FIND_DATA.dwFileAttributes); + file.Size = ((ulong)win32_FIND_DATA.nFileSizeHigh << 32 | (ulong)win32_FIND_DATA.nFileSizeLow); + this.SubItems.Add(file); + this.fileCount++; + } + } + while (Win32.FindNextFile(intPtr, out win32_FIND_DATA)); + Win32.FindClose(intPtr); + this.SubItems.Sort(); + } + } + } + } + } + + public Folder GetParent() + { + if (base.Path == "" || base.Path == "\\") + { + return null; + } + int num = base.Path.LastIndexOf('\\'); + if (num < 0) + { + return FileSystem.GetFolder("\\"); + } + return FileSystem.GetFolder(base.Path.Substring(0, num)); + } + + public void RefreshFolder() + { + if (this.SubItems != null) + { + object obj = this.queryLockObject; + lock (obj) + { + this.SubItems = null; + this.subFolderCount = -1; + this.fileCount = -1; + } + } + } + + public int GetSubFolderCount() + { + this.QueryFolder(); + return this.subFolderCount; + } + + public int GetFileCount() + { + this.QueryFolder(); + return this.fileCount; + } + + public Folder OpenSubFolder(string Name) + { + return FileSystem.GetFolder(base.Path + "\\" + Name.TrimStart(new char[] + { + '\\' + })); + } + + public override string ToString() + { + return base.Path; + } + + private List SubItems; + + private int subFolderCount = -1; + + private int fileCount = -1; + + private readonly object queryLockObject = new object(); + + private readonly object detailLockObject = new object(); + } +} diff --git a/WPinternalsSDK/GET_FILEEX_INFO_LEVELS.cs b/WPinternalsSDK/GET_FILEEX_INFO_LEVELS.cs new file mode 100644 index 0000000..f93658b --- /dev/null +++ b/WPinternalsSDK/GET_FILEEX_INFO_LEVELS.cs @@ -0,0 +1,10 @@ +using System; + +namespace WPinternalsSDK +{ + internal enum GET_FILEEX_INFO_LEVELS + { + GetFileExInfoStandard, + GetFileExMaxInfoLevel + } +} diff --git a/WPinternalsSDK/KeyedList.cs b/WPinternalsSDK/KeyedList.cs new file mode 100644 index 0000000..02b545f --- /dev/null +++ b/WPinternalsSDK/KeyedList.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.ObjectModel; + +namespace WPinternalsSDK +{ + internal class KeyedList : KeyedCollection + { + public KeyedList(Func getKeyFunc) + { + this._getKeyFunc = getKeyFunc; + } + + protected override TKey GetKeyForItem(TItem item) + { + return this._getKeyFunc(item); + } + + public bool TryGetValue(TKey key, out TItem item) + { + if (base.Dictionary == null) + { + item = default(TItem); + return false; + } + return base.Dictionary.TryGetValue(key, out item); + } + + public void AddOrUpdate(TItem item) + { + if (!this.Contains(item)) + { + base.Add(item); + } + } + + public new bool Contains(TItem item) + { + return base.Contains(this._getKeyFunc(item)); + } + + public new bool Contains(TKey key) + { + return base.Contains(key); + } + + public int IndexOf(TKey key) + { + return base.IndexOf(base[key]); + } + + private readonly Func _getKeyFunc; + } +} diff --git a/WPinternalsSDK/MoveFileFlags.cs b/WPinternalsSDK/MoveFileFlags.cs new file mode 100644 index 0000000..bdea9d4 --- /dev/null +++ b/WPinternalsSDK/MoveFileFlags.cs @@ -0,0 +1,15 @@ +using System; + +namespace WPinternalsSDK +{ + [Flags] + public enum MoveFileFlags + { + ReplaceExisting = 1, + CopyAllowed = 2, + DelayUntilReboot = 4, + WriteThrough = 8, + CreateHardLink = 16, + FailIfNotTrackable = 32 + } +} diff --git a/WPinternalsSDK/MoveMethod.cs b/WPinternalsSDK/MoveMethod.cs new file mode 100644 index 0000000..ba527d3 --- /dev/null +++ b/WPinternalsSDK/MoveMethod.cs @@ -0,0 +1,11 @@ +using System; + +namespace WPinternalsSDK +{ + public enum MoveMethod : uint + { + Begin, + Current, + End + } +} diff --git a/WPinternalsSDK/PROCESS_INFORMATION.cs b/WPinternalsSDK/PROCESS_INFORMATION.cs new file mode 100644 index 0000000..5f3eded --- /dev/null +++ b/WPinternalsSDK/PROCESS_INFORMATION.cs @@ -0,0 +1,15 @@ +using System; + +namespace WPinternalsSDK +{ + internal struct PROCESS_INFORMATION + { + public IntPtr hProcess; + + public IntPtr hThread; + + public int dwProcessId; + + public int dwThreadId; + } +} diff --git a/WPinternalsSDK/Properties/AssemblyInfo.cs b/WPinternalsSDK/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..5bf2daf --- /dev/null +++ b/WPinternalsSDK/Properties/AssemblyInfo.cs @@ -0,0 +1,16 @@ +using System; +using System.Diagnostics; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +[assembly: AssemblyVersion("1.0.5795.42493")] +[assembly: AssemblyTitle("WPinternals SDK")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("WPinternals")] +[assembly: AssemblyProduct("WPinternals SDK")] +[assembly: AssemblyCopyright("Copyright by Heathcliff74 / WPinternals")] +[assembly: AssemblyTrademark("")] +[assembly: ComVisible(false)] diff --git a/WPinternalsSDK/QUOTA_LIMITS.cs b/WPinternalsSDK/QUOTA_LIMITS.cs new file mode 100644 index 0000000..b5bb5dd --- /dev/null +++ b/WPinternalsSDK/QUOTA_LIMITS.cs @@ -0,0 +1,19 @@ +using System; + +namespace WPinternalsSDK +{ + internal struct QUOTA_LIMITS + { + private readonly uint PagedPoolLimit; + + private readonly uint NonPagedPoolLimit; + + private readonly uint MinimumWorkingSetSize; + + private readonly uint MaximumWorkingSetSize; + + private readonly uint PagefileLimit; + + private readonly long TimeLimit; + } +} diff --git a/WPinternalsSDK/RegCreateKeyOption.cs b/WPinternalsSDK/RegCreateKeyOption.cs new file mode 100644 index 0000000..28518a8 --- /dev/null +++ b/WPinternalsSDK/RegCreateKeyOption.cs @@ -0,0 +1,14 @@ +using System; + +namespace WPinternalsSDK +{ + [Flags] + public enum RegCreateKeyOption + { + NonVolatile = 0, + Volatile = 1, + CreateLink = 2, + BackupRestore = 4, + OpenLink = 8 + } +} diff --git a/WPinternalsSDK/RegOpenKeyOption.cs b/WPinternalsSDK/RegOpenKeyOption.cs new file mode 100644 index 0000000..1ffb193 --- /dev/null +++ b/WPinternalsSDK/RegOpenKeyOption.cs @@ -0,0 +1,10 @@ +using System; + +namespace WPinternalsSDK +{ + [Flags] + public enum RegOpenKeyOption + { + OpenLink = 8 + } +} diff --git a/WPinternalsSDK/RegResult.cs b/WPinternalsSDK/RegResult.cs new file mode 100644 index 0000000..06908d2 --- /dev/null +++ b/WPinternalsSDK/RegResult.cs @@ -0,0 +1,10 @@ +using System; + +namespace WPinternalsSDK +{ + public enum RegResult + { + CreatedNewKey = 1, + OpenedExistingKey + } +} diff --git a/WPinternalsSDK/RegSAM.cs b/WPinternalsSDK/RegSAM.cs new file mode 100644 index 0000000..9fb99df --- /dev/null +++ b/WPinternalsSDK/RegSAM.cs @@ -0,0 +1,22 @@ +using System; + +namespace WPinternalsSDK +{ + [Flags] + public enum RegSAM + { + QueryValue = 1, + SetValue = 2, + CreateSubKey = 4, + EnumerateSubKeys = 8, + Notify = 16, + CreateLink = 32, + WOW64_32Key = 512, + WOW64_64Key = 256, + WOW64_Res = 768, + Read = 131097, + Write = 131078, + Execute = 131097, + AllAccess = 983103 + } +} diff --git a/WPinternalsSDK/Registry.cs b/WPinternalsSDK/Registry.cs new file mode 100644 index 0000000..4dee32e --- /dev/null +++ b/WPinternalsSDK/Registry.cs @@ -0,0 +1,258 @@ +using System; +using System.Text; + +namespace WPinternalsSDK +{ + public static class Registry + { + public static RegistryKey GetKey(RegistryHive Root, string Key) + { + return new RegistryKey(Root, Key); + } + + public static int GetDWordValue(RegistryHive Root, string Key, string ValueName) + { + return (int)Registry.GetValue(Root, Key, ValueName); + } + + public static void SetDWordValue(RegistryHive Root, string Key, string ValueName, int Value) + { + Registry.SetValue(Root, Key, ValueName, Value); + } + + public static string GetStringValue(RegistryHive Root, string Key, string ValueName) + { + return (string)Registry.GetValue(Root, Key, ValueName); + } + + public static void SetStringValue(RegistryHive Root, string Key, string ValueName, string Value) + { + Registry.SetValue(Root, Key, ValueName, Value); + } + + public static string[] GetMultiStringValue(RegistryHive Root, string Key, string ValueName) + { + return (string[])Registry.GetValue(Root, Key, ValueName); + } + + public static void SetMultiStringValue(RegistryHive Root, string Key, string ValueName, string[] Value) + { + Registry.SetValue(Root, Key, ValueName, Value); + } + + public static byte[] GetBinaryValue(RegistryHive Root, string Key, string ValueName) + { + return (byte[])Registry.GetValue(Root, Key, ValueName); + } + + public static void SetBinaryValue(RegistryHive Root, string Key, string ValueName, byte[] Value) + { + Registry.SetValue(Root, Key, ValueName, Value); + } + + public static void DeleteKey(RegistryHive Root, string Key) + { + foreach (RegistryItem registryItem in Registry.GetKey(Root, Key).GetSubItems()) + { + if (registryItem is RegistryKey) + { + Registry.DeleteKey(Root, ((RegistryKey)registryItem).Path); + } + } + int num = Key.LastIndexOf('\\'); + int num2; + if (num < 0) + { + num2 = Win32.RegDeleteKeyEx((UIntPtr)((uint)Root), Key, 0U, 0U); + } + else + { + string lpSubKey = Key.Substring(0, num); + string lpSubKey2 = Key.Substring(num + 1); + UIntPtr hKey; + num2 = Win32.RegOpenKeyEx((UIntPtr)((uint)Root), lpSubKey, (RegOpenKeyOption)0, RegSAM.AllAccess, out hKey); + if (num2 != 0) + { + throw new Win32Exception(num2, "DeleteKey failed"); + } + num2 = Win32.RegDeleteKeyEx(hKey, lpSubKey2, 0U, 0U); + Win32.RegCloseKey(hKey); + } + if (num2 != 0) + { + throw new Win32Exception(num2, "DeleteKey failed"); + } + } + + public static void CreateKey(RegistryHive Root, string Key) + { + UIntPtr zero = UIntPtr.Zero; + RegResult regResult; + int num = Win32.RegCreateKeyEx((UIntPtr)((uint)Root), Key, 0, null, RegCreateKeyOption.NonVolatile, RegSAM.AllAccess, UIntPtr.Zero, out zero, out regResult); + if (num != 0) + { + throw new Win32Exception(num, "CreateKey failed"); + } + if (zero != UIntPtr.Zero) + { + Win32.RegCloseKey(zero); + } + } + + public static void DeleteValue(RegistryHive Root, string Key, string ValueName) + { + UIntPtr hKey = UIntPtr.Zero; + int num; + if (Key != null && Key.Length > 0) + { + num = Win32.RegOpenKeyEx((UIntPtr)((uint)Root), Key, (RegOpenKeyOption)0, RegSAM.AllAccess, out hKey); + if (num != 0) + { + throw new Win32Exception(num, "DeleteValue failed"); + } + } + else + { + hKey = (UIntPtr)((uint)Root); + } + num = Win32.RegDeleteValue(hKey, ValueName); + if (Key != null && Key.Length > 0) + { + Win32.RegCloseKey(hKey); + } + if (num != 0) + { + throw new Win32Exception(num, "DeleteValue failed"); + } + } + + public static object GetValue(RegistryHive Root, string Key, string ValueName) + { + object obj = null; + UIntPtr hKey = UIntPtr.Zero; + int num; + if (Key != null && Key.Length > 0) + { + num = Win32.RegOpenKeyEx((UIntPtr)((uint)Root), Key, (RegOpenKeyOption)0, RegSAM.AllAccess, out hKey); + if (num != 0) + { + throw new Win32Exception(num, "GetValue failed"); + } + } + else + { + hKey = (UIntPtr)((uint)Root); + } + RegistryValueType registryValueType = RegistryValueType.None; + int num2 = 0; + num = Win32.RegQueryValueEx(hKey, ValueName, 0, ref registryValueType, null, ref num2); + if (num == 0) + { + byte[] array = new byte[num2]; + Win32.RegQueryValueEx(hKey, ValueName, 0, ref registryValueType, array, ref num2); + switch (registryValueType) + { + case RegistryValueType.String: + obj = Encoding.Unicode.GetString(array, 0, num2 - 2); + break; + case RegistryValueType.ExpandString: + case (RegistryValueType)5: + case (RegistryValueType)6: + break; + case RegistryValueType.Binary: + obj = array; + break; + case RegistryValueType.DWord: + obj = BitConverter.ToInt32(array, 0); + break; + case RegistryValueType.MultiString: + obj = Encoding.Unicode.GetString(array, 0, num2 - 4).Split(new char[1]); + break; + default: + if (registryValueType == RegistryValueType.QWord) + { + obj = BitConverter.ToInt64(array, 0); + } + break; + } + } + if (Key != null && Key.Length > 0) + { + Win32.RegCloseKey(hKey); + } + if (num != 0) + { + throw new Win32Exception(num, "GetValue failed"); + } + if (obj == null) + { + throw new NotSupportedException("Registry value cannot be read. Unknown type."); + } + return obj; + } + + public static void SetValue(RegistryHive Root, string Key, string ValueName, object Value) + { + byte[] array; + RegistryValueType registryValueType; + if (Value is string) + { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.Append((string)Value); + stringBuilder.Append('\0'); + array = Encoding.Unicode.GetBytes(stringBuilder.ToString()); + registryValueType = RegistryValueType.String; + } + else if (Value is uint) + { + array = BitConverter.GetBytes((uint)Value); + registryValueType = RegistryValueType.DWord; + } + else if (Value is int) + { + array = BitConverter.GetBytes((int)Value); + registryValueType = RegistryValueType.DWord; + } + else if (Value is ulong) + { + array = BitConverter.GetBytes((ulong)Value); + registryValueType = RegistryValueType.QWord; + } + else if (Value is long) + { + array = BitConverter.GetBytes((long)Value); + registryValueType = RegistryValueType.QWord; + } + else if (Value is string[]) + { + string[] array2 = Value as string[]; + StringBuilder stringBuilder2 = new StringBuilder(); + for (int i = 0; i < array2.Length; i++) + { + stringBuilder2.Append(array2[i]); + stringBuilder2.Append('\0'); + } + stringBuilder2.Append('\0'); + array = Encoding.Unicode.GetBytes(stringBuilder2.ToString()); + registryValueType = RegistryValueType.MultiString; + } + else + { + if (!(Value is byte[])) + { + throw new NotSupportedException("Registry value cannot be written. Type unknown."); + } + array = (byte[])Value; + registryValueType = RegistryValueType.Binary; + } + UIntPtr hKey = (UIntPtr)((uint)Root); + RegistryValueType dwType = registryValueType; + byte[] array3 = array; + int num = Win32.RegSetKeyValue(hKey, Key, ValueName, dwType, array3, array3.Length); + if (num != 0) + { + throw new Win32Exception(num, "SetValue failed"); + } + } + } +} diff --git a/WPinternalsSDK/RegistryHive.cs b/WPinternalsSDK/RegistryHive.cs new file mode 100644 index 0000000..110b0d5 --- /dev/null +++ b/WPinternalsSDK/RegistryHive.cs @@ -0,0 +1,12 @@ +using System; + +namespace WPinternalsSDK +{ + public enum RegistryHive : uint + { + ClassesRoot = 2147483648U, + CurrentUser, + LocalMachine, + Users + } +} diff --git a/WPinternalsSDK/RegistryItem.cs b/WPinternalsSDK/RegistryItem.cs new file mode 100644 index 0000000..4cb6c3b --- /dev/null +++ b/WPinternalsSDK/RegistryItem.cs @@ -0,0 +1,8 @@ +using System; + +namespace WPinternalsSDK +{ + public class RegistryItem + { + } +} diff --git a/WPinternalsSDK/RegistryKey.cs b/WPinternalsSDK/RegistryKey.cs new file mode 100644 index 0000000..bdab6f6 --- /dev/null +++ b/WPinternalsSDK/RegistryKey.cs @@ -0,0 +1,258 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace WPinternalsSDK +{ + public class RegistryKey : RegistryItem + { + public RegistryKey(RegistryHive Root, string Path) + { + this.root = Root; + this.path = Path; + } + + public RegistryHive Root + { + get + { + return this.root; + } + } + + public string Path + { + get + { + return this.path; + } + } + + public string Name + { + get + { + string text = this.path; + int num = text.LastIndexOf('\\'); + if (num >= 0) + { + text = text.Substring(num + 1); + } + return text; + } + } + + public List GetSubItems() + { + this.QueryKey(); + return this.SubItems; + } + + private void QueryKey() + { + if (this.SubItems == null) + { + this.SubItems = new List(); + this.SubKeys = new List(); + this.Values = new List(); + this.subKeyCount = 0; + this.valueCount = 0; + Dictionary dictionary = new Dictionary(); + Dictionary dictionary2 = new Dictionary(); + UIntPtr uintPtr = UIntPtr.Zero; + int num; + if (this.Path != null && this.Path.Length > 0) + { + num = Win32.RegOpenKeyEx((UIntPtr)((uint)this.Root), this.Path, (RegOpenKeyOption)0, RegSAM.AllAccess, out uintPtr); + if (num != 0) + { + throw new Win32Exception(num, "QueryKey failed"); + } + } + else + { + uintPtr = (UIntPtr)((uint)this.Root); + } + bool flag = false; + uint num2 = 0U; + StringBuilder stringBuilder = new StringBuilder(260); + do + { + uint num3 = 260U; + long num4; + num = Win32.RegEnumKeyEx(uintPtr, num2, stringBuilder, ref num3, UIntPtr.Zero, UIntPtr.Zero, UIntPtr.Zero, out num4); + if (num == 0) + { + RegistryKey value = new RegistryKey(this.root, ((this.path == "") ? "" : (this.path + "\\")) + stringBuilder.ToString()); + dictionary.Add(stringBuilder.ToString(), value); + this.subKeyCount++; + num2 += 1U; + } + else if (num == 259) + { + num = 0; + flag = true; + } + } + while (!flag && num == 0); + flag = false; + num2 = 0U; + do + { + uint num3 = 260U; + uint num5 = 0U; + byte[] array = null; + RegistryValueType registryValueType; + Win32.RegEnumValue(uintPtr, num2, stringBuilder, ref num3, UIntPtr.Zero, out registryValueType, array, ref num5); + if (num5 > 0U) + { + array = new byte[num5]; + } + num3 = 260U; + num = Win32.RegEnumValue(uintPtr, num2, stringBuilder, ref num3, UIntPtr.Zero, out registryValueType, array, ref num5); + object value2 = null; + if (num == 0) + { + switch (registryValueType) + { + case RegistryValueType.String: + value2 = Encoding.Unicode.GetString(array, 0, (int)(num5 - 2U)); + break; + case RegistryValueType.ExpandString: + case (RegistryValueType)5: + case (RegistryValueType)6: + break; + case RegistryValueType.Binary: + value2 = array; + break; + case RegistryValueType.DWord: + value2 = BitConverter.ToInt32(array, 0); + break; + case RegistryValueType.MultiString: + value2 = Encoding.Unicode.GetString(array, 0, (int)(num5 - 4U)).Split(new char[1]); + break; + default: + if (registryValueType == RegistryValueType.QWord) + { + value2 = BitConverter.ToInt64(array, 0); + } + break; + } + RegistryValue value3 = new RegistryValue(this.root, this.path, stringBuilder.ToString(), registryValueType, value2); + dictionary2.Add(stringBuilder.ToString(), value3); + this.valueCount++; + num2 += 1U; + } + else if (num == 259) + { + num = 0; + flag = true; + } + } + while (!flag && num == 0); + if (this.Path != null && this.Path.Length > 0) + { + Win32.RegCloseKey(uintPtr); + } + if (num != 0) + { + throw new Win32Exception(num, "QueryKey failed"); + } + foreach (KeyValuePair keyValuePair in from entry in dictionary + orderby entry.Key + select entry) + { + this.SubItems.Add(keyValuePair.Value); + this.SubKeys.Add(keyValuePair.Value); + } + foreach (KeyValuePair keyValuePair2 in from entry in dictionary2 + orderby entry.Key + select entry) + { + this.SubItems.Add(keyValuePair2.Value); + this.Values.Add(keyValuePair2.Value); + } + } + } + + public RegistryKey GetParent() + { + if (this.path == "") + { + return null; + } + int num = this.path.LastIndexOf('\\'); + if (num < 0) + { + return new RegistryKey(this.root, ""); + } + return new RegistryKey(this.root, this.path.Substring(0, num)); + } + + public void RefreshKey() + { + this.SubItems = null; + this.subKeyCount = -1; + this.valueCount = -1; + } + + public int GetSubKeyCount() + { + this.QueryKey(); + return this.subKeyCount; + } + + public int GetValueCount() + { + this.QueryKey(); + return this.valueCount; + } + + public RegistryKey GetSubKey(string Key) + { + return new RegistryKey(this.root, this.path + ((this.path == "") ? "" : "\\") + Key); + } + + public override string ToString() + { + return "Subkey: " + this.Name; + } + + private static RegistryValueType GetValueKindFromObject(object Value) + { + RegistryValueType result = RegistryValueType.Unknown; + if (Value is int || Value is uint) + { + result = RegistryValueType.DWord; + } + if (Value is string) + { + result = RegistryValueType.String; + } + if (Value is byte[]) + { + result = RegistryValueType.Binary; + } + if (Value is string[]) + { + result = RegistryValueType.MultiString; + } + return result; + } + + private readonly string path; + + private readonly RegistryHive root; + + private List SubItems; + + private List SubKeys; + + private List Values; + + private int subKeyCount = -1; + + private int valueCount = -1; + } +} diff --git a/WPinternalsSDK/RegistryValue.cs b/WPinternalsSDK/RegistryValue.cs new file mode 100644 index 0000000..cdf244d --- /dev/null +++ b/WPinternalsSDK/RegistryValue.cs @@ -0,0 +1,102 @@ +using System; + +namespace WPinternalsSDK +{ + public class RegistryValue : RegistryItem + { + public RegistryValue(RegistryHive Root, string Key, string ValueName, RegistryValueType Type, object Value) + { + this.root = Root; + this.key = Key; + this.valueName = ValueName; + this.type = Type; + this.value = Value; + } + + public RegistryHive Root + { + get + { + return this.root; + } + } + + public string Key + { + get + { + return this.key; + } + } + + public string ValueName + { + get + { + return this.valueName; + } + } + + public RegistryValueType Type + { + get + { + return this.type; + } + } + + public object Value + { + get + { + return this.value; + } + } + + public override string ToString() + { + string text = null; + RegistryValueType registryValueType = this.type; + switch (registryValueType) + { + case RegistryValueType.String: + text = (string)this.value; + break; + case RegistryValueType.ExpandString: + case (RegistryValueType)5: + case (RegistryValueType)6: + break; + case RegistryValueType.Binary: + text = ""; + break; + case RegistryValueType.DWord: + text = "0x" + ((int)this.value).ToString("X8"); + break; + case RegistryValueType.MultiString: + text = ""; + break; + default: + if (registryValueType == RegistryValueType.QWord) + { + text = "0x" + ((long)this.value).ToString("X16"); + } + break; + } + if (text == null) + { + return this.ValueName + ": "; + } + return this.ValueName + ": " + text; + } + + private readonly RegistryHive root; + + private readonly string key; + + private readonly string valueName; + + private readonly RegistryValueType type = RegistryValueType.Unknown; + + private readonly object value; + } +} diff --git a/WPinternalsSDK/RegistryValueType.cs b/WPinternalsSDK/RegistryValueType.cs new file mode 100644 index 0000000..3860166 --- /dev/null +++ b/WPinternalsSDK/RegistryValueType.cs @@ -0,0 +1,16 @@ +using System; + +namespace WPinternalsSDK +{ + public enum RegistryValueType + { + String = 1, + ExpandString, + Binary, + DWord, + MultiString = 7, + QWord = 11, + Unknown = -1, + None + } +} diff --git a/WPinternalsSDK/SECURITY_ATTRIBUTES.cs b/WPinternalsSDK/SECURITY_ATTRIBUTES.cs new file mode 100644 index 0000000..8779b3a --- /dev/null +++ b/WPinternalsSDK/SECURITY_ATTRIBUTES.cs @@ -0,0 +1,13 @@ +using System; + +namespace WPinternalsSDK +{ + internal struct SECURITY_ATTRIBUTES + { + public int nLength; + + public IntPtr lpSecurityDescriptor; + + public int bInheritHandle; + } +} diff --git a/WPinternalsSDK/STARTUPINFO.cs b/WPinternalsSDK/STARTUPINFO.cs new file mode 100644 index 0000000..812e533 --- /dev/null +++ b/WPinternalsSDK/STARTUPINFO.cs @@ -0,0 +1,45 @@ +using System; +using System.Runtime.InteropServices; + +namespace WPinternalsSDK +{ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + internal struct STARTUPINFO + { + public int cb; + + public string lpReserved; + + public string lpDesktop; + + public string lpTitle; + + public int dwX; + + public int dwY; + + public int dwXSize; + + public int dwYSize; + + public int dwXCountChars; + + public int dwYCountChars; + + public int dwFillAttribute; + + public int dwFlags; + + public short wShowWindow; + + public short cbReserved2; + + public IntPtr lpReserved2; + + public IntPtr hStdInput; + + public IntPtr hStdOutput; + + public IntPtr hStdError; + } +} diff --git a/WPinternalsSDK/ShareMode.cs b/WPinternalsSDK/ShareMode.cs new file mode 100644 index 0000000..060916d --- /dev/null +++ b/WPinternalsSDK/ShareMode.cs @@ -0,0 +1,13 @@ +using System; + +namespace WPinternalsSDK +{ + [Flags] + internal enum ShareMode : uint + { + None = 0U, + Read = 1U, + Write = 2U, + Delete = 4U + } +} diff --git a/WPinternalsSDK/WIN32_FILE_ATTRIBUTE_DATA.cs b/WPinternalsSDK/WIN32_FILE_ATTRIBUTE_DATA.cs new file mode 100644 index 0000000..dab99a1 --- /dev/null +++ b/WPinternalsSDK/WIN32_FILE_ATTRIBUTE_DATA.cs @@ -0,0 +1,19 @@ +using System; + +namespace WPinternalsSDK +{ + internal struct WIN32_FILE_ATTRIBUTE_DATA + { + public FileAttributes dwFileAttributes; + + public FILETIME ftCreationTime; + + public FILETIME ftLastAccessTime; + + public FILETIME ftLastWriteTime; + + public uint nFileSizeHigh; + + public uint nFileSizeLow; + } +} diff --git a/WPinternalsSDK/WIN32_FIND_DATA.cs b/WPinternalsSDK/WIN32_FIND_DATA.cs new file mode 100644 index 0000000..c3ef3c6 --- /dev/null +++ b/WPinternalsSDK/WIN32_FIND_DATA.cs @@ -0,0 +1,32 @@ +using System; +using System.Runtime.InteropServices; +using System.Runtime.InteropServices.ComTypes; + +namespace WPinternalsSDK +{ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + internal struct WIN32_FIND_DATA + { + public uint dwFileAttributes; + + public FILETIME ftCreationTime; + + public FILETIME ftLastAccessTime; + + public FILETIME ftLastWriteTime; + + public uint nFileSizeHigh; + + public uint nFileSizeLow; + + public uint dwReserved0; + + public uint dwReserved1; + + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] + public string cFileName; + + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 14)] + public string cAlternateFileName; + } +} diff --git a/WPinternalsSDK/WPinternalsSDK.projitems b/WPinternalsSDK/WPinternalsSDK.projitems new file mode 100644 index 0000000..2cd963c --- /dev/null +++ b/WPinternalsSDK/WPinternalsSDK.projitems @@ -0,0 +1,49 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + true + d29275f2-bb58-44a2-81e1-96d68c4c48db + + + WPinternalsSDK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WPinternalsSDK/WPinternalsSDK.shproj b/WPinternalsSDK/WPinternalsSDK.shproj new file mode 100644 index 0000000..2a58b31 --- /dev/null +++ b/WPinternalsSDK/WPinternalsSDK.shproj @@ -0,0 +1,13 @@ + + + + d29275f2-bb58-44a2-81e1-96d68c4c48db + 14.0 + + + + + + + + diff --git a/WPinternalsSDK/Win32.cs b/WPinternalsSDK/Win32.cs new file mode 100644 index 0000000..680ab6e --- /dev/null +++ b/WPinternalsSDK/Win32.cs @@ -0,0 +1,102 @@ +using System; +using System.Runtime.InteropServices; +using System.Text; + +namespace WPinternalsSDK +{ + internal class Win32 + { + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)] + internal static extern int RegDeleteKeyEx(UIntPtr hKey, string lpSubKey, uint samDesired, uint Reserved); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)] + internal static extern int RegCreateKeyEx(UIntPtr hKey, string lpSubKey, int Reserved, string lpClass, RegCreateKeyOption dwOptions, RegSAM samDesired, UIntPtr lpSecurityAttributes, out UIntPtr phkResult, out RegResult lpdwDisposition); + + [DllImport("KERNELBASE.DLL")] + internal static extern int RegCloseKey(UIntPtr hKey); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)] + internal static extern int RegDeleteValue(UIntPtr hKey, string lpValueName); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)] + internal static extern int RegOpenKeyEx(UIntPtr hKey, string lpSubKey, RegOpenKeyOption dwOptions, RegSAM samDesired, out UIntPtr phkResult); + + [DllImport("Powrprof.dll", SetLastError = true)] + internal static extern bool SetSuspendState(bool hibernate, bool forceCritical, bool disableWakeEvent); + + [DllImport("ShellChromeAPI.dll")] + internal static extern int Shell_RequestShutdown(int ShutDownType); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern bool CreateProcess(string lpApplicationName, string lpCommandLine, UIntPtr lpProcessAttributes, UIntPtr lpThreadAttributes, bool bInheritHandles, uint dwCreationFlags, IntPtr lpEnvironment, string lpCurrentDirectory, [In] ref STARTUPINFO lpStartupInfo, out PROCESS_INFORMATION lpProcessInformation); + + [DllImport("KERNELBASE.DLL", SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool CloseHandle(IntPtr hObject); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)] + internal static extern int RegQueryValueEx(UIntPtr hKey, string lpValueName, int lpReserved, ref RegistryValueType lpType, byte[] lpData, ref int lpcbData); + + [DllImport("SSPICLI.DLL", CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern bool LogonUserExEx(string Username, string Domain, string Password, uint LogonType, uint LogonProvider, UIntPtr TokenGroups, out IntPtr hToken, out UIntPtr pLogonSid, out UIntPtr pBuffer, out uint BufferLength, UIntPtr Reserved); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)] + internal static extern int RegSetKeyValue(UIntPtr hKey, string lpSubKey, string lpValueName, RegistryValueType dwType, byte[] lpData, int cbData); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)] + internal static extern int RegEnumKeyEx(UIntPtr hkey, uint index, StringBuilder lpName, ref uint lpcbName, UIntPtr reserved, UIntPtr lpClass, UIntPtr lpcbClass, out long lpftLastWriteTime); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)] + internal static extern int RegEnumValue(UIntPtr hKey, uint dwIndex, StringBuilder lpValueName, ref uint lpcValueName, UIntPtr lpReserved, out RegistryValueType lpType, byte[] lpData, ref uint lpcbData); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool GetFileAttributesEx(string lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, out WIN32_FILE_ATTRIBUTE_DATA fileData); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern FileAttributes GetFileAttributes(string lpFileName); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern IntPtr CreateFile([MarshalAs(UnmanagedType.LPWStr)] string filename, [MarshalAs(UnmanagedType.U4)] FileAccess access, [MarshalAs(UnmanagedType.U4)] ShareMode share, IntPtr securityAttributes, [MarshalAs(UnmanagedType.U4)] CreationDisposition creationDisposition, [MarshalAs(UnmanagedType.U4)] FileAttributes flagsAndAttributes, IntPtr templateFile); + + [DllImport("KERNELBASE.DLL", SetLastError = true)] + internal static extern bool ReadFile(IntPtr hFile, [Out] byte[] lpBuffer, uint nNumberOfBytesToRead, out uint lpNumberOfBytesRead, UIntPtr lpOverlapped); + + [DllImport("KERNELBASE.DLL", SetLastError = true)] + internal static extern bool WriteFile(IntPtr hFile, byte[] lpBuffer, uint nNumberOfBytesToWrite, out uint lpNumberOfBytesWritten, [In] UIntPtr lpOverlapped); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern bool CopyFile(string lpExistingFileName, string lpNewFileName, bool bFailIfExists); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern bool MoveFileEx(string lpExistingFileName, string lpNewFileName, MoveFileFlags Flags); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern bool RemoveDirectory(string lpPathName); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern bool CreateDirectory(string lpPathName, IntPtr lpSecurityAttributes); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern bool DeleteFile(string lpFileName); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern uint SetFilePointer([In] IntPtr hFile, [In] int lDistanceToMove, out int lpDistanceToMoveHigh, [In] MoveMethod dwMoveMethod); + + [DllImport("KERNELBASE.DLL", SetLastError = true)] + internal static extern bool SetEndOfFile(IntPtr hFile); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern IntPtr FindFirstFile(string lpFileName, out WIN32_FIND_DATA lpFindFileData); + + [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern bool FindNextFile(IntPtr hFindFile, out WIN32_FIND_DATA lpFindFileData); + + [DllImport("KERNELBASE.DLL", SetLastError = true)] + internal static extern bool FindClose(IntPtr hFindFile); + + internal const uint INVALID_SET_FILE_POINTER = 4294967295U; + + internal const int ERROR_NO_MORE_FILES = 18; + } +} diff --git a/WPinternalsSDK/Win32Exception.cs b/WPinternalsSDK/Win32Exception.cs new file mode 100644 index 0000000..a0a71f9 --- /dev/null +++ b/WPinternalsSDK/Win32Exception.cs @@ -0,0 +1,31 @@ +using System; + +namespace WPinternalsSDK +{ + public class Win32Exception : Exception + { + public Win32Exception(int HResult) + { + this.HResult = HResult; + } + + public Win32Exception(int HResult, string Message) : base(Message) + { + this.HResult = HResult; + } + + public new int HResult + { + get + { + return this._HResult; + } + set + { + this._HResult = value; + } + } + + private int _HResult; + } +}