Browse Source

Ported all SharpDevelop 1.1 samples apart from the language binding sample.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1121 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Matt Ward 20 years ago
parent
commit
f0d2c7c44f
  1. 27
      samples/CodonCreation/AssemblyInfo.cs
  2. 32
      samples/CodonCreation/CodonCreation.addin
  3. 61
      samples/CodonCreation/CodonCreation.csproj
  4. 2158
      samples/CodonCreation/CodonCreation.rtf
  5. 16
      samples/CodonCreation/CodonCreation.sln
  6. 23
      samples/CodonCreation/ReadTestCodonCommand.cs
  7. 27
      samples/CodonCreation/TestCodon.cs
  8. 46
      samples/CodonCreation/TestDoozer.cs
  9. 27
      samples/CustomPad/AssemblyInfo.cs
  10. 18
      samples/CustomPad/CustomPad.addin
  11. 59
      samples/CustomPad/CustomPad.csproj
  12. 2162
      samples/CustomPad/CustomPad.rtf
  13. 16
      samples/CustomPad/CustomPad.sln
  14. 28
      samples/CustomPad/MyCustomPad.cs
  15. 27
      samples/CustomView/AssemblyInfo.cs
  16. 22
      samples/CustomView/CustomView.addin
  17. 60
      samples/CustomView/CustomView.csproj
  18. 2153
      samples/CustomView/CustomView.rtf
  19. 16
      samples/CustomView/CustomView.sln
  20. 63
      samples/CustomView/MyCustomView.cs
  21. 16
      samples/CustomView/ShowCustomViewCommand.cs
  22. 17
      samples/DisplayBindings/AlternateEditor/AlternateEditor.addin
  23. 59
      samples/DisplayBindings/AlternateEditor/AlternateEditor.csproj
  24. 2161
      samples/DisplayBindings/AlternateEditor/AlternateEditor.rtf
  25. 16
      samples/DisplayBindings/AlternateEditor/AlternateEditor.sln
  26. 32
      samples/DisplayBindings/AlternateEditor/AlternateEditorDisplayBinding.cs
  27. 27
      samples/DisplayBindings/AlternateEditor/AssemblyInfo.cs
  28. 53
      samples/DisplayBindings/AlternateEditor/Editor.cs
  29. 27
      samples/SharpPad/AssemblyInfo.cs
  30. 139
      samples/SharpPad/SharpPad.Designer.cs
  31. 70
      samples/SharpPad/SharpPad.cs
  32. 46
      samples/SharpPad/SharpPad.csproj
  33. BIN
      samples/SharpPad/SharpPad.ico
  34. 567
      samples/SharpPad/SharpPad.resx
  35. 2153
      samples/SharpPad/SharpPad.rtf
  36. 16
      samples/SharpPad/SharpPad.sln
  37. 2149
      samples/readme.rtf

27
samples/CodonCreation/AssemblyInfo.cs

@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
using System.Reflection;
using System.Runtime.CompilerServices;
// Information about this assembly is defined by the following
// attributes.
//
// change them to the information which is associated with the assembly
// you compile.
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// The assembly version has following format :
//
// Major.Minor.Build.Revision
//
// You can specify all values by your own or you can build default build and revision
// numbers with the '*' character (the default):
[assembly: AssemblyVersion("1.0.*")]

32
samples/CodonCreation/CodonCreation.addin

@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
<AddIn name = "Codon Creation Sample"
url = "http://www.icsharpcode.net"
version = "1.0.0">
<Manifest>
<Identity name = "SharpDevelop.Samples.CodonCreation"/>
</Manifest>
<Runtime>
<Import assembly = "CodonCreation.dll">
<Doozer name = "TestCodon"
class = "CodonCreation.TestDoozer"/>
</Import>
</Runtime>
<Path name = "/Samples/CodonCreation">
<TestCodon id = "codon1"
text = "Hello World!"/>
<TestCodon id = "codon2"
text = " Codon Creation Sample!"/>
</Path>
<Path name = "/SharpDevelop/Workbench/MainMenu">
<MenuItem id = "CodonCreationSample"
label = "Codon Creation Sample"
type = "Menu">
<MenuItem id = "ReadTestCodon"
label = "Read Test Codon"
class = "CodonCreation.ReadTestCodonCommand"/>
</MenuItem>
</Path>
</AddIn>

61
samples/CodonCreation/CodonCreation.csproj

@ -0,0 +1,61 @@ @@ -0,0 +1,61 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<OutputType>Library</OutputType>
<RootNamespace>CodonCreation</RootNamespace>
<AssemblyName>CodonCreation</AssemblyName>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{F60D18F4-D293-43FE-8FE2-A2CE565B3AB5}</ProjectGuid>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<BaseAddress>4194304</BaseAddress>
<PlatformTarget>AnyCPU</PlatformTarget>
<FileAlignment>4096</FileAlignment>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>..\..\AddIns\Samples\CodonCreation</OutputPath>
<Optimize>False</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugSymbols>true</DebugSymbols>
<DebugType>Full</DebugType>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>..\..\AddIns\Samples\CodonCreation</OutputPath>
<Optimize>True</Optimize>
<DefineConstants>TRACE</DefineConstants>
<DebugSymbols>false</DebugSymbols>
<DebugType>None</DebugType>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="ICSharpCode.SharpDevelop">
<HintPath>..\..\bin\ICSharpCode.SharpDevelop.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
<Reference Include="ICSharpCode.Core">
<HintPath>..\..\bin\ICSharpCode.Core.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs" />
<Compile Include="ReadTestCodonCommand.cs" />
<Compile Include="TestCodon.cs" />
<None Include="CodonCreation.addin">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<Compile Include="TestDoozer.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

2158
samples/CodonCreation/CodonCreation.rtf

File diff suppressed because it is too large Load Diff

16
samples/CodonCreation/CodonCreation.sln

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# SharpDevelop 2.0.0.1084
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodonCreation", "CodonCreation.csproj", "{F60D18F4-D293-43FE-8FE2-A2CE565B3AB5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F60D18F4-D293-43FE-8FE2-A2CE565B3AB5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F60D18F4-D293-43FE-8FE2-A2CE565B3AB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F60D18F4-D293-43FE-8FE2-A2CE565B3AB5}.Release|Any CPU.Build.0 = Release|Any CPU
{F60D18F4-D293-43FE-8FE2-A2CE565B3AB5}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
EndGlobal

23
samples/CodonCreation/ReadTestCodonCommand.cs

@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
using ICSharpCode.Core;
using System;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace CodonCreation
{
public class ReadTestCodonCommand : AbstractMenuCommand
{
public override void Run()
{
TestCodon[] testCodons = (TestCodon[])(AddInTree.GetTreeNode("/Samples/CodonCreation").BuildChildItems(this)).ToArray(typeof(TestCodon));
StringBuilder message = new StringBuilder();
foreach (TestCodon codon in testCodons) {
message.AppendFormat("{0} ", codon.Text);
}
MessageBox.Show(message.ToString(), "TestCodon");
}
}
}

27
samples/CodonCreation/TestCodon.cs

@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
using System;
namespace CodonCreation
{
/// <summary>
/// A custom class that will be created by the TestDoozer.
/// </summary>
/// <remarks>
/// SharpDevelop2 now uses custom Doozers instead of custom codons (as
/// in SharpDevelop 1.x).
/// </remarks>
public class TestCodon
{
string text = String.Empty;
public TestCodon(string text)
{
this.text = text;
}
public string Text {
get {
return text;
}
}
}
}

46
samples/CodonCreation/TestDoozer.cs

@ -0,0 +1,46 @@ @@ -0,0 +1,46 @@
using ICSharpCode.Core;
using System;
using System.Collections;
namespace CodonCreation
{
/// <summary>
/// Class that can build an object out of a Codon in the .addin file.
/// </summary>
/// <remarks>http://en.wikipedia.org/wiki/Fraggle_Rock#Doozers</remarks>
public class TestDoozer : IDoozer
{
public TestDoozer()
{
}
/// <summary>
/// Gets if the doozer handles codon conditions on its own.
/// If this property return false, the item is excluded when the
/// condition is not met.
/// </summary>
public bool HandleConditions {
get {
return false;
}
}
// BuildItem:
// This method actually builds an object which is used by the add-in
//
// The BuildItem gets following arguments :
// a caller object : this is the object which creates the item
// a codon : the codon read from the .addin file, the doozer
// uses the information in the codon to build
// a custom codon object.
// A arraylist with the subitems : if this codon has subitems in it's path here are the
// build items stored for these the codon may use these
// or not, if not they get lost, if any where there.
// 'Normal' codons don't need them (then the tree-path is a list)
// But for example menuitems use them.
public object BuildItem(object caller, Codon codon, ArrayList subItems)
{
return new TestCodon(codon.Properties["text"]);
}
}
}

27
samples/CustomPad/AssemblyInfo.cs

@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
using System.Reflection;
using System.Runtime.CompilerServices;
// Information about this assembly is defined by the following
// attributes.
//
// change them to the information which is associated with the assembly
// you compile.
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// The assembly version has following format :
//
// Major.Minor.Build.Revision
//
// You can specify all values by your own or you can build default build and revision
// numbers with the '*' character (the default):
[assembly: AssemblyVersion("1.0.*")]

18
samples/CustomPad/CustomPad.addin

@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
<AddIn name = "Custom Pad Sample">
<Manifest>
<Identity name="SharpDevelop.Samples.CustomPad"/>
</Manifest>
<Runtime>
<Import assembly="CustomPad.dll"/>
</Runtime>
<Path name = "/SharpDevelop/Workbench/Pads">
<Pad id = "CustomPad"
category = "Main"
icon = "PadIcons.Output"
title = "Custom Pad"
class = "CustomPad.MyCustomPad"/>
</Path>
</AddIn>

59
samples/CustomPad/CustomPad.csproj

@ -0,0 +1,59 @@ @@ -0,0 +1,59 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<OutputType>Library</OutputType>
<RootNamespace>CustomPad</RootNamespace>
<AssemblyName>CustomPad</AssemblyName>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{7B1152A2-9072-419A-B256-5772D114C5A9}</ProjectGuid>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<BaseAddress>4194304</BaseAddress>
<PlatformTarget>AnyCPU</PlatformTarget>
<FileAlignment>4096</FileAlignment>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>..\..\AddIns\Samples\CustomPad\</OutputPath>
<Optimize>False</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugSymbols>true</DebugSymbols>
<DebugType>Full</DebugType>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>..\..\AddIns\Samples\CustomPad\</OutputPath>
<Optimize>True</Optimize>
<DefineConstants>TRACE</DefineConstants>
<DebugSymbols>false</DebugSymbols>
<DebugType>None</DebugType>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="ICSharpCode.SharpDevelop">
<HintPath>..\..\bin\ICSharpCode.SharpDevelop.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
<Reference Include="ICSharpCode.Core">
<HintPath>..\..\bin\ICSharpCode.Core.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="MyCustomPad.cs" />
<Compile Include="AssemblyInfo.cs" />
<None Include="CustomPad.addin">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

2162
samples/CustomPad/CustomPad.rtf

File diff suppressed because it is too large Load Diff

16
samples/CustomPad/CustomPad.sln

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# SharpDevelop 2.0.0.1116
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomPad", "CustomPad.csproj", "{7B1152A2-9072-419A-B256-5772D114C5A9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7B1152A2-9072-419A-B256-5772D114C5A9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7B1152A2-9072-419A-B256-5772D114C5A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7B1152A2-9072-419A-B256-5772D114C5A9}.Release|Any CPU.Build.0 = Release|Any CPU
{7B1152A2-9072-419A-B256-5772D114C5A9}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
EndGlobal

28
samples/CustomPad/MyCustomPad.cs

@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
using System;
using System.Drawing;
using System.Windows.Forms;
namespace CustomPad
{
public class MyCustomPad : AbstractPadContent
{
Panel panel = new Panel();
Label testLabel = new Label();
public MyCustomPad()
{
testLabel.Text = "Hello World!";
testLabel.Location = new Point(8, 8);
panel.Controls.Add(testLabel);
}
public override Control Control {
get {
return panel;
}
}
}
}

27
samples/CustomView/AssemblyInfo.cs

@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
using System.Reflection;
using System.Runtime.CompilerServices;
// Information about this assembly is defined by the following
// attributes.
//
// change them to the information which is associated with the assembly
// you compile.
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// The assembly version has following format :
//
// Major.Minor.Build.Revision
//
// You can specify all values by your own or you can build default build and revision
// numbers with the '*' character (the default):
[assembly: AssemblyVersion("1.0.*")]

22
samples/CustomView/CustomView.addin

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
<AddIn name = "Custom View Content Sample"
url = "http://www.icsharpcode.net"
version = "1.0.0">
<Manifest>
<Identity name="SharpDevelop.Samples.CustomView"/>
</Manifest>
<Runtime>
<Import assembly="CustomView.dll"/>
</Runtime>
<Path name = "/SharpDevelop/Workbench/MainMenu">
<MenuItem id = "CustomViewSamples"
label = "Custom View Sample"
type = "Menu">
<MenuItem id = "ShowCustomView"
label = "Show Custom View"
class = "CustomView.ShowCustomViewCommand"/>
</MenuItem>
</Path>
</AddIn>

60
samples/CustomView/CustomView.csproj

@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<OutputType>Library</OutputType>
<RootNamespace>CustomView</RootNamespace>
<AssemblyName>CustomView</AssemblyName>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{F6CC3129-CF08-409A-97BE-633278B7D277}</ProjectGuid>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<BaseAddress>4194304</BaseAddress>
<PlatformTarget>AnyCPU</PlatformTarget>
<FileAlignment>4096</FileAlignment>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>..\..\AddIns\Samples\CustomView\</OutputPath>
<Optimize>False</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugSymbols>true</DebugSymbols>
<DebugType>Full</DebugType>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>..\..\AddIns\Samples\CustomView\</OutputPath>
<Optimize>True</Optimize>
<DefineConstants>TRACE</DefineConstants>
<DebugSymbols>false</DebugSymbols>
<DebugType>None</DebugType>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="ICSharpCode.Core">
<HintPath>..\..\bin\ICSharpCode.Core.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
<Reference Include="ICSharpCode.SharpDevelop">
<HintPath>..\..\bin\ICSharpCode.SharpDevelop.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="MyCustomView.cs" />
<Compile Include="AssemblyInfo.cs" />
<Compile Include="ShowCustomViewCommand.cs" />
<None Include="CustomView.addin">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

2153
samples/CustomView/CustomView.rtf

File diff suppressed because it is too large Load Diff

16
samples/CustomView/CustomView.sln

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# SharpDevelop 2.0.0.1116
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomView", "CustomView.csproj", "{F6CC3129-CF08-409A-97BE-633278B7D277}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F6CC3129-CF08-409A-97BE-633278B7D277}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F6CC3129-CF08-409A-97BE-633278B7D277}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F6CC3129-CF08-409A-97BE-633278B7D277}.Release|Any CPU.Build.0 = Release|Any CPU
{F6CC3129-CF08-409A-97BE-633278B7D277}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
EndGlobal

63
samples/CustomView/MyCustomView.cs

@ -0,0 +1,63 @@ @@ -0,0 +1,63 @@
using ICSharpCode.SharpDevelop.Gui;
using System;
using System.Drawing;
using System.Windows.Forms;
namespace CustomView
{
public class MyCustomView : AbstractViewContent
{
Panel panel = new Panel();
Label testLabel = new Label();
public MyCustomView()
{
testLabel.Text = "Hello World!";
testLabel.Location = new Point(8, 8);
panel.Controls.Add(testLabel);
TitleName = "My Custom View";
}
/// <summary>
/// The control that will be displayed in SharpDevelop.
/// </summary>
public override Control Control {
get {
return panel;
}
}
// must be overriden, but *may* be useless for
// 'custom' views
public override bool IsReadOnly {
get {
return false;
}
}
public override void Save(string fileName)
{
}
public override void Load(string fileName)
{
}
// the redraw should get new add-in tree information
// and update the view, the language or layout manager
// may have changed.
public override void RedrawContent()
{
}
// The Dispose must be overriden, there is no default implementation
// (because in this case I wouldn't override dipose, I would forget it ...)
public override void Dispose()
{
testLabel.Dispose();
panel.Dispose();
}
}
}

16
samples/CustomView/ShowCustomViewCommand.cs

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
using System;
using System.Windows.Forms;
namespace CustomView
{
public class ShowCustomViewCommand : AbstractMenuCommand
{
public override void Run()
{
WorkbenchSingleton.Workbench.ShowView(new MyCustomView());
}
}
}

17
samples/DisplayBindings/AlternateEditor/AlternateEditor.addin

@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
<AddIn name = "Alternate Editor Sample">
<Manifest>
<Identity name = "SharpDevelop.Samples.AlternateEditor"/>
</Manifest>
<Runtime>
<Import assembly = "AlternateEditor.dll"/>
</Runtime>
<Path name = "/SharpDevelop/Workbench/DisplayBindings">
<DisplayBinding id = "AlternateEditor"
insertbefore = "Text"
supportedformats = "Text Files,Source Files"
class = "AlternateEditor.AlternateEditorDisplayBinding" />
</Path>
</AddIn>

59
samples/DisplayBindings/AlternateEditor/AlternateEditor.csproj

@ -0,0 +1,59 @@ @@ -0,0 +1,59 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<OutputType>Library</OutputType>
<RootNamespace>AlternateEditor</RootNamespace>
<AssemblyName>AlternateEditor</AssemblyName>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{2DCF1D56-2362-4C44-B0CE-C635B0B4BB7C}</ProjectGuid>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<BaseAddress>4194304</BaseAddress>
<PlatformTarget>AnyCPU</PlatformTarget>
<FileAlignment>4096</FileAlignment>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>..\..\..\AddIns\Samples\AlternateEditor\</OutputPath>
<Optimize>False</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugSymbols>true</DebugSymbols>
<DebugType>Full</DebugType>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>..\..\..\AddIns\Samples\AlternateEditor\</OutputPath>
<Optimize>True</Optimize>
<DefineConstants>TRACE</DefineConstants>
<DebugSymbols>false</DebugSymbols>
<DebugType>None</DebugType>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="ICSharpCode.SharpDevelop">
<HintPath>..\..\..\bin\ICSharpCode.SharpDevelop.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
<Reference Include="ICSharpCode.Core">
<HintPath>..\..\..\bin\ICSharpCode.Core.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
<Reference Include="System.Windows.Forms" />
</ItemGroup>
<ItemGroup>
<Compile Include="Editor.cs" />
<Compile Include="AssemblyInfo.cs" />
<None Include="AlternateEditor.addin">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<Compile Include="AlternateEditorDisplayBinding.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

2161
samples/DisplayBindings/AlternateEditor/AlternateEditor.rtf

File diff suppressed because it is too large Load Diff

16
samples/DisplayBindings/AlternateEditor/AlternateEditor.sln

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# SharpDevelop 2.0.0.1116
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AlternateEditor", "AlternateEditor.csproj", "{2DCF1D56-2362-4C44-B0CE-C635B0B4BB7C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{2DCF1D56-2362-4C44-B0CE-C635B0B4BB7C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2DCF1D56-2362-4C44-B0CE-C635B0B4BB7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2DCF1D56-2362-4C44-B0CE-C635B0B4BB7C}.Release|Any CPU.Build.0 = Release|Any CPU
{2DCF1D56-2362-4C44-B0CE-C635B0B4BB7C}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
EndGlobal

32
samples/DisplayBindings/AlternateEditor/AlternateEditorDisplayBinding.cs

@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
using System;
namespace AlternateEditor
{
public class AlternateEditorDisplayBinding : IDisplayBinding
{
public bool CanCreateContentForFile(string fileName)
{
return true;
}
public bool CanCreateContentForLanguage(string language)
{
return true;
}
public IViewContent CreateContentForFile(string fileName)
{
Editor editor = new Editor();
editor.Load(fileName);
return editor;
}
public IViewContent CreateContentForLanguage(string language, string content)
{
return new Editor();
}
}
}

27
samples/DisplayBindings/AlternateEditor/AssemblyInfo.cs

@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
using System.Reflection;
using System.Runtime.CompilerServices;
// Information about this assembly is defined by the following
// attributes.
//
// change them to the information which is associated with the assembly
// you compile.
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// The assembly version has following format :
//
// Major.Minor.Build.Revision
//
// You can specify all values by your own or you can build default build and revision
// numbers with the '*' character (the default):
[assembly: AssemblyVersion("1.0.*")]

53
samples/DisplayBindings/AlternateEditor/Editor.cs

@ -0,0 +1,53 @@ @@ -0,0 +1,53 @@
using ICSharpCode.SharpDevelop.Gui;
using System;
using System.Windows.Forms;
namespace AlternateEditor
{
public class Editor : AbstractViewContent
{
RichTextBox rtb = new RichTextBox();
public override Control Control {
get {
return rtb;
}
}
public override bool IsReadOnly {
get {
return rtb.ReadOnly;
}
}
public Editor()
{
rtb.Dock = DockStyle.Fill;
}
public override void RedrawContent()
{
rtb.Refresh();
}
public override void Dispose()
{
rtb.Dispose();
}
public override void Save(string fileName)
{
rtb.SaveFile(fileName, RichTextBoxStreamType.PlainText);
TitleName = fileName;
IsDirty = false;
}
public override void Load(string fileName)
{
rtb.LoadFile(fileName, RichTextBoxStreamType.PlainText);
TitleName = fileName;
IsDirty = false;
}
}
}

27
samples/SharpPad/AssemblyInfo.cs

@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
using System.Reflection;
using System.Runtime.CompilerServices;
// Information about this assembly is defined by the following
// attributes.
//
// change them to the information which is associated with the assembly
// you compile.
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// The assembly version has following format :
//
// Major.Minor.Build.Revision
//
// You can specify all values by your own or you can build default build and revision
// numbers with the '*' character (the default):
[assembly: AssemblyVersion("1.0.*")]

139
samples/SharpPad/SharpPad.Designer.cs generated

@ -0,0 +1,139 @@ @@ -0,0 +1,139 @@

namespace SharpPad
{
partial class SharpPad : System.Windows.Forms.Form
{
/// <summary>
/// Designer variable used to keep track of non-visual components.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Disposes resources used by the form.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing) {
if (components != null) {
components.Dispose();
}
}
base.Dispose(disposing);
}
/// <summary>
/// This method is required for Windows Forms designer support.
/// Do not change the method contents inside the source code editor. The Forms designer might
/// not be able to load this method if it was changed manually.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SharpPad));
this.textEditorControl = new ICSharpCode.TextEditor.TextEditorControl();
this.menuStrip = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.separatorToolStripMenuItem = new System.Windows.Forms.ToolStripSeparator();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuStrip.SuspendLayout();
this.SuspendLayout();
//
// textEditorControl
//
this.textEditorControl.Dock = System.Windows.Forms.DockStyle.Fill;
this.textEditorControl.Encoding = ((System.Text.Encoding)(resources.GetObject("textEditorControl.Encoding")));
this.textEditorControl.Location = new System.Drawing.Point(0, 24);
this.textEditorControl.Name = "textEditorControl";
this.textEditorControl.ShowEOLMarkers = true;
this.textEditorControl.ShowSpaces = true;
this.textEditorControl.ShowTabs = true;
this.textEditorControl.ShowVRuler = true;
this.textEditorControl.Size = new System.Drawing.Size(511, 280);
this.textEditorControl.TabIndex = 0;
//
// menuStrip
//
this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem});
this.menuStrip.Location = new System.Drawing.Point(0, 0);
this.menuStrip.Name = "menuStrip";
this.menuStrip.Size = new System.Drawing.Size(511, 24);
this.menuStrip.TabIndex = 1;
this.menuStrip.Text = "menuStrip";
//
// fileToolStripMenuItem
//
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.openToolStripMenuItem,
this.saveToolStripMenuItem,
this.saveAsToolStripMenuItem,
this.separatorToolStripMenuItem,
this.exitToolStripMenuItem});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20);
this.fileToolStripMenuItem.Text = "&File";
//
// openToolStripMenuItem
//
this.openToolStripMenuItem.Name = "openToolStripMenuItem";
this.openToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
this.openToolStripMenuItem.Size = new System.Drawing.Size(163, 22);
this.openToolStripMenuItem.Text = "&Open...";
this.openToolStripMenuItem.Click += new System.EventHandler(this.OpenToolStripMenuItemClick);
//
// saveToolStripMenuItem
//
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
this.saveToolStripMenuItem.Size = new System.Drawing.Size(163, 22);
this.saveToolStripMenuItem.Text = "&Save";
this.saveToolStripMenuItem.Click += new System.EventHandler(this.SaveToolStripMenuItemClick);
//
// saveAsToolStripMenuItem
//
this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(163, 22);
this.saveAsToolStripMenuItem.Text = "Save &As...";
this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.SaveAsToolStripMenuItemClick);
//
// separatorToolStripMenuItem
//
this.separatorToolStripMenuItem.Name = "separatorToolStripMenuItem";
this.separatorToolStripMenuItem.Size = new System.Drawing.Size(160, 6);
//
// exitToolStripMenuItem
//
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
this.exitToolStripMenuItem.Size = new System.Drawing.Size(163, 22);
this.exitToolStripMenuItem.Text = "E&xit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.ExitToolStripMenuItemClick);
//
// SharpPad
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(511, 304);
this.Controls.Add(this.textEditorControl);
this.Controls.Add(this.menuStrip);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MainMenuStrip = this.menuStrip;
this.Name = "SharpPad";
this.Text = "SharpPad";
this.menuStrip.ResumeLayout(false);
this.menuStrip.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator separatorToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem saveAsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.MenuStrip menuStrip;
private ICSharpCode.TextEditor.TextEditorControl textEditorControl;
}
}

70
samples/SharpPad/SharpPad.cs

@ -0,0 +1,70 @@ @@ -0,0 +1,70 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace SharpPad
{
public partial class SharpPad
{
const string SharpPadFileFilter = "Text Documents (*.txt)|*.txt|All Files (*.*)|*.*";
[STAThread]
public static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new SharpPad());
}
public SharpPad()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
}
void ExitToolStripMenuItemClick(object sender, EventArgs e)
{
Close();
}
void OpenToolStripMenuItemClick(object sender, EventArgs e)
{
using (OpenFileDialog dialog = new OpenFileDialog()) {
dialog.Filter = SharpPadFileFilter;
dialog.FilterIndex = 0;
if (DialogResult.OK == dialog.ShowDialog()) {
textEditorControl.LoadFile(dialog.FileName);
}
}
}
void SaveAsToolStripMenuItemClick(object sender, System.EventArgs e)
{
SaveAs();
}
void SaveAs()
{
using (SaveFileDialog dialog = new SaveFileDialog()) {
dialog.Filter = SharpPadFileFilter;
dialog.FilterIndex = 0;
if (DialogResult.OK == dialog.ShowDialog()) {
textEditorControl.SaveFile(dialog.FileName);
textEditorControl.FileName = dialog.FileName;
}
}
}
void SaveToolStripMenuItemClick(object sender, System.EventArgs e)
{
if (textEditorControl.FileName != null) {
textEditorControl.SaveFile(textEditorControl.FileName);
} else {
SaveAs();
}
}
}
}

46
samples/SharpPad/SharpPad.csproj

@ -0,0 +1,46 @@ @@ -0,0 +1,46 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<RootNamespace>SharpPad</RootNamespace>
<AssemblyName>SharpPad</AssemblyName>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{9EE70751-7F89-4893-8525-54004FF736CC}</ProjectGuid>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>bin\Debug\</OutputPath>
<Optimize>False</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugSymbols>True</DebugSymbols>
<DebugType>Full</DebugType>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\</OutputPath>
<Optimize>True</Optimize>
<DefineConstants>TRACE</DefineConstants>
<DebugSymbols>False</DebugSymbols>
<DebugType>None</DebugType>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="ICSharpCode.TextEditor">
<HintPath>..\..\bin\ICSharpCode.TextEditor.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="SharpPad.cs" />
<Compile Include="SharpPad.Designer.cs">
<DependentUpon>SharpPad.cs</DependentUpon>
</Compile>
<Compile Include="AssemblyInfo.cs" />
<EmbeddedResource Include="SharpPad.resx">
<DependentUpon>SharpPad.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

BIN
samples/SharpPad/SharpPad.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

567
samples/SharpPad/SharpPad.resx

@ -0,0 +1,567 @@ @@ -0,0 +1,567 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="textEditorControl.Encoding" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAEAQAAABhTeXN0ZW0uVGV4dC5VVEY4RW5jb2RpbmcLAAAAEmVtaXRVVEY4
SWRlbnRpZmllchBpc1Rocm93RXhjZXB0aW9uCm1fY29kZVBhZ2UIZGF0YUl0ZW0PZW5jb2RlckZhbGxi
YWNrD2RlY29kZXJGYWxsYmFjaxNFbmNvZGluZyttX2NvZGVQYWdlEUVuY29kaW5nK2RhdGFJdGVtFUVu
Y29kaW5nK21faXNSZWFkT25seRhFbmNvZGluZytlbmNvZGVyRmFsbGJhY2sYRW5jb2RpbmcrZGVjb2Rl
ckZhbGxiYWNrAAAAAwMDAAMAAwMBAQglU3lzdGVtLkdsb2JhbGl6YXRpb24uQ29kZVBhZ2VEYXRhSXRl
bSZTeXN0ZW0uVGV4dC5FbmNvZGVyUmVwbGFjZW1lbnRGYWxsYmFjayZTeXN0ZW0uVGV4dC5EZWNvZGVy
UmVwbGFjZW1lbnRGYWxsYmFjawglU3lzdGVtLkdsb2JhbGl6YXRpb24uQ29kZVBhZ2VEYXRhSXRlbQEm
U3lzdGVtLlRleHQuRW5jb2RlclJlcGxhY2VtZW50RmFsbGJhY2smU3lzdGVtLlRleHQuRGVjb2RlclJl
cGxhY2VtZW50RmFsbGJhY2sBAOn9AAAKCQIAAAAJAwAAAOn9AAAKAQkCAAAACQMAAAAEAgAAACZTeXN0
ZW0uVGV4dC5FbmNvZGVyUmVwbGFjZW1lbnRGYWxsYmFjawMAAAAKc3RyRGVmYXVsdBtiSXNNaWNyb3Nv
ZnRCZXN0Rml0RmFsbGJhY2srRW5jb2RlckZhbGxiYWNrK2JJc01pY3Jvc29mdEJlc3RGaXRGYWxsYmFj
awEAAAEBBgYAAAAAAAAEAwAAACZTeXN0ZW0uVGV4dC5EZWNvZGVyUmVwbGFjZW1lbnRGYWxsYmFjawMA
AAAKc3RyRGVmYXVsdBtiSXNNaWNyb3NvZnRCZXN0Rml0RmFsbGJhY2srRGVjb2RlckZhbGxiYWNrK2JJ
c01pY3Jvc29mdEJlc3RGaXRGYWxsYmFjawEAAAEBCQYAAAAAAAs=
</value>
</data>
<metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAkAMDAQAAEABABoBgAAlgAAACAgEAABAAQA6AIAAP4GAAAQEBAAAQAEACgBAADmCQAAMDAAAAEA
CACoDgAADgsAACAgAAABAAgAqAgAALYZAAAQEAAAAQAIAGgFAABeIgAAMDAAAAEAIACoJQAAxicAACAg
AAABACAAqBAAAG5NAAAQEAAAAQAgAGgEAAAWXgAAKAAAADAAAABgAAAAAQAEAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAgACAAAAAgACAAICAAADAwMAAgICAAAAA/wAA/wAAAP//AP8A
AAD/AP8A//8AAP///wARERERERERERERERERERERERERERERERERERERERERERAAAAAAAAAAAAAAAAAA
ABEREREREREREYiIiIiIiIiIiIiIiIiIiAERERERERERGP//////////////////94ARERERERERGP//
/////////////////4ARERERERERGHd3d3d3d3d3d////////4ARERERERERGIiIiIiIiIiIiOfn5+fn
54ARERERERERGHd3d3d3d3d3d3///////4ARERERERERGHd3d3d3d3d3d3f//////4ARAAAAAAAAAAAA
AAAAB3d3d3f//////4AWZmZmZmZmZmZmZmZmYIiIiIh+fn5+foBnd3d3d3d3d3d3d3d3YHd3d3f/////
/4Bufn5+fn5+fn5+fn5+dgd3d3d//////4Bu5+fn5+fn5+fn5+fndgd3d3d//////4Bufn5+fn5+fn5+
fn5+d2CIiIiOfn5+foBu5+fn5+fn5+fn5+fn52B3d3d//////4AW7n5+fn5+fn5+fn5+fnYHd3d3////
/4AW5+fn5+fn5+fn5+fn53YHd3d3/////4ARbn5+fn5+fn5+fn5+fndgiIiIfn5+foARbufn5+fn5+fn
5+fn5+dgd3d3/////4ARFu5+fn5+fn5+fn5+fn52B3d3f////4ARFufn5+fn5+fn5+fn5+d2B3d3f///
/4AREW5+fn5+fn5+fn5+fn53YIiIjn5+foAREW7n5+fn5+fn5+fn5+fnYHd3f////4ARERbufn5+fn5+
fn5+fn5+dgd3d////4ARERbn5+fn5+fn5+fn5+fndgd3d////4ARERFufn5+fn5+fn5+fn5+d2CIiH5+
foARERFu5+fn5+fn5+fn5+fn52B3d////4AREREW7n5+fn5+fn5+fn5+fnYHd3///4AREREW5+fn5+fn
5+fn5+fn53YHd3///4ARERERbn5+fn5+fn5+fn5+fndgiI5+foARERERbufn5+fn5+fn5+fn5+dgd3f/
/4ARERERFu5+dmZmZmZmZmZ+fn52B3f//4ARERERFufn4AAAAAAAAADn5+d2B3f//4AREREREW5+fn5+
fn5+fn5+fn53YIiOfoAREREREW7n52ZmZmZmZmZm5+fnYHd//4ARERERERbufgAAAAAAAAAAfn5+dgd3
/4ARERERERbn5+fn5+fn5+fn5+fndgd3/4ARERERERFufn5+fn5+fn5+fn5+d2B3/4ARERERERFu5+fn
5+fn5+fn5+fn52B3f4AREREREREW7n5+fn5+fn5+fn5+fnYHf4AREREREREW5+fn5+fn5+fn5+fn53YH
f4ARERERERERbn5+fn5+fn5+fn5+fndgeAERERERERERbmbu5m7uZu7mbu5m7uZgcBERERERERERFv9m
b/Zm/2Zv9mb/Zm+IAREREREREREREYiBiIgYiIGIiBiIgYiBERERERERERERERERERERERERERERERER
ERERERERERERERERERERERERERERERERERH///////8AAP//gAAAAwAA//8AAAABAAD//gAAAAAAAP/+
AAAAAAAA//4AAAAAAAD//gAAAAAAAP/+AAAAAAAA//4AAAAAAADAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAMAA
AAAAAAAA4AAAAAAAAADgAAAAAAAAAPAAAAAAAAAA8AAAAAAAAAD4AAAAAAAAAPgAAAAAAAAA/AAAAAAA
AAD8AAAAAAAAAP4AAAAAAAAA/gAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/4AAAAAAAAD/gAAAAAAAAP/A
AAAAAAAA/8AAAAAAAAD/4AAAAAAAAP/gAAAAAAAA//AAAAAAAAD/8AAAAAAAAP/4AAAAAAAA//gAAAAA
AAD//AAAAAEAAP/8AAAAAwAA//4AAAAHAAD//xCEIR8AAP///////wAA////////AAAoAAAAIAAAAEAA
AAABAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAICAAIAAAACAAIAAgIAAAMDA
wACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////ABEREREREREREREREREREREREREREREQAAAA
AAAAAAARERERERERiIiIiIiIiIiIARERERERGP//////////94AREREREYd3d3d3d/////+AERERERGH
d3d3d3d/////gBEAAAAAAAAAAIiIjn5+foAWZmZmZmZmZmYHd3f///+Abnd3d3d3d3d3YHd3////gG7n
5+fn5+fn52CIiOfn54Bufn5+fn5+fn52B3d///+AFufn5+fn5+fndgd3f///gBbufn5+fn5+fndgiI5+
foARbufn5+fn5+fnYHd3//+AEW5+fn5+fn5+fnYHd///gBEW5+fn5+fn5+d2CIjn54ARFu5+fn5+fn5+
d2B3f/+AERFu5+fn5+fn5+dgd3//gBERbn5+fn5+fn5+dgiOfoARERbn5+fn5+fn53YHd/+AEREW7n5+
fn5+fn53YHf/gBEREW7nAAAAAADn52CI54ARERFufn5+fn5+fn52B3+AERERFufgAAAAAAfndgd/gBER
ERbufn5+fn5+fndgd4ARERERbufn5+fn5+fnYHeAEREREW5+fn5+fn5+fnYHgBEREREW5+fn5+fn5+d2
B4ARERERFubububububuZ2ABERERERFvZvZvZvZvZvaIERERERERGIGIGIGIGIGIERERERERERERERER
ERERERER///////4AAP/8AAB/+AAAP/AAAD/wAAAwAAAAIAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAMAA
AADAAAAA4AAAAOAAAADwAAAA8AAAAPgAAAD4AAAA/AAAAPwAAAD+AAAA/gAAAP8AAAD/AAAA/4AAAP+A
AAH/wAAD/+SST/////8oAAAAEAAAACAAAAABAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////ABER
EQAAAAABEREYd3d3d3ARERj/////cBEAAAAAd+5wFmZmZmYH/3Bufn5+fgd+cG7n5+fnYH9wFu5+fn5w
fnAW5+fn5+YPcBFufn5+dwdwEW7n5+fnYHARFuAAAH5wcBEW5+fn53YAERFufn5+52AREW6Hh4eHYRER
FmZmZmYR/AF3d/gAd3f4AHd3wAD/gIAA5+cAAOfnAACIiIAA54CAAH5+wAB+fsAAB3fgAP+A4ADn5/AA
5+fwAQd3+AP/gCgAAAAwAAAAYAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeGZ0AI2B
iAB5WmkAzsTJAKuboACBUV4Aq4uRAKd1fADMrrIAqmRoALFzdwDWrrAAzrCxALBVVgC9d3kAuGFhAL92
dgDRoaEA2ampANOnpwDz5eUAd3Z2AFlYWADMjo0A5cbFANKxrwDivroAmzAYAGlXUQDZeUwAqWpPAMOU
fgDLrZ8A/Y5WAPaKVQDqiFYA9ZRkAMOHaAD9uJQArHxlAPiRWwDFfVcA+qZ4AMmMZQB7ZVgAtlkcANJp
IQDSlWoA0JNlANeaawD/zacA53kdAP/YuADRj1QA1JJWANWVWQDYl1sA255lANeaZQCQd2AA5o0zAOaV
RQDbnF4A6axxAN+mbgDksn8AX1xZAN2bVADgn1gA46NbAOepZQDhpGUA8bNtAOWoaQCmimwA/+vVAIN7
cgDoplQA46NUAOeoXgDsr2YA/8B1AP/BeAD/wngA9rp0ANCkcQDCnG4A/9qsAP/jwQDqqVYA7KxaAMmS
TQDwsF4A1J1TAP+9ZQDztGAA/r5qAPCzZQD/wHEA/8Z7AP/JggCah28A/+jLAP/26gB/e3YA8LBTAPSz
VgD4t1kAwY5IAP/BZQD3umYA/9COAP/UmQD/6MYA//36ANWOHwD+vVUAs4Y/AP6+XAD5u1wA/8FgAOWv
VgD/xGUA/8VqAPK9aAD/yHAA/8hzAP/LdgD+zHsA/85/AP/TigD/3KMA8rlQALuQQQDPn0kA3alQAMeY
SQD/0YQA/9WOAP7WkQD/2JYA/9ucAP/hrAD/47IA/+a4AP/hqAD/6sAA//z2AP/9+QB3XSQA4a9HANmq
SQDlulkA9clsAP/sxQD/7cgA5bZJAOu9TgDswVsA8M55APHUjwD/7sUA//vxAKyMNQDqx2YA68pvAP/x
zAD99NsAwZ45ALqZOQD15K8A0K84AMmpOACxlDUA1rdOAOnRegDVuDwAoIkuANm7QwDavkwA6NOEAOnZ
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
AADgAAAAAD8AAOAAAAAAPwAA4AAAAAA/AADgAAAAAD8AAOAAAAAAfwAA4AAAAAB/AADgAAAAAH8AAOAA
AAAA/wAA4AAAAAD/AADgAAAAAP8AAOAAAAAB/wAA4AAAAAH/AADgAAAAAf8AAOAAAAAD/wAA4AAAAAP/
AADgAAAAA/8AAOAAAAAH/wAA4AAAAAf/AADgAAAAB/8AAOAAAAAP/wAA4AAAAA//AADgAAAAD/8AAOAA
AAAf/wAA4AAAAB//AADgAAAAH/8AAOAAAAA//wAA4AAAAD//AADgAAAAP/8AAOAAAAA//wAA4AAAAD//
AADwAAAAf/8AAPgwAAB//wAA/DGCEP//AAD//8c4//8AAP///////wAAKAAAACAAAABAAAAAAQAIAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHl4jQCMi5UAl5WaAAAAAACShZEAnXyNAM+XnQDInaEAx5aZAM+W
mQDMlZYAwYWFAMmUlACfkZEA5nx4AMGAfgDIlJIAx5ORAM2OiwC+d3EAiXh2ANOakADoo5QAxIl+AL6I
fQDBi4EAwYh6AMKJewD/0MUAwIh5AJlcRADwlGkA0HdMAN2HXQC5clAA+KN3AHpdTwDuuqEAeWJXAGln
ZgDohU8AyINdAMSHZAC7nYwAtGY3AM2RaADRr5cA0ZBgAPe4iQD4wpkA9cmpANG6qQDWmmcA0pdpAIpv
WADEdzEA3pteAOqlZQDop2wA3aFpAOSocADgomUA4qZsANCebwB4bWIA//79AN+NMQDThjUA8qZVAOum
XADNkVMA6KxpAPvVqgD417MAqp2PAPOwXQDen1YA5aZeAPq7cgDrsGwA8rh0AOezdQDTpGwAt5RsAJ+P
fADrmzQA56lVAMSOSgD7uWIA6q1bANWcUwD6t2MA+75uAPK2awD+xXsA2qtwAMuibgCsil4Aq49sAJeJ
dwDqqUgA3qFHAP26WwD3uFoA9sBzAPfLjgB1c3AAypRCAP29VQDytFMA26RNAL2QRgDLmkwA7LJZAN+s
WADuuWIA/cZxAOXOqADCkToAuYs+APe9UwDrtFEA4q1SAPfBXgD7ynQA/Mt5APXIdgD70osA7cqPAO/U
pQDstU0AyZtDANupSwDkslAA7bpbAPfHaQD+7MgA2KpEAOO0SQDEnEEAv5dAAOu5UAB4YzUA8cx5APLR
hgD52ZYA/d+hAP/kqQD55rsAxJs6ALSROADLpEEA6bxNAN2zTADuwloA9dJ/APTViwDo2bQA0qo6AMmj
OQDSqkAA27NEAOS8SQDUrkoA7MdjAMKhOAC5mTcA4btFAKqONADjv1QA6MhnAN2+YwDpym0A4MRuAO3S
gADu15AA/fHLANm0OgCukjMA3b1JANy+VQDz4aYA8+OqANm6QgDix2IA4spqAOTQfACnkiwA1bxFAN7I
ZQDjz3MA7d6dAMq0LwDCqy8A1sVhAOTVhADm2pQAzcq5AOTZiwDx7c8AzsNSANbOcQDY0noA19SEAN3b
kQDb35wA5ei9AMrUhQDO3pEAwtZ/AKnUcgDP57QA8/XxALPamQCz45cAvuunAKLkiAC7zLUA2u/XAND0
zADn+OUAq+imAMftxACt5aoAuOq3ANv22gCY65cAquyqAHvifQCh56IAp+2pAMn0ygCs7a8A7/3wAKjx
rwCJnZMAlcXFAGepsQBNzuYAWLzQAHu4xQA7q8UAR6W6ADSVrgA5wewAUpWqAHaIjgBll6oAbnh8AKWv
tACPlqcAjIyMAImJiQB/f38AeXl5AAAAAAADAwP8/vz8AgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD
CA8iICIeNiZA/vv8AwMDAwMDAwMDAwMDAwMDAwMDAwMYCDMyMjEjHyAiIh4kJ2r9/AMDAwMDAwMDAwMD
AwMDAxcQ5eLo4NPTnUlRIx8hICwkJiYnAwMDAwMDAwMDAwMDHQnU6dze4+bj6OTi050yMTAfKB78AwMD
AwMDAwMDAwMXEeDb4eHclH/E0tbW2OLi19PNHhQDAwMDAwMDAwMDAxsJ2uDl5darhHKjhl5/kb/Q2NiO
JwMDAwMDAwMDAwMDGwra3EFBx3Nwb6iWjINlenN0XihhNkBAav0DAwMDAwMXEN/m3ejPclo4b1dGRld3
d3Z2QzpRUVFSYScDAwMDAxoJ1Onc262Ei4y7soxXRkZGRlcsKS0tLTxe/QMDAwMDFxDe59vOaFlNTYtw
WoOmlpaWdywpLSoqPlL8AwMDAwMbCd7j6M+Zl5+XpotuTExMTFprNy81LS1QYgMDAwMDAxoK2ulBSFtx
enqlpZellZWLg2s3LzQvO1BUAwMDAwMDFxHg6ta0oaGFcaCEWVZWbm6XlTc4OzRPYPwDAwMDAwMdCdTp
znOGjYqhwcGeoImJhIRlQzg+PVBiAwMDAwMDAxcM4OjLhnt7e3uhgmd5iomenp9DTUdHUGMDAwMDAwMD
Gwra262pqbO3t8CxioKCgm1tZEJFT11f/AMDAwMDAwMaCtzHXn19fHR0s6KYp7GxsbGeQktdTlMDAwMD
AwMDAxcQ4NG0vb24uKS8qZp7e2ZseIJVS1xQVAMDAwMDAwMDHQbUkX6ckI+srMjItLSzs6ensVVmdF/8
AwMDAwMDAwMXCNXCuq+cf39/vax9fIeHmpqYVWZeUwMDAwMDAwMDAxoHSX6vxMPKycnIwrm5qqSkpJpV
WF5jAwMDAwMDAwMDFwqAkLW2tZKSkrqunK6+ub24tGRcUfwDAwMDAwMDAwMZEqvKzczMzMbGysrDw66u
m5t8RE5iAwMDAwMDAwMDAxkSaZSIlJS2tb/Ly8bDw7q+vr1WTmMDAwMDAwMDAwMDGRIxnYiwiIiIiM22
k5OTkpGRj0RSDQMDAwMDAwMDAwMZFTAU8LCU+uywdQLZk0nFlJNIOWH8AwMDAwMDAwMDAxgSFgfzM0n5
8cUcAPKBJfXwky739vwDAwMDAwMDAwMDPxMFC/EEEw/yBA4L8gIODfIWFvnzAwMDAwMDAwMDAwMDP+/u
8hTv7/X49+3zAAHt8QUP9vUDAwMDAwMDAwMDAwMDK/ntA+vt9gPw70oD7+4U9vTwAwMDAwMDAwMDAwMD
AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD4P///8AD///AAB//wAAD/8AAAf/AAAH/wAAB/8AA
AA/AAAAHwAAAB8AAAAfAAAAPwAAAD8AAAA/AAAAfwAAAH8AAAB/AAAA/wAAAP8AAAD/AAAB/wAAAf8AA
AH/AAAD/wAAA/8AAAP/AAAD/wAAA/8AAAf/gAAH/8RED//////8oAAAAEAAAACAAAAABAAgAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAi4mRAAAAAACWjJIAu5qcAN2ZigCbj4wAl312AI50bACXioYAlG5gAH9k
WgCuk4oAmHZpAJN+dQDLjWkAp3pcAOCtiwDDfEgA1YpRANyeagDoqHIA26BvANqrhQDQiUkAv5NtANK3
nwDSuKEA3aVsANzLugDblEkA8bJwANulbACnloMA3826AOadSADKikAAxo1HAOqoXQD+wHQAl3dRAL2Z
bwDnzKsAzcCwAMWNQwD+u2QA8blxAMOfcQDRr4QAj35oAKWXhQDMwbIA9KxJAP63UgDCjD8A2LJ8APTV
qgCmmYcAzMCuAM3BsADMwbEAzcO0AJKLgQDcpUoAzZtJAMiWSADYolAA4rBhAMzDtQDMxLcAzZg/ANak
SQDVokkAu45AAL2RQQDhqz8A1aE+AOKuSgDjr0wAyp1FAMmdSADntEAA57VGAOq4SwDbq0cA7btSAOu7
VwDwwV4A0atWAOa/agDeyp0A3LBDAM+mQgDTqkQAx6BBAO6+TwDswFYA7cReAO/JawDxzHMAmI53AOS6
RwDnvE0A68ZfAOrGZADszHQA27xsAPPSfADu04YA2rRCAOK9SwDt04QA9t2PAPLkuADhwVUA4sRdAOTK
agDn0HsA7diQAPPfmAD05rgA+u7DAObOcQDhzoYA4MxwAOTTfgDs3JYA49WFAO3fkwDo3JQA2856AOLV
hADn358A6OKhANjUmADg354A1NZ+ANzjowDX36MA2+GvAL3AtgDX6rAAv+SRAMfrnQDR67IA1O3BANL3
zwDF9skAyffQAMn60gDR+9oAz//aAKCpqACft7sAUrnSAGWKnACXoakAiIuSAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGDA0FBQEBAQEBAQEBAQEBGopZLxgPCQcIAQEBAQEBATyWkoyN
joiFNgoBAQEBAQE5k5BCT1dpgYcnPQUBAQEBKpWJQUlIJCsjEhUbMAEBATqUej5dTj9ANREOFDgBAQE7
kVhMXFtGR0UXEx8uAQEBQ49VVGxaTVNLHR4oLgEBAUSGVmBtZFJRSiImIAEBAQEyfmhicnFfXlAzLS4B
AQEBGW51a3tzYWZlNC4BAQEBARZ/g32CfHR5ZywxAQEBAQEQcHh3hIB2b2olMQEBAQEBBJshmByXKYs3
YzEBAQEBAQuZnJkAmQKZA5oBAQEBAQEBAQEBAQEBAQEBAQEBAQGD/xcQgD/d6IAfWjiAB0ZGgAN3doAD
OlGAA1JhgAMDA4AHGgmAB9zbgA+LjIAPjFeAD0ZGgA8pLYAfPF7//wMDKAAAADAAAABgAAAAAQAgAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE1NTQFNTU0JTU1NH01NTUFNTU1OTU1NS01N
TUZNTU1ATU1NN01NTSxNTU0hTU1NGE1NTRJNTU0OTU1NCk1NTQZNTU0ETU1NAk1NTQJNTU0BTU1NAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE1NTQJNTU0PTU1NOU1N
TXhNTU2YTU1Nl01NTZRNTU2QTU1NhU1NTXJNTU1gTU1NUk1NTUZNTU06TU1NLk1NTSJNTU0ZTU1NE01N
TQ9NTU0LTU1NB01NTQRNTU0CTU1NAk1NTQFNTU0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE1N
TQLDQylYk2dRY2NVTqJTT03GTU1Nx01NTchNTU3MTU1NyU1NTb5NTU20TU1Nqk1NTZ1NTU2MTU1NeU1N
TWZNTU1WTU1NS01NTUBNTU0yTU1NJU1NTRpNTU0UTU1NEE1NTQxNTU0HTU1NBE1NTQJNTU0CTU1NAU1N
TQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAO+KVha/dnb/06en/+qIVvD1jFb954dW/MJ5VPeea1L1eV5P8lRQTexNTU3oTU1N5E1N
Td5NTU3UTU1NyE1NTbxNTU2xTU1Npk1NTZZNTU2BTU1Nak1NTVhNTU1MTU1NQU1NTTRNTU0lTU1NGk1N
TRRNTU0QTU1NDE1NTQZNTU0CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en/7Z0U9XJfFT36YhW/vaNVv/qiFb+64hW/veN
V//oh1b+wHhT/ZxrUft4XU/3VFBN8U1NTe1NTU3pTU1N401NTdpNTU3NTU1Nv01NTbNNTU2nTU1NmE1N
TYNNTU1rTU1NWE1NTUxNTU1CTU1NMk1NTRxNTU0KTU1NAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en//L88v////7///36///7
9v//5tb//9G2//yxi//8mmr//pBY//yMVv/6iVP//YxV/++HUv/SeEv+qGVJ/HhdT/hTT03zTU1N7k1N
TepNTU3kTU1N201NTc5NTU3ATU1Ns01NTalNTU2ZTU1Nek1NTUtNTU0eTU1NB01NTQEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en/2XY
Zf9Y1Vj/Zdhk/5nklv+/7bn/2fPQ///78v//+/H///ru///t2v//27///b+c/9+fXv/2kVj//o9X//yL
VP/9jlX/84ZS/9h3S/6tY0f9eF1P+VNPTfNNTU3uTU1N6k1NTeVNTU3ZTU1Nuk1NTXxNTU00TU1NDE1N
TQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOU
fv+/dnb/06en//////////7/8vru/8zwx/+Z5JT/f917/1jUVv9Y1Fb/f915/5nikP/M7rz/8vbd/5ni
jP/M7Lf///Xe///ixP//zaf/+aF0//qRXf/+j1f//Y1W//2OVv/3h1L/4HlM/rZoSf1iT0n0TU1N1U1N
TZNNTU0/TU1NEE1NTQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAMOUfv+/dnb/06en//////////7///36///9+f///Pb///z1///78v//+/H/2fHL/7/r
s/+Z4o7/ZdZg/0zRSf9Y01P/meGK/7Lmnv/M67L///Xb///02P//9Nb//+jG///Wrf/6qnz/+ZNh//yO
V//TXDb+TU1N3E1NTZ1NTU1KTU1NGk1NTQlNTU0GTU1NA01NTQJNTU0BTU1NAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en/5nlmf/M8sv/5ffh///9+f///Pb///z1///7
8v//7NL//8aC///OkP//2KX//9+z/6jXe/+/6qz/zOy1/6Xkk/9/23L/ZdZc/1jTUf9y2GX/md+D/8zo
qf/l7bv///HM///xy/+jIxP9TU1N401NTa9NTU1qTU1NPk1NTSpNTU0fTU1NF01NTRFNTU0NTU1NCk1N
TQZNTU0CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en/7/vv/+Z5Zj/cttx/1jU
WP9l12P/f917/5njkv/j0Ij/9b1p//+/cv//v3D//79v/9a2Sv/qulv//8V7///Qj///2qT//+S3///q
w//l78L/v+eh/5nfgf9y12P/TNBF/2XVWP92XCP+TU1N701NTdFNTU2oTU1Nh01NTXJNTU1hTU1NUU1N
TURNTU05TU1NLE1NTRtNTU0LTU1NAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en////
//////7///36///9+f///Pb/2fPR/7/stv/TulL/w7E9/5OIIv+ikiv/sZk2/66eMP/Qq0n/97pn//++
a///vmr//75p//+9aP//vWf//8uC///Rjf//26H//+Sy///uxf+ROhn+TU1N+E1NTe5NTU3eTU1Nz01N
TcRNTU25TU1NrE1NTZxNTU2KTU1Nck1NTUtNTU0fTU1NB01NTQEAAAAAAAAAAAAAAAAAAAAAAAAAAMOU
fv+/dnb/06en//////////7///36///9+f///Pb///z1///s0v//wHP/8bJr/9maX//YmF7/x5NQ/6CI
L/+giC//m4cq/5+LLP+fjyr/v54//9apTv/msVf//71m//+9Zf//vWX//7xk//+8Y//dcCj/06Vt/qeI
Y/2Rel76cGRV9U1NTfBNTU3sTU1N5k1NTd5NTU3RTU1Nt01NTX9NTU03TU1NDU1NTQEAAAAAAAAAAAAA
AAAAAAAAAAAAAMOUfv+/dnb/06en/1jVWP9y23H/meSW/7Lqrv/M8MX///z1///aq///wHP/56hm/9yd
X//bnF7/2ppe/62NOP/BkUr/1pZb/9WUWv/Uk1r/w45M/7eLQ/+nhjb/l4Ip/6yPNf+slDL/vZs8/96r
T//jfSz//8J4///CeP//wnj//8J4///CeP/erHD+vZZo/aiJY/txZFbyTU1N1E1NTZNNTU0/TU1ND01N
TQIAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en///////l+OT/zPHI/6Xnov+M4Ij/Zddj/6W3
N//Bsjn/tJg2/7aXOv/Jmkz/0ptU/7GROP/FlUr/2Zlb/9iXWv/Xllr/1ZVZ/9STWP/Tklf/0pFW/9GP
Vf/PjlT/v4lH/7OGP/+nVx7/yYxm/9KVav/go2//6Ktx//O2dP//wnj//8J4///CeP/1u3X+TU1N0E1N
TYdNTU03TU1NDU1NTQEAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en//////////7///36///9
+f///Pb///Tl///Ac//4uW7/z6BN/8mdSP+4mTn/qJQr/5aOHf+ajiH/pJAq/7KSN/+7k0D/xJRH/9eW
WP/WlVf/1ZRW/9SSVf/SkVT/0Y9T/9COUv+1RRn/yItl/8iLZf/HimX/xYhl/8KFZf/BhGX/zZBp///C
eP/1u3X+TU1Nvk1NTWxNTU0nTU1NCE1NTQEAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en/8zy
zP////7///36///9+f///Pb//+K9///Ac//ytGn/56hg/+anX//lpl7/5KVe/7mZOP/MnEr/1p5S/8qa
Sf+6ljv/r5Iy/56OJf+YiyH/nIsl/6qNMP+tjTT/wY9D/8qQSv+8TBn/zZBl/8qNZf/Ii2X/yItl/8iL
Zf/HimX/15pr///CeP/BmWn0TU1Npk1NTVFNTU0YTU1NBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOU
fv+/dnb/06en/4zijP9l2GX/TNFL/2XXZP9y2m//xsZn/+C5Vv/aq1D/5apb/+mqX//oqV7/56he/7ub
OP/Pn0r/46Nb/+KiWv/hoVr/359Z/96dWP/dnFf/3JtW/8aVRf/Ak0D/r440/5+LKP+oaCD/0JNl/9CT
Zf/PkmX/zI9l/8mMZf/Ii2X/6q1x///CeP+Nd1zgTU1Nik1NTTpNTU0OTU1NAgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAMOUfv+/dnb/06en//////////7///36///9+f/l9t7/771l/9m2T//Gpzr/sKAn/6qe
Iv+unif/sp4r/6ubJv++njj/0qJJ/+CkVv/kpFr/46JZ/+KhWP/gn1f/355W/96cVf/dm1T/3JpT/9qY
Uv/DUxn/05Zl/9GUZf/Qk2X/0JNl/9CTZf/OkWX//L93//W7df5NTU2+TU1NbE1NTSdNTU0ITU1NAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en//////////7///36///9+f//6c3//8B0//q7
a//ys2H/8bJg/++wX//ur17/46xU/7egL/+3ny//waE3/6ubJv+lmSH/qZkl/6yYKf+7mjb/xJs9/82c
Rf/bnVD/351T/92bUv/EVBn/15pl/9eaZf/VmGX/05Zl/9CTZf/fomv//8J4/8GZafRNTU2mTU1NUU1N
TRhNTU0EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en/4zijP+Z5Zj/v+28/8zw
x///16X//8B0//m6Z//1tmH/9LVg//OzX//xsl7/8LFe/8amOP/ZqUr/7Kxb/+urWv/qqlr/6ahZ/96l
UP/SoUb/wp05/7ybNf+mlST/n5Mg/6OTJP+2diD/2p1l/9ibZf/XmmX/15pl/9eaZf/vsnH//8J4/413
XOBNTU2KTU1NOk1NTQ5NTU0CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en/8zy
zP/M8sv/meSW/4zhif+3t0D/u7E0/7ytJ/+7rCf/zq86/82uOv/hsUz/37BL/8mpOP/crEr/8LBb/++v
Wv/urVr/7KxZ/+uqWP/qqVf/6ahW/+imVf/npVT/5aNT/+SiUv/MXBn/4KNl/+CjZf/doGX/2p1l/9ea
Zf/6vXb/9bt1/k1NTcBNTU1tTU1NJ01NTQhNTU0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOU
fv+/dnb/06en//////////7///36///y4f//wHT//8Bu//2/Yv/3vFz/5rdN/+C1SP/QsDn/ya00/6+n
Hf+tpR3/tqYm/7qmKv/JqDf/zKg7/9qqR//eqUr/7atW/+uqVf/qqFT/6adT/+imUv/RYhn/46Zl/+Cj
Zf/go2X/4KNl/+Woaf//wnj/wJlp9U1NTapNTU1TTU1NGU1NTQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAMOUfv+/dnb/06en//////////7///36///jwP//wHT//8Js///CZP//wWL//r9g//2+
X//8vF7/+rte/8+wOP/js0r/97db/+yzUf/gsEj/1aw//8mpNv++pS3/sqIl/6ygIP+wnyT/uaAs/8Kh
M//Gdh7/56pl/+eqZf/kp2X/4qVl//G0cP//wnj/jHZc401NTZBNTU09TU1ND01NTQIAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en/2XYZf9l2GX/Zdhk/7y8Tv/Wt03/27xM/+vA
V//wwFn//8Jk///BYf//wF///r5e/9S1OP/nt0r/+rpb//m4Wv/4t1r/9rZZ//W0WP/0s1f/87JW//Kw
Vf/wr1T/4KpH/9moQ//Schz/6q1l/+eqZf/nqmX/56pl//y/dv//wnj/TU1Nw01NTXNNTU0rTU1NCU1N
TQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en//////////7///ny/++9
Z//qvWH/4MFW/9a+Sv/Muj7/wrcx/7y0Kv/CtC3/wrQq/7ywIv/Lsy//47dF/+e3Sf/wuFH/+blZ//i3
WP/3tlf/9rVW//WzVf/zslT/8rBT//GvUv/cbBn/77Jl/+6xZf/sr2X/7bBp///CeP/LoGz3TU1NrE1N
TVdNTU0bTU1NBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en////
//////7//+fJ///Bdv//xnn//8x7///KeP//ynX//8hx///Hb///xmz//8Ro/8u2M//buUD/1rg7/9a3
Of/Gsir/wLAl/7qtIf++rSX/wq0p/9CvNf/OrjT/4rBD/+GvQ//fcBn/8LNl/++yZf/vsmX/+Ltw///C
eP+Yfl/lTU1NkU1NTT9NTU0RTU1NAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOU
fv+/dnb/06en/7/vv//M8sv/6NKR///Bdv//zYH//8+C///Nfv//zHv//8t4///Kdf//yHL//8du/9a5
QP/qvlL//8Nk///CYv//wV///8Bb//++Wf/+vVf/87pO/+e2Rf/cszz/0K80/8qtL//Rih//9rll//W4
Zf/ytWX//cB2///CeP9cV1HHTU1Nc01NTStNTU0JTU1NAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAMOUfv+/dnb/06en/5nlmf+Z5Zj/xLdF/8G0PP/CxE//vMFI/8LBSv/Mw1L/1sRY/9bD
Vf/rxmX/68Vi/8u8Qf/qwVr//8Zq///FaP//w2X//8Jh///BX///wFv//79Y//69Vv/9vFT//LpT//u5
Uv/ndxn/97pl//a5Zf/4u2n//8J4/8ugbPdNTU2sTU1NV01NTRxNTU0FAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en////////8N3//8F2///Jgf//1ZD//9SO///T
iv/wznn/68tx/+XJaf/WxFn/1sNW/7y6N/+8ujf/vLo4/8K6Of/CuTf/0btB/9a7Q//bu0T/671O/+u8
S///v1f//75V//68U//rexn//8Fl//3AZf/9wHD//8J4/5h+X+VNTU2RTU1NP01NTRFNTU0CAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en////////3LP//8F2///Q
jP//15b//9eU///Vkf//1I7//9OK///Rh///0IT//8+B/9bDV//qx2f//8t3///KdP//yXH/68Nd/+vC
Wv/gv07/1rxE/9G6Pf/Cti3/wrQr/7yyJf/Zkh///8Fl///BZf//wnb//8J4/1xXUcdNTU1zTU1NK01N
TQlNTU0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en/2XY
Zf+3u0n/1rhO/9bQdv/g04D/69WH/+vThP/61pD//9WR///Vjv//04v//9KI/9bFW//qym3//85+///N
e///zHj//8p1///Jcf//yG///8dr///GaP//xGT//8Nh///CXv/rexn//8Fl///Baf//wnj/y6Bs901N
TaxNTU1XTU1NHE1NTQUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOU
fv+/dnb/06en///37v/1v23/6sRv/+vak//b1YL/1tN7/9bSeP/CzGL/wspf/7zIWP/CyVr/wsdY/7fC
Sv/Mxln/1sli/+DJaP/ry27/68pq//rLdP//y3b//8py///Jb///x2v//8Zo///FZf/rfR7//8Fl///C
cP//wnj/mH5f5U1NTZFNTU0/TU1NEU1NTQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAMOUfv+/dnb/06en///kxP//wXj//9SX///hrf//4Kv//9+o///epf//3aL//9ye///a
m///2Zj//9iV/9bLav/bzG3/69B5/9vLav/WyWP/1shg/8LDTP/CwUr/vL9C/8LARf/CvkH/x75D/9bA
TP/dlC3//8hz///Ddv//wnj/W1ZQyE1NTXRNTU0rTU1NCU1NTQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en/+3QkP//wXj//9+r///ktP//47H//+Ku///g
q///36j//96k///dof//3J7//9qb/9bPcv/q0oH//9eR///Vjv//1Iv//9OI///Shf//0IL//9B+///O
e///zXf/9cls/+vGYv/niCz//8d1///CeP/LoGz3TU1Nrk1NTVlNTU0cTU1NBQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en/8a0QP/BuET/wtmB/7zX
ef/C13z/wtZ5/8LVd//W2Yj/1teE/9bWgv/r2pL/69mP/8vQb//q1Yj//9mX///YlP//15L//9aO///U
i///04j//9KF///Rgf//z37//857///Nd//riDf//8h9///CeP+Xfl/nTU1NlU1NTUJNTU0RTU1NAgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en///B
eP//1Jv//+zF///qwf//6b7//+i8//Xkr//r4aL/69+f/+XdmP/W2Yf/1teE/8HQbv+8z2f/ws9q/8LP
aP+8zGH/wsxi/8LLYP/Hy2H/1s1r/9bMaP/bzGn/681y/+vMb//njjr//8R6///CeP9bVlDLTU1NeU1N
TS9NTU0KTU1NAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOU
fv+/dnb/06en///BeP//4bT//+zF///sxf//7MX//+rC///pv///6Lv//+e4///mtf//5LL//+Ov/9bY
h//q3Jb//9+l///eov//3Z///9yc///amf/1143/69SC/+vTf//l0Hf/1sxp/9bLZv/klkX//8J4/9an
bvlNTU2yTU1NXk1NTR9NTU0GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAMOUfv+/dnb/06en///BeP//8tX//+zF///sxf//7MX//+3I///sxf//68L//+zF///s
xf//7MX//+zF/9bYh//q3pv//+Kr///hqP//4qv//+Kr///iq///3Jz//9uZ///Zlf//2JH/+cl8//K5
aP/tkUT//8J4/6KFYutNTU2ZTU1NRk1NTRNNTU0DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en///BeP/MjYn/eVpp/8vf4///7MX//+3I///t
yP/lxsT/y8XM///sxf//7MX//+zF/9bYh//Lxcz//+Go///hqP//4aj//+Go///hqP//4aj//+Go///h
qP//4aj//+Go///hqP/klkX//8J4/2hfVNJNTU2ATU1NM01NTQxNTU0CAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/06en///BeP/MjYr/RXOQ/wWt
0f/Uw8T//+3I///tyP+kTE//BKDK/0iQq///7MX//+zF/9qsrP+BUV7/B6LK/9ausP//4aj//+Go/+G8
vP+Tk6L/y9/p///hqP//4aj//+Go/9qsrP/klkX//8J4/01NTb9NTU1uTU1NKE1NTQhNTU0BAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOUfv+/dnb/0aGh/+K+
uf/ivrn/4r65/yisy/+hjJb//+3I///tyP//7cj/v8/a/wC01f/lxcX//+zF//Pl5f+5ZGT/I6/Q/1eF
nf//4aj//+Go/8yNjf9JfZr/BazQ/8utsf//4aj//+Go/4FRXf8AqNH/ja/A/01NTbRNTU1kTU1NIk1N
TQZNTU0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKx8
Zf+/dnb/tFlZ/7NWVv+4YWH/uGFh/x6ct/9ggJT/wHNz/8Bzc//Ac3P/vXd5/wDC3f+phIz/zpKS/9io
qP/YqKj/kZ6t/xujwP/YqKj/2Kio/9ioqP/YqKj/KrDP/9ioqP//4aj/2Kio/9qsrP/E2uX/IJq5/01N
TahNTU1XTU1NG01NTQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAADKZgFpurnC72WJnv/Ssa//zrCx/wDQ5P+spbD/p3R7/6d0e//KiYn/p3Z9/wDR
5f+qZGj/uGFh/7NWVv+0WFj/eGZ0/wXC2v+3Xl7/uGFh/7hhYf+4YWH/IKC7/2CAlP/Cd3f/y4uL/86S
kv+si5P/Cr3a/01NTY9NTU1CTU1NE01NTQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwGk/nTXC2/84uND/Hcbb/zTG4/8AAAAAgrfK/w/P
5f+EprD/J8DY/zqsx/+NcF7/I7HO/1y3y/+1s7X/HrTM/02wyv+NgYj/d6/D/6uboP/Mr7P/ANPl/6in
tP+1j4//sXN3/8J3d/9wip3/OY6s/01NTWRNTU0oTU1NCk1NTQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzGYzBax8ZXpxt9P/YafB/5Fc
RAsAAAAAsl80KXi93f8k0eL/PMPc/4pSOC+gVS8Ido2X/zHN6v9Aydj/JtHj/3hPOjaPVTdKOsPe/xPO
3v8T1OX/RLXW/2dJOHBCnc/PNrbS/3eZpf8mxeH/RF1oQE1NTSlNTU0TTU1NBAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMxm
MwHMZjMGzGYzBQAAAAAAAAAAAAAAAAAAAADMZjMBzGYzAQAAAAAAAAAAzGYzCaCUjIR6u9r9grPJ9sxm
MyUAAAAAxolsQZzD1/+HsMH/xndQPQAAAADFdEwoVLzk/xzQ5/9jq8z/ymY1CwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzGYzAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMtmAAEAAAAAAAAAAMtmAAEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA
AP///wAA4AAAB///AADgAAAAP/8AAOAAAAAf/wAA4AAAAA//AADgAAAAB/8AAOAAAAAH/wAA4AAAAAf/
AADgAAAAAD8AAOAAAAAADwAA4AAAAAAHAADgAAAAAAMAAOAAAAAAAwAA4AAAAAADAADgAAAAAAMAAOAA
AAAAAwAA4AAAAAAHAADgAAAAAAcAAOAAAAAABwAA4AAAAAAPAADgAAAAAA8AAOAAAAAADwAA4AAAAAAf
AADgAAAAAB8AAOAAAAAAHwAA4AAAAAA/AADgAAAAAD8AAOAAAAAAPwAA4AAAAAB/AADgAAAAAH8AAOAA
AAAAfwAA4AAAAAD/AADgAAAAAP8AAOAAAAAA/wAA4AAAAAH/AADgAAAAAf8AAOAAAAAB/wAA4AAAAAP/
AADgAAAAA/8AAOAAAAAD/wAA4AAAAAP/AADgAAAAA/8AAOAAAAAH/wAA8AAAAAf/AAD4IAAAB/8AAPgg
AAAP/wAA/HmCEH//AAD//7/t//8AACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAwAAABaAAAAhQAAAHcAAAB2AAAAbAAAAFQAAABDAAAANQAAACEAAAARAAAADQAA
AAoAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAzHlbiMB8dfG4aUPmxWY15LNfNOCARSbTZjgfxlEtGrwlFQylAAAAiAAA
AHMAAABlAAAAUgAAADIAAAAZAAAAEwAAAA0AAAAHAAAABQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+iHz8yZaZ/9m6oPfxyKn8/cuv//u5mv77onz97opd+dJ0
SPC0YjvlolYy3X4+ItRAIBK8BQMCnQAAAI0AAACBAAAAZgAAAEUAAAA1AAAAKgAAABIAAAABAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMGEevjIlJP/oeen/5Hunf+t7rH/vey3/8rm
t//Q4rX/5d23//zQs//osn3/9aJx/+qUbPjbgVXzzWk8755LKeBfMx3JSScXujYbELEJBAKXAAAAVwAA
ABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvYN09c+Vmv/u8+3/8f3y/+b4
4v/E8MD/q+yr/6XsqP+q7ar/r+6t/3viff+Y6JX/0e28/+far//wxqH/88CW//Wzhv32lmj88H1P+ok7
ItoQBgN/AAAAGgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBhHj1xpOR/7/p
vP/O987/2PTX/9333f/q+ej//eG9//rRkf/l2pj/qdRy/7Dgjf+75pz/oeaP/5fpj/+f7Jn/vuun/9Hl
qP/W3qH/mUcs6xsFAokAAAAiAAAACQAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+E
dvXPlpn/2vDW/7fvuP+g5p//oueg/6/kmv/fv2L/2ahM/9+sWP/Urkr/6rhd///Hff/60Ij/+teV/+zd
mv/O3pH/rOSG/5rjhP9rVCLpDAkFowAAAGkAAABLAAAAOAAAACkAAAAbAAAADwAAAAAAAAAAAAAAAAAA
AAAAAAAAv4N29cuWlv/a7tb/6fvo///+/f//////9OzP/+u4Yv/ImE3/vY5H/6qONP+ykTf/wJdA/8ic
QP/apEj/5atQ//C4Yv/5xHP//8R7/9+FRfebc0TfcFk3zVNAJ743KhqsHBUNmQAAAIEAAABdAAAADQAA
AAAAAAAAAAAAAAAAAADChHn1yJSS/63lqv+o7qn/q+im/67sr//O0oX/3q5U/9KbVf/enGH/vJFF/8KQ
S//Pklf/yo9S/8KOTP+5i0H/uow+/8CRPv/DkDb/1Ic7/+inbP/stXX96bBu+eGvbPTOoGLuoHpL3gAA
AJMAAAAYAAAAAAAAAAAAAAAAAAAAAL6DdfXPlpn/9PXw//P98v/l9uH/0fDI/97Fbv/aqU//wplC/76a
Pv+nkiz/rpIz/7+VQv/Fk0n/zZNR/8+RU//Oj1L/zY9T/8WGSP+3YzP/xIBc/86Sa//Qkmn/z5Jq/+So
cP/9wnj+AAAAfwAAABIAAAAAAAAAAAAAAAAAAAAAwYR49ceUkv/F68L/xvXH/8zzzf/i6b3/9sBz/+ms
Xf/kp13/5add/8OcQf/NnEr/1p5S/8iZRv+5lTv/s5E2/7SQOP+1kTv/uYo6/7ptMP/Lhl3/y49p/8aJ
ZP/ChWT/4qVu/86eYuoAAABYAAAACgAAAAAAAAAAAAAAAAAAAAC/hHb1zpaZ/8zsyf+q66n/qeyx/8XV
hf/ds0z/y6dA/8ekPf/LpEH/uJ0z/8aeQP/aolH/3KFU/92fVf/hn1n/3ZxW/9ebUf/JkkP/vnIx/8+N
Xv/Sl2n/y45k/82QZf/ytnP/j29EyQAAADYAAAAFAAAAAAAAAAAAAAAAAAAAAL6DdfXMlZf/3u/a/+v8
7f///fr//9ap//q3Y//qsVn/4q1S/+GtUv/Cozf/w6E5/8miP//Bnzn/wp06/8ScPP/GnD//y5xE/8uW
QP/HdjL/1JFd/9abaf/Rk2T/3J9p//G4c/pdRyyaAAAAGQAAAAEAAAAAAAAAAAAAAAAAAAAAwoR59ceT
kf+46LT/qPGv/7HhmP/XvFv/2LJD/9uyR//kslD/7bJY/9GqQP/cq0v/661Z/+irV//lqFX/36ZP/9mj
Sv/OoUP/xpk5/8h9Mf/bmF3/3aJp/9aZZP/qrW//xphf5xoUDGEAAAANAAAAAAAAAAAAAAAAAAAAAAAA
AAC9g3T1z5aa//j29P/u/fD/5+a9/++7Yv/vvFj/67lQ/+G1SP/cskP/wawu/8OqMP/Qqzz/0qo//9aq
Q//ZqEb/26hI/9uoSf/eoUf/1oAz/+CcXf/ip2n/4KJl//W4c/+ZdknMAAAAOgAAAAYAAAAAAAAAAAAA
AAAAAAAAAAAAAMKEePXJlJT/teay/6vurv/a0If/7rtb//XBXv/6wGH/+MBg//e/Yf/ctkP/6bVN//e4
Wv/rtFH/4rBL/9msQ//RqTz/z6g8/8qiNf/QijD/5qNf/+araf/prGn/7rVx+WFKLqMAAAAfAAAAAgAA
AAAAAAAAAAAAAAAAAAAAAAAAwIR29cyVlv/X79X/0vTO/+LCbf/mvVf/4cFU/9q9Sf/Wu0L/2bpC/8q0
L//Wtjn/57dJ/+y3Tf/ttU//7rRP//GzUf/ytFT/7KtL/+KIM//rplz/7LJp//K1bf/Uo2XtLSIVcgAA
AA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/g3X1zZWW/+P05//u7s7//MR9//3Jef/8y3j//Mpz//zH
b///x3D/3rxH/+S8Sf/pvU//4blE/9q2PP/atDr/2bI5/9ayOv/WqzX/3JEu//GtXv/yt2j/+750/6iA
UNYAAABBAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMKEePXIlJL/seu6/8LWf//dulT/3Mhl/9zI
Yv/hx2L/5cZi/+zFZf/UvUf/479S/+/DX//0wVv/+sBc//+/Wv/9vVX/971T/+61SP/qljP/9bJc//m+
bP/1unL7dFg3rAAAAB4AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvYN09c+Xnf/z9vT/89ab//TH
d//y1Yz/8tKF//DOef/rzHD/58lr/8/ATv/SwEz/3sJV/92/UP/evkz/3r1I/+G7Rv/ivUX/37Y8/+ib
MP/7uFz//sRz/9unZ/AYEgtsAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADChXn1wpeY/7Pa
mf/YwmD/5817/+3Xjf/y1ov//NWO//zTiv/70oj/4Mhl/+rJbf/6zXr/+sp0//nHbP/1xmX/8sNd/+3C
Vv/ou0r/6psy//y4W///xnj/qoFQ2AAAADsAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL6D
dvXMmqH/8924//XIdf/u15L/5tmQ/+LWhv/X0Xj/1c5x/9fOcP/JyFz/08hh/+DLa//kyWj/6Mhn/+vH
Zf/rx2H/7cdf/+7AWP/unjv/+7li//3Eef5bRSumAAAAGwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAv4V69cyWlv/tyo//8tCG//Lgqf/z4an/9d+l//repP/83aH//92j/+XSf//u0oL/99WK//DR
f//oznX/4spq/+DJZf/hyGH/3sFV/+emRP/8vm//4q9u8w8LB2UAAAANAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAC/h331y5GN/9u8ZP/c03v/2uCa/9zdlP/a2o//4NuQ/+DZi//n2Y7/0dJ2/93S
fv/n1of/5tOC/+jSf//t0oD/89F///fSfv/7y3b/8qRR//u7cP+beEvSAAAAPgAAAAYAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAL2HfPXOj4v/98uO//zuuP/67sT/+um+//fntv/05q3/8eKm/+3f
oP/U14T/2NaB/+TYif/i1YP/49SA/+HRef/h0XT/4M9x/93HZv/oqVT/+bly/mJML6cAAAAiAAAAAgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvYZ89c+Qif/5zZz/7dO2//3qyv//8cr//+zI///q
yv//7sb//+7K/+Lgmf/z5Kn//+eo///iqv//46r//+Od//3clv/52pP/8sp4//GoWP/Tm17vMycYfAAA
ABIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+h3z205qQ//m7i/+Ec3//drTI//vw
z//747//j5an/5XFxf/+88n/5c6o/5GYn/+7zLX//+Om//XYrv/QxLT/8+O7///mqv/31Kr/6qVl/6Z9
Rd8MCQZqAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyHfP/KiIv/6KiZ/8Og
oP88l7b/x7iu//zYsf+rrKv/PavM/8nPvv//0MX/eXiN/0Sgvv/v1KX/7rqh/1qNr/9/t8b//+Gp/9Gv
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
Rf+AD0v/gA9X////Uv8=
</value>
</data>
</root>

2153
samples/SharpPad/SharpPad.rtf

File diff suppressed because it is too large Load Diff

16
samples/SharpPad/SharpPad.sln

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# SharpDevelop 2.0.0.1084
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpPad", "SharpPad.csproj", "{9EE70751-7F89-4893-8525-54004FF736CC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9EE70751-7F89-4893-8525-54004FF736CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9EE70751-7F89-4893-8525-54004FF736CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9EE70751-7F89-4893-8525-54004FF736CC}.Release|Any CPU.Build.0 = Release|Any CPU
{9EE70751-7F89-4893-8525-54004FF736CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
EndGlobal

2149
samples/readme.rtf

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save