From cb2f99c3a8ab2dd4340f81308db44bda3b663f03 Mon Sep 17 00:00:00 2001
From: Electrominch <64524860+Electrominch@users.noreply.github.com>
Date: Thu, 6 Oct 2022 00:46:00 +0300
Subject: [PATCH] Day4
---
.../118. Pascal's Triangle.csproj | 11 +++++
118. Pascal's Triangle/Program.cs | 12 +++++
118. Pascal's Triangle/Solution.cs | 26 ++++++++++
.../142. Linked List Cycle II.csproj | 11 +++++
142. Linked List Cycle II/ListNode.cs | 37 ++++++++++++++
142. Linked List Cycle II/Program.cs | 15 ++++++
142. Linked List Cycle II/Solution.cs | 28 +++++++++++
189. Rotate Array/189. Rotate Array.csproj | 11 +++++
189. Rotate Array/Program.cs | 12 +++++
189. Rotate Array/Solution.cs | 34 +++++++++++++
.../566. Reshape the Matrix.csproj | 11 +++++
566. Reshape the Matrix/Program.cs | 12 +++++
566. Reshape the Matrix/Solution.cs | 27 ++++++++++
.../876. Middle of the Linked List.csproj | 11 +++++
876. Middle of the Linked List/ListNode.cs | 37 ++++++++++++++
876. Middle of the Linked List/Program.cs | 13 +++++
876. Middle of the Linked List/Solution.cs | 15 ++++++
.../977. Squares of a Sorted Array.csproj | 11 +++++
977. Squares of a Sorted Array/Program.cs | 11 +++++
977. Squares of a Sorted Array/Solution.cs | 49 +++++++++++++++++++
Leetcode.sln | 44 +++++++++++++++--
21 files changed, 434 insertions(+), 4 deletions(-)
create mode 100644 118. Pascal's Triangle/118. Pascal's Triangle.csproj
create mode 100644 118. Pascal's Triangle/Program.cs
create mode 100644 118. Pascal's Triangle/Solution.cs
create mode 100644 142. Linked List Cycle II/142. Linked List Cycle II.csproj
create mode 100644 142. Linked List Cycle II/ListNode.cs
create mode 100644 142. Linked List Cycle II/Program.cs
create mode 100644 142. Linked List Cycle II/Solution.cs
create mode 100644 189. Rotate Array/189. Rotate Array.csproj
create mode 100644 189. Rotate Array/Program.cs
create mode 100644 189. Rotate Array/Solution.cs
create mode 100644 566. Reshape the Matrix/566. Reshape the Matrix.csproj
create mode 100644 566. Reshape the Matrix/Program.cs
create mode 100644 566. Reshape the Matrix/Solution.cs
create mode 100644 876. Middle of the Linked List/876. Middle of the Linked List.csproj
create mode 100644 876. Middle of the Linked List/ListNode.cs
create mode 100644 876. Middle of the Linked List/Program.cs
create mode 100644 876. Middle of the Linked List/Solution.cs
create mode 100644 977. Squares of a Sorted Array/977. Squares of a Sorted Array.csproj
create mode 100644 977. Squares of a Sorted Array/Program.cs
create mode 100644 977. Squares of a Sorted Array/Solution.cs
diff --git a/118. Pascal's Triangle/118. Pascal's Triangle.csproj b/118. Pascal's Triangle/118. Pascal's Triangle.csproj
new file mode 100644
index 0000000..85c0864
--- /dev/null
+++ b/118. Pascal's Triangle/118. Pascal's Triangle.csproj
@@ -0,0 +1,11 @@
+
+
+
+ Exe
+ net6.0
+ _118._Pascal_s_Triangle
+ enable
+ enable
+
+
+
diff --git a/118. Pascal's Triangle/Program.cs b/118. Pascal's Triangle/Program.cs
new file mode 100644
index 0000000..b825b8b
--- /dev/null
+++ b/118. Pascal's Triangle/Program.cs
@@ -0,0 +1,12 @@
+namespace _118._Pascal_s_Triangle
+{
+ internal class Program
+ {
+ static void Main(string[] args)
+ {
+ var res = new Solution().Generate(300);
+ foreach(var r in res)
+ Console.WriteLine(String.Join(" ", r));
+ }
+ }
+}
\ No newline at end of file
diff --git a/118. Pascal's Triangle/Solution.cs b/118. Pascal's Triangle/Solution.cs
new file mode 100644
index 0000000..1dd9941
--- /dev/null
+++ b/118. Pascal's Triangle/Solution.cs
@@ -0,0 +1,26 @@
+namespace _118._Pascal_s_Triangle;
+
+public class Solution
+{
+ public IList> Generate(int numRows)
+ {
+ List> triangle = new List>() { new List { 1 } };
+ if(numRows > 1)
+ triangle.Add(new List() { 1,1 });
+ numRows -= 2;
+ while (numRows-- > 0)
+ {
+ IList prev = triangle[^1];
+ int nextCount = prev.Count;
+ List row = new List() { 1 };
+ for(int i = 1; i < nextCount; i++)
+ {
+ row.Add(prev[i-1] + prev[i]);
+ }
+ row.Add(1);
+ triangle.Add(row);
+ }
+
+ return triangle;
+ }
+}
\ No newline at end of file
diff --git a/142. Linked List Cycle II/142. Linked List Cycle II.csproj b/142. Linked List Cycle II/142. Linked List Cycle II.csproj
new file mode 100644
index 0000000..980f705
--- /dev/null
+++ b/142. Linked List Cycle II/142. Linked List Cycle II.csproj
@@ -0,0 +1,11 @@
+
+
+
+ Exe
+ net6.0
+ _142._Linked_List_Cycle_II
+ enable
+ enable
+
+
+
diff --git a/142. Linked List Cycle II/ListNode.cs b/142. Linked List Cycle II/ListNode.cs
new file mode 100644
index 0000000..97d7a30
--- /dev/null
+++ b/142. Linked List Cycle II/ListNode.cs
@@ -0,0 +1,37 @@
+namespace _142._Linked_List_Cycle_II;
+
+//Definition for singly-linked list.
+public class ListNode
+{
+ public int val;
+ public ListNode? next;
+ public ListNode(int val = 0, ListNode? next = null)
+ {
+ this.val = val;
+ this.next = next;
+ }
+
+ public static ListNode Create(int[] nums)
+ {
+ ListNode l = new ListNode(nums[0]);
+ ListNode cur = l;
+ for (int i = 1; i < nums.Length; i++)
+ {
+ cur.next = new ListNode(nums[i]);
+ cur = cur.next;
+ }
+ return l;
+ }
+
+ public override string ToString()
+ {
+ List list = new List();
+ ListNode? cur = this;
+ while (cur != null)
+ {
+ list.Add(cur.val);
+ cur = cur.next;
+ }
+ return String.Join(" ", list);
+ }
+}
diff --git a/142. Linked List Cycle II/Program.cs b/142. Linked List Cycle II/Program.cs
new file mode 100644
index 0000000..36c7c6e
--- /dev/null
+++ b/142. Linked List Cycle II/Program.cs
@@ -0,0 +1,15 @@
+namespace _142._Linked_List_Cycle_II
+{
+ internal class Program
+ {
+ static void Main(string[] args)
+ {
+ var l1 = new ListNode(3);
+ var l2 = new ListNode(2);
+
+ l1.next = l2;
+ l2.next = l1;
+ Console.WriteLine(new Solution().DetectCycle(l1)?.val);
+ }
+ }
+}
\ No newline at end of file
diff --git a/142. Linked List Cycle II/Solution.cs b/142. Linked List Cycle II/Solution.cs
new file mode 100644
index 0000000..d7f9698
--- /dev/null
+++ b/142. Linked List Cycle II/Solution.cs
@@ -0,0 +1,28 @@
+namespace _142._Linked_List_Cycle_II;
+
+public class Solution
+{
+ public ListNode? DetectCycle(ListNode head)
+ {
+ ListNode? cur = head;
+ int bit = 1 << 28;
+ int curAbs = 0;
+ while (cur!=null && (curAbs & bit) == 0)
+ {
+ cur.val ^= bit;
+ cur = cur.next;
+ if(cur != null)
+ curAbs = cur.val < 0 ? (cur.val * -1) : cur.val;
+ }
+ cur = head;
+ curAbs = cur.val < 0 ? (cur.val * -1) : cur.val;
+ while (cur != null && (curAbs & bit) != 0)
+ {
+ cur.val ^= bit;
+ cur = cur.next;
+ if (cur != null)
+ curAbs = cur.val < 0 ? (cur.val * -1) : cur.val;
+ }
+ return cur;
+ }
+}
\ No newline at end of file
diff --git a/189. Rotate Array/189. Rotate Array.csproj b/189. Rotate Array/189. Rotate Array.csproj
new file mode 100644
index 0000000..65a0b8e
--- /dev/null
+++ b/189. Rotate Array/189. Rotate Array.csproj
@@ -0,0 +1,11 @@
+
+
+
+ Exe
+ net6.0
+ _189._Rotate_Array
+ enable
+ enable
+
+
+
diff --git a/189. Rotate Array/Program.cs b/189. Rotate Array/Program.cs
new file mode 100644
index 0000000..e8a6065
--- /dev/null
+++ b/189. Rotate Array/Program.cs
@@ -0,0 +1,12 @@
+namespace _189._Rotate_Array
+{
+ internal class Program
+ {
+ static void Main(string[] args)
+ {
+ var arr = new int[] { 1, 2, 3, 4, 5, 6};
+ new Solution().Rotate(arr, 3);
+ Console.WriteLine(String.Join(" ", arr));
+ }
+ }
+}
\ No newline at end of file
diff --git a/189. Rotate Array/Solution.cs b/189. Rotate Array/Solution.cs
new file mode 100644
index 0000000..2aebe2d
--- /dev/null
+++ b/189. Rotate Array/Solution.cs
@@ -0,0 +1,34 @@
+namespace _189._Rotate_Array;
+
+public class Solution
+{
+ public void Rotate(int[] nums, int k)
+ {
+ k %= nums.Length;
+ if (k == 0)
+ return;
+ int oneCycleLen = nums.Length/ GCD(nums.Length, k);
+ for (int i = 0; i < nums.Length / oneCycleLen; i++)
+ MoveTo(nums, nums[i], i + k, k, oneCycleLen);
+ }
+
+ private static void MoveTo(int[] array, int value, int to, int step, int curLen)
+ {
+ while (curLen-- > 0)
+ {
+ if (to >= array.Length)
+ to -= array.Length;
+ int buf = array[to];
+ array[to] = value;
+ to += step;
+ value = buf;
+ }
+ }
+
+ private static int GCD(int a, int b)
+ {
+ return b == 0 ? a : GCD(b, a % b);
+ }
+
+
+}
diff --git a/566. Reshape the Matrix/566. Reshape the Matrix.csproj b/566. Reshape the Matrix/566. Reshape the Matrix.csproj
new file mode 100644
index 0000000..408a4f8
--- /dev/null
+++ b/566. Reshape the Matrix/566. Reshape the Matrix.csproj
@@ -0,0 +1,11 @@
+
+
+
+ Exe
+ net6.0
+ _566._Reshape_the_Matrix
+ enable
+ enable
+
+
+
diff --git a/566. Reshape the Matrix/Program.cs b/566. Reshape the Matrix/Program.cs
new file mode 100644
index 0000000..23c81f6
--- /dev/null
+++ b/566. Reshape the Matrix/Program.cs
@@ -0,0 +1,12 @@
+namespace _566._Reshape_the_Matrix
+{
+ internal class Program
+ {
+ static void Main(string[] args)
+ {
+ var res = new Solution().MatrixReshape(new int[][] { new int[] { 1,2 }, new int[] { 4, 5 } }, 2, 4);
+ foreach(var row in res)
+ Console.WriteLine(String.Join(" ", row));
+ }
+ }
+}
\ No newline at end of file
diff --git a/566. Reshape the Matrix/Solution.cs b/566. Reshape the Matrix/Solution.cs
new file mode 100644
index 0000000..fa6359d
--- /dev/null
+++ b/566. Reshape the Matrix/Solution.cs
@@ -0,0 +1,27 @@
+namespace _566._Reshape_the_Matrix;
+
+public class Solution
+{
+ public int[][] MatrixReshape(int[][] mat, int r, int c)
+ {
+ int[][] result = new int[r][];
+ for (int i = 0; i < result.Length; i++)
+ result[i] = new int[c];
+
+ int height = mat.Length;
+ int width = mat[0].Length;
+ int size = r * c;
+ if (size != height * width)
+ return mat;
+ for(int i = 0; i < size; i++)
+ {
+ int ySource = i / width;
+ int xSource = i % width;
+
+ int yTo = i / c;
+ int xTo = i % c;
+ result[yTo][xTo] = mat[ySource][xSource];
+ }
+ return result;
+ }
+}
\ No newline at end of file
diff --git a/876. Middle of the Linked List/876. Middle of the Linked List.csproj b/876. Middle of the Linked List/876. Middle of the Linked List.csproj
new file mode 100644
index 0000000..dc9cda3
--- /dev/null
+++ b/876. Middle of the Linked List/876. Middle of the Linked List.csproj
@@ -0,0 +1,11 @@
+
+
+
+ Exe
+ net6.0
+ _876._Middle_of_the_Linked_List
+ enable
+ enable
+
+
+
diff --git a/876. Middle of the Linked List/ListNode.cs b/876. Middle of the Linked List/ListNode.cs
new file mode 100644
index 0000000..dfe4894
--- /dev/null
+++ b/876. Middle of the Linked List/ListNode.cs
@@ -0,0 +1,37 @@
+namespace _876._Middle_of_the_Linked_List;
+
+//Definition for singly-linked list.
+public class ListNode
+{
+ public int val;
+ public ListNode? next;
+ public ListNode(int val = 0, ListNode? next = null)
+ {
+ this.val = val;
+ this.next = next;
+ }
+
+ public static ListNode Create(int[] nums)
+ {
+ ListNode l = new ListNode(nums[0]);
+ ListNode cur = l;
+ for (int i = 1; i < nums.Length; i++)
+ {
+ cur.next = new ListNode(nums[i]);
+ cur = cur.next;
+ }
+ return l;
+ }
+
+ public override string ToString()
+ {
+ List list = new List();
+ ListNode? cur = this;
+ while (cur != null)
+ {
+ list.Add(cur.val);
+ cur = cur.next;
+ }
+ return String.Join(" ", list);
+ }
+}
diff --git a/876. Middle of the Linked List/Program.cs b/876. Middle of the Linked List/Program.cs
new file mode 100644
index 0000000..072856e
--- /dev/null
+++ b/876. Middle of the Linked List/Program.cs
@@ -0,0 +1,13 @@
+namespace _876._Middle_of_the_Linked_List
+{
+ internal class Program
+ {
+ static void Main(string[] args)
+ {
+ var l1 = ListNode.Create(new int[] { 1,2,3,4,5});
+ var l2 = ListNode.Create(new int[] { 1,2,3,4,5,6});
+ Console.WriteLine(new Solution().MiddleNode(l1).val);
+ Console.WriteLine(new Solution().MiddleNode(l2).val);
+ }
+ }
+}
\ No newline at end of file
diff --git a/876. Middle of the Linked List/Solution.cs b/876. Middle of the Linked List/Solution.cs
new file mode 100644
index 0000000..5ec21b1
--- /dev/null
+++ b/876. Middle of the Linked List/Solution.cs
@@ -0,0 +1,15 @@
+namespace _876._Middle_of_the_Linked_List;
+
+public class Solution
+{
+ public ListNode MiddleNode(ListNode? head)
+ {
+ ListNode result = head!;
+ while(head?.next != null)
+ {
+ head = head?.next?.next;
+ result = result!.next!;
+ }
+ return result;
+ }
+}
diff --git a/977. Squares of a Sorted Array/977. Squares of a Sorted Array.csproj b/977. Squares of a Sorted Array/977. Squares of a Sorted Array.csproj
new file mode 100644
index 0000000..2ca76d2
--- /dev/null
+++ b/977. Squares of a Sorted Array/977. Squares of a Sorted Array.csproj
@@ -0,0 +1,11 @@
+
+
+
+ Exe
+ net6.0
+ _977._Squares_of_a_Sorted_Array
+ enable
+ enable
+
+
+
diff --git a/977. Squares of a Sorted Array/Program.cs b/977. Squares of a Sorted Array/Program.cs
new file mode 100644
index 0000000..7ea5d78
--- /dev/null
+++ b/977. Squares of a Sorted Array/Program.cs
@@ -0,0 +1,11 @@
+namespace _977._Squares_of_a_Sorted_Array
+{
+ internal class Program
+ {
+ static void Main(string[] args)
+ {
+ var res = new Solution().SortedSquares(new int[] { -7, -2,-1 });
+ Console.WriteLine(String.Join(" ", res));
+ }
+ }
+}
\ No newline at end of file
diff --git a/977. Squares of a Sorted Array/Solution.cs b/977. Squares of a Sorted Array/Solution.cs
new file mode 100644
index 0000000..b69ae1b
--- /dev/null
+++ b/977. Squares of a Sorted Array/Solution.cs
@@ -0,0 +1,49 @@
+namespace _977._Squares_of_a_Sorted_Array;
+
+public class Solution
+{
+ public int[] SortedSquares(int[] nums)
+ {
+ int[] res = new int[nums.Length];
+ int firstNonNegative = -1;
+ for(int i = 0; i < nums.Length; i++)
+ {
+ if (nums[i] >= 0)
+ {
+ firstNonNegative = i;
+ break;
+ }
+ }
+
+ int resIndex = 0;
+ int positiveIndex = firstNonNegative;
+ int negativeIndex = firstNonNegative!=-1 ? positiveIndex - 1 : nums.Length-1;
+ while(resIndex < nums.Length)
+ {
+ if(negativeIndex>=0 && positiveIndex < nums.Length && positiveIndex>=0)
+ {
+ if (nums[negativeIndex]*-1 < nums[positiveIndex])
+ {
+ res[resIndex++] = nums[negativeIndex] * nums[negativeIndex];
+ negativeIndex--;
+ }
+ else
+ {
+ res[resIndex++] = nums[positiveIndex] * nums[positiveIndex];
+ positiveIndex++;
+ }
+ }
+ else if(negativeIndex >= 0)
+ {
+ res[resIndex++] = nums[negativeIndex]* nums[negativeIndex];
+ negativeIndex--;
+ }
+ else if(positiveIndex >= 0)
+ {
+ res[resIndex++] = nums[positiveIndex] * nums[positiveIndex];
+ positiveIndex++;
+ }
+ }
+ return res;
+ }
+}
\ No newline at end of file
diff --git a/Leetcode.sln b/Leetcode.sln
index c498d02..80d2b4d 100644
--- a/Leetcode.sln
+++ b/Leetcode.sln
@@ -25,13 +25,25 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "121. Best Time to Buy and S
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "21. Merge Two Sorted Lists", "21. Merge Two Sorted Lists\21. Merge Two Sorted Lists.csproj", "{3063143F-AAF9-4B23-8D98-A7236E01AA27}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "206. Reverse Linked List", "206. Reverse Linked List\206. Reverse Linked List.csproj", "{1C1BEA62-325F-48F8-8CC0-D5828A62F14F}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "206. Reverse Linked List", "206. Reverse Linked List\206. Reverse Linked List.csproj", "{1C1BEA62-325F-48F8-8CC0-D5828A62F14F}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "704. Binary Search", "704. Binary Search\704. Binary Search.csproj", "{69081812-D523-4211-AE09-9DAF8E9B83D8}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "704. Binary Search", "704. Binary Search\704. Binary Search.csproj", "{69081812-D523-4211-AE09-9DAF8E9B83D8}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "278. First Bad Version", "278. First Bad Version\278. First Bad Version.csproj", "{3BA31E13-3748-4C4A-BE68-24D2E3DF0DC1}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "278. First Bad Version", "278. First Bad Version\278. First Bad Version.csproj", "{3BA31E13-3748-4C4A-BE68-24D2E3DF0DC1}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "35. Search Insert Position", "35. Search Insert Position\35. Search Insert Position.csproj", "{B595BB51-666D-4E39-86EE-F9A3B8D8DA58}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "35. Search Insert Position", "35. Search Insert Position\35. Search Insert Position.csproj", "{B595BB51-666D-4E39-86EE-F9A3B8D8DA58}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "876. Middle of the Linked List", "876. Middle of the Linked List\876. Middle of the Linked List.csproj", "{2510B3B5-87EE-44AB-A2A7-BCAE9E6E91C6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "566. Reshape the Matrix", "566. Reshape the Matrix\566. Reshape the Matrix.csproj", "{DD4A53CF-D840-48BF-8F8F-33E39D492BD3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "118. Pascal's Triangle", "118. Pascal's Triangle\118. Pascal's Triangle.csproj", "{E1BB66AE-E4E6-441F-9B5C-1B7FFDF7912C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "977. Squares of a Sorted Array", "977. Squares of a Sorted Array\977. Squares of a Sorted Array.csproj", "{F0B9DD20-6230-4381-8814-072C2E159624}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "189. Rotate Array", "189. Rotate Array\189. Rotate Array.csproj", "{CAF5FFD6-9598-412D-8569-EB62136D34C8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "142. Linked List Cycle II", "142. Linked List Cycle II\142. Linked List Cycle II.csproj", "{EBA96217-EAD0-456C-B1C6-79A7A227ED0A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -99,6 +111,30 @@ Global
{B595BB51-666D-4E39-86EE-F9A3B8D8DA58}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B595BB51-666D-4E39-86EE-F9A3B8D8DA58}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B595BB51-666D-4E39-86EE-F9A3B8D8DA58}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2510B3B5-87EE-44AB-A2A7-BCAE9E6E91C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2510B3B5-87EE-44AB-A2A7-BCAE9E6E91C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2510B3B5-87EE-44AB-A2A7-BCAE9E6E91C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2510B3B5-87EE-44AB-A2A7-BCAE9E6E91C6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DD4A53CF-D840-48BF-8F8F-33E39D492BD3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DD4A53CF-D840-48BF-8F8F-33E39D492BD3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DD4A53CF-D840-48BF-8F8F-33E39D492BD3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DD4A53CF-D840-48BF-8F8F-33E39D492BD3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E1BB66AE-E4E6-441F-9B5C-1B7FFDF7912C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E1BB66AE-E4E6-441F-9B5C-1B7FFDF7912C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E1BB66AE-E4E6-441F-9B5C-1B7FFDF7912C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E1BB66AE-E4E6-441F-9B5C-1B7FFDF7912C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F0B9DD20-6230-4381-8814-072C2E159624}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F0B9DD20-6230-4381-8814-072C2E159624}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F0B9DD20-6230-4381-8814-072C2E159624}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F0B9DD20-6230-4381-8814-072C2E159624}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CAF5FFD6-9598-412D-8569-EB62136D34C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CAF5FFD6-9598-412D-8569-EB62136D34C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CAF5FFD6-9598-412D-8569-EB62136D34C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CAF5FFD6-9598-412D-8569-EB62136D34C8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EBA96217-EAD0-456C-B1C6-79A7A227ED0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EBA96217-EAD0-456C-B1C6-79A7A227ED0A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EBA96217-EAD0-456C-B1C6-79A7A227ED0A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EBA96217-EAD0-456C-B1C6-79A7A227ED0A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE