Index: Core/Common/src/Core.Common.Base/Plugin/ApplicationCore.cs
===================================================================
diff -u -r5d0590c1dde44d6dc5397a3a9ffad15163f1e463 -rd1e069321cba9d3b92f873fdd18e393a20659542
--- Core/Common/src/Core.Common.Base/Plugin/ApplicationCore.cs (.../ApplicationCore.cs) (revision 5d0590c1dde44d6dc5397a3a9ffad15163f1e463)
+++ Core/Common/src/Core.Common.Base/Plugin/ApplicationCore.cs (.../ApplicationCore.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542)
@@ -6,37 +6,50 @@
namespace Core.Common.Base.Plugin
{
+ ///
+ /// Class that manages plugins and exposes their contents (file importers, file exporters and data items).
+ ///
public class ApplicationCore : IDisposable
{
private readonly List plugins;
+ ///
+ /// Constructs a new .
+ ///
public ApplicationCore()
{
plugins = new List();
}
+ ///
+ /// This method adds to the collection of plugins.
+ /// Additionally, the provided is activated.
+ ///
+ /// The to add and activate.
public void AddPlugin(ApplicationPlugin applicationPlugin)
{
plugins.Add(applicationPlugin);
applicationPlugin.Activate();
}
+ ///
+ /// This method removes from the collection of plugins.
+ /// Additionally, the provided is deactivated.
+ ///
+ /// The to remove and deactivate.
public void RemovePlugin(ApplicationPlugin applicationPlugin)
{
plugins.Remove(applicationPlugin);
applicationPlugin.Deactivate();
}
- public virtual void Dispose()
- {
- foreach (var plugin in plugins.ToList())
- {
- RemovePlugin(plugin);
- }
- }
-
+ ///
+ /// This method returns a collection of that support the .
+ ///
+ /// The target to get the collection of supported for.
+ /// The collection of supported .
public IEnumerable GetSupportedFileImporters(object target)
{
if (target == null)
@@ -51,6 +64,11 @@
&& fileImporter.CanImportFor(target));
}
+ ///
+ /// This method returns a collection of that support the .
+ ///
+ /// The source to get the collection of supported for.
+ /// The collection of supported .
public IEnumerable GetSupportedFileExporters(object source)
{
if (source == null)
@@ -65,6 +83,11 @@
&& fileExporter.CanExportFor(source));
}
+ ///
+ /// This method returns a collection of that support the .
+ ///
+ /// The target to get the collection of supported for.
+ /// The collection of supported .
public IEnumerable GetSupportedDataItemInfos(object target)
{
if (target == null)
@@ -75,5 +98,13 @@
return plugins.SelectMany(p => p.GetDataItemInfos())
.Where(dataItemInfo => dataItemInfo.AdditionalOwnerCheck == null || dataItemInfo.AdditionalOwnerCheck(target));
}
+
+ public virtual void Dispose()
+ {
+ foreach (var plugin in plugins.ToList())
+ {
+ RemovePlugin(plugin);
+ }
+ }
}
}
\ No newline at end of file
Index: Core/Common/src/Core.Common.Base/Plugin/ApplicationPlugin.cs
===================================================================
diff -u -r1f79b34c12554e2b9878f6296168d18232cc9852 -rd1e069321cba9d3b92f873fdd18e393a20659542
--- Core/Common/src/Core.Common.Base/Plugin/ApplicationPlugin.cs (.../ApplicationPlugin.cs) (revision 1f79b34c12554e2b9878f6296168d18232cc9852)
+++ Core/Common/src/Core.Common.Base/Plugin/ApplicationPlugin.cs (.../ApplicationPlugin.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542)
@@ -4,45 +4,48 @@
namespace Core.Common.Base.Plugin
{
///
- /// Template class for application plugin definitions.
+ /// Class that provides application plugin objects (file importers, file exporters and data items).
///
public abstract class ApplicationPlugin
{
///
- /// Activates the application plugin.
+ /// This method activates the .
///
public virtual void Activate()
{
}
///
- /// Deactivates the application plugin.
+ /// This method deactivates the .
///
public virtual void Deactivate()
{
}
///
- /// File importers which can be provided by the application plugin.
+ /// This method returns a collection of .
///
+ /// The collection of provided by the .
public virtual IEnumerable GetFileImporters()
{
yield break;
}
///
- /// File exporters which can be provided by the application plugin.
+ /// This method returns a collection of .
///
+ /// The collection of provided by the .
public virtual IEnumerable GetFileExporters()
{
yield break;
}
///
- /// Data items which can be provided by the application plugin.
+ /// This method returns a collection of .
///
+ /// The collection of provided by the .
public virtual IEnumerable GetDataItemInfos()
{
yield break;
Index: Core/Common/src/Core.Common.Base/Plugin/DataItemInfo.cs
===================================================================
diff -u -r1f79b34c12554e2b9878f6296168d18232cc9852 -rd1e069321cba9d3b92f873fdd18e393a20659542
--- Core/Common/src/Core.Common.Base/Plugin/DataItemInfo.cs (.../DataItemInfo.cs) (revision 1f79b34c12554e2b9878f6296168d18232cc9852)
+++ Core/Common/src/Core.Common.Base/Plugin/DataItemInfo.cs (.../DataItemInfo.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542)
@@ -4,57 +4,50 @@
namespace Core.Common.Base.Plugin
{
///
- /// Information for creating data objects
+ /// Class that holds information for creating data objects.
///
public class DataItemInfo
{
///
- /// The type of data to create
+ /// Gets or sets the of the data to create.
///
public Type ValueType { get; set; }
///
- /// The name of the data to create
+ /// Gets or sets the name of the data to create.
///
public string Name { get; set; }
///
- /// The category of the data to create
+ /// Gets or sets the category of the data to create.
///
public string Category { get; set; }
///
- /// The image of the data to create
+ /// Gets or sets the image of the data to create.
///
public Image Image { get; set; }
///
- /// Method for determining whether or not the data item information is relevant for the proposed owner
+ /// Gets or set a method for determining whether or not the data item information is relevant for the proposed owner.
///
public Func AdditionalOwnerCheck { get; set; }
///
- /// Function for creating the data
+ /// Gets or set a function for creating the data.
+ /// The object parameter holds the proposed owner of the data to create.
///
- ///
- /// The object parameter holds the proposed owner of the data to create
- ///
public Func CreateData { get; set; }
-
- ///
- /// Action for adding example data to the created data
- ///
- public Action AddExampleData { get; set; }
}
///
- /// Information for creating data objects
+ /// Class that holds information for creating data objects.
///
- /// The type of data to create
+ /// The type of data to create.
public class DataItemInfo
{
///
- /// The type of data to create
+ /// Gets the of the data to create.
///
public Type ValueType
{
@@ -65,38 +58,36 @@
}
///
- /// The name of the data to create
+ /// Gets or sets the name of the data to create.
///
public string Name { get; set; }
///
- /// The category of the data to create
+ /// Gets or sets the category of the data to create.
///
public string Category { get; set; }
///
- /// The image of the data to create
+ /// Gets or sets the image of the data to create.
///
public Image Image { get; set; }
///
- /// Method for determining whether or not the data item information is relevant for the proposed owner
+ /// Gets or set a method for determining whether or not the data item information is relevant for the proposed owner.
///
public Func AdditionalOwnerCheck { get; set; }
///
- /// Function for creating the data
+ /// Gets or set a function for creating the data.
+ /// The object parameter holds the proposed owner of the data to create.
///
- ///
- /// The object parameter holds the proposed owner of the data to create
- ///
public Func CreateData { get; set; }
///
- /// Action for adding example data to the created data
+ /// This operator converts a into a .
///
- public Action AddExampleData { get; set; }
-
+ /// The to convert.
+ /// The converted .
public static implicit operator DataItemInfo(DataItemInfo dataItemInfo)
{
return new DataItemInfo
@@ -110,10 +101,7 @@
: (Func) null,
CreateData = dataItemInfo.CreateData != null
? owner => dataItemInfo.CreateData(owner)
- : (Func) null,
- AddExampleData = dataItemInfo.AddExampleData != null
- ? d => dataItemInfo.AddExampleData((TValue) d)
- : (Action) null
+ : (Func) null
};
}
}
Index: Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.Designer.cs
===================================================================
diff -u -reee6c7815d1e418eac38c1c552fb279c0887ef55 -rd1e069321cba9d3b92f873fdd18e393a20659542
--- Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.Designer.cs (.../SelectItemDialog.Designer.cs) (revision eee6c7815d1e418eac38c1c552fb279c0887ef55)
+++ Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.Designer.cs (.../SelectItemDialog.Designer.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542)
@@ -37,7 +37,6 @@
this.label1 = new System.Windows.Forms.Label();
this.listViewItemTypes = new System.Windows.Forms.ListView();
this.imageList = new System.Windows.Forms.ImageList(this.components);
- this.checkBoxExample = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// buttonOk
@@ -83,7 +82,6 @@
this.listViewItemTypes.Sorting = System.Windows.Forms.SortOrder.Ascending;
this.listViewItemTypes.UseCompatibleStateImageBehavior = false;
this.listViewItemTypes.View = System.Windows.Forms.View.Tile;
- this.listViewItemTypes.SelectedIndexChanged += new System.EventHandler(this.listViewItemTypes_SelectedIndexChanged);
this.listViewItemTypes.DoubleClick += new System.EventHandler(this.listViewItemTypes_DoubleClick);
//
// imageList
@@ -94,20 +92,12 @@
this.imageList.Images.SetKeyName(1, "chart_curve.png");
this.imageList.Images.SetKeyName(2, "map.png");
//
- // checkBoxExample
- //
- resources.ApplyResources(this.checkBoxExample, "checkBoxExample");
- this.checkBoxExample.Name = "checkBoxExample";
- this.checkBoxExample.UseVisualStyleBackColor = true;
- this.checkBoxExample.CheckedChanged += new System.EventHandler(this.checkBoxDemo_CheckedChanged);
- //
// SelectItemDialog
//
this.AcceptButton = this.buttonOk;
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.buttonCancel;
- this.Controls.Add(this.checkBoxExample);
this.Controls.Add(this.listViewItemTypes);
this.Controls.Add(this.label1);
this.Controls.Add(this.buttonCancel);
@@ -130,6 +120,5 @@
private System.Windows.Forms.Label label1;
private ListView listViewItemTypes;
private System.Windows.Forms.ImageList imageList;
- private CheckBox checkBoxExample;
}
}
\ No newline at end of file
Index: Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.cs
===================================================================
diff -u -r622c20f6fc0b693b67a3e57b2ece939823002c62 -rd1e069321cba9d3b92f873fdd18e393a20659542
--- Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.cs (.../SelectItemDialog.cs) (revision 622c20f6fc0b693b67a3e57b2ece939823002c62)
+++ Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.cs (.../SelectItemDialog.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542)
@@ -12,16 +12,10 @@
{
public partial class SelectItemDialog : Form
{
- private string newItemName;
-
- private int previousSelectedItemIndex;
-
public SelectItemDialog()
{
InitializeComponent();
- ShowExampleCheckBox = false;
-
imageList.Images.Clear();
listViewItemTypes.Clear();
listViewItemTypes.Groups.Clear();
@@ -49,32 +43,6 @@
}
}
- public Func ItemSupportsExample { get; set; }
-
- public bool IsExample
- {
- get
- {
- return checkBoxExample.Checked;
- }
- set
- {
- checkBoxExample.Checked = value;
- }
- }
-
- public bool ShowExampleCheckBox
- {
- get
- {
- return checkBoxExample.Visible;
- }
- set
- {
- checkBoxExample.Visible = value;
- }
- }
-
public void AddItemType(string name, string category, Image image, object tag)
{
if (!ContainsCategory(category))
@@ -157,33 +125,5 @@
{
buttonOk.PerformClick();
}
-
- private void listViewItemTypes_SelectedIndexChanged(object sender, EventArgs e)
- {
- var selectedItemName = "";
-
- if (SelectedItem == null)
- {
- newItemName = "";
- }
- else
- {
- previousSelectedItemIndex = listViewItemTypes.SelectedIndices[0];
-
- selectedItemName = SelectedItem.Text;
- newItemName = Resources.SelectItemDialog_listViewItemTypes_SelectedIndexChanged_New + selectedItemName;
- }
-
- if (string.IsNullOrEmpty(newItemName))
- {
- ShowExampleCheckBox = false;
- }
- else if (ItemSupportsExample != null)
- {
- ShowExampleCheckBox = ItemSupportsExample(selectedItemName);
- }
- }
-
- private void checkBoxDemo_CheckedChanged(object sender, EventArgs e) {}
}
}
\ No newline at end of file
Index: Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.resx
===================================================================
diff -u -r67e117952bef2b1524aebb434c654c2c9be77dbd -rd1e069321cba9d3b92f873fdd18e393a20659542
--- Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.resx (.../SelectItemDialog.resx) (revision 67e117952bef2b1524aebb434c654c2c9be77dbd)
+++ Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.resx (.../SelectItemDialog.resx) (revision d1e069321cba9d3b92f873fdd18e393a20659542)
@@ -145,7 +145,7 @@
$this
- 4
+ 3
Bottom, Right
@@ -172,7 +172,7 @@
$this
- 3
+ 2
True
@@ -181,7 +181,7 @@
12, 25
- 34, 13
+ 39, 13
5
@@ -199,7 +199,7 @@
$this
- 2
+ 1
Top, Bottom, Left, Right
@@ -208,72 +208,82 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
- ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBgAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
- ZwROYW1lCkl0ZW1zQ291bnQFSXRlbTABBAIBAAQoU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRh
- bEFsaWdubWVudAIAAAAIIVN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3SXRlbQIAAAACAAAABgMA
- AAAHSGFiaXRhdAX8////KFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhvcml6b250YWxBbGlnbm1lbnQBAAAA
- B3ZhbHVlX18ACAIAAAAAAAAACgYFAAAADmxpc3RWaWV3R3JvdXAxAQAAAAkGAAAADAcAAABRU3lzdGVt
- LkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1i
- MDNmNWY3ZjExZDUwYTNhBQYAAAAhU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZpZXdJdGVtCAAAAARU
- ZXh0CkltYWdlSW5kZXgJQmFja0NvbG9yB0NoZWNrZWQERm9udAlGb3JlQ29sb3IXVXNlSXRlbVN0eWxl
- Rm9yU3ViSXRlbXMFR3JvdXABAAQABAQABAgUU3lzdGVtLkRyYXdpbmcuQ29sb3IHAAAAARNTeXN0ZW0u
- RHJhd2luZy5Gb250BwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgcAAAABIlN5c3RlbS5XaW5kb3dzLkZv
- cm1zLkxpc3RWaWV3R3JvdXACAAAAAgAAAAYIAAAAH0dyaWQgU3BhdGlhbCBEYXRhICgyRCwgcmVndWxh
- cin/////Bff///8UU3lzdGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVz
- dGF0ZQEAAAAJBwcHAAAACgAAAAAAAAAAGAABAAAJCgAAAAH1////9////woAAAAAAAAAABoAAQABCQEA
- AAAFCgAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5
- c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQcAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0BwAAAAcA
- AAAGDQAAABRNaWNyb3NvZnQgU2FucyBTZXJpZgAABEEF8v///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5
- bGUBAAAAB3ZhbHVlX18ACAcAAAAAAAAABfH///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAA
- AAd2YWx1ZV9fAAgHAAAAAwAAAAs=
+ ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBwAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
+ ZwROYW1lCkl0ZW1zQ291bnQFSXRlbTAFSXRlbTEBBAIBAAQEKFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhv
+ cml6b250YWxBbGlnbm1lbnQCAAAACCFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0CAAAA
+ IVN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3SXRlbQIAAAACAAAABgMAAAAHSGFiaXRhdAX8////
+ KFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhvcml6b250YWxBbGlnbm1lbnQBAAAAB3ZhbHVlX18ACAIAAAAA
+ AAAACgYFAAAADmxpc3RWaWV3R3JvdXAxAgAAAAkGAAAACQcAAAAMCAAAAFFTeXN0ZW0uRHJhd2luZywg
+ VmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFk
+ NTBhM2EFBgAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0IAAAABFRleHQKSW1hZ2VJ
+ bmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5bGVGb3JTdWJJdGVt
+ cwVHcm91cAEABAAEBAAECBRTeXN0ZW0uRHJhd2luZy5Db2xvcggAAAABE1N5c3RlbS5EcmF3aW5nLkZv
+ bnQIAAAAFFN5c3RlbS5EcmF3aW5nLkNvbG9yCAAAAAEiU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZp
+ ZXdHcm91cAIAAAACAAAABgkAAAAfR3JpZCBTcGF0aWFsIERhdGEgKDJELCByZWd1bGFyKf////8F9v//
+ /xRTeXN0ZW0uRHJhd2luZy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkH
+ BwgAAAAKAAAAAAAAAAAYAAEAAAkLAAAAAfT////2////CgAAAAAAAAAAGgABAAEJAQAAAAEHAAAABgAA
+ AAYOAAAAH0dyaWQgU3BhdGlhbCBEYXRhICgyRCwgcmVndWxhcin/////AfH////2////CgAAAAAAAAAA
+ GAABAAAJEAAAAAHv////9v///woAAAAAAAAAABoAAQABCQEAAAAFCwAAABNTeXN0ZW0uRHJhd2luZy5G
+ b250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQgA
+ AAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0CAAAAAgAAAAGEwAAABRNaWNyb3NvZnQgU2FucyBT
+ ZXJpZgAABEEF7P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAgAAAAAAAAA
+ Bev///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgIAAAAAwAAAAEQAAAA
+ CwAAAAYWAAAAFE1pY3Jvc29mdCBTYW5zIFNlcmlmAAAEQQHp////7P///wAAAAAB6P///+v///8DAAAA
+ Cw==
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
- ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBgAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
- ZwROYW1lCkl0ZW1zQ291bnQFSXRlbTABBAIBAAQoU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRh
- bEFsaWdubWVudAIAAAAIIVN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3SXRlbQIAAAACAAAABgMA
- AAAFU29iZWsF/P///yhTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AQAAAAd2
- YWx1ZV9fAAgCAAAAAAAAAAoGBQAAAA5saXN0Vmlld0dyb3VwMwEAAAAJBgAAAAwHAAAAUVN5c3RlbS5E
- cmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAz
- ZjVmN2YxMWQ1MGEzYQUGAAAAIVN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3SXRlbQgAAAAEVGV4
- dApJbWFnZUluZGV4CUJhY2tDb2xvcgdDaGVja2VkBEZvbnQJRm9yZUNvbG9yF1VzZUl0ZW1TdHlsZUZv
- clN1Ykl0ZW1zBUdyb3VwAQAEAAQEAAQIFFN5c3RlbS5EcmF3aW5nLkNvbG9yBwAAAAETU3lzdGVtLkRy
- YXdpbmcuRm9udAcAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IHAAAAASJTeXN0ZW0uV2luZG93cy5Gb3Jt
- cy5MaXN0Vmlld0dyb3VwAgAAAAIAAAAGCAAAABFHcmlkIDFEIChOZXR3b3JrKf////8F9////xRTeXN0
- ZW0uRHJhd2luZy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwcAAAAK
- AAAAAAAAAAAYAAEAAAkKAAAAAfX////3////CgAAAAAAAAAAGgABAAEJAQAAAAUKAAAAE1N5c3RlbS5E
- cmF3aW5nLkZvbnQEAAAABE5hbWUEU2l6ZQVTdHlsZQRVbml0AQAEBAsYU3lzdGVtLkRyYXdpbmcuRm9u
- dFN0eWxlBwAAABtTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQHAAAABwAAAAYNAAAAFE1pY3Jvc29m
- dCBTYW5zIFNlcmlmAAAEQQXy////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAI
- BwAAAAAAAAAF8f///xtTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAcAAAAD
- AAAACw==
+ ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBwAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
+ ZwROYW1lCkl0ZW1zQ291bnQFSXRlbTAFSXRlbTEBBAIBAAQEKFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhv
+ cml6b250YWxBbGlnbm1lbnQCAAAACCFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0CAAAA
+ IVN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3SXRlbQIAAAACAAAABgMAAAAFU29iZWsF/P///yhT
+ eXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAAA
+ AAoGBQAAAA5saXN0Vmlld0dyb3VwMwIAAAAJBgAAAAkHAAAADAgAAABRU3lzdGVtLkRyYXdpbmcsIFZl
+ cnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUw
+ YTNhBQYAAAAhU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZpZXdJdGVtCAAAAARUZXh0CkltYWdlSW5k
+ ZXgJQmFja0NvbG9yB0NoZWNrZWQERm9udAlGb3JlQ29sb3IXVXNlSXRlbVN0eWxlRm9yU3ViSXRlbXMF
+ R3JvdXABAAQABAQABAgUU3lzdGVtLkRyYXdpbmcuQ29sb3IIAAAAARNTeXN0ZW0uRHJhd2luZy5Gb250
+ CAAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcggAAAABIlN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3
+ R3JvdXACAAAAAgAAAAYJAAAAEUdyaWQgMUQgKE5ldHdvcmsp/////wX2////FFN5c3RlbS5EcmF3aW5n
+ LkNvbG9yBAAAAARuYW1lBXZhbHVlCmtub3duQ29sb3IFc3RhdGUBAAAACQcHCAAAAAoAAAAAAAAAABgA
+ AQAACQsAAAAB9P////b///8KAAAAAAAAAAAaAAEAAQkBAAAAAQcAAAAGAAAABg4AAAARR3JpZCAxRCAo
+ TmV0d29yayn/////AfH////2////CgAAAAAAAAAAGAABAAAJEAAAAAHv////9v///woAAAAAAAAAABoA
+ AQABCQEAAAAFCwAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEA
+ BAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQgAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0
+ CAAAAAgAAAAGEwAAABRNaWNyb3NvZnQgU2FucyBTZXJpZgAABEEF7P///xhTeXN0ZW0uRHJhd2luZy5G
+ b250U3R5bGUBAAAAB3ZhbHVlX18ACAgAAAAAAAAABev///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NV
+ bml0AQAAAAd2YWx1ZV9fAAgIAAAAAwAAAAEQAAAACwAAAAYWAAAAFE1pY3Jvc29mdCBTYW5zIFNlcmlm
+ AAAEQQHp////7P///wAAAAAB6P///+v///8DAAAACw==
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
- ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBgAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
- ZwROYW1lCkl0ZW1zQ291bnQFSXRlbTABBAIBAAQoU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRh
- bEFsaWdubWVudAIAAAAIIVN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3SXRlbQIAAAACAAAABgMA
- AAAHRGVsZnQzRAX8////KFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhvcml6b250YWxBbGlnbm1lbnQBAAAA
- B3ZhbHVlX18ACAIAAAAAAAAACgYFAAAADmxpc3RWaWV3R3JvdXAyAQAAAAkGAAAADAcAAABRU3lzdGVt
- LkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1i
- MDNmNWY3ZjExZDUwYTNhBQYAAAAhU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZpZXdJdGVtCAAAAARU
- ZXh0CkltYWdlSW5kZXgJQmFja0NvbG9yB0NoZWNrZWQERm9udAlGb3JlQ29sb3IXVXNlSXRlbVN0eWxl
- Rm9yU3ViSXRlbXMFR3JvdXABAAQABAQABAgUU3lzdGVtLkRyYXdpbmcuQ29sb3IHAAAAARNTeXN0ZW0u
- RHJhd2luZy5Gb250BwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgcAAAABIlN5c3RlbS5XaW5kb3dzLkZv
- cm1zLkxpc3RWaWV3R3JvdXACAAAAAgAAAAYIAAAAFkdyaWQgM0QgKFVuc3RydWN0dXJlZCn/////Bff/
- //8UU3lzdGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJ
- BwcHAAAACgAAAAAAAAAAGAABAAAJCgAAAAH1////9////woAAAAAAAAAABoAAQABCQEAAAAFCgAAABNT
- eXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3
- aW5nLkZvbnRTdHlsZQcAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0BwAAAAcAAAAGDQAAABRN
- aWNyb3NvZnQgU2FucyBTZXJpZgAABEEF8v///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3Zh
- bHVlX18ACAcAAAAAAAAABfH///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9f
- AAgHAAAAAwAAAAs=
+ ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBwAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
+ ZwROYW1lCkl0ZW1zQ291bnQFSXRlbTAFSXRlbTEBBAIBAAQEKFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhv
+ cml6b250YWxBbGlnbm1lbnQCAAAACCFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0CAAAA
+ IVN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3SXRlbQIAAAACAAAABgMAAAAHRGVsZnQzRAX8////
+ KFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhvcml6b250YWxBbGlnbm1lbnQBAAAAB3ZhbHVlX18ACAIAAAAA
+ AAAACgYFAAAADmxpc3RWaWV3R3JvdXAyAgAAAAkGAAAACQcAAAAMCAAAAFFTeXN0ZW0uRHJhd2luZywg
+ VmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFk
+ NTBhM2EFBgAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0IAAAABFRleHQKSW1hZ2VJ
+ bmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5bGVGb3JTdWJJdGVt
+ cwVHcm91cAEABAAEBAAECBRTeXN0ZW0uRHJhd2luZy5Db2xvcggAAAABE1N5c3RlbS5EcmF3aW5nLkZv
+ bnQIAAAAFFN5c3RlbS5EcmF3aW5nLkNvbG9yCAAAAAEiU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZp
+ ZXdHcm91cAIAAAACAAAABgkAAAAWR3JpZCAzRCAoVW5zdHJ1Y3R1cmVkKf////8F9v///xRTeXN0ZW0u
+ RHJhd2luZy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwgAAAAKAAAA
+ AAAAAAAYAAEAAAkLAAAAAfT////2////CgAAAAAAAAAAGgABAAEJAQAAAAEHAAAABgAAAAYOAAAAFkdy
+ aWQgM0QgKFVuc3RydWN0dXJlZCn/////AfH////2////CgAAAAAAAAAAGAABAAAJEAAAAAHv////9v//
+ /woAAAAAAAAAABoAAQABCQEAAAAFCwAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUF
+ U3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQgAAAAbU3lzdGVtLkRyYXdpbmcu
+ R3JhcGhpY3NVbml0CAAAAAgAAAAGEwAAABRNaWNyb3NvZnQgU2FucyBTZXJpZgAABEEF7P///xhTeXN0
+ ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAgAAAAAAAAABev///8bU3lzdGVtLkRyYXdp
+ bmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgIAAAAAwAAAAEQAAAACwAAAAYWAAAAFE1pY3Jvc29m
+ dCBTYW5zIFNlcmlmAAAEQQHp////7P///wAAAAAB6P///+v///8DAAAACw==
@@ -292,12 +302,15 @@
LkZvbnRTdHlsZQMAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AwAAAAMAAAAGCQAAABRNaWNy
b3NvZnQgU2FucyBTZXJpZgAABEEF9v///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVl
X18ACAMAAAAAAAAABfX///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgD
- AAAAAwAAAAUIAAAAIlN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3R3JvdXAGAAAABkhlYWRlcg9I
- ZWFkZXJBbGlnbm1lbnQDVGFnBE5hbWUKSXRlbXNDb3VudAVJdGVtMAEEAgEABChTeXN0ZW0uV2luZG93
- cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAghU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZp
- ZXdJdGVtAgAAAAIAAAAGDAAAAAVTb2JlawXz////KFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhvcml6b250
- YWxBbGlnbm1lbnQBAAAAB3ZhbHVlX18ACAIAAAAAAAAACgYOAAAADmxpc3RWaWV3R3JvdXAzAQAAAAkB
- AAAACw==
+ AAAAAwAAAAUIAAAAIlN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3R3JvdXAHAAAABkhlYWRlcg9I
+ ZWFkZXJBbGlnbm1lbnQDVGFnBE5hbWUKSXRlbXNDb3VudAVJdGVtMAVJdGVtMQEEAgEABAQoU3lzdGVt
+ LldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVudAIAAAAIIVN5c3RlbS5XaW5kb3dzLkZvcm1z
+ Lkxpc3RWaWV3SXRlbQIAAAAhU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZpZXdJdGVtAgAAAAIAAAAG
+ DAAAAAVTb2JlawXz////KFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhvcml6b250YWxBbGlnbm1lbnQBAAAA
+ B3ZhbHVlX18ACAIAAAAAAAAACgYOAAAADmxpc3RWaWV3R3JvdXAzAgAAAAkPAAAACQEAAAABDwAAAAEA
+ AAAGEQAAABFHcmlkIDFEIChOZXR3b3JrKf////8B7v////v///8KAAAAAAAAAAAYAAEAAAkTAAAAAez/
+ ///7////CgAAAAAAAAAAGgABAAEJCAAAAAETAAAABgAAAAYWAAAAFE1pY3Jvc29mdCBTYW5zIFNlcmlm
+ AAAEQQHp////9v///wAAAAAB6P////X///8DAAAACw==
@@ -316,12 +329,15 @@
YXdpbmcuRm9udFN0eWxlAwAAABtTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQDAAAAAwAAAAYJAAAA
FE1pY3Jvc29mdCBTYW5zIFNlcmlmAAAEQQX2////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAH
dmFsdWVfXwAIAwAAAAAAAAAF9f///xtTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVl
- X18ACAMAAAADAAAABQgAAAAiU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZpZXdHcm91cAYAAAAGSGVh
- ZGVyD0hlYWRlckFsaWdubWVudANUYWcETmFtZQpJdGVtc0NvdW50BUl0ZW0wAQQCAQAEKFN5c3RlbS5X
- aW5kb3dzLkZvcm1zLkhvcml6b250YWxBbGlnbm1lbnQCAAAACCFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5M
- aXN0Vmlld0l0ZW0CAAAAAgAAAAYMAAAAB0RlbGZ0M0QF8////yhTeXN0ZW0uV2luZG93cy5Gb3Jtcy5I
- b3Jpem9udGFsQWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAAAAAoGDgAAAA5saXN0Vmlld0dyb3Vw
- MgEAAAAJAQAAAAs=
+ X18ACAMAAAADAAAABQgAAAAiU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZpZXdHcm91cAcAAAAGSGVh
+ ZGVyD0hlYWRlckFsaWdubWVudANUYWcETmFtZQpJdGVtc0NvdW50BUl0ZW0wBUl0ZW0xAQQCAQAEBChT
+ eXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAghU3lzdGVtLldpbmRvd3Mu
+ Rm9ybXMuTGlzdFZpZXdJdGVtAgAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0CAAAA
+ AgAAAAYMAAAAB0RlbGZ0M0QF8////yhTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25t
+ ZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAAAAAoGDgAAAA5saXN0Vmlld0dyb3VwMgIAAAAJDwAAAAkBAAAA
+ AQ8AAAABAAAABhEAAAAWR3JpZCAzRCAoVW5zdHJ1Y3R1cmVkKf////8B7v////v///8KAAAAAAAAAAAY
+ AAEAAAkTAAAAAez////7////CgAAAAAAAAAAGgABAAEJCAAAAAETAAAABgAAAAYWAAAAFE1pY3Jvc29m
+ dCBTYW5zIFNlcmlmAAAEQQHp////9v///wAAAAAB6P////X///8DAAAACw==
@@ -341,11 +357,15 @@
AwAAAAYJAAAAFE1pY3Jvc29mdCBTYW5zIFNlcmlmAAAEQQX2////GFN5c3RlbS5EcmF3aW5nLkZvbnRT
dHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9f///xtTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQB
AAAAB3ZhbHVlX18ACAMAAAADAAAABQgAAAAiU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZpZXdHcm91
- cAYAAAAGSGVhZGVyD0hlYWRlckFsaWdubWVudANUYWcETmFtZQpJdGVtc0NvdW50BUl0ZW0wAQQCAQAE
- KFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhvcml6b250YWxBbGlnbm1lbnQCAAAACCFTeXN0ZW0uV2luZG93
- cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0CAAAAAgAAAAYMAAAAB0hhYml0YXQF8////yhTeXN0ZW0uV2luZG93
- cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAAAAAoGDgAAAA5saXN0
- Vmlld0dyb3VwMQEAAAAJAQAAAAs=
+ cAcAAAAGSGVhZGVyD0hlYWRlckFsaWdubWVudANUYWcETmFtZQpJdGVtc0NvdW50BUl0ZW0wBUl0ZW0x
+ AQQCAQAEBChTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAghU3lzdGVt
+ LldpbmRvd3MuRm9ybXMuTGlzdFZpZXdJdGVtAgAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmll
+ d0l0ZW0CAAAAAgAAAAYMAAAAB0hhYml0YXQF8////yhTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9u
+ dGFsQWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAAAAAoGDgAAAA5saXN0Vmlld0dyb3VwMQIAAAAJ
+ DwAAAAkBAAAAAQ8AAAABAAAABhEAAAAfR3JpZCBTcGF0aWFsIERhdGEgKDJELCByZWd1bGFyKf////8B
+ 7v////v///8KAAAAAAAAAAAYAAEAAAkTAAAAAez////7////CgAAAAAAAAAAGgABAAEJCAAAAAETAAAA
+ BgAAAAYWAAAAFE1pY3Jvc29mdCBTYW5zIFNlcmlmAAAEQQHp////9v///wAAAAAB6P////X///8DAAAA
+ Cw==
@@ -409,82 +429,82 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
- ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACG
- EQAAAk1TRnQBSQFMAgEBAwEAATwBAAE8AQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
- AwABEAMAAQEBAAEgBgABEJIAAVcCVQG3AVsBZgFdAf8BXwFrAWAB/wFgAWsBYAH/AWABawFhAf8BYAFr
- AWEB/wFgAWsBYgH/AWABawFiAf8BYAFrAWIB/wFgAWsBYgH/AWABawFiAf8BYAFrAWMB/wFgAWsBYwH/
- AWABbAFjAf8BXQFoAV8B/wFXAlUBt0QAAVsCWQHEAY0BZQFSAfQB0QGWAWUB/wHOAZIBYAH/AcsBjgFb
- Af8ByQGKAVgB/wHHAYcBUwH/AcMBhAFPAf8BwwGEAU8B/wHDAYQBTwH/AcMBhAFPAf8BwwGEAU8B/wHD
- AYQBTwH/AVUCUwGwCAABtAFmASgB/wGzAWUBKAH/AbIBZQEnAf8BsQFlAScB/wGwAWMBJwH/Aa8BYwEn
- Af8BrwFjASYB/wGuAWIBJgH/Aa4BYgElAf8BrQFhASUB/wGtAWEBJQH/AawBYQElAf8BqwFgASUB/wGr
- AWABJQH/BAABWwFmAVwB/wHrAfUB7AH/AdQB7QHXAf8B1AHuAdcB/wHUAe4B2AH/AdUB7gHYAf8B1QHu
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAB+
+ EQAAAk1TRnQBSQFMAgEBAwEAAUQBAAFEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
+ AwABEAMAAQEBAAEgBgABEJIAAVcCVQG3AVoBZQFcAf8BXgFqAV8B/wFfAWoBXwH/AV8BagFgAf8BXwFq
+ AWAB/wFfAWoBYQH/AV8BagFhAf8BXwFqAWEB/wFfAWoBYQH/AV8BagFhAf8BXwFqAWIB/wFfAWoBYgH/
+ AV8BawFiAf8BXAFnAV4B/wFXAlUBt0QAAVsCWQHEAYoBZQFSAfQB0QGWAWQB/wHOAZIBXwH/AcsBjgFa
+ Af8ByQGKAVcB/wHHAYcBUgH/AcMBhAFOAf8BwwGEAU4B/wHDAYQBTgH/AcMBhAFOAf8BwwGEAU4B/wHD
+ AYQBTgH/AVUCUwGwCAABtAFlAScB/wGzAWQBJwH/AbIBZAEmAf8BsQFkASYB/wGwAWIBJgH/Aa8BYgEm
+ Af8BrwFiASUB/wGuAWEBJQH/Aa4BYQEkAf8BrQFgASQB/wGtAWABJAH/AawBYAEkAf8BqwFfASQB/wGr
+ AV8BJAH/BAABWgFlAVsB/wHrAfUB7AH/AdQB7QHXAf8B1AHuAdcB/wHUAe4B2AH/AdUB7gHYAf8B1QHu
AdkB/wHVAe4B2QH/AdYB7wHaAf8B1gHvAdoB/wHUAeIB7AH/Ac8B5QHWAf8B1QHtAdkB/wHYAe8B3AH/
- AdUB7QHZAf8BXQFoAV8B/0QAAdcBoQFyAf8B+AHyAe0B/wH3AfAB6gH/AfYB7QHmAf8B9AHqAeIB/wHz
+ AdUB7QHZAf8BXAFnAV4B/0QAAdcBoQFxAf8B+AHyAe0B/wH3AfAB6gH/AfYB7QHmAf8B9AHqAeIB/wHz
AecB3gH/AfEB5AHbAf8B8AHiAdgB/wHwAeIB2AH/AfAB4gHYAf8B8AHiAdgB/wHwAeIB2AH/AfAB4gHY
- Af8BuAGEAU8B/QgAAbYBZwEqAf8DMQFPAy0BRgMtAUUDBwEJBAADFQEdCAADFQEdBAADEwEaAT0CPAFo
- AwkBDAQAAV4BagFgAf8B7gH4Ae8B/wGkAdsBvAH/AYwBygGmAf8BmAHVAbEB/wGGAckBoQH/AXABrQHA
- Af8BUgGHAcYB/wGDAcIBtgH/AXMBrAGvAf8BZQFsAesB/wGBAcUBowH/AYwB0AGmAf8BhQHKAaAB/wHS
- AekB1wH/AWABawFjAf9EAAHZAaQBdwH/AfkB8wHuAf8B6wHSAb4F/wHrAdMBvw3/AeoBxwGtDf8B8AHi
- AdgB/wHGAYwBXAH/CAABtwFoASoB/wMSARkDTgGZAVwBWAFVAeIBUwFZAU0B7QE9AjwBaBAAAwYBCAFa
- AVgBVQHeA0wBkwgAAV0BagFgAf8B7AH3Ae4B/wGWAdsBrwH/AYEByQGaAf8BjwHYAaoB/wF2AcgBlwH/
- AYoB1gGpAf8BWwGiAawB/wFRAYgB1wH/AUQBWQHgAf8BdQGoAckB/wGBAckBmQH/AYcB0AGgAf8BgQHK
- AZoB/wHWAe4B2gH/AWABawFiAf9EAAHdAagBgQH/AfkB8wHvAf8B6wHQAboB/wHrAdABuwH/AesB0AG7
- Af8B6wHQAbsB/wHrAdABuwH/AesB0QG9Af8B6gHNAbUB/wHqAc0BtQH/AeoBzQG1Af8B6gHNAbUB/wHw
- AeIB2AH/AcYBigFZAf8IAAG5AWoBKwH/AyoBQAgAAU4CTQGWAVMBYgFKAfEDUQGiAwkBDAgAAUkCSAGI
- AU8BYgFKAe8MAAFdAWoBXwH/AfcB+wH4Af8BmwHeAcQB/wFvAcMBkwH/AYEBzwGfAf8BawHBAY8B/wGB
- Ac4BnQH/AWoBvwGMAf8BbAGkAbsB/wFEAVQB2gH/AUgBeAHRAf8BTQGNAbYB/wFvAb4BnQH/AXABwwGP
- Af8B1wHvAdoB/wFgAWsBYgH/RAAB3wGqAYIB/wH5AfMB7wH/AeoBzgG3Bf8B6wHQAbsN/wHqAc8BugH/
- AfsB9gHyCf8B8AHiAdgB/wHIAY0BXAH/CAABuwFrASwB/wM0AVQDEQEXCAADLwFKAVcBXwFSAegBXwFd
- AVkB4AFVAlMBrQFZAlYBvgFQAWcBQwH0AzkBXwQAAxMBGgQAAV0BagFfAf8B+AH8AfkB/wG8AvsB/wGd
- AecB3wH/AZMB4QG7Af8BcwHJAZcB/wGJAdoBqQH/AXEBxgGYAf8BbQF4AfMB/wFnAa4BrQH/AYIB4QHd
- Af8BVAGnAeEB/wFSAYwB5gH/AV0BnwG9Af8B0AHpAdsB/wFgAWsBYgH/RAAB4QGuAYcB/wH6AfQB8AH/
- AeoBywGyAf8B6gHMAbMB/wHqAcwBswH/AeoBzAGzAf8B6gHMAbMB/wHqAc4BtwH/AegBxwGsAf8B6AHH
- AawB/wHoAcgBsAH/AegByAGuAf8B8AHiAdgB/wHEAYYBUQH/CAABvQFsAS0B/wMxAU8BWgFVAWEB3AwA
- A0MBdwFPAk4BlwNZAcwCWgFZAc0DNQFXCAABVAJTAbAEAAFcAWkBXwH/AfgB/AH4Af8BpAHrAe0B/wGN
- At8B/wGXAusB/wFuAc8BtwH/AXABygGZAf8BUgGDAbAB/wFcAXQB1wH/AU0BwwG2Af8BkAHVAc0B/wFM
- AsYB/wGBAdAB3QH/AWABmQHbAf8BygHkAdwB/wFgAWsBYgH/RAAB4wGxAYwB/wH6AfYB8QH/AeoByQGu
- Bf8B6gHJAbAN/wHoAccBrA3/AfEB5QHbAf8BxgGGAVIB/wgAAb4BbgEtAf8DIAEvARkBEgHlAf4DSAGG
- A0gBhAHgAVQBAAH/AcABSwEPAf0BywFYAQgB/gM1AVcQAAEtASUBuAH6BAABXAFpAV4B/wH4AfwB+AH/
- Aa8C+gH/AZQC6wH/AaIB+QH6Af8BigHqAesB/wGVAe0B8wH/AVUBWwHrAf8BhwHZAeYB/wFYAdIB0QH/
- AdwB2wHJAf8BrAHUAc0B/wGXAdoB1AH/AXMB0QHOAf8B1AHvAdsB/wFgAWsBYQH/RAAB5QG0AY8B/wH6
- AfYB8gH/AekBxgGqAf8B6QHGAawB/wHqAccBrAH/AekBxwGtAf8B6QHJAa4B/wHpAckBsAH/AegBxwGs
- Af8B6QHJAbAB/wHoAcgBsAH/AegBzAG1Af8B8gHnAd4B/wHIAYoBVgH/CAABwAFvAS8B/wQAAVECTwGl
- ASQBIQHCAfsBjwFRATwB9wNMAZIDAgEDAVcCVgG4AaQBXAEoAfgBRgJFAX4IAANYAcABTgFDAXwB8AQA
- AVwBaQFdAf8B+AH8AfgB/wGfAvEB/wGBAd0B3wH/AYoB6gHrAf8BcQLeAf8BYQGRAe4B/wFRAYEB4gH/
- AWQB3AHdAf8BcwG/AbcB/wHlAcgBsgH/AdoBugGjAf8B3gG8AaYB/wHZAbcBnwH/AdYB7QHYAf8BYAFr
- AWAB/0QAAecBtwGUAf8B+wH3AfQB/wHpAcMBpgX/AegBxAGpDf8B6AHHAawN/wH3AfEB6wH/AcsBjwFc
- Af8IAAHCAXABLwH/CAABQQEvAdMB/gFHAUABpQH5DAABUwJSAagBugFfASIB+wFRAlABnwMaASUBMwEw
- AfYB/wFPAk4BlwQAAVsBaQFdAf8B+AH8AfgB/wGmAvkB/wGLAekB6gH/AZkB+AH6Af8BdAHTAesB/wFh
- AWcC/wFzAdwB6gH/AWwB3wHeAf8BwQHFAbUB/wHxAdEBugH/AeUBwQGpAf8B6gHHAa4B/wHkAb0BoQH/
- AdYB7QHXAf8BXwFrAWAB/0QAAekBugGYAf8B+wH3AfQB/wHpAcMBpgH/AekBwwGmAf8B6QHDAaYB/wHp
- AcMBpgH/AekBwwGmAf8B6QHDAaYB/wHpAcMBpgH/AekBwwGmAf8B6QHDAaYB/wHpAcMBpgH/AfsB9wH0
- Af8BzgGTAWEB/wgAAcMBcAEwAf8DFQEdA0oBigGZAU0BUQH6AVEBOgGkAfcBTgJNAZUMAANKAY0BvwFv
- AUAB/QG7AWIBMgH7AawBagFBAfkBygF/AUIB/gQAAVsBaQFdAf8B+AH8AfgB/wGQAuoB/wF0Ad0B3gH/
- AYEB6QHqAf8BSgFnAeIB/wFfAZ0B7gH/AVoC1wH/AVcBywHJAf8B1AGwAZcB/wHiAboBnwH/AdYBrAGP
- Af8B2wGwAZEB/wHUAacBhgH/AdYB7QHXAf8BXwFqAWAB/0QAAesBvQGbAf8B+wH3AfQp/wH7AfcB9AH/
- AdEBlwFnAf8IAAHEAXEBMQH/AwIBAwGtAWoBOQH5A1YBtgFJAkgBhwFHAUIB3AH+AygBPAgAAxgBIgFX
- AU0BggHxAU4BSAGTAfYBRwJGAYAIAAFbAWkBXQH/AfcB/AH4Af8BnwL5Af8BhQHpAeoB/wGEAdMB+gH/
- AU4BVgHwAf8BhwHyAfcB/wFcAdoB1wH/AZgB1QHKAf8B4AG3AZwB/wHtAccBqQH/AeABswGUAf8B5gG4
- AZgB/wHeAa4BjAH/AdcB7AHWAf8BXwFqAWAB/0QAAewBvwGeAf8B+wH3AfQB/wGcAdUBpQH/AZgB0wGh
- Af8BlAHQAZ0B/wGQAc4BmAH/AYsBywGTAf8BhwHJAY4B/wGCAcYBiQH/AYEBwwGEAf8BdwHBAYEB/wFz
- Ab4BgAH/AfsB9wH0Af8B1AGbAWwB/wgAAcUBcgExAf8DIwEzAb8BgwFAAf0DBwEJBAABWwJZAcMCTQGx
- AfoBXQJaAcoBXgFXAV4B3QFXAU0BvgH7AV0BVgFiAeIDGAEiDAABWwFpAVwB/wH3AfwB+AH/AYoC6gH/
- AW4B3QHeAf8BUgFhAfAB/wFSAZ8B3wH/AW8C6AH/AUICwQH/ArsBpQH/AdABpAGDAf8B3gGwAY4B/wHR
- AZ4BdgH/AdYBogF2Af8BzwGYAW0B/wHXAesB1QH/AV4BagFgAf9EAAF8AWgBYAHrAfsB9wH0Af8B+wH3
- AfQB/wH7AfcB9AH/AfsB9wH0Af8B+wH3AfQB/wH7AfcB9AH/AfsB9wH0Af8B+wH3AfQB/wH7AfcB9AH/
- AfsB9wH0Af8B+wH3AfQB/wH7AfcB9AH/AaABegFcAfgIAAHGAXMBMQH/AzwBZgFSAlEBpwwAA0oBigFf
- AVkBYgHgAVoBWQFaAdMDOAFeFAABWwFpAVwB/wH3AfwB+AH/AZ0C+QH/AWgBtAHtAf8BXgFtAf4B/wGB
- AecB6QH/AYwC9AH/AU4CzQH/AewBwgGkAf8B3QGtAYoB/wHrAboBlwH/Ad0BpwGBAf8B4gGrAYMB/wHa
- AaABcQH/AdkB6gHUAf8BXQFqAWAB/0QAAUYCRQF+AWkBXwFYAeMB7QHAAZ8B/wHrAb4BnQH/AesBvAGa
- Af8B6QG6AZYB/wHnAbcBkwH/AeYBtQGQAf8B5AGyAYwB/wHiAa8BiAH/AeABrAGEAf8B3QGpAYEB/wHc
- AaUBgQH/AV0CWgHKCAABxgFzATEB/wM0AVQ0AAFYAWYBWQH/AfsB/AH7Af8B/AH+AfwB/wH3AfwB+AH/
- AfcB/AH4Af8B9wH8AfgB/wH4AfwB+AH/AfcB/AH5Af8B+AH8AfgB/wH4AfwB+AH/AewB9wHuAf8B7QH3
- Ae4B/wHvAfYB7QH/Ae4B9AHsAf8B6wH0AesB/wFaAWYBWwH/wAADVwG9AVgBZgFZAf8BWwFpAVwB/wFb
- AWkBXAH/AVsBaQFcAf8BWwFpAVwB/wFbAWkBXQH/AVsBaQFdAf8BWwFpAV0B/wFbAWkBXQH/AVwBaQFd
- Af8BXAFpAV4B/wFcAWkBXgH/AVwBaQFfAf8BWgFmAVsB/wFZAlcBvUAAAUIBTQE+BwABPgMAASgDAAFA
- AwABEAMAAQEBAAEBBQABgBcAA/8BAAT/BAABgAEBAYABAQQAAYABAQGCAdEEAAGAAQEBgQHjBAABgAEB
- AZgBZwQAAYABAQGMAQUEAAGAAQEBjgENBAABgAEBAYABPQQAAYABAQGgARkEAAGAAQEBswGBBAABgAEB
- AYEBwQQAAYABAQGAAcMEAAGAAQEBhAEHBAABgAEBAY4BHwQAAYABAQGfAf8EAAT/BAAL
+ Af8BtwGEAU4B/QgAAbYBZgEpAf8DMQFPAy0BRgMtAUUDBwEJBAADFQEdCAADFQEdBAADEwEaAT0CPAFo
+ AwkBDAQAAV0BaQFfAf8B7gH4Ae8B/wGkAdsBvAH/AYwBygGmAf8BmAHVAbEB/wGGAckBoQH/AW8BrQHA
+ Af8BUQGHAcYB/wGDAcIBtgH/AXIBrAGvAf8BZAFrAesB/wGBAcUBowH/AYwB0AGmAf8BhQHKAaAB/wHS
+ AekB1wH/AV8BagFiAf9EAAHZAaQBdgH/AfkB8wHuAf8B6wHSAb4F/wHrAdMBvw3/AeoBxwGtDf8B8AHi
+ AdgB/wHGAYwBWwH/CAABtwFnASkB/wMSARkDTgGZAV0BWgFWAeIBVAFaAVAB7QE9AjwBaBAAAwYBCAJa
+ AVYB3gNMAZMIAAFcAWkBXwH/AewB9wHuAf8BlgHbAa8B/wGBAckBmgH/AY8B2AGqAf8BdQHIAZcB/wGK
+ AdYBqQH/AVoBogGsAf8BUAGIAdcB/wFDAVgB4AH/AXQBqAHJAf8BgQHJAZkB/wGHAdABoAH/AYEBygGa
+ Af8B1gHuAdoB/wFfAWoBYQH/RAAB3QGoAYEB/wH5AfMB7wH/AesB0AG6Af8B6wHQAbsB/wHrAdABuwH/
+ AesB0AG7Af8B6wHQAbsB/wHrAdEBvQH/AeoBzQG1Af8B6gHNAbUB/wHqAc0BtQH/AeoBzQG1Af8B8AHi
+ AdgB/wHGAYoBWAH/CAABuQFpASoB/wMqAUAIAAFOAk0BlgFTAWIBTQHxA1EBogMJAQwIAAFJAkgBiAFQ
+ AWIBSwHvDAABXAFpAV4B/wH3AfsB+AH/AZsB3gHEAf8BbgHDAZMB/wGBAc8BnwH/AWoBwQGPAf8BgQHO
+ AZ0B/wFpAb8BjAH/AWsBpAG7Af8BQwFTAdoB/wFHAXcB0QH/AUwBjQG2Af8BbgG+AZ0B/wFvAcMBjwH/
+ AdcB7wHaAf8BXwFqAWEB/0QAAd8BqgGCAf8B+QHzAe8B/wHqAc4BtwX/AesB0AG7Df8B6gHPAboB/wH7
+ AfYB8gn/AfAB4gHYAf8ByAGNAVsB/wgAAbsBagErAf8DNAFUAxEBFwgAAy8BSgFXAV8BVQHoAV8BXgFa
+ AeABVQJTAa0BWQJWAb4BUQFmAUQB9AM5AV8EAAMTARoEAAFcAWkBXgH/AfgB/AH5Af8BvAL7Af8BnQHn
+ Ad8B/wGTAeEBuwH/AXIByQGXAf8BiQHaAakB/wFwAcYBmAH/AWwBdwHzAf8BZgGuAa0B/wGCAeEB3QH/
+ AVMBpwHhAf8BUQGMAeYB/wFcAZ8BvQH/AdAB6QHbAf8BXwFqAWEB/0QAAeEBrgGHAf8B+gH0AfAB/wHq
+ AcsBsgH/AeoBzAGzAf8B6gHMAbMB/wHqAcwBswH/AeoBzAGzAf8B6gHOAbcB/wHoAccBrAH/AegBxwGs
+ Af8B6AHIAbAB/wHoAcgBrgH/AfAB4gHYAf8BxAGGAVAB/wgAAb0BawEsAf8DMQFPAVsBVgFhAdwMAAND
+ AXcBTwJOAZcDWQHMA1oBzQM1AVcIAAFUAlMBsAQAAVsBaAFeAf8B+AH8AfgB/wGkAesB7QH/AY0C3wH/
+ AZcC6wH/AW0BzwG3Af8BbwHKAZkB/wFRAYMBsAH/AVsBcwHXAf8BTAHDAbYB/wGQAdUBzQH/AUsCxgH/
+ AYEB0AHdAf8BXwGZAdsB/wHKAeQB3AH/AV8BagFhAf9EAAHjAbEBjAH/AfoB9gHxAf8B6gHJAa4F/wHq
+ AckBsA3/AegBxwGsDf8B8QHlAdsB/wHGAYYBUQH/CAABvgFtASwB/wMgAS8BGQESAeMB/gNIAYYDSAGE
+ AeABUwEAAf8BvgFKARAB/QHJAVgBCAH+AzUBVxAAAS0BJgGzAfoEAAFbAWgBXQH/AfgB/AH4Af8BrwL6
+ Af8BlALrAf8BogH5AfoB/wGKAeoB6wH/AZUB7QHzAf8BVAFaAesB/wGHAdkB5gH/AVcB0gHRAf8B3AHb
+ AckB/wGsAdQBzQH/AZcB2gHUAf8BcgHRAc4B/wHUAe8B2wH/AV8BagFgAf9EAAHlAbQBjwH/AfoB9gHy
+ Af8B6QHGAaoB/wHpAcYBrAH/AeoBxwGsAf8B6QHHAa0B/wHpAckBrgH/AekByQGwAf8B6AHHAawB/wHp
+ AckBsAH/AegByAGwAf8B6AHMAbUB/wHyAecB3gH/AcgBigFVAf8IAAHAAW4BLgH/BAABUQJPAaUBJAEh
+ Ab8B+wGNAVEBPQH3A0wBkgMCAQMBVwJWAbgBoAFcASsB+AFGAkUBfggAA1gBwAFOAUUBeQHwBAABWwFo
+ AVwB/wH4AfwB+AH/AZ8C8QH/AYEB3QHfAf8BigHqAesB/wFwAt4B/wFgAZEB7gH/AVABgQHiAf8BYwHc
+ Ad0B/wFyAb8BtwH/AeUByAGyAf8B2gG6AaMB/wHeAbwBpgH/AdkBtwGfAf8B1gHtAdgB/wFfAWoBXwH/
+ RAAB5wG3AZQB/wH7AfcB9AH/AekBwwGmBf8B6AHEAakN/wHoAccBrA3/AfcB8QHrAf8BywGPAVsB/wgA
+ AcIBbwEuAf8IAAFBAS8B0QH+AUcBQQGhAfkMAAFTAlIBqAG2AV8BIgH7AVECUAGfAxoBJQEyAS8B9gH/
+ AU8CTgGXBAABWgFoAVwB/wH4AfwB+AH/AaYC+QH/AYsB6QHqAf8BmQH4AfoB/wFzAdMB6wH/AWABZgL/
+ AXIB3AHqAf8BawHfAd4B/wHBAcUBtQH/AfEB0QG6Af8B5QHBAakB/wHqAccBrgH/AeQBvQGhAf8B1gHt
+ AdcB/wFeAWoBXwH/RAAB6QG6AZgB/wH7AfcB9AH/AekBwwGmAf8B6QHDAaYB/wHpAcMBpgH/AekBwwGm
+ Af8B6QHDAaYB/wHpAcMBpgH/AekBwwGmAf8B6QHDAaYB/wHpAcMBpgH/AekBwwGmAf8B+wH3AfQB/wHO
+ AZMBYAH/CAABwwFvAS8B/wMVAR0DSgGKAZYBTQFQAfoBUQE7AaEB9wFOAk0BlQwAA0oBjQG+AW0BQAH9
+ AbcBYAEyAfsBqQFqAUEB+QHIAX8BQgH+BAABWgFoAVwB/wH4AfwB+AH/AZAC6gH/AXMB3QHeAf8BgQHp
+ AeoB/wFJAWYB4gH/AV4BnQHuAf8BWQLXAf8BVgHLAckB/wHUAbABlwH/AeIBugGfAf8B1gGsAY8B/wHb
+ AbABkQH/AdQBpwGGAf8B1gHtAdcB/wFeAWkBXwH/RAAB6wG9AZsB/wH7AfcB9Cn/AfsB9wH0Af8B0QGX
+ AWYB/wgAAcQBcAEwAf8DAgEDAaoBagE7AfkDVgG2AUkCSAGHAUcBQgHaAf4DKAE8CAADGAEiAVcBUAGA
+ AfEBTQFIAZAB9gFHAkYBgAgAAVoBaAFcAf8B9wH8AfgB/wGfAvkB/wGFAekB6gH/AYQB0wH6Af8BTQFV
+ AfAB/wGHAfIB9wH/AVsB2gHXAf8BmAHVAcoB/wHgAbcBnAH/Ae0BxwGpAf8B4AGzAZQB/wHmAbgBmAH/
+ Ad4BrgGMAf8B1wHsAdYB/wFeAWkBXwH/RAAB7AG/AZ4B/wH7AfcB9AH/AZwB1QGlAf8BmAHTAaEB/wGU
+ AdABnQH/AZABzgGYAf8BiwHLAZMB/wGHAckBjgH/AYIBxgGJAf8BgQHDAYQB/wF2AcEBgQH/AXIBvgGA
+ Af8B+wH3AfQB/wHUAZsBawH/CAABxQFxATAB/wMjATMBvgGDAUAB/QMHAQkEAAFbAlkBwwJNAa4B+gFd
+ AloBygFeAVgBXgHdAVcBTQG6AfsBXQFXAWEB4gMYASIMAAFaAWgBWwH/AfcB/AH4Af8BigLqAf8BbQHd
+ Ad4B/wFRAWAB8AH/AVEBnwHfAf8BbgLoAf8BQQLBAf8CuwGlAf8B0AGkAYMB/wHeAbABjgH/AdEBngF1
+ Af8B1gGiAXUB/wHPAZgBbAH/AdcB6wHVAf8BXQFpAV8B/0QAAXgBZwFgAesB+wH3AfQB/wH7AfcB9AH/
+ AfsB9wH0Af8B+wH3AfQB/wH7AfcB9AH/AfsB9wH0Af8B+wH3AfQB/wH7AfcB9AH/AfsB9wH0Af8B+wH3
+ AfQB/wH7AfcB9AH/AfsB9wH0Af8BnQF5AVwB+AgAAcYBcgEwAf8DPAFmAVICUQGnDAADSgGKAV8BWgFh
+ AeADWgHTAzgBXhQAAVoBaAFbAf8B9wH8AfgB/wGdAvkB/wFnAbQB7QH/AV0BbAH+Af8BgQHnAekB/wGM
+ AvQB/wFNAs0B/wHsAcIBpAH/Ad0BrQGKAf8B6wG6AZcB/wHdAacBgQH/AeIBqwGDAf8B2gGgAXAB/wHZ
+ AeoB1AH/AVwBaQFfAf9EAAFGAkUBfgFmAV8BWAHjAe0BwAGfAf8B6wG+AZ0B/wHrAbwBmgH/AekBugGW
+ Af8B5wG3AZMB/wHmAbUBkAH/AeQBsgGMAf8B4gGvAYgB/wHgAawBhAH/Ad0BqQGBAf8B3AGlAYEB/wFd
+ AloByggAAcYBcgEwAf8DNAFUNAABVwFlAVgB/wH7AfwB+wH/AfwB/gH8Af8B9wH8AfgB/wH3AfwB+AH/
+ AfcB/AH4Af8B+AH8AfgB/wH3AfwB+QH/AfgB/AH4Af8B+AH8AfgB/wHsAfcB7gH/Ae0B9wHuAf8B7wH2
+ Ae0B/wHuAfQB7AH/AesB9AHrAf8BWQFlAVoB/8AAA1cBvQFXAWUBWAH/AVoBaAFbAf8BWgFoAVsB/wFa
+ AWgBWwH/AVoBaAFbAf8BWgFoAVwB/wFaAWgBXAH/AVoBaAFcAf8BWgFoAVwB/wFbAWgBXAH/AVsBaAFd
+ Af8BWwFoAV0B/wFbAWgBXgH/AVkBZQFaAf8BWQJXAb1AAAFCAU0BPgcAAT4DAAEoAwABQAMAARADAAEB
+ AQABAQUAAYAXAAP/AQAE/wQAAYABAQGAAQEEAAGAAQEBggHRBAABgAEBAYEB4wQAAYABAQGYAWcEAAGA
+ AQEBjAEFBAABgAEBAY4BDQQAAYABAQGAAT0EAAGAAQEBoAEZBAABgAEBAbMBgQQAAYABAQGBAcEEAAGA
+ AQEBgAHDBAABgAEBAYQBBwQAAYABAQGOAR8EAAGAAQEBnwH/BAAE/wQACw==
@@ -506,33 +526,6 @@
$this
- 1
-
-
- True
-
-
- 552, 470
-
-
- 66, 17
-
-
- 6
-
-
- Voorbeeld
-
-
- checkBoxExample
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
0
Index: Core/Common/src/Core.Common.Gui/GuiCommandHandler.cs
===================================================================
diff -u -r1f79b34c12554e2b9878f6296168d18232cc9852 -rd1e069321cba9d3b92f873fdd18e393a20659542
--- Core/Common/src/Core.Common.Gui/GuiCommandHandler.cs (.../GuiCommandHandler.cs) (revision 1f79b34c12554e2b9878f6296168d18232cc9852)
+++ Core/Common/src/Core.Common.Gui/GuiCommandHandler.cs (.../GuiCommandHandler.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542)
@@ -392,11 +392,6 @@
selectDataDialog.AddItemType(dataItemInfo.Name, dataItemInfo.Category, dataItemInfo.Image, dataItemInfo);
}
- if (dataItemInfos.Any())
- {
- selectDataDialog.ItemSupportsExample = name => dataItemInfos.First(i => i.Name == name).AddExampleData != null;
- }
-
return selectDataDialog;
}
@@ -422,14 +417,7 @@
return null;
}
- var newDataObject = dataItemInfo.CreateData != null ? dataItemInfo.CreateData(parent) : null;
-
- if (selectDataDialog.IsExample)
- {
- dataItemInfo.AddExampleData(newDataObject);
- }
-
- return newDataObject;
+ return dataItemInfo.CreateData != null ? dataItemInfo.CreateData(parent) : null;
}
public void AddItemToProject(object newItem)
Index: Core/Common/test/Core.Common.Base.Test/Plugin/DataItemInfoTest.cs
===================================================================
diff -u -r6016a9db20f1833086b35bc6aedcb2b0a3efe19d -rd1e069321cba9d3b92f873fdd18e393a20659542
--- Core/Common/test/Core.Common.Base.Test/Plugin/DataItemInfoTest.cs (.../DataItemInfoTest.cs) (revision 6016a9db20f1833086b35bc6aedcb2b0a3efe19d)
+++ Core/Common/test/Core.Common.Base.Test/Plugin/DataItemInfoTest.cs (.../DataItemInfoTest.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542)
@@ -20,7 +20,6 @@
Assert.IsNull(info.Image);
Assert.IsNull(info.AdditionalOwnerCheck);
Assert.IsNull(info.CreateData);
- Assert.IsNull(info.AddExampleData);
}
[Test]
@@ -36,14 +35,12 @@
Assert.IsNull(info.Image);
Assert.IsNull(info.AdditionalOwnerCheck);
Assert.IsNull(info.CreateData);
- Assert.IsNull(info.AddExampleData);
}
[Test]
public void GetSetAutomaticProperties_NonGeneric_ExpectedBehavior()
{
// setup & call
- bool addExampleDataCalled = false;
var info = new DataItemInfo
{
ValueType = typeof(double),
@@ -52,9 +49,7 @@
Image = new Bitmap(16, 16),
AdditionalOwnerCheck = o => true,
CreateData = o => 1.2,
- AddExampleData = delegate { addExampleDataCalled = true; }
};
- info.AddExampleData(null);
// assert
Assert.AreEqual(typeof(double), info.ValueType);
@@ -63,24 +58,20 @@
Assert.IsNotNull(info.Image);
Assert.IsTrue(info.AdditionalOwnerCheck(null));
Assert.AreEqual(1.2, info.CreateData(null));
- Assert.IsTrue(addExampleDataCalled);
}
[Test]
public void GetSetAutomaticProperties_Generic_ExpectedBehavior()
{
// setup & call
- bool addExampleDataNotCalled = true;
var info = new DataItemInfo
{
Name = "Some integer",
Category = "Better category",
Image = new Bitmap(16, 16),
AdditionalOwnerCheck = o => false,
CreateData = o => -1,
- AddExampleData = delegate { addExampleDataNotCalled = false; }
};
- info.AddExampleData(1);
// assert
Assert.AreEqual(typeof(int), info.ValueType);
@@ -89,22 +80,19 @@
Assert.IsNotNull(info.Image);
Assert.IsFalse(info.AdditionalOwnerCheck(null));
Assert.AreEqual(-1, info.CreateData(null));
- Assert.IsFalse(addExampleDataNotCalled);
}
[Test]
public void ImplicitConversion_FromGenericToNonGeneric_ShouldCopyValues()
{
// setup
- bool addExampleDataCalled = false;
var info = new DataItemInfo
{
Name = "Some integer",
Category = "Better category",
Image = new Bitmap(16, 16),
AdditionalOwnerCheck = o => false,
CreateData = o => -1,
- AddExampleData = delegate { addExampleDataCalled = true; }
};
// call
@@ -116,8 +104,6 @@
Assert.AreEqual(info.Category, nonGenericInfo.Category);
Assert.AreEqual(info.AdditionalOwnerCheck(1), nonGenericInfo.AdditionalOwnerCheck(1));
Assert.AreEqual(info.CreateData(null), nonGenericInfo.CreateData(null));
- nonGenericInfo.AddExampleData(1);
- Assert.IsTrue(addExampleDataCalled);
}
[Test]
@@ -140,7 +126,6 @@
Assert.AreEqual(info.Category, nonGenericInfo.Category);
Assert.IsNull(nonGenericInfo.AdditionalOwnerCheck);
Assert.IsNull(nonGenericInfo.CreateData);
- Assert.IsNull(nonGenericInfo.AddExampleData);
}
}
}
\ No newline at end of file
Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsApplicationPluginTest.cs
===================================================================
diff -u -r1f79b34c12554e2b9878f6296168d18232cc9852 -rd1e069321cba9d3b92f873fdd18e393a20659542
--- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsApplicationPluginTest.cs (.../RingtoetsApplicationPluginTest.cs) (revision 1f79b34c12554e2b9878f6296168d18232cc9852)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsApplicationPluginTest.cs (.../RingtoetsApplicationPluginTest.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542)
@@ -43,15 +43,13 @@
TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.AssessmentSectionFolderIcon, dikeAssessmentSectionDataItemDefinition.Image);
Assert.IsNull(dikeAssessmentSectionDataItemDefinition.AdditionalOwnerCheck);
Assert.IsInstanceOf(dikeAssessmentSectionDataItemDefinition.CreateData(new Project()));
- Assert.IsNull(dikeAssessmentSectionDataItemDefinition.AddExampleData);
DataItemInfo duneAssessmentDataItemDefinition = dataItemDefinitions.Single(did => did.ValueType == typeof(DuneAssessmentSection));
Assert.AreEqual("Duintraject", duneAssessmentDataItemDefinition.Name);
Assert.AreEqual("Algemeen", duneAssessmentDataItemDefinition.Category);
TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.AssessmentSectionFolderIcon, duneAssessmentDataItemDefinition.Image);
Assert.IsNull(duneAssessmentDataItemDefinition.AdditionalOwnerCheck);
Assert.IsInstanceOf(duneAssessmentDataItemDefinition.CreateData(new Project()));
- Assert.IsNull(duneAssessmentDataItemDefinition.AddExampleData);
}
[Test]