Projektdateien hinzufügen.

This commit is contained in:
Schedel Pascal
2024-08-22 06:25:24 +02:00
parent 239f22b74f
commit a9e18dd127
14 changed files with 2302 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

184
Pilz.Tools.StringCrypter/Form1.Designer.cs generated Normal file
View File

@@ -0,0 +1,184 @@
namespace Pilz.Tools.StringCrypter;
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
tableLayoutPanel1 = new TableLayoutPanel();
radTextBox_Input = new Telerik.WinControls.UI.RadTextBox();
radTextBox_Output = new Telerik.WinControls.UI.RadTextBox();
radButton_Paste = new Telerik.WinControls.UI.RadButton();
radButton_Copy = new Telerik.WinControls.UI.RadButton();
radToggleSwitch_Mode = new Telerik.WinControls.UI.RadToggleSwitch();
radTextBox_Key = new Telerik.WinControls.UI.RadTextBox();
tableLayoutPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)radTextBox_Input).BeginInit();
((System.ComponentModel.ISupportInitialize)radTextBox_Output).BeginInit();
((System.ComponentModel.ISupportInitialize)radButton_Paste).BeginInit();
((System.ComponentModel.ISupportInitialize)radButton_Copy).BeginInit();
((System.ComponentModel.ISupportInitialize)radToggleSwitch_Mode).BeginInit();
((System.ComponentModel.ISupportInitialize)radTextBox_Key).BeginInit();
((System.ComponentModel.ISupportInitialize)this).BeginInit();
SuspendLayout();
//
// tableLayoutPanel1
//
tableLayoutPanel1.ColumnCount = 4;
tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
tableLayoutPanel1.Controls.Add(radTextBox_Input, 0, 1);
tableLayoutPanel1.Controls.Add(radTextBox_Output, 2, 1);
tableLayoutPanel1.Controls.Add(radButton_Paste, 0, 0);
tableLayoutPanel1.Controls.Add(radButton_Copy, 3, 0);
tableLayoutPanel1.Controls.Add(radToggleSwitch_Mode, 1, 0);
tableLayoutPanel1.Controls.Add(radTextBox_Key, 2, 0);
tableLayoutPanel1.Dock = DockStyle.Fill;
tableLayoutPanel1.Location = new Point(0, 0);
tableLayoutPanel1.Name = "tableLayoutPanel1";
tableLayoutPanel1.RowCount = 2;
tableLayoutPanel1.RowStyles.Add(new RowStyle());
tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
tableLayoutPanel1.Size = new Size(492, 320);
tableLayoutPanel1.TabIndex = 0;
//
// radTextBox_Input
//
radTextBox_Input.AcceptsReturn = true;
radTextBox_Input.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
radTextBox_Input.AutoScroll = true;
tableLayoutPanel1.SetColumnSpan(radTextBox_Input, 2);
radTextBox_Input.Location = new Point(3, 33);
radTextBox_Input.Multiline = true;
radTextBox_Input.Name = "radTextBox_Input";
radTextBox_Input.NullText = "Input";
//
//
//
radTextBox_Input.RootElement.StretchVertically = true;
radTextBox_Input.Size = new Size(240, 284);
radTextBox_Input.TabIndex = 0;
radTextBox_Input.TextChanged += RadTextBox_Input_TextChanged;
//
// radTextBox_Output
//
radTextBox_Output.AcceptsReturn = true;
radTextBox_Output.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
radTextBox_Output.AutoScroll = true;
tableLayoutPanel1.SetColumnSpan(radTextBox_Output, 2);
radTextBox_Output.Location = new Point(249, 33);
radTextBox_Output.Multiline = true;
radTextBox_Output.Name = "radTextBox_Output";
radTextBox_Output.NullText = "Output";
//
//
//
radTextBox_Output.RootElement.StretchVertically = true;
radTextBox_Output.Size = new Size(240, 284);
radTextBox_Output.TabIndex = 1;
//
// radButton_Paste
//
radButton_Paste.ImageAlignment = ContentAlignment.MiddleRight;
radButton_Paste.Location = new Point(3, 3);
radButton_Paste.Name = "radButton_Paste";
radButton_Paste.Size = new Size(110, 24);
radButton_Paste.TabIndex = 2;
radButton_Paste.Text = "Paste";
radButton_Paste.TextAlignment = ContentAlignment.MiddleLeft;
radButton_Paste.TextImageRelation = TextImageRelation.ImageBeforeText;
radButton_Paste.Click += RadButton_Paste_Click;
//
// radButton_Copy
//
radButton_Copy.Anchor = AnchorStyles.Top | AnchorStyles.Right;
radButton_Copy.ImageAlignment = ContentAlignment.MiddleRight;
radButton_Copy.Location = new Point(379, 3);
radButton_Copy.Name = "radButton_Copy";
radButton_Copy.Size = new Size(110, 24);
radButton_Copy.TabIndex = 3;
radButton_Copy.Text = "Copy";
radButton_Copy.TextAlignment = ContentAlignment.MiddleLeft;
radButton_Copy.TextImageRelation = TextImageRelation.ImageBeforeText;
radButton_Copy.Click += RadButton_Copy_Click;
//
// radToggleSwitch_Mode
//
radToggleSwitch_Mode.Anchor = AnchorStyles.Top | AnchorStyles.Right;
radToggleSwitch_Mode.Location = new Point(143, 3);
radToggleSwitch_Mode.Name = "radToggleSwitch_Mode";
radToggleSwitch_Mode.OffText = "Decrypt";
radToggleSwitch_Mode.OnText = "Encrypt";
radToggleSwitch_Mode.Size = new Size(100, 24);
radToggleSwitch_Mode.TabIndex = 5;
radToggleSwitch_Mode.ValueChanged += RadToggleSwitch_Mode_ValueChanged;
//
// radTextBox_Key
//
radTextBox_Key.AutoSize = false;
radTextBox_Key.Location = new Point(249, 3);
radTextBox_Key.Name = "radTextBox_Key";
radTextBox_Key.NullText = "Key";
radTextBox_Key.Size = new Size(100, 24);
radTextBox_Key.TabIndex = 6;
radTextBox_Key.TextChanged += RadTextBox_Key_TextChanged;
//
// Form1
//
AutoScaleBaseSize = new Size(7, 15);
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(492, 320);
Controls.Add(tableLayoutPanel1);
Icon = (Icon)resources.GetObject("$this.Icon");
Name = "Form1";
StartPosition = FormStartPosition.CenterScreen;
Text = "String crypter";
tableLayoutPanel1.ResumeLayout(false);
tableLayoutPanel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)radTextBox_Input).EndInit();
((System.ComponentModel.ISupportInitialize)radTextBox_Output).EndInit();
((System.ComponentModel.ISupportInitialize)radButton_Paste).EndInit();
((System.ComponentModel.ISupportInitialize)radButton_Copy).EndInit();
((System.ComponentModel.ISupportInitialize)radToggleSwitch_Mode).EndInit();
((System.ComponentModel.ISupportInitialize)radTextBox_Key).EndInit();
((System.ComponentModel.ISupportInitialize)this).EndInit();
ResumeLayout(false);
}
#endregion
private TableLayoutPanel tableLayoutPanel1;
private Telerik.WinControls.UI.RadTextBox radTextBox_Input;
private Telerik.WinControls.UI.RadTextBox radTextBox_Output;
private Telerik.WinControls.UI.RadButton radButton_Paste;
private Telerik.WinControls.UI.RadButton radButton_Copy;
private Telerik.WinControls.UI.RadToggleSwitch radToggleSwitch_Mode;
private Telerik.WinControls.UI.RadTextBox radTextBox_Key;
}

View File

@@ -0,0 +1,60 @@
using Pilz.Cryptography;
using Pilz.Tools.Symbols;
using Telerik.WinControls.UI;
namespace Pilz.Tools.StringCrypter;
public partial class Form1 : RadForm
{
private ICrypter? crypter;
public Form1()
{
InitializeComponent();
radButton_Copy.SvgImage = GlobalSymbolFactory.Instance.GetSvgImage(GlobalSymbols.copy, UI.Symbols.SymbolSize.x16);
radButton_Paste.SvgImage = GlobalSymbolFactory.Instance.GetSvgImage(GlobalSymbols.paste_as_text, UI.Symbols.SymbolSize.x16);
}
private void RadButton_Copy_Click(object sender, EventArgs e)
{
Clipboard.SetText(radTextBox_Output.Text);
}
private void RadButton_Paste_Click(object sender, EventArgs e)
{
radTextBox_Input.Text = Clipboard.GetText();
}
private void RadToggleSwitch_Mode_ValueChanged(object sender, EventArgs e)
{
DoEncryption();
}
private void RadTextBox_Key_TextChanged(object sender, EventArgs e)
{
crypter = null;
DoEncryption();
}
private void RadTextBox_Input_TextChanged(object sender, EventArgs e)
{
DoEncryption();
}
private void DoEncryption()
{
crypter ??= new SimpleStringCrypter(radTextBox_Key.Text);
try
{
if (radToggleSwitch_Mode.Value)
radTextBox_Output.Text = crypter.Encrypt(radTextBox_Input.Text);
else
radTextBox_Output.Text = crypter.Decrypt(radTextBox_Input.Text);
}
catch (Exception)
{
radTextBox_Output.Text = null;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
<ApplicationIcon>icons8_data_encryption.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Pilz.Cryptography" Version="2.1.0" />
<PackageReference Include="UI.for.WinForms.Common" Version="2024.3.806" />
<PackageReference Include="UI.for.WinForms.Themes" Version="2024.3.806" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Pilz.Tools.Symbols\Pilz.Tools.Symbols.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,20 @@
using Telerik.WinControls;
using Telerik.WinControls.Themes;
namespace Pilz.Tools.StringCrypter;
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
ThemeResolutionService.ApplicationThemeName = WindowsSettings.AppsUseLightTheme ? new Windows11CompactTheme().ThemeName : new Windows11CompactDarkTheme().ThemeName;
Application.Run(new Form1());
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

View File

@@ -0,0 +1,19 @@
using Pilz.UI.Telerik.Symbols;
using System.Reflection;
namespace Pilz.Tools.Symbols;
public class GlobalSymbolFactory : RadSymbolFactory<GlobalSymbols>
{
public static IRadSymbolFactory<GlobalSymbols> Instance { get; } = new GlobalSymbolFactory();
public override Assembly GetImageResourceAssembly()
{
return Assembly.GetExecutingAssembly();
}
public override string GetImageRessourcePath(GlobalSymbols svgImage)
{
return $"{GetType().Namespace}.Symbols.{svgImage}.svg";
}
}

View File

@@ -0,0 +1,8 @@
namespace Pilz.Tools.Symbols;
public enum GlobalSymbols
{
copy,
paste,
paste_as_text,
}

View File

@@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Include="Symbols\*.svg" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Pilz.UI.Telerik" Version="2.6.6" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="32" height="32">
<path fill="#199be2" d="M36,17v25c0,1.105-0.895,2-2,2H10c-1.105,0-2-0.895-2-2V10c0-1.105,0.895-2,2-2h17L36,17z" />
<path d="M10,8h26v34H13.681C11.648,42,10,40.352,10,38.319V8z" opacity=".05" />
<path d="M11,8h19.941C33.735,8,36,10.265,36,13.059V41H13.839C12.271,41,11,39.729,11,38.161V8z" opacity=".07" />
<path fill="#50e6ff" d="M40,14v24c0,1.105-0.895,2-2,2H14c-1.105,0-2-0.895-2-2V6c0-1.105,0.895-2,2-2h16L40,14z" />
<linearGradient id="vy0ljQ6IS4fIwqsktCE4sa" x1="30.534" x2="35.09" y1="13.466" y2="8.91" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#3079d6" />
<stop offset="1" stop-color="#297cd2" />
</linearGradient>
<path fill="url(#vy0ljQ6IS4fIwqsktCE4sa)" d="M30,4v8c0,1.105,0.895,2,2,2h8L30,4z" />
</svg>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="32" height="32">
<linearGradient id="Y_THGB_5f_tYMM1ftIDvza" x1="16.86" x2="29.576" y1="660.467" y2="620.454" gradientTransform="matrix(1 0 0 -1 0 662)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#c77740" />
<stop offset="1" stop-color="#b0622b" />
</linearGradient>
<path fill="url(#Y_THGB_5f_tYMM1ftIDvza)" d="M38,4H26c0,1.105-0.895,2-2,2s-2-0.895-2-2H10C8.895,4,8,4.895,8,6v36c0,1.105,0.895,2,2,2 h28c1.105,0,2-0.895,2-2V6C40,4.895,39.105,4,38,4z" />
<linearGradient id="Y_THGB_5f_tYMM1ftIDvzb" x1="24" x2="24" y1="625.034" y2="621.107" gradientTransform="matrix(1 0 0 -1 0 662)" gradientUnits="userSpaceOnUse">
<stop offset=".442" stop-color="#878786" />
<stop offset=".594" stop-color="#9f9f9e" />
<stop offset=".859" stop-color="#c3c3c3" />
<stop offset="1" stop-color="#d1d1d1" />
</linearGradient>
<path fill="url(#Y_THGB_5f_tYMM1ftIDvzb)" d="M37,42H11c-0.552,0-1-0.448-1-1v-9h28v9C38,41.552,37.552,42,37,42z" />
<path fill="#f3f3f3" d="M37,40H11c-0.552,0-1-0.448-1-1V7c0-0.552,0.448-1,1-1h26c0.552,0,1,0.448,1,1v32 C38,39.552,37.552,40,37,40z" />
<linearGradient id="Y_THGB_5f_tYMM1ftIDvzc" x1="-794.93" x2="-793.046" y1="324.928" y2="317.091" gradientTransform="matrix(-1 0 0 1 -770 -315)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#c3cdd9" />
<stop offset="1" stop-color="#9fa7b0" />
</linearGradient>
<path fill="url(#Y_THGB_5f_tYMM1ftIDvzc)" d="M31,8V4h-4.184C26.403,2.837,25.304,2,24,2s-2.403,0.837-2.816,2H17v4c0,0.552,0.448,1,1,1 h12C30.552,9,31,8.552,31,8z M24,4c0.552,0,1,0.448,1,1s-0.448,1-1,1s-1-0.448-1-1S23.448,4,24,4z" />
<path d="M21,13c-1.65,0-3,1.35-3,3v28h20c1.105,0,2-0.895,2-2V13H21z" opacity=".05" />
<path d="M40,13.5V42c0,1.105-0.895,2-2,2H18.5V16c0-1.381,1.119-2.5,2.5-2.5H40z" opacity=".05" />
<path fill="#50e6ff" d="M42,46H21c-1.105,0-2-0.895-2-2V16c0-1.105,0.895-2,2-2h21c1.105,0,2,0.895,2,2v28 C44,45.105,43.105,46,42,46z" />
<path fill="#057093" d="M38.5,25h-14c-0.276,0-0.5-0.224-0.5-0.5v-1c0-0.276,0.224-0.5,0.5-0.5h14 c0.276,0,0.5,0.224,0.5,0.5v1C39,24.776,38.776,25,38.5,25z" />
<path fill="#057093" d="M36.5,29h-12c-0.276,0-0.5-0.224-0.5-0.5v-1c0-0.276,0.224-0.5,0.5-0.5h12 c0.276,0,0.5,0.224,0.5,0.5v1C37,28.776,36.776,29,36.5,29z" />
<path fill="#057093" d="M38.5,33h-14c-0.276,0-0.5-0.224-0.5-0.5v-1c0-0.276,0.224-0.5,0.5-0.5h14 c0.276,0,0.5,0.224,0.5,0.5v1C39,32.776,38.776,33,38.5,33z" />
<path fill="#057093" d="M36.5,37h-12c-0.276,0-0.5-0.224-0.5-0.5v-1c0-0.276,0.224-0.5,0.5-0.5h12 c0.276,0,0.5,0.224,0.5,0.5v1C37,36.776,36.776,37,36.5,37z" />
</svg>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="32" height="32">
<linearGradient id="DkWzs0f3UrRi~IciPugr_a" x1="16.86" x2="29.576" y1="-365.533" y2="-405.546" gradientTransform="matrix(1 0 0 -1 0 -364)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#c77740" />
<stop offset="1" stop-color="#b0622b" />
</linearGradient>
<path fill="url(#DkWzs0f3UrRi~IciPugr_a)" d="M38,4H26c0,1.105-0.895,2-2,2s-2-0.895-2-2H10C8.895,4,8,4.895,8,6v36c0,1.105,0.895,2,2,2h28c1.105,0,2-0.895,2-2V6C40,4.895,39.105,4,38,4z" />
<linearGradient id="DkWzs0f3UrRi~IciPugr_b" x1="24" x2="24" y1="-400.966" y2="-404.893" gradientTransform="matrix(1 0 0 -1 0 -364)" gradientUnits="userSpaceOnUse">
<stop offset=".442" stop-color="#878786" />
<stop offset=".594" stop-color="#9f9f9e" />
<stop offset=".859" stop-color="#c3c3c3" />
<stop offset="1" stop-color="#d1d1d1" />
</linearGradient>
<path fill="url(#DkWzs0f3UrRi~IciPugr_b)" d="M37,42H11c-0.552,0-1-0.448-1-1v-9h28v9C38,41.552,37.552,42,37,42z" />
<path fill="#f3f3f3" d="M37,40H11c-0.552,0-1-0.448-1-1V7c0-0.552,0.448-1,1-1h26c0.552,0,1,0.448,1,1v32C38,39.552,37.552,40,37,40z" />
<linearGradient id="DkWzs0f3UrRi~IciPugr_c" x1="-1662.93" x2="-1661.046" y1="1534.928" y2="1527.091" gradientTransform="matrix(-1 0 0 1 -1638 -1525)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#c3cdd9" />
<stop offset="1" stop-color="#9fa7b0" />
</linearGradient>
<path fill="url(#DkWzs0f3UrRi~IciPugr_c)" d="M31,8V4h-4.184C26.403,2.837,25.304,2,24,2s-2.403,0.837-2.816,2H17v4c0,0.552,0.448,1,1,1h12C30.552,9,31,8.552,31,8z M24,4c0.552,0,1,0.448,1,1s-0.448,1-1,1s-1-0.448-1-1S23.448,4,24,4z" />
<path fill="#195bbc" d="M29.5,20H26v12.5c0,0.276-0.224,0.5-0.5,0.5h-3c-0.276,0-0.5-0.224-0.5-0.5V20l-3.5,0c-0.276,0-0.5-0.224-0.5-0.5v-2c0-0.276,0.224-0.5,0.5-0.5h11c0.276,0,0.5,0.224,0.5,0.5v2C30,19.776,29.776,20,29.5,20z" />
</svg>

46
Pilz.Tools.sln Normal file
View File

@@ -0,0 +1,46 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.11.35219.272
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pilz.Tools.StringCrypter", "Pilz.Tools.StringCrypter\Pilz.Tools.StringCrypter.csproj", "{46949328-C15D-4EAD-9080-C8DFD5E8CF42}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pilz.Tools.Lib", "Pilz.Tools.Lib\Pilz.Tools.Lib.csproj", "{AA9EAEAA-55DF-4DCF-829A-345506018760}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pilz.Tools.Symbols", "Pilz.Tools.Symbols\Pilz.Tools.Symbols.csproj", "{5B49D03A-97FD-4A83-AF78-F8B1E1B9AA6D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Lib", "Lib", "{1B0C945C-12E9-4121-BF98-8C175C2A6E02}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{59A82322-3AC6-4EF2-B896-6162CCF9436C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{46949328-C15D-4EAD-9080-C8DFD5E8CF42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{46949328-C15D-4EAD-9080-C8DFD5E8CF42}.Debug|Any CPU.Build.0 = Debug|Any CPU
{46949328-C15D-4EAD-9080-C8DFD5E8CF42}.Release|Any CPU.ActiveCfg = Release|Any CPU
{46949328-C15D-4EAD-9080-C8DFD5E8CF42}.Release|Any CPU.Build.0 = Release|Any CPU
{AA9EAEAA-55DF-4DCF-829A-345506018760}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AA9EAEAA-55DF-4DCF-829A-345506018760}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AA9EAEAA-55DF-4DCF-829A-345506018760}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AA9EAEAA-55DF-4DCF-829A-345506018760}.Release|Any CPU.Build.0 = Release|Any CPU
{5B49D03A-97FD-4A83-AF78-F8B1E1B9AA6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5B49D03A-97FD-4A83-AF78-F8B1E1B9AA6D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5B49D03A-97FD-4A83-AF78-F8B1E1B9AA6D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5B49D03A-97FD-4A83-AF78-F8B1E1B9AA6D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{46949328-C15D-4EAD-9080-C8DFD5E8CF42} = {59A82322-3AC6-4EF2-B896-6162CCF9436C}
{AA9EAEAA-55DF-4DCF-829A-345506018760} = {1B0C945C-12E9-4121-BF98-8C175C2A6E02}
{5B49D03A-97FD-4A83-AF78-F8B1E1B9AA6D} = {1B0C945C-12E9-4121-BF98-8C175C2A6E02}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {00BDCE59-5610-4739-9C01-21EE2D4789D5}
EndGlobalSection
EndGlobal