Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Charting/BubbleChart.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Charting/BubbleChart.cs	(revision 1155)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Charting/BubbleChart.cs	(revision 1156)
@@ -28,4 +28,7 @@
 using System.Windows.Forms;
 using HeuristicLab.CEDMA.Core;
+using HeuristicLab.PluginInfrastructure;
+using HeuristicLab.Core;
+using HeuristicLab.CEDMA.DB.Interfaces;
 
 namespace HeuristicLab.CEDMA.Charting {
@@ -67,7 +70,7 @@
 
       foreach (var resultsEntry in results.GetEntries()) {
-        if(resultsEntry.Get(X_JITTER) ==null)
+        if (resultsEntry.Get(X_JITTER) == null)
           resultsEntry.Set(X_JITTER, random.NextDouble() * 2.0 - 1.0);
-        if(resultsEntry.Get(Y_JITTER) == null)
+        if (resultsEntry.Get(Y_JITTER) == null)
           resultsEntry.Set(Y_JITTER, random.NextDouble() * 2.0 - 1.0);
         records.Add(resultsEntry);
@@ -239,5 +242,5 @@
           }
         }
-        if(primitives.Count() > 0) results.FireChanged();
+        if (primitives.Count() > 0) results.FireChanged();
       } else {
         base.MouseDrag(start, end, button);
@@ -255,12 +258,16 @@
     }
 
-    //public override void MouseDoubleClick(Point point, MouseButtons button) {
-    //  if(button == MouseButtons.Left) {
-    //    Record r = GetRecord(point);
-    //    if(r != null) r.OpenModel();
-    //  } else {
-    //    base.MouseDoubleClick(point, button);
-    //  }
-    //}
+    public override void MouseDoubleClick(Point point, MouseButtons button) {
+      if (button == MouseButtons.Left) {
+        ResultsEntry entry = GetResultsEntry(point);
+        if (entry != null) {
+          string serializedData = (string)entry.Get(Ontology.PredicateSerializedData.Uri.Replace(Ontology.CedmaNameSpace, ""));
+          var model = (IItem)PersistenceManager.RestoreFromGZip(Convert.FromBase64String(serializedData));
+          PluginManager.ControlManager.ShowControl(model.CreateView());
+        }
+      } else {
+        base.MouseDoubleClick(point, button);
+      }
+    }
   }
 }
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/Results.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/Results.cs	(revision 1155)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/Results.cs	(revision 1156)
@@ -86,7 +86,7 @@
       if (store == null) yield break;
       entries = new List<ResultsEntry>();
-      var results = store.Query("<"+dataSetEntity + "> <" + Ontology.PredicateHasModel + "> ?Model ." + Environment.NewLine +
+      var results = store.Query("<" + dataSetEntity + "> <" + Ontology.PredicateHasModel + "> ?Model ." + Environment.NewLine +
         "?Model ?Attribute ?Value .")
-        .GroupBy(x=>(Entity)x.Get("Model"));
+        .GroupBy(x => (Entity)x.Get("Model"));
       foreach (var modelBindings in results) {
         ResultsEntry entry = new ResultsEntry(modelBindings.Key.Uri);
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/TableResultsView.Designer.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/TableResultsView.Designer.cs	(revision 1155)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/TableResultsView.Designer.cs	(revision 1156)
@@ -39,4 +39,5 @@
       this.dataGridView.Size = new System.Drawing.Size(450, 459);
       this.dataGridView.TabIndex = 0;
+      this.dataGridView.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridView_MouseDoubleClick);
       this.dataGridView.SelectionChanged += new System.EventHandler(this.dataGridView_SelectionChanged);
       // 
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/TableResultsView.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/TableResultsView.cs	(revision 1155)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/TableResultsView.cs	(revision 1156)
@@ -10,4 +10,5 @@
 using HeuristicLab.CEDMA.Core;
 using HeuristicLab.PluginInfrastructure;
+using HeuristicLab.CEDMA.DB.Interfaces;
 
 namespace HeuristicLab.CEDMA.Core {
@@ -62,4 +63,14 @@
       suppressEvents = false;
     }
+
+    private void dataGridView_MouseDoubleClick(object sender, MouseEventArgs e) {
+      if (e.Button == MouseButtons.Left && e.Clicks == 2) {
+        DataGridView.HitTestInfo hitInfo = dataGridView.HitTest(e.X, e.Y);
+        ResultsEntry entry = (ResultsEntry)dataGridView.Rows[hitInfo.RowIndex].Tag;
+        string serializedData =  (string)entry.Get(Ontology.PredicateSerializedData.Uri.Replace(Ontology.CedmaNameSpace, ""));
+        var model = (IItem)PersistenceManager.RestoreFromGZip(Convert.FromBase64String(serializedData));
+        PluginManager.ControlManager.ShowControl(model.CreateView());
+      }
+    }
   }
 
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Server/Executer.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Server/Executer.cs	(revision 1155)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Server/Executer.cs	(revision 1156)
@@ -42,5 +42,5 @@
   public class Executer {
     private static int MaxActiveJobs {
-      get { return 20; }
+      get { return 100; }
     }
     private Dispatcher dispatcher;
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.GP.StructureIdentification/OffSpringSelectionGpEditor.Designer.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.GP.StructureIdentification/OffSpringSelectionGpEditor.Designer.cs	(revision 1156)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.GP.StructureIdentification/OffSpringSelectionGpEditor.Designer.cs	(revision 1156)
@@ -0,0 +1,379 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+namespace HeuristicLab.GP.StructureIdentification {
+  partial class OffspringSelectionGpEditor {
+    /// <summary> 
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary> 
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (chooseOperatorDialog != null) chooseOperatorDialog.Dispose();
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Component Designer generated code
+
+    /// <summary> 
+    /// Required method for Designer support - do not modify 
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.executeButton = new System.Windows.Forms.Button();
+      this.tabControl = new System.Windows.Forms.TabControl();
+      this.parametersTabPage = new System.Windows.Forms.TabPage();
+      this.viewProblemInitializationButton = new System.Windows.Forms.Button();
+      this.setProblemInitializationButton = new System.Windows.Forms.Button();
+      this.problemInitializationTextBox = new System.Windows.Forms.TextBox();
+      this.setRandomSeedRandomlyCheckBox = new System.Windows.Forms.CheckBox();
+      this.elitesTextBox = new System.Windows.Forms.TextBox();
+      this.problemInitializationLabel = new System.Windows.Forms.Label();
+      this.elitesLabel = new System.Windows.Forms.Label();
+      this.mutationRateTextBox = new System.Windows.Forms.TextBox();
+      this.mutationRateLabel = new System.Windows.Forms.Label();
+      this.maximumGenerationsTextBox = new System.Windows.Forms.TextBox();
+      this.maximumGenerationsLabel = new System.Windows.Forms.Label();
+      this.randomSeedTextBox = new System.Windows.Forms.TextBox();
+      this.populationSizeTextBox = new System.Windows.Forms.TextBox();
+      this.setRandomSeedRandomlyLabel = new System.Windows.Forms.Label();
+      this.randomSeedLabel = new System.Windows.Forms.Label();
+      this.populationSizeLabel = new System.Windows.Forms.Label();
+      this.scopesTabPage = new System.Windows.Forms.TabPage();
+      this.scopeView = new HeuristicLab.Core.ScopeView();
+      this.abortButton = new System.Windows.Forms.Button();
+      this.resetButton = new System.Windows.Forms.Button();
+      this.cloneEngineButton = new System.Windows.Forms.Button();
+      this.tabControl.SuspendLayout();
+      this.parametersTabPage.SuspendLayout();
+      this.scopesTabPage.SuspendLayout();
+      this.SuspendLayout();
+      // 
+      // executeButton
+      // 
+      this.executeButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+      this.executeButton.Location = new System.Drawing.Point(0, 396);
+      this.executeButton.Name = "executeButton";
+      this.executeButton.Size = new System.Drawing.Size(75, 23);
+      this.executeButton.TabIndex = 1;
+      this.executeButton.Text = "&Execute";
+      this.executeButton.UseVisualStyleBackColor = true;
+      this.executeButton.Click += new System.EventHandler(this.executeButton_Click);
+      // 
+      // tabControl
+      // 
+      this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+                  | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.tabControl.Controls.Add(this.parametersTabPage);
+      this.tabControl.Controls.Add(this.scopesTabPage);
+      this.tabControl.Location = new System.Drawing.Point(0, 0);
+      this.tabControl.Name = "tabControl";
+      this.tabControl.SelectedIndex = 0;
+      this.tabControl.Size = new System.Drawing.Size(526, 390);
+      this.tabControl.TabIndex = 0;
+      // 
+      // parametersTabPage
+      // 
+      this.parametersTabPage.Controls.Add(this.viewProblemInitializationButton);
+      this.parametersTabPage.Controls.Add(this.setProblemInitializationButton);
+      this.parametersTabPage.Controls.Add(this.problemInitializationTextBox);
+      this.parametersTabPage.Controls.Add(this.setRandomSeedRandomlyCheckBox);
+      this.parametersTabPage.Controls.Add(this.elitesTextBox);
+      this.parametersTabPage.Controls.Add(this.problemInitializationLabel);
+      this.parametersTabPage.Controls.Add(this.elitesLabel);
+      this.parametersTabPage.Controls.Add(this.mutationRateTextBox);
+      this.parametersTabPage.Controls.Add(this.mutationRateLabel);
+      this.parametersTabPage.Controls.Add(this.maximumGenerationsTextBox);
+      this.parametersTabPage.Controls.Add(this.maximumGenerationsLabel);
+      this.parametersTabPage.Controls.Add(this.randomSeedTextBox);
+      this.parametersTabPage.Controls.Add(this.populationSizeTextBox);
+      this.parametersTabPage.Controls.Add(this.setRandomSeedRandomlyLabel);
+      this.parametersTabPage.Controls.Add(this.randomSeedLabel);
+      this.parametersTabPage.Controls.Add(this.populationSizeLabel);
+      this.parametersTabPage.Location = new System.Drawing.Point(4, 22);
+      this.parametersTabPage.Name = "parametersTabPage";
+      this.parametersTabPage.Padding = new System.Windows.Forms.Padding(3);
+      this.parametersTabPage.Size = new System.Drawing.Size(518, 364);
+      this.parametersTabPage.TabIndex = 0;
+      this.parametersTabPage.Text = "Parameters";
+      this.parametersTabPage.UseVisualStyleBackColor = true;
+      // 
+      // viewProblemInitializationButton
+      // 
+      this.viewProblemInitializationButton.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.viewProblemInitializationButton.Location = new System.Drawing.Point(410, 208);
+      this.viewProblemInitializationButton.Name = "viewProblemInitializationButton";
+      this.viewProblemInitializationButton.Size = new System.Drawing.Size(53, 20);
+      this.viewProblemInitializationButton.TabIndex = 14;
+      this.viewProblemInitializationButton.Text = "View...";
+      this.viewProblemInitializationButton.UseVisualStyleBackColor = true;
+      this.viewProblemInitializationButton.Click += new System.EventHandler(this.viewProblemInjectorButton_Click);
+      // 
+      // setProblemInitializationButton
+      // 
+      this.setProblemInitializationButton.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.setProblemInitializationButton.Location = new System.Drawing.Point(469, 208);
+      this.setProblemInitializationButton.Name = "setProblemInitializationButton";
+      this.setProblemInitializationButton.Size = new System.Drawing.Size(43, 20);
+      this.setProblemInitializationButton.TabIndex = 15;
+      this.setProblemInitializationButton.Text = "Set...";
+      this.setProblemInitializationButton.UseVisualStyleBackColor = true;
+      this.setProblemInitializationButton.Click += new System.EventHandler(this.setProblemInitializationButton_Click);
+      // 
+      // problemInitializationTextBox
+      // 
+      this.problemInitializationTextBox.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.problemInitializationTextBox.Location = new System.Drawing.Point(218, 208);
+      this.problemInitializationTextBox.Name = "problemInitializationTextBox";
+      this.problemInitializationTextBox.ReadOnly = true;
+      this.problemInitializationTextBox.Size = new System.Drawing.Size(186, 20);
+      this.problemInitializationTextBox.TabIndex = 13;
+      // 
+      // setRandomSeedRandomlyCheckBox
+      // 
+      this.setRandomSeedRandomlyCheckBox.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.setRandomSeedRandomlyCheckBox.AutoSize = true;
+      this.setRandomSeedRandomlyCheckBox.Location = new System.Drawing.Point(218, 6);
+      this.setRandomSeedRandomlyCheckBox.Name = "setRandomSeedRandomlyCheckBox";
+      this.setRandomSeedRandomlyCheckBox.Size = new System.Drawing.Size(15, 14);
+      this.setRandomSeedRandomlyCheckBox.TabIndex = 1;
+      this.setRandomSeedRandomlyCheckBox.UseVisualStyleBackColor = true;
+      // 
+      // elitesTextBox
+      // 
+      this.elitesTextBox.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.elitesTextBox.Location = new System.Drawing.Point(218, 156);
+      this.elitesTextBox.Name = "elitesTextBox";
+      this.elitesTextBox.Size = new System.Drawing.Size(186, 20);
+      this.elitesTextBox.TabIndex = 11;
+      // 
+      // problemInitializationLabel
+      // 
+      this.problemInitializationLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.problemInitializationLabel.AutoSize = true;
+      this.problemInitializationLabel.Location = new System.Drawing.Point(65, 211);
+      this.problemInitializationLabel.Name = "problemInitializationLabel";
+      this.problemInitializationLabel.Size = new System.Drawing.Size(105, 13);
+      this.problemInitializationLabel.TabIndex = 12;
+      this.problemInitializationLabel.Text = "&Problem Initialization:";
+      // 
+      // elitesLabel
+      // 
+      this.elitesLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.elitesLabel.AutoSize = true;
+      this.elitesLabel.Location = new System.Drawing.Point(65, 159);
+      this.elitesLabel.Name = "elitesLabel";
+      this.elitesLabel.Size = new System.Drawing.Size(35, 13);
+      this.elitesLabel.TabIndex = 10;
+      this.elitesLabel.Text = "&Elites:";
+      // 
+      // mutationRateTextBox
+      // 
+      this.mutationRateTextBox.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.mutationRateTextBox.Location = new System.Drawing.Point(218, 130);
+      this.mutationRateTextBox.Name = "mutationRateTextBox";
+      this.mutationRateTextBox.Size = new System.Drawing.Size(186, 20);
+      this.mutationRateTextBox.TabIndex = 9;
+      // 
+      // mutationRateLabel
+      // 
+      this.mutationRateLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.mutationRateLabel.AutoSize = true;
+      this.mutationRateLabel.Location = new System.Drawing.Point(65, 133);
+      this.mutationRateLabel.Name = "mutationRateLabel";
+      this.mutationRateLabel.Size = new System.Drawing.Size(77, 13);
+      this.mutationRateLabel.TabIndex = 8;
+      this.mutationRateLabel.Text = "&Mutation Rate:";
+      // 
+      // maximumGenerationsTextBox
+      // 
+      this.maximumGenerationsTextBox.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.maximumGenerationsTextBox.Location = new System.Drawing.Point(218, 104);
+      this.maximumGenerationsTextBox.Name = "maximumGenerationsTextBox";
+      this.maximumGenerationsTextBox.Size = new System.Drawing.Size(186, 20);
+      this.maximumGenerationsTextBox.TabIndex = 7;
+      // 
+      // maximumGenerationsLabel
+      // 
+      this.maximumGenerationsLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.maximumGenerationsLabel.AutoSize = true;
+      this.maximumGenerationsLabel.Location = new System.Drawing.Point(65, 107);
+      this.maximumGenerationsLabel.Name = "maximumGenerationsLabel";
+      this.maximumGenerationsLabel.Size = new System.Drawing.Size(114, 13);
+      this.maximumGenerationsLabel.TabIndex = 6;
+      this.maximumGenerationsLabel.Text = "Maximum &Generations:";
+      // 
+      // randomSeedTextBox
+      // 
+      this.randomSeedTextBox.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.randomSeedTextBox.Location = new System.Drawing.Point(218, 26);
+      this.randomSeedTextBox.Name = "randomSeedTextBox";
+      this.randomSeedTextBox.Size = new System.Drawing.Size(186, 20);
+      this.randomSeedTextBox.TabIndex = 3;
+      // 
+      // populationSizeTextBox
+      // 
+      this.populationSizeTextBox.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.populationSizeTextBox.Location = new System.Drawing.Point(218, 78);
+      this.populationSizeTextBox.Name = "populationSizeTextBox";
+      this.populationSizeTextBox.Size = new System.Drawing.Size(186, 20);
+      this.populationSizeTextBox.TabIndex = 5;
+      // 
+      // setRandomSeedRandomlyLabel
+      // 
+      this.setRandomSeedRandomlyLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.setRandomSeedRandomlyLabel.AutoSize = true;
+      this.setRandomSeedRandomlyLabel.Location = new System.Drawing.Point(65, 6);
+      this.setRandomSeedRandomlyLabel.Name = "setRandomSeedRandomlyLabel";
+      this.setRandomSeedRandomlyLabel.Size = new System.Drawing.Size(147, 13);
+      this.setRandomSeedRandomlyLabel.TabIndex = 0;
+      this.setRandomSeedRandomlyLabel.Text = "Set &Random Seed Randomly:";
+      // 
+      // randomSeedLabel
+      // 
+      this.randomSeedLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.randomSeedLabel.AutoSize = true;
+      this.randomSeedLabel.Location = new System.Drawing.Point(65, 29);
+      this.randomSeedLabel.Name = "randomSeedLabel";
+      this.randomSeedLabel.Size = new System.Drawing.Size(78, 13);
+      this.randomSeedLabel.TabIndex = 2;
+      this.randomSeedLabel.Text = "&Random Seed:";
+      // 
+      // populationSizeLabel
+      // 
+      this.populationSizeLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.populationSizeLabel.AutoSize = true;
+      this.populationSizeLabel.Location = new System.Drawing.Point(65, 81);
+      this.populationSizeLabel.Name = "populationSizeLabel";
+      this.populationSizeLabel.Size = new System.Drawing.Size(83, 13);
+      this.populationSizeLabel.TabIndex = 4;
+      this.populationSizeLabel.Text = "&Population Size:";
+      // 
+      // scopesTabPage
+      // 
+      this.scopesTabPage.Controls.Add(this.scopeView);
+      this.scopesTabPage.Location = new System.Drawing.Point(4, 22);
+      this.scopesTabPage.Name = "scopesTabPage";
+      this.scopesTabPage.Padding = new System.Windows.Forms.Padding(3);
+      this.scopesTabPage.Size = new System.Drawing.Size(518, 364);
+      this.scopesTabPage.TabIndex = 2;
+      this.scopesTabPage.Text = "Scopes";
+      this.scopesTabPage.UseVisualStyleBackColor = true;
+      // 
+      // scopeView
+      // 
+      this.scopeView.Caption = "Scope";
+      this.scopeView.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.scopeView.Location = new System.Drawing.Point(3, 3);
+      this.scopeView.Name = "scopeView";
+      this.scopeView.Scope = null;
+      this.scopeView.Size = new System.Drawing.Size(512, 358);
+      this.scopeView.TabIndex = 0;
+      // 
+      // abortButton
+      // 
+      this.abortButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+      this.abortButton.Enabled = false;
+      this.abortButton.Location = new System.Drawing.Point(81, 396);
+      this.abortButton.Name = "abortButton";
+      this.abortButton.Size = new System.Drawing.Size(75, 23);
+      this.abortButton.TabIndex = 2;
+      this.abortButton.Text = "&Abort";
+      this.abortButton.UseVisualStyleBackColor = true;
+      this.abortButton.Click += new System.EventHandler(this.abortButton_Click);
+      // 
+      // resetButton
+      // 
+      this.resetButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+      this.resetButton.Location = new System.Drawing.Point(162, 396);
+      this.resetButton.Name = "resetButton";
+      this.resetButton.Size = new System.Drawing.Size(75, 23);
+      this.resetButton.TabIndex = 3;
+      this.resetButton.Text = "&Reset";
+      this.resetButton.UseVisualStyleBackColor = true;
+      this.resetButton.Click += new System.EventHandler(this.resetButton_Click);
+      // 
+      // cloneEngineButton
+      // 
+      this.cloneEngineButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+      this.cloneEngineButton.Location = new System.Drawing.Point(420, 396);
+      this.cloneEngineButton.Name = "cloneEngineButton";
+      this.cloneEngineButton.Size = new System.Drawing.Size(106, 23);
+      this.cloneEngineButton.TabIndex = 4;
+      this.cloneEngineButton.Text = "&Clone Engine...";
+      this.cloneEngineButton.UseVisualStyleBackColor = true;
+      this.cloneEngineButton.Click += new System.EventHandler(this.cloneEngineButton_Click);
+      // 
+      // StandardGpEditor
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.tabControl);
+      this.Controls.Add(this.cloneEngineButton);
+      this.Controls.Add(this.resetButton);
+      this.Controls.Add(this.abortButton);
+      this.Controls.Add(this.executeButton);
+      this.Name = "StandardGpEditor";
+      this.Size = new System.Drawing.Size(526, 419);
+      this.tabControl.ResumeLayout(false);
+      this.parametersTabPage.ResumeLayout(false);
+      this.parametersTabPage.PerformLayout();
+      this.scopesTabPage.ResumeLayout(false);
+      this.ResumeLayout(false);
+
+    }
+
+    #endregion
+
+    private System.Windows.Forms.Button executeButton;
+    private System.Windows.Forms.TabControl tabControl;
+    private System.Windows.Forms.TabPage parametersTabPage;
+    private System.Windows.Forms.Button abortButton;
+    private System.Windows.Forms.Button resetButton;
+    private System.Windows.Forms.TextBox mutationRateTextBox;
+    private System.Windows.Forms.Label mutationRateLabel;
+    private System.Windows.Forms.TextBox populationSizeTextBox;
+    private System.Windows.Forms.Label populationSizeLabel;
+    private System.Windows.Forms.TabPage scopesTabPage;
+    private System.Windows.Forms.TextBox maximumGenerationsTextBox;
+    private System.Windows.Forms.Label maximumGenerationsLabel;
+    private System.Windows.Forms.TextBox elitesTextBox;
+    private System.Windows.Forms.Label elitesLabel;
+    private System.Windows.Forms.TextBox randomSeedTextBox;
+    private System.Windows.Forms.Label setRandomSeedRandomlyLabel;
+    private System.Windows.Forms.Label randomSeedLabel;
+    private System.Windows.Forms.CheckBox setRandomSeedRandomlyCheckBox;
+    private System.Windows.Forms.Label problemInitializationLabel;
+    private System.Windows.Forms.Button cloneEngineButton;
+    private System.Windows.Forms.TextBox problemInitializationTextBox;
+    private System.Windows.Forms.Button setProblemInitializationButton;
+    private HeuristicLab.Core.ScopeView scopeView;
+    private System.Windows.Forms.Button viewProblemInitializationButton;
+  }
+}
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.GP.StructureIdentification/OffSpringSelectionGpEditor.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.GP.StructureIdentification/OffSpringSelectionGpEditor.cs	(revision 1156)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.GP.StructureIdentification/OffSpringSelectionGpEditor.cs	(revision 1156)
@@ -0,0 +1,135 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using HeuristicLab.PluginInfrastructure;
+using HeuristicLab.Core;
+
+namespace HeuristicLab.GP.StructureIdentification {
+  public partial class OffspringSelectionGpEditor : EditorBase {
+    private ChooseOperatorDialog chooseOperatorDialog;
+
+    public OffspringSelectionGpEditor OffspringSelectionGpEditor {
+      get { return (OffspringSelectionGpEditor)Item; }
+      set { base.Item = value; }
+    }
+
+    public OffspringSelectionGpEditor() {
+      InitializeComponent();
+    }
+    public OffspringSelectionGpEditor(OffspringSelectionGpEditor osgp)
+      : this() {
+      OffspringSelectionGpEditor = osgp;
+    }
+
+    protected override void RemoveItemEvents() {
+      OffspringSelectionGpEditor.Engine.ExceptionOccurred -= new EventHandler<ExceptionEventArgs>(Engine_ExceptionOccurred);
+      OffspringSelectionGpEditor.Engine.Finished -= new EventHandler(Engine_Finished);
+      scopeView.Scope = null;
+      base.RemoveItemEvents();
+    }
+    protected override void AddItemEvents() {
+      base.AddItemEvents();
+      OffspringSelectionGpEditor.Engine.ExceptionOccurred += new EventHandler<ExceptionEventArgs>(Engine_ExceptionOccurred);
+      OffspringSelectionGpEditor.Engine.Finished += new EventHandler(Engine_Finished);
+      SetDataBinding();
+      scopeView.Scope = OffspringSelectionGpEditor.Engine.GlobalScope;
+    }
+
+    protected override void UpdateControls() {
+      base.UpdateControls();
+      if (OffspringSelectionGpEditor == null) {
+        tabControl.Enabled = false;
+      } else {
+        tabControl.Enabled = true;
+        problemInitializationTextBox.Text = OffspringSelectionGpEditor.ProblemInjector.GetType().Name;
+      }
+    }
+
+    private void SetDataBinding() {
+      setRandomSeedRandomlyCheckBox.DataBindings.Add("Checked", OffspringSelectionGpEditor, "SetSeedRandomly");
+      randomSeedTextBox.DataBindings.Add("Text", OffspringSelectionGpEditor, "Seed");
+      populationSizeTextBox.DataBindings.Add("Text", OffspringSelectionGpEditor, "PopulationSize");
+      maximumGenerationsTextBox.DataBindings.Add("Text", OffspringSelectionGpEditor, "MaxGenerations");
+      mutationRateTextBox.DataBindings.Add("Text", OffspringSelectionGpEditor, "MutationRate");
+      elitesTextBox.DataBindings.Add("Text", OffspringSelectionGpEditor, "Elites");
+    }
+
+    #region Button Events
+    private void viewProblemInjectorButton_Click(object sender, EventArgs e) {
+      IView view = OffspringSelectionGpEditor.ProblemInjector.CreateView();
+      if(view != null)
+        PluginManager.ControlManager.ShowControl(view);
+    }
+
+    private void setProblemInitializationButton_Click(object sender, EventArgs e) {
+      if (chooseOperatorDialog == null) chooseOperatorDialog = new ChooseOperatorDialog();
+      if (chooseOperatorDialog.ShowDialog(this) == DialogResult.OK) {
+        OffspringSelectionGpEditor.ProblemInjector = chooseOperatorDialog.Operator;
+        problemInitializationTextBox.Text = OffspringSelectionGpEditor.ProblemInjector.GetType().Name;
+      }
+    }
+    private void executeButton_Click(object sender, EventArgs e) {
+      executeButton.Enabled = false;
+      abortButton.Enabled = true;
+      OffspringSelectionGpEditor.Engine.Execute();
+    }
+    private void abortButton_Click(object sender, EventArgs e) {
+      StandardGP.Engine.Abort();
+    }
+    private void resetButton_Click(object sender, EventArgs e) {
+      StandardGP.Engine.Reset();
+    }
+    private void cloneEngineButton_Click(object sender, EventArgs e) {
+      IEngine clone = (IEngine)StandardGP.Engine.Clone();
+      IEditor editor = ((IEditable)clone).CreateEditor();
+      PluginManager.ControlManager.ShowControl(editor);
+    }
+    #endregion
+
+    #region Engine Events
+    private delegate void OnExceptionEventDelegate(object sender, ExceptionEventArgs e);
+    private void Engine_ExceptionOccurred(object sender, ExceptionEventArgs e) {
+      if (InvokeRequired)
+        Invoke(new OnExceptionEventDelegate(Engine_ExceptionOccurred), sender, e);
+      else
+        Auxiliary.ShowErrorMessageBox(e.Exception);
+    }
+    private void Engine_Finished(object sender, EventArgs e) {
+      if(InvokeRequired)
+        Invoke((EventHandler)Engine_Finished, sender, e);
+      else {
+        scopeView.Refresh();
+        executeButton.Enabled = true;
+        abortButton.Enabled = false;
+      }
+    }
+    #endregion
+
+
+  }
+}
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.GP.StructureIdentification/OffSpringSelectionGpEditor.resx
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.GP.StructureIdentification/OffSpringSelectionGpEditor.resx	(revision 1156)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.GP.StructureIdentification/OffSpringSelectionGpEditor.resx	(revision 1156)
@@ -0,0 +1,120 @@
+<?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>
+</root>
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.GP.StructureIdentification/OffspringSelectionGP.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.GP.StructureIdentification/OffspringSelectionGP.cs	(revision 1156)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.GP.StructureIdentification/OffspringSelectionGP.cs	(revision 1156)
@@ -0,0 +1,506 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Core;
+using System.Xml;
+using System.Diagnostics;
+using HeuristicLab.DataAnalysis;
+using HeuristicLab.Operators;
+using HeuristicLab.Random;
+using HeuristicLab.Selection;
+using HeuristicLab.Logging;
+using HeuristicLab.Data;
+using HeuristicLab.Operators.Programmable;
+
+namespace HeuristicLab.GP.StructureIdentification {
+  public class OffspringSelectionGP : ItemBase, IEditable {
+    private IntData maxGenerations = new IntData();
+    public int MaxGenerations {
+      get { return maxGenerations.Data; }
+      set { maxGenerations.Data = value; }
+    }
+
+    private DoubleData mutationRate = new DoubleData();
+    public double MutationRate {
+      get { return mutationRate.Data; }
+      set { mutationRate.Data = value; }
+    }
+
+    private IntData parents = new IntData();
+    private IntData populationSize = new IntData();
+    public int PopulationSize {
+      get { return populationSize.Data; }
+      set {
+        populationSize.Data = value;
+        parents.Data = value * 2;
+      }
+    }
+
+    private BoolData setSeedRandomly = new BoolData();
+    public bool SetSeedRandomly {
+      get { return setSeedRandomly.Data; }
+      set { setSeedRandomly.Data = value; }
+    }
+
+    private IntData seed = new IntData();
+    public int Seed {
+      get { return seed.Data; }
+      set { seed.Data = value; }
+    }
+
+    public IOperator ProblemInjector {
+      get { return algorithm.SubOperators[0]; }
+      set {
+        value.Name = "ProblemInjector";
+        algorithm.RemoveSubOperator(0);
+        algorithm.AddSubOperator(value, 0);
+      }
+    }
+
+    private IntData elites = new IntData();
+    public int Elites {
+      get { return elites.Data; }
+      set { elites.Data = value; }
+    }
+
+    private IntData maxTreeSize;
+    public int MaxTreeSize {
+      get { return maxTreeSize.Data; }
+      set { maxTreeSize.Data = value; }
+    }
+
+    private IntData maxTreeHeight;
+    public int MaxTreeHeight {
+      get { return maxTreeHeight.Data; }
+      set { maxTreeHeight.Data = value; }
+    }
+
+    private DoubleData maxSelectionPressure;
+    public double MaxSelectionPressure {
+      get { return maxSelectionPressure.Data; }
+      set { maxSelectionPressure.Data = value; }
+    }
+
+    private double punishmentFactor = 10.0;
+    private bool useEstimatedTargetValue = false;
+    private double fullTreeShakingFactor = 0.1;
+    private double onepointShakingFactor = 1.0;
+    private IOperator algorithm;
+
+    private SequentialEngine.SequentialEngine engine;
+    public IEngine Engine {
+      get { return engine; }
+    }
+
+    public OffspringSelectionGP() {
+      PopulationSize = 1000;
+      MaxGenerations = 100;
+      MutationRate = 0.15;
+      Elites = 1;
+      MaxSelectionPressure = 300;
+      MaxTreeHeight = 10;
+      MaxTreeSize = 100;
+      engine = new SequentialEngine.SequentialEngine();
+      CombinedOperator algo = CreateAlgorithm();
+      engine.OperatorGraph.AddOperator(algo);
+      engine.OperatorGraph.InitialOperator = algo;
+    }
+
+    private CombinedOperator CreateAlgorithm() {
+      CombinedOperator algo = new CombinedOperator();
+      algo.Name = "StandardGP";
+      SequentialProcessor seq = new SequentialProcessor();
+      EmptyOperator problemInjectorPlaceholder = new EmptyOperator();
+      RandomInjector randomInjector = new RandomInjector();
+      randomInjector.GetVariable("SetSeedRandomly").Value = setSeedRandomly;
+      randomInjector.GetVariable("Seed").Value = seed;
+      randomInjector.Name = "Random Injector";
+      VariableInjector globalInjector = CreateGlobalInjector();
+      CombinedOperator initialization = CreateInialization();
+      initialization.Name = "Initialization";
+      FunctionLibraryInjector funLibInjector = new FunctionLibraryInjector();
+      CombinedOperator mainLoop = CreateMainLoop();
+      mainLoop.Name = "Main loop";
+
+      ProbabilisticTreeCreator treeCreator = new ProbabilisticTreeCreator();
+      treeCreator.Name = "Tree generator";
+      treeCreator.GetVariableInfo("OperatorLibrary").ActualName = "FunctionLibrary";
+      treeCreator.GetVariableInfo("MinTreeSize").Local = true;
+      treeCreator.AddVariable(new HeuristicLab.Core.Variable("MinTreeSize", new IntData(3)));
+      MeanSquaredErrorEvaluator evaluator = new MeanSquaredErrorEvaluator();
+      evaluator.GetVariableInfo("MSE").ActualName = "Quality";
+      evaluator.GetVariableInfo("SamplesStart").ActualName = "TrainingSamplesStart";
+      evaluator.GetVariableInfo("SamplesEnd").ActualName = "TrainingSamplesEnd";
+      evaluator.Name = "Evaluator";
+      StandardCrossOver crossover = new StandardCrossOver();
+      crossover.Name = "Crossover";
+      crossover.GetVariableInfo("OperatorLibrary").ActualName = "FunctionLibrary";
+      CombinedOperator manipulator = CreateManipulator();
+      manipulator.Name = "Manipulator";
+      TournamentSelector selector = new TournamentSelector();
+      selector.Name = "Selector";
+      selector.GetVariableInfo("Selected").ActualName = "Parents";
+      selector.GetVariableInfo("GroupSize").Local = false;
+      selector.RemoveVariable("GroupSize");
+      selector.GetVariableInfo("GroupSize").ActualName = "TournamentSize";
+      LeftReducer cleanUp = new LeftReducer();
+
+      seq.AddSubOperator(problemInjectorPlaceholder);
+      seq.AddSubOperator(randomInjector);
+      seq.AddSubOperator(globalInjector);
+      seq.AddSubOperator(funLibInjector);
+      seq.AddSubOperator(initialization);
+      seq.AddSubOperator(mainLoop);
+      seq.AddSubOperator(cleanUp);
+
+      initialization.AddSubOperator(treeCreator);
+      initialization.AddSubOperator(evaluator);
+
+      mainLoop.AddSubOperator(selector);
+      mainLoop.AddSubOperator(crossover);
+      mainLoop.AddSubOperator(manipulator);
+      mainLoop.AddSubOperator(evaluator);
+      algo.OperatorGraph.AddOperator(seq);
+      algo.OperatorGraph.InitialOperator = seq;
+      this.algorithm = seq;
+      return algo;
+    }
+
+    private VariableInjector CreateGlobalInjector() {
+      VariableInjector injector = new VariableInjector();
+      injector.Name = "Global Injector";
+      injector.AddVariable(new HeuristicLab.Core.Variable("Generations", new IntData(0)));
+      injector.AddVariable(new HeuristicLab.Core.Variable("MaxGenerations", maxGenerations));
+      injector.AddVariable(new HeuristicLab.Core.Variable("MutationRate", mutationRate));
+      injector.AddVariable(new HeuristicLab.Core.Variable("PopulationSize", populationSize));
+      injector.AddVariable(new HeuristicLab.Core.Variable("Parents", parents));
+      injector.AddVariable(new HeuristicLab.Core.Variable("Elites", elites));
+      injector.AddVariable(new HeuristicLab.Core.Variable("Maximization", new BoolData(false)));
+      injector.AddVariable(new HeuristicLab.Core.Variable("MaxTreeHeight", maxTreeHeight));
+      injector.AddVariable(new HeuristicLab.Core.Variable("MaxTreeSize", maxTreeSize));
+      injector.AddVariable(new HeuristicLab.Core.Variable("EvaluatedSolutions", new IntData(0)));
+      injector.AddVariable(new HeuristicLab.Core.Variable("TotalEvaluatedNodes", new DoubleData(0)));
+      injector.AddVariable(new HeuristicLab.Core.Variable("PunishmentFactor", new DoubleData(punishmentFactor)));
+      injector.AddVariable(new HeuristicLab.Core.Variable("UseEstimatedTargetValue", new BoolData(useEstimatedTargetValue)));
+      return injector;
+    }
+
+    private CombinedOperator CreateManipulator() {
+      CombinedOperator manipulator = new CombinedOperator();
+      StochasticMultiBranch multibranch = new StochasticMultiBranch();
+      FullTreeShaker fullTreeShaker = new FullTreeShaker();
+      fullTreeShaker.GetVariableInfo("OperatorLibrary").ActualName = "FunctionLibrary";
+      fullTreeShaker.GetVariableInfo("ShakingFactor").Local = true;
+      fullTreeShaker.AddVariable(new HeuristicLab.Core.Variable("ShakingFactor", new DoubleData(fullTreeShakingFactor)));
+
+      OnePointShaker onepointShaker = new OnePointShaker();
+      onepointShaker.GetVariableInfo("OperatorLibrary").ActualName = "FunctionLibrary";
+      onepointShaker.GetVariableInfo("ShakingFactor").Local = true;
+      onepointShaker.AddVariable(new HeuristicLab.Core.Variable("ShakingFactor", new DoubleData(onepointShakingFactor)));
+      ChangeNodeTypeManipulation changeNodeTypeManipulation = new ChangeNodeTypeManipulation();
+      changeNodeTypeManipulation.GetVariableInfo("OperatorLibrary").ActualName = "FunctionLibrary";
+      CutOutNodeManipulation cutOutNodeManipulation = new CutOutNodeManipulation();
+      cutOutNodeManipulation.GetVariableInfo("OperatorLibrary").ActualName = "FunctionLibrary";
+      DeleteSubTreeManipulation deleteSubTreeManipulation = new DeleteSubTreeManipulation();
+      deleteSubTreeManipulation.GetVariableInfo("OperatorLibrary").ActualName = "FunctionLibrary";
+      SubstituteSubTreeManipulation substituteSubTreeManipulation = new SubstituteSubTreeManipulation();
+      substituteSubTreeManipulation.GetVariableInfo("OperatorLibrary").ActualName = "FunctionLibrary";
+
+      IOperator[] manipulators = new IOperator[] {
+        onepointShaker, fullTreeShaker,
+        changeNodeTypeManipulation,
+        cutOutNodeManipulation,
+        deleteSubTreeManipulation,
+        substituteSubTreeManipulation};
+
+      DoubleArrayData probabilities = new DoubleArrayData(new double[manipulators.Length]);
+      for (int i = 0; i < manipulators.Length; i++) {
+        probabilities.Data[i] = 1.0;
+        multibranch.AddSubOperator(manipulators[i]);
+      }
+      multibranch.GetVariableInfo("Probabilities").Local = true;
+      multibranch.AddVariable(new HeuristicLab.Core.Variable("Probabilities", probabilities));
+
+      manipulator.OperatorGraph.AddOperator(multibranch);
+      manipulator.OperatorGraph.InitialOperator = multibranch;
+      return manipulator;
+    }
+
+    private CombinedOperator CreateInialization() {
+      CombinedOperator init = new CombinedOperator();
+      SequentialProcessor seq = new SequentialProcessor();
+      SubScopesCreater subScopesCreater = new SubScopesCreater();
+      subScopesCreater.GetVariableInfo("SubScopes").ActualName = "PopulationSize";
+      UniformSequentialSubScopesProcessor subScopesProc = new UniformSequentialSubScopesProcessor();
+      SequentialProcessor individualSeq = new SequentialProcessor();
+      OperatorExtractor treeCreater = new OperatorExtractor();
+      treeCreater.Name = "Tree generator (extr.)";
+      treeCreater.GetVariableInfo("Operator").ActualName = "Tree generator";
+      OperatorExtractor evaluator = new OperatorExtractor();
+      evaluator.Name = "Evaluator (extr.)";
+      evaluator.GetVariableInfo("Operator").ActualName = "Evaluator";
+      MeanSquaredErrorEvaluator validationEvaluator = new MeanSquaredErrorEvaluator();
+      validationEvaluator.GetVariableInfo("MSE").ActualName = "ValidationQuality";
+      validationEvaluator.GetVariableInfo("SamplesStart").ActualName = "ValidationSamplesStart";
+      validationEvaluator.GetVariableInfo("SamplesEnd").ActualName = "ValidationSamplesEnd";
+      Counter evalCounter = new Counter();
+      evalCounter.GetVariableInfo("Value").ActualName = "EvaluatedSolutions";
+
+      seq.AddSubOperator(subScopesCreater);
+      seq.AddSubOperator(subScopesProc);
+      subScopesProc.AddSubOperator(individualSeq);
+      individualSeq.AddSubOperator(treeCreater);
+      individualSeq.AddSubOperator(evaluator);
+      individualSeq.AddSubOperator(validationEvaluator);
+      individualSeq.AddSubOperator(evalCounter);
+
+      init.OperatorGraph.AddOperator(seq);
+      init.OperatorGraph.InitialOperator = seq;
+      return init;
+    }
+
+    private CombinedOperator CreateMainLoop() {
+      CombinedOperator main = new CombinedOperator();
+      SequentialProcessor seq = new SequentialProcessor();
+      CombinedOperator childCreater = CreateChildCreater();
+      childCreater.Name = "Create children";
+      CombinedOperator replacement = CreateReplacement();
+      replacement.Name = "Replacement";
+      BestSolutionStorer solutionStorer = CreateBestSolutionStorer();
+      BestAverageWorstQualityCalculator qualityCalculator = new BestAverageWorstQualityCalculator();
+      BestAverageWorstQualityCalculator validationQualityCalculator = new BestAverageWorstQualityCalculator();
+      validationQualityCalculator.Name = "ValidationQualityCalculator";
+      validationQualityCalculator.GetVariableInfo("BestQuality").ActualName = "BestValidationQuality";
+      validationQualityCalculator.GetVariableInfo("AverageQuality").ActualName = "AverageValidationQuality";
+      validationQualityCalculator.GetVariableInfo("WorstQuality").ActualName = "WorstValidationQuality";
+      DataCollector collector = new DataCollector();
+      ItemList<StringData> names = collector.GetVariable("VariableNames").GetValue<ItemList<StringData>>();
+      names.Add(new StringData("BestQuality"));
+      names.Add(new StringData("AverageQuality"));
+      names.Add(new StringData("WorstQuality"));
+      names.Add(new StringData("BestValidationQuality"));
+      names.Add(new StringData("AverageValidationQuality"));
+      names.Add(new StringData("WorstValidationQuality"));
+      LinechartInjector lineChartInjector = new LinechartInjector();
+      lineChartInjector.GetVariableInfo("Linechart").ActualName = "Quality Linechart";
+      lineChartInjector.GetVariable("NumberOfLines").GetValue<IntData>().Data = 6;
+      QualityLogger qualityLogger = new QualityLogger();
+      QualityLogger validationQualityLogger = new QualityLogger();
+      validationQualityCalculator.Name = "ValidationQualityLogger";
+      validationQualityLogger.GetVariableInfo("Quality").ActualName = "ValidationQuality";
+      validationQualityLogger.GetVariableInfo("QualityLog").ActualName = "ValidationQualityLog";
+      Counter counter = new Counter();
+      counter.GetVariableInfo("Value").ActualName = "Generations";
+      LessThanComparator comparator = new LessThanComparator();
+      comparator.GetVariableInfo("LeftSide").ActualName = "Generations";
+      comparator.GetVariableInfo("RightSide").ActualName = "MaxGenerations";
+      comparator.GetVariableInfo("Result").ActualName = "GenerationsCondition";
+      ConditionalBranch cond = new ConditionalBranch();
+      cond.GetVariableInfo("Condition").ActualName = "GenerationsCondition";
+
+      seq.AddSubOperator(childCreater);
+      seq.AddSubOperator(replacement);
+      seq.AddSubOperator(solutionStorer);
+      seq.AddSubOperator(qualityCalculator);
+      seq.AddSubOperator(validationQualityCalculator);
+      seq.AddSubOperator(collector);
+      seq.AddSubOperator(lineChartInjector);
+      seq.AddSubOperator(qualityLogger);
+      seq.AddSubOperator(validationQualityLogger);
+      seq.AddSubOperator(counter);
+      seq.AddSubOperator(comparator);
+      seq.AddSubOperator(cond);
+      cond.AddSubOperator(seq);
+
+      main.OperatorGraph.AddOperator(seq);
+      main.OperatorGraph.InitialOperator = seq;
+      return main;
+    }
+
+    private BestSolutionStorer CreateBestSolutionStorer() {
+      BestSolutionStorer solutionStorer = new BestSolutionStorer();
+      solutionStorer.GetVariableInfo("Quality").ActualName = "ValidationQuality";
+      solutionStorer.GetVariableInfo("BestSolution").ActualName = "BestValidationSolution";
+      SequentialProcessor bestSolutionProcessor = new SequentialProcessor();
+      MeanAbsolutePercentageErrorEvaluator trainingMapeEvaluator = new MeanAbsolutePercentageErrorEvaluator();
+      trainingMapeEvaluator.Name = "ValidationMapeEvaluator";
+      trainingMapeEvaluator.GetVariableInfo("MAPE").ActualName = "TrainingMAPE";
+      trainingMapeEvaluator.GetVariableInfo("SamplesStart").ActualName = "TrainingSamplesStart";
+      trainingMapeEvaluator.GetVariableInfo("SamplesEnd").ActualName = "TrainingSamplesEnd";
+      MeanAbsolutePercentageErrorEvaluator validationMapeEvaluator = new MeanAbsolutePercentageErrorEvaluator();
+      validationMapeEvaluator.Name = "ValidationMapeEvaluator";
+      validationMapeEvaluator.GetVariableInfo("MAPE").ActualName = "ValidationMAPE";
+      validationMapeEvaluator.GetVariableInfo("SamplesStart").ActualName = "ValidationSamplesStart";
+      validationMapeEvaluator.GetVariableInfo("SamplesEnd").ActualName = "ValidationSamplesEnd";
+      ProgrammableOperator progOperator = new ProgrammableOperator();
+      progOperator.RemoveVariableInfo("Result");
+      progOperator.AddVariableInfo(new HeuristicLab.Core.VariableInfo("EvaluatedSolutions", "", typeof(IntData), VariableKind.In));
+      progOperator.Code = @"
+int evalSolutions = EvaluatedSolutions.Data;
+scope.AddVariable(new Variable(""EvaluatedSolutions"", new IntData(evalSolutions)));
+";
+      solutionStorer.AddSubOperator(bestSolutionProcessor);
+      bestSolutionProcessor.AddSubOperator(trainingMapeEvaluator);
+      bestSolutionProcessor.AddSubOperator(validationMapeEvaluator);
+      bestSolutionProcessor.AddSubOperator(progOperator);
+      return solutionStorer;
+    }
+
+    private CombinedOperator CreateReplacement() {
+      CombinedOperator replacement = new CombinedOperator();
+      SequentialProcessor seq = new SequentialProcessor();
+      SequentialSubScopesProcessor seqScopeProc = new SequentialSubScopesProcessor();
+      SequentialProcessor selectedProc = new SequentialProcessor();
+      LeftSelector leftSelector = new LeftSelector();
+      leftSelector.GetVariableInfo("Selected").ActualName = "Elites";
+      RightReducer rightReducer = new RightReducer();
+
+      SequentialProcessor remainingProc = new SequentialProcessor();
+      RightSelector rightSelector = new RightSelector();
+      rightSelector.GetVariableInfo("Selected").ActualName = "Elites";
+      LeftReducer leftReducer = new LeftReducer();
+      MergingReducer mergingReducer = new MergingReducer();
+      Sorter sorter = new Sorter();
+      sorter.GetVariableInfo("Descending").ActualName = "Maximization";
+      sorter.GetVariableInfo("Value").ActualName = "Quality";
+
+      seq.AddSubOperator(seqScopeProc);
+      seqScopeProc.AddSubOperator(selectedProc);
+      selectedProc.AddSubOperator(leftSelector);
+      selectedProc.AddSubOperator(rightReducer);
+
+      seqScopeProc.AddSubOperator(remainingProc);
+      remainingProc.AddSubOperator(rightSelector);
+      remainingProc.AddSubOperator(leftReducer);
+      seq.AddSubOperator(mergingReducer);
+      seq.AddSubOperator(sorter);
+      replacement.OperatorGraph.AddOperator(seq);
+      replacement.OperatorGraph.InitialOperator = seq;
+      return replacement;
+    }
+
+    private CombinedOperator CreateChildCreater() {
+      CombinedOperator childCreater = new CombinedOperator();
+      SequentialProcessor seq = new SequentialProcessor();
+      OperatorExtractor selector = new OperatorExtractor();
+      selector.Name = "Selector (extr.)";
+      selector.GetVariableInfo("Operator").ActualName = "Selector";
+      SequentialSubScopesProcessor seqScopesProc = new SequentialSubScopesProcessor();
+      EmptyOperator emptyOpt = new EmptyOperator();
+      SequentialProcessor selectedProc = new SequentialProcessor();
+      OperatorExtractor crossover = new OperatorExtractor();
+      crossover.Name = "Crossover (extr.)";
+      crossover.GetVariableInfo("Operator").ActualName = "Crossover";
+      UniformSequentialSubScopesProcessor individualProc = new UniformSequentialSubScopesProcessor();
+      SequentialProcessor individualSeqProc = new SequentialProcessor();
+      StochasticBranch cond = new StochasticBranch();
+      cond.GetVariableInfo("Probability").ActualName = "MutationRate";
+      OperatorExtractor manipulator = new OperatorExtractor();
+      manipulator.Name = "Manipulator (extr.)";
+      manipulator.GetVariableInfo("Operator").ActualName = "Manipulator";
+      OperatorExtractor evaluator = new OperatorExtractor();
+      evaluator.Name = "Evaluator (extr.)";
+      evaluator.GetVariableInfo("Operator").ActualName = "Evaluator";
+      MeanSquaredErrorEvaluator validationEvaluator = new MeanSquaredErrorEvaluator();
+      validationEvaluator.GetVariableInfo("MSE").ActualName = "ValidationQuality";
+      validationEvaluator.GetVariableInfo("SamplesStart").ActualName = "ValidationSamplesStart";
+      validationEvaluator.GetVariableInfo("SamplesEnd").ActualName = "ValidationSamplesEnd";
+      Counter evalCounter = new Counter();
+      evalCounter.GetVariableInfo("Value").ActualName = "EvaluatedSolutions";
+
+      Sorter sorter = new Sorter();
+      sorter.GetVariableInfo("Descending").ActualName = "Maximization";
+      sorter.GetVariableInfo("Value").ActualName = "Quality";
+
+
+      seq.AddSubOperator(selector);
+      seq.AddSubOperator(seqScopesProc);
+      seqScopesProc.AddSubOperator(emptyOpt);
+      seqScopesProc.AddSubOperator(selectedProc);
+      selectedProc.AddSubOperator(crossover);
+      selectedProc.AddSubOperator(individualProc);
+      individualProc.AddSubOperator(individualSeqProc);
+      individualSeqProc.AddSubOperator(cond);
+      cond.AddSubOperator(manipulator);
+      individualSeqProc.AddSubOperator(evaluator);
+      individualSeqProc.AddSubOperator(validationEvaluator);
+      individualSeqProc.AddSubOperator(evalCounter);
+      selectedProc.AddSubOperator(sorter);
+
+      childCreater.OperatorGraph.AddOperator(seq);
+      childCreater.OperatorGraph.InitialOperator = seq;
+      return childCreater;
+    }
+
+    public IEditor CreateEditor() {
+      return new OffSpringSelectionGpEditor(this);
+    }
+
+    public override IView CreateView() {
+      return new OffspringSelectionGpEditor(this);
+    }
+
+    public override object Clone(IDictionary<Guid, object> clonedObjects) {
+      OffspringSelectionGP clone = new OffspringSelectionGP();
+      clonedObjects.Add(Guid, clone);
+      clone.engine = (SequentialEngine.SequentialEngine)Auxiliary.Clone(Engine, clonedObjects);
+      return clone;
+    }
+    #region SetReferences Method
+    private void SetReferences() {
+      // SGA
+      CombinedOperator co1 = (CombinedOperator)Engine.OperatorGraph.InitialOperator;
+      // SequentialProcessor in SGA
+      algorithm = (SequentialProcessor)co1.OperatorGraph.InitialOperator;
+      // RandomInjector
+      RandomInjector ri = (RandomInjector)algorithm.SubOperators[1];
+      setSeedRandomly = ri.GetVariable("SetSeedRandomly").GetValue<BoolData>();
+      seed = ri.GetVariable("Seed").GetValue<IntData>();
+      // VariableInjector
+      VariableInjector vi = (VariableInjector)algorithm.SubOperators[2];
+      populationSize = vi.GetVariable("PopulationSize").GetValue<IntData>();
+      parents = vi.GetVariable("Parents").GetValue<IntData>();
+      maxGenerations = vi.GetVariable("MaxGenerations").GetValue<IntData>();
+      mutationRate = vi.GetVariable("MutationRate").GetValue<DoubleData>();
+      elites = vi.GetVariable("Elites").GetValue<IntData>();
+      maxTreeSize = vi.GetVariable("MaxTreeSize").GetValue<IntData>();
+      maxTreeHeight = vi.GetVariable("MaxTreeHeight").GetValue<IntData>();
+    }
+    #endregion
+
+    #region Persistence Methods
+    public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) {
+      XmlNode node = base.GetXmlNode(name, document, persistedObjects);
+      node.AppendChild(PersistenceManager.Persist("Engine", Engine, document, persistedObjects));
+      return node;
+    }
+    public override void Populate(XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {
+      base.Populate(node, restoredObjects);
+      engine = (SequentialEngine.SequentialEngine)PersistenceManager.Restore(node.SelectSingleNode("Engine"), restoredObjects);
+      SetReferences();
+    }
+    #endregion
+  }
+}
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.GP.StructureIdentification/StandardGP.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.GP.StructureIdentification/StandardGP.cs	(revision 1155)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.GP.StructureIdentification/StandardGP.cs	(revision 1156)
@@ -91,5 +91,14 @@
 
     private int maxTreeSize = 50;
+    public int MaxTreeSize {
+      get { return maxTreeSize; }
+      set { maxTreeSize = value; }
+    }
+
     private int maxTreeHeight = 8;
+    public int MaxTreeHeight {
+      get { return maxTreeHeight; }
+      set { maxTreeHeight = value; }
+    }
     private double punishmentFactor = 10.0;
     private bool useEstimatedTargetValue = false;
@@ -109,4 +118,6 @@
       MutationRate = 0.15;
       Elites = 1;
+      MaxTreeSize = 100;
+      MaxTreeHeight = 10;
       engine = new SequentialEngine.SequentialEngine();
       CombinedOperator algo = CreateAlgorithm();
@@ -224,5 +235,5 @@
 
       DoubleArrayData probabilities = new DoubleArrayData(new double[manipulators.Length]);
-      for(int i=0;i<manipulators.Length;i++) {
+      for (int i = 0; i < manipulators.Length; i++) {
         probabilities.Data[i] = 1.0;
         multibranch.AddSubOperator(manipulators[i]);
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.sln
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.sln	(revision 1155)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.sln	(revision 1156)
@@ -158,4 +158,5 @@
 		{623FB817-8371-4A9A-A491-4DECC87B2BBB}.Visualization Debug|x86.Build.0 = Debug|x86
 		{F43B59AB-2B8C-4570-BC1E-15592086517C}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{F43B59AB-2B8C-4570-BC1E-15592086517C}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{F43B59AB-2B8C-4570-BC1E-15592086517C}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{F43B59AB-2B8C-4570-BC1E-15592086517C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -172,4 +173,5 @@
 		{F43B59AB-2B8C-4570-BC1E-15592086517C}.Visualization Debug|x86.Build.0 = Debug|x86
 		{F473D9AF-3F09-4296-9F28-3C65118DAFFA}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{F473D9AF-3F09-4296-9F28-3C65118DAFFA}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{F473D9AF-3F09-4296-9F28-3C65118DAFFA}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{F473D9AF-3F09-4296-9F28-3C65118DAFFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -186,4 +188,5 @@
 		{F473D9AF-3F09-4296-9F28-3C65118DAFFA}.Visualization Debug|x86.Build.0 = Debug|x86
 		{47019A74-F7F7-482E-83AA-D3F4F777E879}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{47019A74-F7F7-482E-83AA-D3F4F777E879}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{47019A74-F7F7-482E-83AA-D3F4F777E879}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{47019A74-F7F7-482E-83AA-D3F4F777E879}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -199,4 +202,5 @@
 		{47019A74-F7F7-482E-83AA-D3F4F777E879}.Visualization Debug|x86.Build.0 = Debug|x86
 		{9EF75B49-D507-44E0-BC5D-C200FDA53B9B}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{9EF75B49-D507-44E0-BC5D-C200FDA53B9B}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{9EF75B49-D507-44E0-BC5D-C200FDA53B9B}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{9EF75B49-D507-44E0-BC5D-C200FDA53B9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -212,4 +216,5 @@
 		{9EF75B49-D507-44E0-BC5D-C200FDA53B9B}.Visualization Debug|x86.Build.0 = Debug|x86
 		{A9983BA2-B3B2-475E-8E2C-62050B71D1C5}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{A9983BA2-B3B2-475E-8E2C-62050B71D1C5}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{A9983BA2-B3B2-475E-8E2C-62050B71D1C5}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{A9983BA2-B3B2-475E-8E2C-62050B71D1C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -226,4 +231,5 @@
 		{A9983BA2-B3B2-475E-8E2C-62050B71D1C5}.Visualization Debug|x86.Build.0 = Debug|x86
 		{94186A6A-5176-4402-AE83-886557B53CCA}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{94186A6A-5176-4402-AE83-886557B53CCA}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{94186A6A-5176-4402-AE83-886557B53CCA}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{94186A6A-5176-4402-AE83-886557B53CCA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -239,4 +245,5 @@
 		{94186A6A-5176-4402-AE83-886557B53CCA}.Visualization Debug|x86.Build.0 = Debug|x86
 		{4095C92C-5A4C-44BC-9963-5F384CF5CC3F}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{4095C92C-5A4C-44BC-9963-5F384CF5CC3F}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{4095C92C-5A4C-44BC-9963-5F384CF5CC3F}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{4095C92C-5A4C-44BC-9963-5F384CF5CC3F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -252,4 +259,5 @@
 		{4095C92C-5A4C-44BC-9963-5F384CF5CC3F}.Visualization Debug|x86.Build.0 = Debug|x86
 		{B4BE8E53-BA06-4237-9A01-24255F880201}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{B4BE8E53-BA06-4237-9A01-24255F880201}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{B4BE8E53-BA06-4237-9A01-24255F880201}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{B4BE8E53-BA06-4237-9A01-24255F880201}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -265,4 +273,5 @@
 		{B4BE8E53-BA06-4237-9A01-24255F880201}.Visualization Debug|x86.Build.0 = Debug|x86
 		{6E757D0E-20F9-4E89-AF06-D7DA256870DB}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{6E757D0E-20F9-4E89-AF06-D7DA256870DB}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{6E757D0E-20F9-4E89-AF06-D7DA256870DB}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{6E757D0E-20F9-4E89-AF06-D7DA256870DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -278,4 +287,5 @@
 		{6E757D0E-20F9-4E89-AF06-D7DA256870DB}.Visualization Debug|x86.Build.0 = Debug|x86
 		{55FDCFB3-3E8C-4FB0-837C-0CF06BEDED39}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{55FDCFB3-3E8C-4FB0-837C-0CF06BEDED39}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{55FDCFB3-3E8C-4FB0-837C-0CF06BEDED39}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{55FDCFB3-3E8C-4FB0-837C-0CF06BEDED39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -291,4 +301,5 @@
 		{55FDCFB3-3E8C-4FB0-837C-0CF06BEDED39}.Visualization Debug|x86.Build.0 = Debug|x86
 		{F5614C53-153C-4A37-A608-121E1C087F07}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{F5614C53-153C-4A37-A608-121E1C087F07}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{F5614C53-153C-4A37-A608-121E1C087F07}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{F5614C53-153C-4A37-A608-121E1C087F07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -304,4 +315,5 @@
 		{F5614C53-153C-4A37-A608-121E1C087F07}.Visualization Debug|x86.Build.0 = Debug|x86
 		{F7CF0571-25CB-43D5-8443-0843A1E2861A}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{F7CF0571-25CB-43D5-8443-0843A1E2861A}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{F7CF0571-25CB-43D5-8443-0843A1E2861A}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{F7CF0571-25CB-43D5-8443-0843A1E2861A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -317,4 +329,5 @@
 		{F7CF0571-25CB-43D5-8443-0843A1E2861A}.Visualization Debug|x86.Build.0 = Debug|x86
 		{205898D3-2717-4686-AF17-52409B7EC0C6}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{205898D3-2717-4686-AF17-52409B7EC0C6}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{205898D3-2717-4686-AF17-52409B7EC0C6}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{205898D3-2717-4686-AF17-52409B7EC0C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -330,4 +343,5 @@
 		{205898D3-2717-4686-AF17-52409B7EC0C6}.Visualization Debug|x86.Build.0 = Debug|x86
 		{D3F92C1F-42B4-4EFB-9E73-B64FD3428ADE}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{D3F92C1F-42B4-4EFB-9E73-B64FD3428ADE}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{D3F92C1F-42B4-4EFB-9E73-B64FD3428ADE}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{D3F92C1F-42B4-4EFB-9E73-B64FD3428ADE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -343,4 +357,5 @@
 		{D3F92C1F-42B4-4EFB-9E73-B64FD3428ADE}.Visualization Debug|x86.Build.0 = Debug|x86
 		{4C0EF782-CC94-4A94-BC3E-661D2600559B}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{4C0EF782-CC94-4A94-BC3E-661D2600559B}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{4C0EF782-CC94-4A94-BC3E-661D2600559B}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{4C0EF782-CC94-4A94-BC3E-661D2600559B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -356,4 +371,5 @@
 		{4C0EF782-CC94-4A94-BC3E-661D2600559B}.Visualization Debug|x86.Build.0 = Debug|x86
 		{B462D3CC-8866-42F0-9832-AD0967613B72}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{B462D3CC-8866-42F0-9832-AD0967613B72}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{B462D3CC-8866-42F0-9832-AD0967613B72}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{B462D3CC-8866-42F0-9832-AD0967613B72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -369,4 +385,5 @@
 		{B462D3CC-8866-42F0-9832-AD0967613B72}.Visualization Debug|x86.Build.0 = Debug|x86
 		{E0740131-AA3E-4A3F-BA03-C9FF8327F4EE}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{E0740131-AA3E-4A3F-BA03-C9FF8327F4EE}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{E0740131-AA3E-4A3F-BA03-C9FF8327F4EE}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{E0740131-AA3E-4A3F-BA03-C9FF8327F4EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -382,4 +399,5 @@
 		{E0740131-AA3E-4A3F-BA03-C9FF8327F4EE}.Visualization Debug|x86.Build.0 = Debug|x86
 		{E3CCBFC6-900C-41B6-AFB8-6646DB097435}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{E3CCBFC6-900C-41B6-AFB8-6646DB097435}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{E3CCBFC6-900C-41B6-AFB8-6646DB097435}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{E3CCBFC6-900C-41B6-AFB8-6646DB097435}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -395,4 +413,5 @@
 		{E3CCBFC6-900C-41B6-AFB8-6646DB097435}.Visualization Debug|x86.Build.0 = Debug|x86
 		{E39AF78A-9692-472B-B061-E2F1B1AB2C92}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{E39AF78A-9692-472B-B061-E2F1B1AB2C92}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{E39AF78A-9692-472B-B061-E2F1B1AB2C92}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{E39AF78A-9692-472B-B061-E2F1B1AB2C92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -408,4 +427,5 @@
 		{E39AF78A-9692-472B-B061-E2F1B1AB2C92}.Visualization Debug|x86.Build.0 = Debug|x86
 		{FCD62C6F-4793-4593-AE9A-0BDCA256EE99}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{FCD62C6F-4793-4593-AE9A-0BDCA256EE99}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{FCD62C6F-4793-4593-AE9A-0BDCA256EE99}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{FCD62C6F-4793-4593-AE9A-0BDCA256EE99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -422,4 +442,5 @@
 		{FCD62C6F-4793-4593-AE9A-0BDCA256EE99}.Visualization Debug|x86.Build.0 = Debug|x86
 		{7DD3A97A-56E9-462F-90E2-A351FE7AF5C2}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{7DD3A97A-56E9-462F-90E2-A351FE7AF5C2}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{7DD3A97A-56E9-462F-90E2-A351FE7AF5C2}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{7DD3A97A-56E9-462F-90E2-A351FE7AF5C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -435,4 +456,5 @@
 		{7DD3A97A-56E9-462F-90E2-A351FE7AF5C2}.Visualization Debug|x86.Build.0 = Debug|x86
 		{6D9564BB-956D-4808-8F92-AA7F776F90A5}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{6D9564BB-956D-4808-8F92-AA7F776F90A5}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{6D9564BB-956D-4808-8F92-AA7F776F90A5}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{6D9564BB-956D-4808-8F92-AA7F776F90A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -448,4 +470,5 @@
 		{6D9564BB-956D-4808-8F92-AA7F776F90A5}.Visualization Debug|x86.Build.0 = Debug|x86
 		{2D4E4565-3ED9-4BEB-AE75-39D871843D24}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{2D4E4565-3ED9-4BEB-AE75-39D871843D24}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{2D4E4565-3ED9-4BEB-AE75-39D871843D24}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{2D4E4565-3ED9-4BEB-AE75-39D871843D24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -461,4 +484,5 @@
 		{2D4E4565-3ED9-4BEB-AE75-39D871843D24}.Visualization Debug|x86.Build.0 = Debug|x86
 		{9A781B2F-A58D-4270-A28A-3B14BBC11F4A}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{9A781B2F-A58D-4270-A28A-3B14BBC11F4A}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{9A781B2F-A58D-4270-A28A-3B14BBC11F4A}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{9A781B2F-A58D-4270-A28A-3B14BBC11F4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -474,4 +498,5 @@
 		{9A781B2F-A58D-4270-A28A-3B14BBC11F4A}.Visualization Debug|x86.Build.0 = Debug|x86
 		{C2FB432A-07CA-45B5-BAFE-FEC172D1107B}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{C2FB432A-07CA-45B5-BAFE-FEC172D1107B}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{C2FB432A-07CA-45B5-BAFE-FEC172D1107B}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{C2FB432A-07CA-45B5-BAFE-FEC172D1107B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -487,4 +512,5 @@
 		{C2FB432A-07CA-45B5-BAFE-FEC172D1107B}.Visualization Debug|x86.Build.0 = Debug|x86
 		{74752FCD-9E10-48DB-9AF2-AF5518B62807}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{74752FCD-9E10-48DB-9AF2-AF5518B62807}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{74752FCD-9E10-48DB-9AF2-AF5518B62807}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{74752FCD-9E10-48DB-9AF2-AF5518B62807}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -500,4 +526,5 @@
 		{74752FCD-9E10-48DB-9AF2-AF5518B62807}.Visualization Debug|x86.Build.0 = Debug|x86
 		{E66D1EAA-525C-4F6D-BD25-DBCAE3750E25}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{E66D1EAA-525C-4F6D-BD25-DBCAE3750E25}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{E66D1EAA-525C-4F6D-BD25-DBCAE3750E25}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{E66D1EAA-525C-4F6D-BD25-DBCAE3750E25}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -513,4 +540,5 @@
 		{E66D1EAA-525C-4F6D-BD25-DBCAE3750E25}.Visualization Debug|x86.Build.0 = Debug|x86
 		{545CE756-98D8-423B-AC2E-6E7D70926E5C}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{545CE756-98D8-423B-AC2E-6E7D70926E5C}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{545CE756-98D8-423B-AC2E-6E7D70926E5C}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{545CE756-98D8-423B-AC2E-6E7D70926E5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -526,4 +554,5 @@
 		{545CE756-98D8-423B-AC2E-6E7D70926E5C}.Visualization Debug|x86.Build.0 = Debug|x86
 		{2E6112A7-3A94-406D-A28C-38AC2D324DCA}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{2E6112A7-3A94-406D-A28C-38AC2D324DCA}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{2E6112A7-3A94-406D-A28C-38AC2D324DCA}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{2E6112A7-3A94-406D-A28C-38AC2D324DCA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -539,4 +568,5 @@
 		{2E6112A7-3A94-406D-A28C-38AC2D324DCA}.Visualization Debug|x86.Build.0 = Debug|x86
 		{6960CBCD-E44B-49B0-BA86-671091C42C36}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{6960CBCD-E44B-49B0-BA86-671091C42C36}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{6960CBCD-E44B-49B0-BA86-671091C42C36}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{6960CBCD-E44B-49B0-BA86-671091C42C36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -612,4 +642,5 @@
 		{C27DDF6C-84DF-45EF-B82F-57A28DD51166}.Visualization Debug|x86.Build.0 = Debug|x86
 		{39DEF061-8261-43DB-8B3B-C7555251FF77}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{39DEF061-8261-43DB-8B3B-C7555251FF77}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{39DEF061-8261-43DB-8B3B-C7555251FF77}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{39DEF061-8261-43DB-8B3B-C7555251FF77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -625,4 +656,5 @@
 		{39DEF061-8261-43DB-8B3B-C7555251FF77}.Visualization Debug|x86.Build.0 = Debug|x86
 		{F18FD554-19B9-460C-9A49-4AA8D7245727}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{F18FD554-19B9-460C-9A49-4AA8D7245727}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{F18FD554-19B9-460C-9A49-4AA8D7245727}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{F18FD554-19B9-460C-9A49-4AA8D7245727}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -653,4 +685,5 @@
 		{1BF17271-5350-476A-8F6D-FC74FA3E82CA}.Visualization Debug|x86.Build.0 = Debug|x86
 		{14E1C3E3-2496-436A-AE00-09F7B81DB15B}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{14E1C3E3-2496-436A-AE00-09F7B81DB15B}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{14E1C3E3-2496-436A-AE00-09F7B81DB15B}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{14E1C3E3-2496-436A-AE00-09F7B81DB15B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -666,4 +699,5 @@
 		{14E1C3E3-2496-436A-AE00-09F7B81DB15B}.Visualization Debug|x86.Build.0 = Debug|x86
 		{6AEF1284-2428-4B01-B9D2-62C1FA7C2DE1}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{6AEF1284-2428-4B01-B9D2-62C1FA7C2DE1}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{6AEF1284-2428-4B01-B9D2-62C1FA7C2DE1}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{6AEF1284-2428-4B01-B9D2-62C1FA7C2DE1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -679,4 +713,5 @@
 		{6AEF1284-2428-4B01-B9D2-62C1FA7C2DE1}.Visualization Debug|x86.Build.0 = Debug|x86
 		{32DAA44F-944A-465F-A5C9-1C491EE4976D}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{32DAA44F-944A-465F-A5C9-1C491EE4976D}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{32DAA44F-944A-465F-A5C9-1C491EE4976D}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{32DAA44F-944A-465F-A5C9-1C491EE4976D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -692,4 +727,5 @@
 		{32DAA44F-944A-465F-A5C9-1C491EE4976D}.Visualization Debug|x86.Build.0 = Debug|x86
 		{E392A1E2-DC95-4E33-B82E-8ED690EDA1AB}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{E392A1E2-DC95-4E33-B82E-8ED690EDA1AB}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{E392A1E2-DC95-4E33-B82E-8ED690EDA1AB}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{E392A1E2-DC95-4E33-B82E-8ED690EDA1AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -706,4 +742,5 @@
 		{E392A1E2-DC95-4E33-B82E-8ED690EDA1AB}.Visualization Debug|x86.Build.0 = Debug|x86
 		{23117533-8A91-474E-BBF6-C39485D0810A}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{23117533-8A91-474E-BBF6-C39485D0810A}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{23117533-8A91-474E-BBF6-C39485D0810A}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{23117533-8A91-474E-BBF6-C39485D0810A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -720,4 +757,5 @@
 		{23117533-8A91-474E-BBF6-C39485D0810A}.Visualization Debug|x86.Build.0 = Debug|x86
 		{1F5FA590-1D2D-406C-BDBD-03BAECEA3C80}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{1F5FA590-1D2D-406C-BDBD-03BAECEA3C80}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{1F5FA590-1D2D-406C-BDBD-03BAECEA3C80}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{1F5FA590-1D2D-406C-BDBD-03BAECEA3C80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -733,4 +771,5 @@
 		{1F5FA590-1D2D-406C-BDBD-03BAECEA3C80}.Visualization Debug|x86.Build.0 = Debug|x86
 		{1F1CF3ED-374C-4288-995B-93F6B872F571}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{1F1CF3ED-374C-4288-995B-93F6B872F571}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{1F1CF3ED-374C-4288-995B-93F6B872F571}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{1F1CF3ED-374C-4288-995B-93F6B872F571}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -746,4 +785,5 @@
 		{1F1CF3ED-374C-4288-995B-93F6B872F571}.Visualization Debug|x86.Build.0 = Debug|x86
 		{74223A32-C726-4978-BE78-37113A18373C}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{74223A32-C726-4978-BE78-37113A18373C}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{74223A32-C726-4978-BE78-37113A18373C}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{74223A32-C726-4978-BE78-37113A18373C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -759,4 +799,5 @@
 		{74223A32-C726-4978-BE78-37113A18373C}.Visualization Debug|x86.Build.0 = Debug|x86
 		{7C20D100-8BEB-433A-9499-F075E2CB9297}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{7C20D100-8BEB-433A-9499-F075E2CB9297}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{7C20D100-8BEB-433A-9499-F075E2CB9297}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{7C20D100-8BEB-433A-9499-F075E2CB9297}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -772,4 +813,5 @@
 		{7C20D100-8BEB-433A-9499-F075E2CB9297}.Visualization Debug|x86.Build.0 = Debug|x86
 		{6084CFB5-733F-449D-9F92-2E40D13F0514}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{6084CFB5-733F-449D-9F92-2E40D13F0514}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{6084CFB5-733F-449D-9F92-2E40D13F0514}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{6084CFB5-733F-449D-9F92-2E40D13F0514}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -882,4 +924,5 @@
 		{8B14A35E-DBDF-43EB-B019-23E9FBC5A35E}.Visualization Debug|x86.Build.0 = Debug|x86
 		{A0821479-801F-43DF-B788-AE92FB410DA9}.CEDMA Debug|Any CPU.ActiveCfg = Debug|x86
+		{A0821479-801F-43DF-B788-AE92FB410DA9}.CEDMA Debug|Any CPU.Build.0 = Debug|x86
 		{A0821479-801F-43DF-B788-AE92FB410DA9}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{A0821479-801F-43DF-B788-AE92FB410DA9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
