Index: GTP/trunk/Lib/Vis/Preprocessing/src/GvsPreprocessor.h
===================================================================
--- GTP/trunk/Lib/Vis/Preprocessing/src/GvsPreprocessor.h	(revision 1486)
+++ GTP/trunk/Lib/Vis/Preprocessing/src/GvsPreprocessor.h	(revision 1489)
@@ -12,4 +12,5 @@
 class Exporter;
 class VssRay;
+
 
 
@@ -31,21 +32,26 @@
 	struct GvsRayInfo
 	{
+		GvsRayInfo(VssRay *ray, const bool d)
+			: mRay(ray), mFoundDiscontinuity(d) 
+		{}
+
 		VssRay *mRay;
 		bool mFoundDiscontinuity;
-	}
+	};
 
-	
+
 	typedef stack<GvsRayInfo> RayQueue;
 
-	/** Runs the adaptive sampling. The method starts with a number of random rays given
-		by the queue and continues as long it finds new visible geometry (i.e., the queue is
-		not empty).
+	/** Runs the adaptive sampling until the ray queue is empty. 
+		The method starts with a number of random rays given
+		by the queue and continues as long it finds new visible geometry 
+		(i.e., the queue is	not empty).
 
 		@returns the number of samples cast.
 	*/
-	int RunSampling();
+	int ProcessQueue();
 
-	/** One pass of the sampling preprocessor. Continues as long as at least passSample
-		rays have been cast.
+	/** One pass of the sampling preprocessor. 
+		Continues as long as at least passSample rays have been cast.
 		@returns the number of samples cast.
 	*/
@@ -54,8 +60,5 @@
 	/** Generates the rays starting the adaptive visibility sampling process.
 	*/
-	int CastAvsSamples(
-		const int samplesPerPass, 
-		const int sampleType, 
-		RayQueue &passSamples);
+	int CastInitialSamples(const int numSamples, const int sampleType);
 
 	/** Uses the information gained from the ray for doing adaptive border sampling.
@@ -70,27 +73,25 @@
 	int HandleRay(const GvsRayInfo &ray);
 
-	/** 
+	/** The adaptive border sampling step. It aims to find neighbouring 
+		triangles of the one hit by the previous ray.
 	*/	
-	int AdaptiveBorderSampling(const VssRay &ray);
+	int AdaptiveBorderSampling(const VssRay &prevRay);
 	
-	int ReverseSampling(const VssRay &ray);
+	/** The reverse sampling step. It is started once the cast
+		ray finds a discontinuity, i.e., a closer triangle.
+		Then the process tries to find a ray from the old
+		triangle passing through a gap.
+	*/
+	int ReverseSampling(const VssRay &prevRay);
 
-	/** Cast samples according to a specific sampling strategy.
+	/** Returns true if we sampled a closer triangle than with the previous ray.
 	*/
-	int CastPassSamples(
-		const int samplesPerPass, 
-		const int sampleType, 
-		VssRayContainer &passSamples) const;
+	const bool DiscontinuityFound(const VssRay &ray, const VssRay &prevRay) const;
 
-	void CreateNewSamples(
-		VertexContainer &samples, 
-		const VssRay &ray, 
-		const Triangle3 &hitTriangle, 
-		const int index,
-		const float eps);
-
-	const bool DiscontinuityFound(const VssRay &ray) const;
-
-
+	/** Adds new samples to the ray queue and classifies them
+		with respect to the previous ray.
+	*/
+	void EnqueueSamples(VssRayContainer &samples, VssRay *prevRay = NULL);
+	
 	//////////////////////
 
Index: GTP/trunk/Lib/Vis/Preprocessing/src/Environment.cpp
===================================================================
--- GTP/trunk/Lib/Vis/Preprocessing/src/Environment.cpp	(revision 1486)
+++ GTP/trunk/Lib/Vis/Preprocessing/src/Environment.cpp	(revision 1489)
@@ -2432,5 +2432,5 @@
 					optBool,
 					"bvh_construction_use_global_sorting=",
-					"false");
+					"true");
 
 	
Index: GTP/trunk/Lib/Vis/Preprocessing/src/ViewCell.cpp
===================================================================
--- GTP/trunk/Lib/Vis/Preprocessing/src/ViewCell.cpp	(revision 1416)
+++ GTP/trunk/Lib/Vis/Preprocessing/src/ViewCell.cpp	(revision 1489)
@@ -1485,5 +1485,4 @@
 {
 	 stats << "#Pass\n" << pass << endl
-		//<< "#Merged\n" << mergeStats.merged << endl 
 		<< "#ViewCells\n" << viewCells << endl 
         << "#RenderCostDecrease\n" << renderCostDecrease << endl // TODO
@@ -1499,4 +1498,5 @@
 		<< endl;
 }
+
 
 void ViewCellsTree::ExportStats(const string &mergeStats)
Index: GTP/trunk/Lib/Vis/Preprocessing/src/GvsPreprocessor.cpp
===================================================================
--- GTP/trunk/Lib/Vis/Preprocessing/src/GvsPreprocessor.cpp	(revision 1486)
+++ GTP/trunk/Lib/Vis/Preprocessing/src/GvsPreprocessor.cpp	(revision 1489)
@@ -5,5 +5,5 @@
 #include "ViewCellsManager.h"
 #include "Triangle3.h"
-
+#include "IntersectableWrapper.h"
 
 
@@ -29,6 +29,8 @@
 
 
-const bool GvsPreprocessor::DiscontinuityFound(const VssRay &ray) const
-{
+const bool GvsPreprocessor::DiscontinuityFound(const VssRay &ray, 
+											   const VssRay &oldRay) const
+{
+    //const Plane3 plane = tri->GetPlane();
 	return false;
 }
@@ -52,10 +54,12 @@
 }
 
-
-void GvsPreprocessor::CreateNewSamples(VertexContainer &samples, 
-									   const VssRay &ray, 
-									   const Triangle3 &hitTriangle, 
-									   const int index,
-									   const float eps)
+/** Hepler function for adaptive border sampling. It finds 
+	new sample points around a triangle in a eps environment
+*/
+static void CreateNewSamples(VertexContainer &samples, 
+							 const Triangle3 &hitTriangle,
+							 const VssRay &ray, 
+							 const int index,
+							 const float eps)
 {
 	const int indexU = (index + 1) % 3;
@@ -86,36 +90,54 @@
 
 
-int GvsPreprocessor::AdaptiveBorderSampling(const VssRay &ray)
+/** Generate rays from sample points.
+*/
+static void CreateRays(VssRayContainer &rays,
+					   const VertexContainer &samples)
+{
+	VertexContainer::const_iterator vit, vit_end = samples.end();
+	
+	for (vit = samples.begin(); vit != vit_end; ++ vit)
+	{
+		const Vector3 currentSample = *vit;
+		VssRay *ray;// = new VssRay(ray->mOrigin, currentSample);
+	}
+}
+
+
+int GvsPreprocessor::AdaptiveBorderSampling(const VssRay &prevRay)
 {
 	cout << "a";
-	//Intersectable *tObj = ray->GetTerminationObject;
+	Intersectable *tObj = prevRay.mTerminationObject;
 	Triangle3 hitTriangle;
-	vector<Vector3> samples;
+
+	// other types not implemented yet
+	if (tObj->Type() == Intersectable::TRIANGLE_INTERSECTABLE)
+	{
+		hitTriangle = dynamic_cast<TriangleIntersectable *>(tObj)->GetItem();
+	}
+
+	VertexContainer samples;
 	samples.reserve(9);
 
-	CreateNewSamples(samples, ray, hitTriangle, 0, mEps);
-	CreateNewSamples(samples, ray, hitTriangle, 1, mEps);
-	CreateNewSamples(samples, ray, hitTriangle, 2, mEps);
-
-	VertexContainer::const_iterator vit, vit_end = samples.end();
-	
-	for (vit = samples.begin(); vit != vit_end; ++ vit)
-	{
-		VssRay *ray;// = CreateRay(*vit);
-
-		if (DiscontinuityFound(*ray))
-		{
-			// schedule for reverse sampling
-			mRayQueue.push(GvsRayInfo(ray, true));
-		}
-		else
-		{
-			// schedule for adaptive border sampling
-			mRayQueue.push(GvsRayInfo(ray, false));
-		}
-	}
-
-	// TODO
-	return 1;
+	CreateNewSamples(samples, hitTriangle, prevRay, 0, mEps);
+	CreateNewSamples(samples, hitTriangle, prevRay, 1, mEps);
+	CreateNewSamples(samples, hitTriangle, prevRay, 2, mEps);
+
+	VssRayContainer vssRays;
+	CreateRays(vssRays, samples);
+
+	VssRayContainer::const_iterator rit, rit_end = vssRays.end();
+	
+	for (rit = vssRays.begin(); rit != rit_end; ++ rit)
+	{
+		VssRay *ray = *rit;
+
+		// discontinuity found? 
+		// schedule for reverse sampling or adaptive border sampling
+		const bool gap = DiscontinuityFound(*ray, prevRay);
+		mRayQueue.push(GvsRayInfo(ray, gap));
+	}
+
+	return 9;
 }
 
@@ -128,28 +150,38 @@
 }
 
-int GvsPreprocessor::CastAvsSamples(const int samplesPerPass, 
-									const int sampleType, 
-									RayQueue &passSamples)
-{
+
+int GvsPreprocessor::CastInitialSamples(const int numSamples, 
+										const int sampleType)
+{	
+	const long startTime = GetTime();
+
+	// generate simple rays
 	SimpleRayContainer simpleRays;
-	const long startTime = GetTime();
-
-	GenerateRays(samplesPerPass, sampleType, simpleRays);
-	Debug << "generated " <<  samplesPerPass << " samples in " << TimeDiff(startTime, GetTime()) * 1e-3 << " secs" << endl;
-
-	// cast the rays and optain hitpoints with geometry
+	GenerateRays(numSamples, sampleType, simpleRays);
+	
+	// generate vss rays
 	VssRayContainer samples;
 	CastRays(simpleRays, samples);
-
-	Debug << "cast " <<  samplesPerPass << " samples in " << TimeDiff(startTime, GetTime()) * 1e-3 << " secs" << endl;
-
+	
+	// add to ray queue
+	EnqueueSamples(samples);
+
+	Debug << "generated " <<  numSamples << " samples in " << TimeDiff(startTime, GetTime()) * 1e-3 << " secs" << endl;
+
+	return (int)samples.size();
+}
+
+
+void GvsPreprocessor::EnqueueSamples(VssRayContainer &samples, VssRay *oldRay)
+{
 	// add samples to ray queue
 	VssRayContainer::const_iterator vit, vit_end = samples.end();
 	for (vit = samples.begin(); vit != vit_end; ++ vit)
 	{
-		mRayQueue.push(*vit);
-	}
-
-	return (int)mRayQueue.size();
+		/// if there is no old ray, no discontinuity
+		const bool gap = oldRay ? DiscontinuityFound(*(*vit), *oldRay) : false;
+		mRayQueue.push(GvsRayInfo(*vit, gap));
+	}
+
 }
 
@@ -158,15 +190,14 @@
 {
 	int castSamples = 0;
-	
+	const int mSampleType = 0;
 	while (castSamples < mSamplesPerPass) 
 	{
 		// Ray queue empty => 
 		// cast a number of uniform samples to fill ray Queue
-		CastAvsSamples(mInitialSamples, mSamplingType, mRayQueue);
-		
-		const int gvsSamples = RunSampling();
+		CastInitialSamples(mInitialSamples, mSampleType);
+
+		const int gvsSamples = ProcessQueue();
 		castSamples += gvsSamples;
-		//cout << "\ngvs samples: " << gvsSamples << endl;
-		//cout << "cast " << castSamples << " of " << mSamplesPerPass << endl;
+		//cout << "\ncast " << castSamples << " of " << mSamplesPerPass << endl;
 	}
 
@@ -175,5 +206,5 @@
 
 
-int GvsPreprocessor::RunSampling()
+int GvsPreprocessor::ProcessQueue()
 {
 	int castSamples = 0;
@@ -182,8 +213,8 @@
 	{
 		// handle next ray
-		VssRay *ray = mRayQueue.top();
+		GvsRayInfo rayInfo = mRayQueue.top();
 		mRayQueue.pop();
 		
-		castSamples += HandleRay(*ray);
+		castSamples += HandleRay(rayInfo);
 	}
 
@@ -192,6 +223,5 @@
 
 
-bool
-GvsPreprocessor::ComputeVisibility()
+bool GvsPreprocessor::ComputeVisibility()
 {
 	Randomize(0);
@@ -213,9 +243,12 @@
 		const int passSamples = Pass();
 		castSamples += passSamples;
+		
+		/////////////
+		// -- stats
 		cout << "+";
 		cout << "\nsamples cast " << passSamples << " (=" << castSamples << " of " << mTotalSamples << ")" << endl;
 		//mVssRays.PrintStatistics(mStats);
-		//mStats << "#Time\n" << TimeDiff(startTime, GetTime())*1e-3 << endl
-		//	   << "#TotalSamples\n" << samples << endl;
+		mStats << "#Time\n" << TimeDiff(startTime, GetTime())*1e-3 << endl
+			   << "#TotalSamples\n" << castSamples << endl;
 
 		mViewCellsManager->PrintPvsStatistics(mStats);
Index: GTP/trunk/Lib/Vis/GtpVisibility.sln
===================================================================
--- GTP/trunk/Lib/Vis/GtpVisibility.sln	(revision 1320)
+++ GTP/trunk/Lib/Vis/GtpVisibility.sln	(revision 1489)
@@ -39,4 +39,12 @@
 		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436} = {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}
 		{7319E499-473D-4CE5-9983-725D6E68A55D} = {7319E499-473D-4CE5-9983-725D6E68A55D}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gui", "Preprocessing\gui\gui.vcproj", "{8E28F667-63A7-4F41-81D0-233B971BF247}"
+	ProjectSection(ProjectDependencies) = postProject
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fractal", "Preprocessing\fractal\fractal.vcproj", "{00ED6D39-0F68-405F-AE02-B8886BACA7E2}"
+	ProjectSection(ProjectDependencies) = postProject
 	EndProjectSection
 EndProject
@@ -45,8 +53,22 @@
 		Debug = Debug
 		Debug Static = Debug Static
+		DLL Debug = DLL Debug
+		DLL Release = DLL Release
+		DLL Unicode Debug = DLL Unicode Debug
+		DLL Unicode Release = DLL Unicode Release
+		DLL Universal Debug = DLL Universal Debug
+		DLL Universal Release = DLL Universal Release
+		DLL Universal Unicode Debug = DLL Universal Unicode Debug
+		DLL Universal Unicode Release = DLL Universal Unicode Release
 		mlrt = mlrt
 		Release = Release
 		Release Internal = Release Internal
 		Release Static = Release Static
+		Unicode Debug = Unicode Debug
+		Unicode Release = Unicode Release
+		Universal Debug = Universal Debug
+		Universal Release = Universal Release
+		Universal Unicode Debug = Universal Unicode Debug
+		Universal Unicode Release = Universal Unicode Release
 	EndGlobalSection
 	GlobalSection(ProjectConfiguration) = postSolution
@@ -55,4 +77,20 @@
 		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Debug Static.ActiveCfg = Debug|Win32
 		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Debug Static.Build.0 = Debug|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Debug.ActiveCfg = Debug|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Debug.Build.0 = Debug|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Release.ActiveCfg = Release|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Release.Build.0 = Release|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Unicode Debug.ActiveCfg = Debug|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Unicode Debug.Build.0 = Debug|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Unicode Release.ActiveCfg = Release|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Unicode Release.Build.0 = Release|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Universal Debug.ActiveCfg = Debug|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Universal Debug.Build.0 = Debug|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Universal Release.ActiveCfg = Release|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Universal Release.Build.0 = Release|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Universal Unicode Debug.Build.0 = Debug|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Universal Unicode Release.ActiveCfg = Release|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.DLL Universal Unicode Release.Build.0 = Release|Win32
 		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.mlrt.ActiveCfg = mlrt|Win32
 		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.mlrt.Build.0 = mlrt|Win32
@@ -63,8 +101,36 @@
 		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Release Static.ActiveCfg = Release|Win32
 		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Release Static.Build.0 = Release|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Unicode Debug.ActiveCfg = Debug|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Unicode Debug.Build.0 = Debug|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Unicode Release.ActiveCfg = Release|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Unicode Release.Build.0 = Release|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Universal Debug.ActiveCfg = Debug|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Universal Debug.Build.0 = Debug|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Universal Release.ActiveCfg = Release|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Universal Release.Build.0 = Release|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Universal Unicode Debug.Build.0 = Debug|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Universal Unicode Release.ActiveCfg = Release|Win32
+		{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Universal Unicode Release.Build.0 = Release|Win32
 		{101A7691-74F3-48B4-96A3-CF35578F5900}.Debug.ActiveCfg = Debug|Win32
 		{101A7691-74F3-48B4-96A3-CF35578F5900}.Debug.Build.0 = Debug|Win32
 		{101A7691-74F3-48B4-96A3-CF35578F5900}.Debug Static.ActiveCfg = Debug|Win32
 		{101A7691-74F3-48B4-96A3-CF35578F5900}.Debug Static.Build.0 = Debug|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Debug.ActiveCfg = Debug|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Debug.Build.0 = Debug|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Release.ActiveCfg = Release|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Release.Build.0 = Release|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Unicode Debug.ActiveCfg = Debug|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Unicode Debug.Build.0 = Debug|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Unicode Release.ActiveCfg = Release|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Unicode Release.Build.0 = Release|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Universal Debug.ActiveCfg = Debug|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Universal Debug.Build.0 = Debug|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Universal Release.ActiveCfg = Release|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Universal Release.Build.0 = Release|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Universal Unicode Debug.Build.0 = Debug|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Universal Unicode Release.ActiveCfg = Release|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.DLL Universal Unicode Release.Build.0 = Release|Win32
 		{101A7691-74F3-48B4-96A3-CF35578F5900}.mlrt.ActiveCfg = mlrt|Win32
 		{101A7691-74F3-48B4-96A3-CF35578F5900}.mlrt.Build.0 = mlrt|Win32
@@ -75,8 +141,36 @@
 		{101A7691-74F3-48B4-96A3-CF35578F5900}.Release Static.ActiveCfg = Release|Win32
 		{101A7691-74F3-48B4-96A3-CF35578F5900}.Release Static.Build.0 = Release|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.Unicode Debug.ActiveCfg = Debug|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.Unicode Debug.Build.0 = Debug|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.Unicode Release.ActiveCfg = Release|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.Unicode Release.Build.0 = Release|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.Universal Debug.ActiveCfg = Debug|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.Universal Debug.Build.0 = Debug|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.Universal Release.ActiveCfg = Release|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.Universal Release.Build.0 = Release|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.Universal Unicode Debug.Build.0 = Debug|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.Universal Unicode Release.ActiveCfg = Release|Win32
+		{101A7691-74F3-48B4-96A3-CF35578F5900}.Universal Unicode Release.Build.0 = Release|Win32
 		{7319E499-473D-4CE5-9983-725D6E68A55D}.Debug.ActiveCfg = Debug|Win32
 		{7319E499-473D-4CE5-9983-725D6E68A55D}.Debug.Build.0 = Debug|Win32
 		{7319E499-473D-4CE5-9983-725D6E68A55D}.Debug Static.ActiveCfg = Debug|Win32
 		{7319E499-473D-4CE5-9983-725D6E68A55D}.Debug Static.Build.0 = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Debug.ActiveCfg = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Debug.Build.0 = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Release.ActiveCfg = Release|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Release.Build.0 = Release|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Unicode Debug.ActiveCfg = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Unicode Debug.Build.0 = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Unicode Release.ActiveCfg = Release|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Unicode Release.Build.0 = Release|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Universal Debug.ActiveCfg = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Universal Debug.Build.0 = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Universal Release.ActiveCfg = Release|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Universal Release.Build.0 = Release|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Universal Unicode Debug.Build.0 = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Universal Unicode Release.ActiveCfg = Release|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.DLL Universal Unicode Release.Build.0 = Release|Win32
 		{7319E499-473D-4CE5-9983-725D6E68A55D}.mlrt.ActiveCfg = mlrt|Win32
 		{7319E499-473D-4CE5-9983-725D6E68A55D}.mlrt.Build.0 = mlrt|Win32
@@ -87,8 +181,36 @@
 		{7319E499-473D-4CE5-9983-725D6E68A55D}.Release Static.ActiveCfg = Release|Win32
 		{7319E499-473D-4CE5-9983-725D6E68A55D}.Release Static.Build.0 = Release|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Unicode Debug.ActiveCfg = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Unicode Debug.Build.0 = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Unicode Release.ActiveCfg = Release|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Unicode Release.Build.0 = Release|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Universal Debug.ActiveCfg = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Universal Debug.Build.0 = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Universal Release.ActiveCfg = Release|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Universal Release.Build.0 = Release|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Universal Unicode Debug.Build.0 = Debug|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Universal Unicode Release.ActiveCfg = Release|Win32
+		{7319E499-473D-4CE5-9983-725D6E68A55D}.Universal Unicode Release.Build.0 = Release|Win32
 		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Debug.ActiveCfg = Debug|Win32
 		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Debug.Build.0 = Debug|Win32
 		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Debug Static.ActiveCfg = Debug|Win32
 		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Debug Static.Build.0 = Debug|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Debug.ActiveCfg = Debug|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Debug.Build.0 = Debug|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Release.ActiveCfg = Release|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Release.Build.0 = Release|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Unicode Debug.ActiveCfg = Debug|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Unicode Debug.Build.0 = Debug|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Unicode Release.ActiveCfg = Release|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Unicode Release.Build.0 = Release|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Universal Debug.ActiveCfg = Debug|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Universal Debug.Build.0 = Debug|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Universal Release.ActiveCfg = Release|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Universal Release.Build.0 = Release|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Universal Unicode Debug.Build.0 = Debug|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Universal Unicode Release.ActiveCfg = Release|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DLL Universal Unicode Release.Build.0 = Release|Win32
 		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.mlrt.ActiveCfg = mlrt|Win32
 		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.mlrt.Build.0 = mlrt|Win32
@@ -99,8 +221,36 @@
 		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Release Static.ActiveCfg = Release|Win32
 		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Release Static.Build.0 = Release|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Unicode Debug.ActiveCfg = Debug|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Unicode Debug.Build.0 = Debug|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Unicode Release.ActiveCfg = Release|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Unicode Release.Build.0 = Release|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Universal Debug.ActiveCfg = Debug|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Universal Debug.Build.0 = Debug|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Universal Release.ActiveCfg = Release|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Universal Release.Build.0 = Release|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Universal Unicode Debug.Build.0 = Debug|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Universal Unicode Release.ActiveCfg = Release|Win32
+		{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Universal Unicode Release.Build.0 = Release|Win32
 		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Debug.ActiveCfg = Debug|Win32
 		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Debug.Build.0 = Debug|Win32
 		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Debug Static.ActiveCfg = Debug|Win32
 		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Debug Static.Build.0 = Debug|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Debug.ActiveCfg = Debug|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Debug.Build.0 = Debug|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Release.ActiveCfg = Release|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Release.Build.0 = Release|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Unicode Debug.ActiveCfg = Debug|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Unicode Debug.Build.0 = Debug|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Unicode Release.ActiveCfg = Release|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Unicode Release.Build.0 = Release|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Universal Debug.ActiveCfg = Debug|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Universal Debug.Build.0 = Debug|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Universal Release.ActiveCfg = Release|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Universal Release.Build.0 = Release|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Universal Unicode Debug.Build.0 = Debug|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Universal Unicode Release.ActiveCfg = Release|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.DLL Universal Unicode Release.Build.0 = Release|Win32
 		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.mlrt.ActiveCfg = mlrt|Win32
 		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.mlrt.Build.0 = mlrt|Win32
@@ -111,8 +261,36 @@
 		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Release Static.ActiveCfg = Release|Win32
 		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Release Static.Build.0 = Release|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Unicode Debug.ActiveCfg = Debug|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Unicode Debug.Build.0 = Debug|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Unicode Release.ActiveCfg = Release|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Unicode Release.Build.0 = Release|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Universal Debug.ActiveCfg = Debug|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Universal Debug.Build.0 = Debug|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Universal Release.ActiveCfg = Release|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Universal Release.Build.0 = Release|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Universal Unicode Debug.Build.0 = Debug|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Universal Unicode Release.ActiveCfg = Release|Win32
+		{EABCE292-D598-4600-A1C9-2591E7D62FDA}.Universal Unicode Release.Build.0 = Release|Win32
 		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Debug.ActiveCfg = Debug|Win32
 		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Debug.Build.0 = Debug|Win32
 		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Debug Static.ActiveCfg = Debug|Win32
 		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Debug Static.Build.0 = Debug|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Debug.ActiveCfg = Debug|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Debug.Build.0 = Debug|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Release.ActiveCfg = Release|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Release.Build.0 = Release|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Unicode Debug.ActiveCfg = Debug|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Unicode Debug.Build.0 = Debug|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Unicode Release.ActiveCfg = Release|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Unicode Release.Build.0 = Release|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Universal Debug.ActiveCfg = Debug|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Universal Debug.Build.0 = Debug|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Universal Release.ActiveCfg = Release|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Universal Release.Build.0 = Release|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Universal Unicode Debug.Build.0 = Debug|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Universal Unicode Release.ActiveCfg = Release|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.DLL Universal Unicode Release.Build.0 = Release|Win32
 		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.mlrt.ActiveCfg = mlrt|Win32
 		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.mlrt.Build.0 = mlrt|Win32
@@ -123,8 +301,36 @@
 		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Release Static.ActiveCfg = Release|Win32
 		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Release Static.Build.0 = Release|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Unicode Debug.ActiveCfg = Debug|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Unicode Debug.Build.0 = Debug|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Unicode Release.ActiveCfg = Release|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Unicode Release.Build.0 = Release|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Universal Debug.ActiveCfg = Debug|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Universal Debug.Build.0 = Debug|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Universal Release.ActiveCfg = Release|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Universal Release.Build.0 = Release|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Universal Unicode Debug.Build.0 = Debug|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Universal Unicode Release.ActiveCfg = Release|Win32
+		{69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Universal Unicode Release.Build.0 = Release|Win32
 		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Debug.ActiveCfg = Debug|Win32
 		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Debug.Build.0 = Debug|Win32
 		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Debug Static.ActiveCfg = Debug|Win32
 		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Debug Static.Build.0 = Debug|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Debug.ActiveCfg = Debug|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Debug.Build.0 = Debug|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Release.ActiveCfg = Release|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Release.Build.0 = Release|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Unicode Debug.ActiveCfg = Debug|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Unicode Debug.Build.0 = Debug|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Unicode Release.ActiveCfg = Release|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Unicode Release.Build.0 = Release|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Universal Debug.ActiveCfg = Debug|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Universal Debug.Build.0 = Debug|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Universal Release.ActiveCfg = Release|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Universal Release.Build.0 = Release|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Universal Unicode Debug.Build.0 = Debug|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Universal Unicode Release.ActiveCfg = Release|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.DLL Universal Unicode Release.Build.0 = Release|Win32
 		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.mlrt.ActiveCfg = mlrt|Win32
 		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.mlrt.Build.0 = mlrt|Win32
@@ -135,8 +341,36 @@
 		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Release Static.ActiveCfg = Release|Win32
 		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Release Static.Build.0 = Release|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Unicode Debug.ActiveCfg = Debug|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Unicode Debug.Build.0 = Debug|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Unicode Release.ActiveCfg = Release|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Unicode Release.Build.0 = Release|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Universal Debug.ActiveCfg = Debug|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Universal Debug.Build.0 = Debug|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Universal Release.ActiveCfg = Release|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Universal Release.Build.0 = Release|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Universal Unicode Debug.Build.0 = Debug|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Universal Unicode Release.ActiveCfg = Release|Win32
+		{248F19A6-2FE0-4F5D-8928-E0EA10609887}.Universal Unicode Release.Build.0 = Release|Win32
 		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Debug.ActiveCfg = Debug|Win32
 		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Debug.Build.0 = Debug|Win32
 		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Debug Static.ActiveCfg = Debug|Win32
 		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Debug Static.Build.0 = Debug|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Debug.ActiveCfg = Debug|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Debug.Build.0 = Debug|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Release.ActiveCfg = Release|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Release.Build.0 = Release|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Unicode Debug.ActiveCfg = Debug|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Unicode Debug.Build.0 = Debug|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Unicode Release.ActiveCfg = Release|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Unicode Release.Build.0 = Release|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Universal Debug.ActiveCfg = Debug|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Universal Debug.Build.0 = Debug|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Universal Release.ActiveCfg = Release|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Universal Release.Build.0 = Release|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Universal Unicode Debug.Build.0 = Debug|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Universal Unicode Release.ActiveCfg = Release|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.DLL Universal Unicode Release.Build.0 = Release|Win32
 		{17F2C6F9-6101-430E-ABF4-71383868EF24}.mlrt.ActiveCfg = mlrt|Win32
 		{17F2C6F9-6101-430E-ABF4-71383868EF24}.mlrt.Build.0 = mlrt|Win32
@@ -147,4 +381,96 @@
 		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Release Static.ActiveCfg = Release|Win32
 		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Release Static.Build.0 = Release|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Unicode Debug.ActiveCfg = Debug|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Unicode Debug.Build.0 = Debug|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Unicode Release.ActiveCfg = Release|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Unicode Release.Build.0 = Release|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Universal Debug.ActiveCfg = Debug|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Universal Debug.Build.0 = Debug|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Universal Release.ActiveCfg = Release|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Universal Release.Build.0 = Release|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Universal Unicode Debug.Build.0 = Debug|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Universal Unicode Release.ActiveCfg = Release|Win32
+		{17F2C6F9-6101-430E-ABF4-71383868EF24}.Universal Unicode Release.Build.0 = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Debug.ActiveCfg = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Debug.Build.0 = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Debug Static.ActiveCfg = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Debug Static.Build.0 = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Debug.ActiveCfg = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Debug.Build.0 = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Release.ActiveCfg = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Release.Build.0 = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Unicode Debug.ActiveCfg = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Unicode Debug.Build.0 = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Unicode Release.ActiveCfg = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Unicode Release.Build.0 = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Universal Debug.ActiveCfg = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Universal Debug.Build.0 = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Universal Release.ActiveCfg = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Universal Release.Build.0 = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Universal Unicode Debug.Build.0 = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Universal Unicode Release.ActiveCfg = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.DLL Universal Unicode Release.Build.0 = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.mlrt.ActiveCfg = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.mlrt.Build.0 = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Release.ActiveCfg = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Release.Build.0 = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Release Internal.ActiveCfg = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Release Internal.Build.0 = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Release Static.ActiveCfg = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Release Static.Build.0 = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Unicode Debug.ActiveCfg = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Unicode Debug.Build.0 = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Unicode Release.ActiveCfg = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Unicode Release.Build.0 = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Universal Debug.ActiveCfg = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Universal Debug.Build.0 = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Universal Release.ActiveCfg = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Universal Release.Build.0 = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Universal Unicode Debug.ActiveCfg = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Universal Unicode Debug.Build.0 = Debug|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Universal Unicode Release.ActiveCfg = Release|Win32
+		{8E28F667-63A7-4F41-81D0-233B971BF247}.Universal Unicode Release.Build.0 = Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Debug.ActiveCfg = Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Debug.Build.0 = Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Debug Static.ActiveCfg = Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Debug Static.Build.0 = Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Debug.ActiveCfg = DLL Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Debug.Build.0 = DLL Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Release.ActiveCfg = DLL Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Release.Build.0 = DLL Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Unicode Debug.ActiveCfg = DLL Unicode Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Unicode Debug.Build.0 = DLL Unicode Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Unicode Release.ActiveCfg = DLL Unicode Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Unicode Release.Build.0 = DLL Unicode Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Universal Debug.ActiveCfg = DLL Universal Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Universal Debug.Build.0 = DLL Universal Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Universal Release.ActiveCfg = DLL Universal Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Universal Release.Build.0 = DLL Universal Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Universal Unicode Debug.ActiveCfg = DLL Universal Unicode Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Universal Unicode Debug.Build.0 = DLL Universal Unicode Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Universal Unicode Release.ActiveCfg = DLL Universal Unicode Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.DLL Universal Unicode Release.Build.0 = DLL Universal Unicode Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.mlrt.ActiveCfg = DLL Universal Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.mlrt.Build.0 = DLL Universal Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Release.ActiveCfg = Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Release.Build.0 = Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Release Internal.ActiveCfg = Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Release Internal.Build.0 = Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Release Static.ActiveCfg = Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Release Static.Build.0 = Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Unicode Debug.ActiveCfg = Unicode Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Unicode Debug.Build.0 = Unicode Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Unicode Release.ActiveCfg = Unicode Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Unicode Release.Build.0 = Unicode Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Universal Debug.ActiveCfg = Universal Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Universal Debug.Build.0 = Universal Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Universal Release.ActiveCfg = Universal Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Universal Release.Build.0 = Universal Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Universal Unicode Debug.ActiveCfg = Universal Unicode Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Universal Unicode Debug.Build.0 = Universal Unicode Debug|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Universal Unicode Release.ActiveCfg = Universal Unicode Release|Win32
+		{00ED6D39-0F68-405F-AE02-B8886BACA7E2}.Universal Unicode Release.Build.0 = Universal Unicode Release|Win32
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
