diff --git a/Tests/Cosmos.Compiler.Tests.SingleEchoTest/AssemblyInfo.cs b/Tests/Cosmos.Compiler.Tests.SingleEchoTest/AssemblyInfo.cs
new file mode 100644
index 000000000..6848b03ad
--- /dev/null
+++ b/Tests/Cosmos.Compiler.Tests.SingleEchoTest/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Package Name")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Company")]
+[assembly: AssemblyProduct("Package Name")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: ComVisible(false)]
+[assembly: CLSCompliant(false)]
+[assembly: NeutralResourcesLanguage("en-US")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
+
+
+
diff --git a/Tests/Cosmos.Compiler.Tests.SingleEchoTest/Cosmos.Compiler.Tests.SingleEchoTest.csproj b/Tests/Cosmos.Compiler.Tests.SingleEchoTest/Cosmos.Compiler.Tests.SingleEchoTest.csproj
new file mode 100644
index 000000000..c231fb66b
--- /dev/null
+++ b/Tests/Cosmos.Compiler.Tests.SingleEchoTest/Cosmos.Compiler.Tests.SingleEchoTest.csproj
@@ -0,0 +1,70 @@
+
+
+
+ Debug
+ AnyCPU
+ 9.0.30729
+ 2.0
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}
+ Library
+ Properties
+ Cosmos.Compiler.Tests.SingleEchoTest
+ Cosmos.Compiler.Tests.SingleEchoTest
+ 512
+ v4.5
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+ x86
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+ true
+
+
+ Cosmos.snk
+
+
+
+
+
+
+
+
+
+
+
+
+ {61607f1e-58f9-41cf-972f-128384f3e115}
+ Cosmos.Debug.Kernel
+
+
+ {3def0461-08ab-471a-8f03-a9c556652a0f}
+ Cosmos.System
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Tests/Cosmos.Compiler.Tests.SingleEchoTest/Cosmos.Compiler.Tests.SingleEchoTestBoot.Cosmos b/Tests/Cosmos.Compiler.Tests.SingleEchoTest/Cosmos.Compiler.Tests.SingleEchoTestBoot.Cosmos
new file mode 100644
index 000000000..caf7fb957
--- /dev/null
+++ b/Tests/Cosmos.Compiler.Tests.SingleEchoTest/Cosmos.Compiler.Tests.SingleEchoTestBoot.Cosmos
@@ -0,0 +1,58 @@
+
+
+
+ Debug
+ 2.0
+ {41efaeb7-7d53-4f6b-ae63-cfda84a22a38}
+ false
+ Cosmos.Compiler.Tests.SingleEchoTestBoot
+ elf
+ v4.5
+
+
+ VMware
+
+ true
+ Source
+ User
+ False
+ false
+ Player
+ bin\Debug\
+ Cosmos.Compiler.Tests.SingleEchoTestBoot
+ Use VMware Player or Workstation to deploy and debug.
+ ISO
+ VMware
+ Pipe: Cosmos\Serial
+
+
+
+ Cosmos.Core.Plugs
+ {d9a87aad-fcc9-4517-b31d-e904dad00784}
+ True
+
+
+ Cosmos.Debug.Kernel.Plugs
+ {b97a2956-c363-47f2-a6aa-b4fccff4d315}
+ True
+
+
+ Cosmos.System.Plugs
+ {7c64b97f-516d-4a6d-b9e1-3fe48f561409}
+ True
+
+
+ Cosmos.Compiler.Tests.SingleEchoTest
+ {3e28cfd9-25d4-4ebb-86e3-4a4a8a8936fe}
+ True
+
+
+
+
+
\ No newline at end of file
diff --git a/Tests/Cosmos.Compiler.Tests.SingleEchoTest/Cosmos.snk b/Tests/Cosmos.Compiler.Tests.SingleEchoTest/Cosmos.snk
new file mode 100644
index 000000000..68808d392
Binary files /dev/null and b/Tests/Cosmos.Compiler.Tests.SingleEchoTest/Cosmos.snk differ
diff --git a/Tests/Cosmos.Compiler.Tests.SingleEchoTest/Kernel.cs b/Tests/Cosmos.Compiler.Tests.SingleEchoTest/Kernel.cs
new file mode 100644
index 000000000..dd6193908
--- /dev/null
+++ b/Tests/Cosmos.Compiler.Tests.SingleEchoTest/Kernel.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Sys = Cosmos.System;
+
+namespace Cosmos.Compiler.Tests.SingleEchoTest
+{
+ public class Kernel : Sys.Kernel
+ {
+ protected override void BeforeRun()
+ {
+ Console.WriteLine("Cosmos booted successfully. Type a line of text to get it echoed back.");
+ }
+
+ protected override void Run()
+ {
+ // start by faking a b c
+ Sys.TestingHelpers.KeyboardAddFakeScanCode(0x1E, false);
+ Sys.TestingHelpers.KeyboardAddFakeScanCode(0x1E, true);
+ Sys.TestingHelpers.KeyboardAddFakeScanCode(0x2E, false);
+ Sys.TestingHelpers.KeyboardAddFakeScanCode(0x2E, true);
+ Sys.TestingHelpers.KeyboardAddFakeScanCode(0x30, false);
+ Sys.TestingHelpers.KeyboardAddFakeScanCode(0x30, true);
+ // enter:
+ Sys.TestingHelpers.KeyboardAddFakeScanCode(0x1C, false);
+ Sys.TestingHelpers.KeyboardAddFakeScanCode(0x1C, true);
+
+ Console.Write("Input: ");
+ var input = Console.ReadLine();
+ Console.Write("Text typed: ");
+ Console.WriteLine(input);
+ while (true)
+ ;
+ }
+ }
+}
diff --git a/Tests/Cosmos.TestRunner.Core/Cosmos.TestRunner.Core.csproj b/Tests/Cosmos.TestRunner.Core/Cosmos.TestRunner.Core.csproj
index de49b7c53..105b3df9b 100644
--- a/Tests/Cosmos.TestRunner.Core/Cosmos.TestRunner.Core.csproj
+++ b/Tests/Cosmos.TestRunner.Core/Cosmos.TestRunner.Core.csproj
@@ -133,6 +133,10 @@
{57045fe8-b0fe-4fc1-810f-7c3914aef1de}
Cosmos.Compiler.Tests.SimpleWriteLine.Kernel
+
+ {3e28cfd9-25d4-4ebb-86e3-4a4a8a8936fe}
+ Cosmos.Compiler.Tests.SingleEchoTest
+
{E6D3B644-C487-472D-A978-C1A82D0C099B}
Cosmos.TestRunner.TestController
diff --git a/Tests/Cosmos.TestRunner.Core/DefaultEngineConfiguration.cs b/Tests/Cosmos.TestRunner.Core/DefaultEngineConfiguration.cs
index d7debef1a..3433104db 100644
--- a/Tests/Cosmos.TestRunner.Core/DefaultEngineConfiguration.cs
+++ b/Tests/Cosmos.TestRunner.Core/DefaultEngineConfiguration.cs
@@ -15,16 +15,17 @@ namespace Cosmos.TestRunner.Core
engine.AllowedSecondsInKernel = 180;
// If you want to test only specific platforms, add them to the list, like next line. By default, all platforms are ran.
- //engine.RunTargets.Add(RunTargetEnum.Bochs);
+ engine.RunTargets.Add(RunTargetEnum.Bochs);
// if you're working on the compiler (or other lower parts), you can choose to run the compiler in process
// 1 thing to keep in mind though, is that this only works with 1 kernel at a time!
- engine.RunIL2CPUInProcess = false;
+ engine.RunIL2CPUInProcess = true;
engine.RunWithGDB = false;
- engine.AddKernel(typeof(Cosmos.Compiler.Tests.SimpleWriteLine.Kernel.Kernel).Assembly.Location);
- engine.AddKernel(typeof(SimpleStructsAndArraysTest.Kernel).Assembly.Location);
- engine.AddKernel(typeof(VGACompilerCrash.Kernel).Assembly.Location);
+ //engine.AddKernel(typeof(Cosmos.Compiler.Tests.SimpleWriteLine.Kernel.Kernel).Assembly.Location);
+ //engine.AddKernel(typeof(SimpleStructsAndArraysTest.Kernel).Assembly.Location);
+ //engine.AddKernel(typeof(VGACompilerCrash.Kernel).Assembly.Location);
+ engine.AddKernel(typeof(Cosmos.Compiler.Tests.SingleEchoTest.Kernel).Assembly.Location);
// known bugs, therefor disabled for now:
//engine.AddKernel(typeof(BoxingTests.Kernel).Assembly.Location);
diff --git a/Tests/Cosmos.TestRunner/Cosmos.TestRunner.csproj b/Tests/Cosmos.TestRunner/Cosmos.TestRunner.csproj
index b1d63f43c..bfb30c2ef 100644
--- a/Tests/Cosmos.TestRunner/Cosmos.TestRunner.csproj
+++ b/Tests/Cosmos.TestRunner/Cosmos.TestRunner.csproj
@@ -65,6 +65,10 @@
{57045fe8-b0fe-4fc1-810f-7c3914aef1de}
Cosmos.Compiler.Tests.SimpleWriteLine.Kernel
+
+ {3e28cfd9-25d4-4ebb-86e3-4a4a8a8936fe}
+ Cosmos.Compiler.Tests.SingleEchoTest
+
{758FAF24-9974-4DB8-82EF-1B64DAF2F0BC}
Cosmos.TestRunner.Core
diff --git a/source/Cosmos.HAL/Global.cs b/source/Cosmos.HAL/Global.cs
index 9a61a2bb8..781a5f55e 100644
--- a/source/Cosmos.HAL/Global.cs
+++ b/source/Cosmos.HAL/Global.cs
@@ -82,7 +82,10 @@ namespace Cosmos.HAL {
//TextScreen.Clear();
Global.Dbg.Send("Keyboard");
- Keyboard = new DefaultKeyboard();
+ if (Keyboard == null)
+ {
+ Keyboard = new DefaultKeyboard();
+ }
// Find hardcoded ATA controllers
Global.Dbg.Send("ATA Master");
diff --git a/source/Cosmos.HAL/Keyboard.cs b/source/Cosmos.HAL/Keyboard.cs
index 044443ae0..ef4b0e637 100644
--- a/source/Cosmos.HAL/Keyboard.cs
+++ b/source/Cosmos.HAL/Keyboard.cs
@@ -78,6 +78,14 @@ namespace Cosmos.HAL {
HandleScancode(xScanCode, xReleased);
}
+ ///
+ /// Allow faking scancodes. Used for test kernels
+ ///
+ internal void HandleFakeScanCode(byte aScancode, bool aReleased)
+ {
+ HandleScancode(aScancode, aReleased);
+ }
+
protected abstract void HandleScancode(byte aScancode, bool aReleased);
private static Queue mQueuedKeys;
diff --git a/source/Cosmos.HAL/Properties/AssemblyInfo.cs b/source/Cosmos.HAL/Properties/AssemblyInfo.cs
index 9753526d2..ae34db9c8 100644
--- a/source/Cosmos.HAL/Properties/AssemblyInfo.cs
+++ b/source/Cosmos.HAL/Properties/AssemblyInfo.cs
@@ -2,7 +2,7 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
+// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
using Cosmos.Common;
@@ -16,8 +16,8 @@ using Cosmos.Common;
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
@@ -27,14 +27,16 @@ using Cosmos.Common;
// Version information for an assembly consists of the following four values:
//
// Major Version
-// Minor Version
+// Minor Version
// Build Number
// Revision
//
-// You can specify all the values or you can default the Build and Revision Numbers
+// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
-[assembly: Ring(Ring.HAL)]
\ No newline at end of file
+[assembly: Ring(Ring.HAL)]
+
+[assembly: InternalsVisibleTo("Cosmos.System, PublicKey=0024000004800000940000000602000000240000525341310004000001000100e3ef5198fa2f8926f006b5d2053eb3b3c875e74695675a6b97bd27ba6b0c5cbee26710c04277f7975927ace4a037692eddb71340a4c3f11e06c645c6a4cebad303301228943b39378bf3222f9432ff9c72c31d1a5e936db6cf9f18c23bd52a43c091fc803ce2139cd390a9678553d1e6061656c3d0196ddbd2233143fc433195")]
diff --git a/source/Cosmos.System/Cosmos.System.csproj b/source/Cosmos.System/Cosmos.System.csproj
index 0bc9d051a..89c17580b 100644
--- a/source/Cosmos.System/Cosmos.System.csproj
+++ b/source/Cosmos.System/Cosmos.System.csproj
@@ -99,6 +99,7 @@
+
diff --git a/source/Cosmos.System/Properties/AssemblyInfo.cs b/source/Cosmos.System/Properties/AssemblyInfo.cs
index 159961c51..a45c70475 100644
--- a/source/Cosmos.System/Properties/AssemblyInfo.cs
+++ b/source/Cosmos.System/Properties/AssemblyInfo.cs
@@ -2,7 +2,7 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
+// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
using Cosmos.Common;
@@ -16,8 +16,8 @@ using Cosmos.Common;
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
@@ -27,11 +27,11 @@ using Cosmos.Common;
// Version information for an assembly consists of the following four values:
//
// Major Version
-// Minor Version
+// Minor Version
// Build Number
// Revision
//
-// You can specify all the values or you can default the Build and Revision Numbers
+// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
@@ -40,4 +40,5 @@ using Cosmos.Common;
[assembly: Ring(Ring.System)]
// to allow VSTests:
-[assembly: InternalsVisibleTo("Cosmos.System.VSTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100e3ef5198fa2f8926f006b5d2053eb3b3c875e74695675a6b97bd27ba6b0c5cbee26710c04277f7975927ace4a037692eddb71340a4c3f11e06c645c6a4cebad303301228943b39378bf3222f9432ff9c72c31d1a5e936db6cf9f18c23bd52a43c091fc803ce2139cd390a9678553d1e6061656c3d0196ddbd2233143fc433195")]
\ No newline at end of file
+[assembly: InternalsVisibleTo("Cosmos.System.VSTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100e3ef5198fa2f8926f006b5d2053eb3b3c875e74695675a6b97bd27ba6b0c5cbee26710c04277f7975927ace4a037692eddb71340a4c3f11e06c645c6a4cebad303301228943b39378bf3222f9432ff9c72c31d1a5e936db6cf9f18c23bd52a43c091fc803ce2139cd390a9678553d1e6061656c3d0196ddbd2233143fc433195")]
+[assembly: InternalsVisibleTo("Cosmos.Compiler.Tests.SingleEchoTest, PublicKey=0024000004800000940000000602000000240000525341310004000001000100e3ef5198fa2f8926f006b5d2053eb3b3c875e74695675a6b97bd27ba6b0c5cbee26710c04277f7975927ace4a037692eddb71340a4c3f11e06c645c6a4cebad303301228943b39378bf3222f9432ff9c72c31d1a5e936db6cf9f18c23bd52a43c091fc803ce2139cd390a9678553d1e6061656c3d0196ddbd2233143fc433195")]
diff --git a/source/Cosmos.System/TestingHelpers.cs b/source/Cosmos.System/TestingHelpers.cs
new file mode 100644
index 000000000..fcc5ec673
--- /dev/null
+++ b/source/Cosmos.System/TestingHelpers.cs
@@ -0,0 +1,11 @@
+namespace Cosmos.System
+{
+ // This class exists purely for testing purposes.
+ internal static class TestingHelpers
+ {
+ internal static void KeyboardAddFakeScanCode(byte aScanCode, bool aReleased)
+ {
+ HAL.Global.Keyboard.HandleFakeScanCode(aScanCode, aReleased);
+ }
+ }
+}
diff --git a/source/Cosmos.sln b/source/Cosmos.sln
index 9347c32f2..d51984d36 100644
--- a/source/Cosmos.sln
+++ b/source/Cosmos.sln
@@ -239,6 +239,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BoxingTests", "..\Tests\Box
EndProject
Project("{471EC4BB-E47E-4229-A789-D1F5F83B52D4}") = "BoxingTestsBoot", "..\Tests\BoxingTests\BoxingTestsBoot.Cosmos", "{444098BC-8F72-4030-A8C0-118D2DD93EB8}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cosmos.Compiler.Tests.SingleEchoTest", "..\Tests\Cosmos.Compiler.Tests.SingleEchoTest\Cosmos.Compiler.Tests.SingleEchoTest.csproj", "{3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}"
+EndProject
+Project("{471EC4BB-E47E-4229-A789-D1F5F83B52D4}") = "Cosmos.Compiler.Tests.SingleEchoTestBoot", "..\Tests\Cosmos.Compiler.Tests.SingleEchoTest\Cosmos.Compiler.Tests.SingleEchoTestBoot.Cosmos", "{41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -1228,6 +1232,38 @@ Global
{444098BC-8F72-4030-A8C0-118D2DD93EB8}.Release|Mixed Platforms.Build.0 = Debug|x86
{444098BC-8F72-4030-A8C0-118D2DD93EB8}.Release|x86.ActiveCfg = Debug|x86
{444098BC-8F72-4030-A8C0-118D2DD93EB8}.Release|x86.Build.0 = Debug|x86
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Debug|Itanium.ActiveCfg = Debug|Any CPU
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Debug|Itanium.Build.0 = Debug|Any CPU
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Debug|x86.Build.0 = Debug|Any CPU
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Release|Itanium.ActiveCfg = Release|Any CPU
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Release|Itanium.Build.0 = Release|Any CPU
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Release|x86.ActiveCfg = Release|Any CPU
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE}.Release|x86.Build.0 = Release|Any CPU
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Debug|Any CPU.Build.0 = Debug|x86
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Debug|Itanium.ActiveCfg = Debug|x86
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Debug|Itanium.Build.0 = Debug|x86
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Debug|Mixed Platforms.Build.0 = Debug|x86
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Debug|x86.ActiveCfg = Debug|x86
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Debug|x86.Build.0 = Debug|x86
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Release|Any CPU.ActiveCfg = Debug|x86
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Release|Any CPU.Build.0 = Debug|x86
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Release|Itanium.ActiveCfg = Debug|x86
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Release|Itanium.Build.0 = Debug|x86
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Release|Mixed Platforms.ActiveCfg = Debug|x86
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Release|Mixed Platforms.Build.0 = Debug|x86
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Release|x86.ActiveCfg = Debug|x86
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38}.Release|x86.Build.0 = Debug|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -1322,5 +1358,7 @@ Global
{0B20C26F-CA92-4D88-8211-EC7B0A261337} = {79173AE7-4596-4D33-866F-6F94A2314BE8}
{F8889473-5866-4913-86AC-8072A1A2558C} = {F104F6BC-EF8E-4408-A786-D570D7565231}
{444098BC-8F72-4030-A8C0-118D2DD93EB8} = {F104F6BC-EF8E-4408-A786-D570D7565231}
+ {3E28CFD9-25D4-4EBB-86E3-4A4A8A8936FE} = {F104F6BC-EF8E-4408-A786-D570D7565231}
+ {41EFAEB7-7D53-4F6B-AE63-CFDA84A22A38} = {F104F6BC-EF8E-4408-A786-D570D7565231}
EndGlobalSection
EndGlobal