From 5bf88ad4f7598af18838d7e7c97469d4a8916ee9 Mon Sep 17 00:00:00 2001
From: "Burns, Terry" <Terry.Burns@ricardo.com>
Date: Thu, 13 Nov 2014 10:35:18 +0000
Subject: [PATCH] WIP

git-tfs-id: [http://tfs00.element.root.com:8080/tfs/TFSCollection]$/VECTO;C1676
---
 .../VectoAuxiliaries/Electrics/Alternator.vb  |  122 --
 .../VectoAuxiliaries/Electrics/IAlternator.vb |   49 -
 VECTOAux/VectoAuxiliaries/Hvac/HVACMap.vaux   |   17 -
 .../Pneumatics/IPneumaticConsumer.vb          |   27 -
 .../Pneumatics/IPneumaticConsumerList.vb      |   21 -
 .../Pneumatics/PneumaticConsumer.vb           |   63 -
 .../Pneumatics/PneumaticConsumerList.vb       |   55 -
 .../VectoAuxiliaries/UI/Dashboard.Designer.vb | 1313 -----------------
 VECTOAux/VectoAuxiliaries/UI/Dashboard.resx   |  129 --
 VECTOAux/VectoAuxiliaries/UI/Dashboard.vb     |  786 ----------
 .../UI/ElectricalConsumers.Designer.vb        |   29 -
 .../UI/ElectricalConsumers.vb                 |    3 -
 .../UI/F_Alternator.Designer.vb               |   29 -
 VECTOAux/VectoAuxiliaries/UI/F_Alternator.vb  |    3 -
 .../UI/F_Compressor.Designer.vb               |  184 ---
 .../VectoAuxiliaries/UI/F_Compressor.resx     |  120 --
 VECTOAux/VectoAuxiliaries/UI/F_Compressor.vb  |   13 -
 .../VectoAuxiliaries/UI/F_HVAC.Designer.vb    |  179 ---
 VECTOAux/VectoAuxiliaries/UI/F_HVAC.resx      |  120 --
 VECTOAux/VectoAuxiliaries/UI/F_HVAC.vb        |  303 ----
 .../UI/F_PneumaticConsumers.Designer.vb       |   37 -
 .../UI/F_PneumaticConsumers.resx              |  120 --
 .../UI/F_PneumaticConsumers.vb                |    3 -
 .../VectoAuxiliariesTests/ClassDiagram1.cd    |    2 -
 .../Mocks/AlternatorMock.vb                   |   47 -
 .../UnitTests/AlternatorTests.vb              |  175 ---
 .../UnitTests/PneumaticConsumerTests.vb       |   68 -
 27 files changed, 4017 deletions(-)
 delete mode 100644 VECTOAux/VectoAuxiliaries/Electrics/Alternator.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/Electrics/IAlternator.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/Hvac/HVACMap.vaux
 delete mode 100644 VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticConsumer.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticConsumerList.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/Pneumatics/PneumaticConsumer.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/Pneumatics/PneumaticConsumerList.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/Dashboard.Designer.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/Dashboard.resx
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/Dashboard.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/ElectricalConsumers.Designer.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/ElectricalConsumers.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/F_Alternator.Designer.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/F_Alternator.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/F_Compressor.Designer.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/F_Compressor.resx
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/F_Compressor.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/F_HVAC.Designer.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/F_HVAC.resx
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/F_HVAC.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/F_PneumaticConsumers.Designer.vb
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/F_PneumaticConsumers.resx
 delete mode 100644 VECTOAux/VectoAuxiliaries/UI/F_PneumaticConsumers.vb
 delete mode 100644 VECTOAux/VectoAuxiliariesTests/ClassDiagram1.cd
 delete mode 100644 VECTOAux/VectoAuxiliariesTests/Mocks/AlternatorMock.vb
 delete mode 100644 VECTOAux/VectoAuxiliariesTests/UnitTests/AlternatorTests.vb
 delete mode 100644 VECTOAux/VectoAuxiliariesTests/UnitTests/PneumaticConsumerTests.vb

diff --git a/VECTOAux/VectoAuxiliaries/Electrics/Alternator.vb b/VECTOAux/VectoAuxiliaries/Electrics/Alternator.vb
deleted file mode 100644
index 2bd9927a20..0000000000
--- a/VECTOAux/VectoAuxiliaries/Electrics/Alternator.vb
+++ /dev/null
@@ -1,122 +0,0 @@
-
-Namespace Electrics
-
-    Public Class Alternator
-        Implements IAlternator
-
-        Private Const MinRatio As Single = 1.25
-        Private Const MaxRatio As Single = 5.5
-        Private Const MinEff As Single = 0.25
-        Private Const MaxEff As Single = 0.95
-
-        Private _pulleyGearRatio As Single
-        Private _pulleyGearEfficiency As Single
-        Private _map As IAlternatorMap
-
-        ''' <summary>
-        ''' Ratio of gear/pulley to engine
-        ''' </summary>
-        ''' <value></value>
-        ''' <returns></returns>
-        ''' <remarks></remarks>
-        Public Property PulleyGearRatio() As Single Implements IAlternator.PulleyGearRatio
-            Get
-                Return _pulleyGearRatio
-            End Get
-            Set(value As Single)
-                If (value < MinRatio OrElse value > MaxRatio) Then
-                    Throw New ArgumentOutOfRangeException(String.Format("Invalid value, should be in the range {0} to {1}", MinRatio, MaxRatio), value)
-                Else
-                    _pulleyGearRatio = value
-                End If
-            End Set
-        End Property
-
-        ''' <summary>
-        ''' Efficiency of gear/pulley to engine
-        ''' </summary>
-        ''' <value></value>
-        ''' <returns></returns>
-        ''' <remarks></remarks>
-        Public Property PulleyGearEfficiency() As Single Implements IAlternator.PulleyGearEfficiency
-            Get
-                Return _pulleyGearEfficiency
-            End Get
-            Set(value As Single)
-                If (value < MinEff OrElse value > MaxEff) Then
-                    Throw New ArgumentOutOfRangeException(String.Format("Invalid value, should be in the range {0} to {1}", MinEff, MaxEff), value)
-                Else
-                    _pulleyGearEfficiency = value
-                End If
-            End Set
-        End Property
-
-        ''' <summary>
-        ''' Creates a new instance of the Alternator class
-        ''' </summary>
-        ''' <param name="map">instance of and object implementing IAlternatorMap</param>
-        ''' <remarks></remarks>
-        Public Sub New(ByRef map As IAlternatorMap)
-            _map = map
-        End Sub
-
-        ''' <summary>
-        ''' Creates a new instance of the Alternator class
-        ''' </summary>
-        ''' <param name="ratio">pulley / gear ratio to engine</param>
-        ''' <param name="efficiency">pulley / gear efficiency to engine</param>
-        ''' <param name="map">Instance of an object that implements IAlternatorMap</param>
-        ''' <remarks></remarks>
-        Public Sub New(ByRef map As IAlternatorMap, ByVal ratio As Single, ByVal efficiency As Single)
-            PulleyGearRatio = ratio
-            PulleyGearEfficiency = efficiency
-            _map = map
-        End Sub
-
-        ''' <summary>
-        ''' Initialises the efficiency map
-        ''' </summary>
-        ''' <returns>Boolean - true is initialisation succeeds</returns>
-        ''' <remarks></remarks>
-        Public Function Initialise() As Boolean Implements IAlternator.Initialise
-            Return _map.Initialise()
-        End Function
-
-        ''' <summary>
-        ''' Returns the alternator efficiency at a given engine speed
-        ''' </summary>
-        ''' <param name="engineRpm"></param>
-        ''' <returns>Single</returns>
-        ''' <remarks>rpm must result in alternator rpm values that fall within the alternator efficiency map</remarks>
-        Public Function GetEfficiency(ByVal engineRpm As Single) As Single Implements IAlternator.GetEfficiency
-            Dim alternatorspeed As Single = engineRpm * PulleyGearRatio
-            Dim value As Single '= _map.GetEfficiency(alternatorspeed)
-            Return value
-        End Function
-
-        ''' <summary>
-        ''' Gets the maximum Regenration Power of the alternator at the given engine speed
-        ''' </summary>
-        ''' <returns></returns>
-        ''' <remarks></remarks>
-        Public Function GetMaximumRegenerationPower(ByVal engineRpm As Single) As Single Implements IAlternator.GetMaximumRegenerationPower
-            Dim alternatorspeed As Single = engineRpm * PulleyGearRatio
-            Dim value As Single '= _map.GetMaximumRegenerationPower(alternatorspeed)
-            Return value
-        End Function
-
-        ''' <summary>
-        ''' Retuns the maximum regeneration power at the engine for the given engine speed
-        ''' </summary>
-        ''' <param name="engineRpm"></param>
-        ''' <returns>Single</returns>
-        ''' <remarks>rpm must result in alternator rpm values that fall within the alternator efficiency map</remarks>
-        Public Function GetMaximumRegeneratinPowerAtCrank(ByVal engineRpm As Single) As Single Implements IAlternator.GetMaximumRegeneratinPowerAtCrank
-            Dim maxRegenPower As Single = GetMaximumRegenerationPower(engineRpm)    '100 from mock
-            Dim efficiency As Single = GetEfficiency(engineRpm)                     '0.5 from mock
-            Dim value As Single = maxRegenPower / (efficiency / PulleyGearEfficiency)
-            Return value
-        End Function
-
-    End Class
-End Namespace
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IAlternator.vb b/VECTOAux/VectoAuxiliaries/Electrics/IAlternator.vb
deleted file mode 100644
index c7f2568aa2..0000000000
--- a/VECTOAux/VectoAuxiliaries/Electrics/IAlternator.vb
+++ /dev/null
@@ -1,49 +0,0 @@
-Namespace Electrics
-    Public Interface IAlternator
-        ''' <summary>
-        ''' Ratio of gear/pulley to engine
-        ''' </summary>
-        ''' <value></value>
-        ''' <returns></returns>
-        ''' <remarks></remarks>
-        Property PulleyGearRatio() As Single
-
-        ''' <summary>
-        ''' Efficiency of gear/pulley to engine
-        ''' </summary>
-        ''' <value></value>
-        ''' <returns></returns>
-        ''' <remarks></remarks>
-        Property PulleyGearEfficiency() As Single
-
-        ''' <summary>
-        ''' Initialises the efficiency map
-        ''' </summary>
-        ''' <returns>Boolean - true is initialisation succeeds</returns>
-        ''' <remarks></remarks>
-        Function Initialise() As Boolean
-
-        ''' <summary>
-        ''' Returns the alternator efficiency at a given engine speed
-        ''' </summary>
-        ''' <param name="engineRpm"></param>
-        ''' <returns>Single</returns>
-        ''' <remarks>rpm must result in alternator rpm values that fall within the alternator efficiency map</remarks>
-        Function GetEfficiency(ByVal engineRpm As Single) As Single
-
-        ''' <summary>
-        ''' Gets the maximum Regenration Power of the alternator at the given engine speed
-        ''' </summary>
-        ''' <returns></returns>
-        ''' <remarks></remarks>
-        Function GetMaximumRegenerationPower(ByVal engineRpm As Single) As Single
-
-        ''' <summary>
-        ''' Retuns the maximum regeneration power at the engine for the given engine speed
-        ''' </summary>
-        ''' <param name="engineRpm"></param>
-        ''' <returns>Single</returns>
-        ''' <remarks>rpm must result in alternator rpm values that fall within the alternator efficiency map</remarks>
-        Function GetMaximumRegeneratinPowerAtCrank(ByVal engineRpm As Single) As Single
-    End Interface
-End Namespace
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/Hvac/HVACMap.vaux b/VECTOAux/VectoAuxiliaries/Hvac/HVACMap.vaux
deleted file mode 100644
index 78f0c44f27..0000000000
--- a/VECTOAux/VectoAuxiliaries/Hvac/HVACMap.vaux
+++ /dev/null
@@ -1,17 +0,0 @@
-Region,Season,MechD,ElecD
-1,1,50,10
-1,2,50,11
-1,3,50,12
-1,4,50,13
-2,1,50,14
-2,2,50,15
-2,3,50,16
-2,4,50,17
-3,1,50,18
-3,2,50,19
-3,3,50,10
-3,4,50,11
-4,1,50,12
-4,2,50,13
-4,3,50,14
-4,4,50,15
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticConsumer.vb b/VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticConsumer.vb
deleted file mode 100644
index a9bcbc4e3b..0000000000
--- a/VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticConsumer.vb
+++ /dev/null
@@ -1,27 +0,0 @@
-Namespace Pneumatics
-    Public Interface IPneumaticConsumer
-        ''' <summary>
-        ''' Name of the consumer
-        ''' </summary>
-        ''' <value></value>
-        ''' <returns></returns>
-        ''' <remarks></remarks>
-        ReadOnly Property ConsumerName() As String
-
-        ''' <summary>
-        ''' Volume of Air consumed per cycle of the consumer
-        ''' </summary>
-        ''' <value></value>
-        ''' <returns></returns>
-        ''' <remarks></remarks>
-        ReadOnly Property VolumePerActuation() As Single
-
-        ''' <summary>
-        ''' Get the total volume of air required for a number of cycles
-        ''' </summary>
-        ''' <param name="cycles">Number of cycles of consumer</param>
-        ''' <returns></returns>
-        ''' <remarks></remarks>
-        Function GetTotalVolume(ByVal actuations As Integer) As Single
-    End Interface
-End NameSpace
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticConsumerList.vb b/VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticConsumerList.vb
deleted file mode 100644
index 2e4aa3e1c9..0000000000
--- a/VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticConsumerList.vb
+++ /dev/null
@@ -1,21 +0,0 @@
-
-Namespace Pneumatics
-
-
-Public Interface IPneumaticConsumerList
-
-
-ReadOnly Property Items As Dictionary(Of String, IPneumaticConsumer)
- Sub AddConsumer(consumer As IPneumaticConsumer)
- Sub RemoveConsumer(consumer As IPneumaticConsumer)
-
-
-
-
-End Interface
-
-
-
-End Namespace
-
-
diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/PneumaticConsumer.vb b/VECTOAux/VectoAuxiliaries/Pneumatics/PneumaticConsumer.vb
deleted file mode 100644
index 9484df1615..0000000000
--- a/VECTOAux/VectoAuxiliaries/Pneumatics/PneumaticConsumer.vb
+++ /dev/null
@@ -1,63 +0,0 @@
-Namespace Pneumatics
-    Public Class PneumaticConsumer
-        Implements IPneumaticConsumer
-
-        Private ReadOnly _name As String
-        Private ReadOnly _volumePerActuation As Single
-
-        ''' <summary>
-        ''' Name of the consumer
-        ''' </summary>
-        ''' <value></value>
-        ''' <returns></returns>
-        ''' <remarks></remarks>
-        Public ReadOnly Property Name() As String Implements IPneumaticConsumer.ConsumerName
-            Get
-                Return _name
-            End Get
-        End Property
-
-        ''' <summary>
-        ''' Volume of Air consumed per cycle of the consumer
-        ''' </summary>
-        ''' <value></value>
-        ''' <returns></returns>
-        ''' <remarks></remarks>
-        Public ReadOnly Property VolumePerCycle() As Single Implements IPneumaticConsumer.VolumePerActuation
-            Get
-                Return _volumePerActuation
-            End Get
-        End Property
-
-        ''' <summary>
-        ''' Get the total volume of air required for a number of cycles
-        ''' </summary>
-        ''' <param name="cycles">Number of cycles of consumer</param>
-        ''' <returns></returns>
-        ''' <remarks></remarks>
-        Public Function GetTotalVolume(ByVal cycles As Integer) As Single Implements IPneumaticConsumer.GetTotalVolume
-            Return VolumePerCycle * cycles
-        End Function
-
-        ''' <summary>
-        ''' Creates an instance of the PneumaticConsumer class
-        ''' </summary>
-        ''' <param name="name"></param>
-        ''' <param name="volumePerCycle"></param>
-        ''' <remarks></remarks>
-        Public Sub New(ByVal name As String, ByVal volumePerActuation As Single)
-            If name = String.Empty Then
-                Throw New ArgumentException("Name cannot be empty string")
-            End If
-
-            If Math.Abs(volumePerCycle - 0.0) < 0.001 Then
-                Throw New ArgumentOutOfRangeException("volumePerActuation",
-                                                      volumePerCycle,
-                                                      "Supplied volume should be grater than zero")
-            End If
-
-            _name = name
-            _volumePerActuation = _volumePerActuation
-        End Sub
-    End Class
-End Namespace
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/PneumaticConsumerList.vb b/VECTOAux/VectoAuxiliaries/Pneumatics/PneumaticConsumerList.vb
deleted file mode 100644
index 9ea89b354d..0000000000
--- a/VECTOAux/VectoAuxiliaries/Pneumatics/PneumaticConsumerList.vb
+++ /dev/null
@@ -1,55 +0,0 @@
-Imports VectoAuxiliaries.Pneumatics
-
-Namespace Pneumatics
-
-
-Public Class PneumaticConsumerList
-Implements IPneumaticConsumerList
-
-Private _items As New Dictionary(Of String, IPneumaticConsumer)
-
-   Public ReadOnly Property Items As Dictionary(Of String, IPneumaticConsumer) Implements Pneumatics.IPneumaticConsumerList.Items
-       Get
-        Return _items
-
-       End Get
-   End Property
-
-   Public Sub AddConsumer(consumer As IPneumaticConsumer) Implements IPneumaticConsumerList.AddConsumer
-
-     If Not _items.ContainsKey(consumer.ConsumerName) Then
-       _items.Add(consumer.ConsumerName, consumer)
-     Else
-
-     Throw New ArgumentException("Consumer Already Present in the list")
-
-     End If
-
-  End Sub
-
-   Public Sub RemoveConsumer(consumer As IPneumaticConsumer) Implements IPneumaticConsumerList.RemoveConsumer
-
-      If _items.ContainsKey(consumer.ConsumerName) Then
-
-    _items.Remove(consumer.ConsumerName)
-
-    Else
-
-      Throw New ArgumentException("Consumer Not In List")
-
-    End If
-
-  End Sub
-
-
-
-
-
-
-
-End Class
-
-
-End Namespace
-
-
diff --git a/VECTOAux/VectoAuxiliaries/UI/Dashboard.Designer.vb b/VECTOAux/VectoAuxiliaries/UI/Dashboard.Designer.vb
deleted file mode 100644
index 67b15871a1..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/Dashboard.Designer.vb
+++ /dev/null
@@ -1,1313 +0,0 @@
-<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
-Partial Class Dashboard
-    Inherits System.Windows.Forms.Form
-
-    'Form overrides dispose to clean up the component list.
-    <System.Diagnostics.DebuggerNonUserCode()> _
-    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
-        Try
-            If disposing AndAlso components IsNot Nothing Then
-                components.Dispose()
-            End If
-        Finally
-            MyBase.Dispose(disposing)
-        End Try
-    End Sub
-
-    'Required by the Windows Form Designer
-    Private components As System.ComponentModel.IContainer
-
-    'NOTE: The following procedure is required by the Windows Form Designer
-    'It can be modified using the Windows Form Designer.  
-    'Do not modify it using the code editor.
-    <System.Diagnostics.DebuggerStepThrough()> _
-    Private Sub InitializeComponent()
-        Me.components = New System.ComponentModel.Container()
-        Dim DataGridViewCellStyle25 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle26 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle27 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle28 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle29 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle30 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle31 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle32 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle33 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle34 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle35 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle36 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Me.pnlMain = New System.Windows.Forms.Panel()
-        Me.btnCancel = New System.Windows.Forms.Button()
-        Me.btnFinish = New System.Windows.Forms.Button()
-        Me.btnForward = New System.Windows.Forms.Button()
-        Me.btnBack = New System.Windows.Forms.Button()
-        Me.btnStart = New System.Windows.Forms.Button()
-        Me.tabMain = New System.Windows.Forms.TabControl()
-        Me.tabGeneralConfig = New System.Windows.Forms.TabPage()
-        Me.cboCycle = New System.Windows.Forms.ComboBox()
-        Me.lblCycle = New System.Windows.Forms.Label()
-        Me.lblVehiceWeight = New System.Windows.Forms.Label()
-        Me.txtVehicleWeightKG = New System.Windows.Forms.TextBox()
-        Me.tabElectricalConfig = New System.Windows.Forms.TabPage()
-        Me.btnAlternatorMapPath = New System.Windows.Forms.Button()
-        Me.gvResultsCardOverrun = New System.Windows.Forms.DataGridView()
-        Me.gvResultsCardTraction = New System.Windows.Forms.DataGridView()
-        Me.gvResultsCardIdle = New System.Windows.Forms.DataGridView()
-        Me.lblResultsOverrun = New System.Windows.Forms.Label()
-        Me.lblResultsTractionOn = New System.Windows.Forms.Label()
-        Me.lblResultsIdle = New System.Windows.Forms.Label()
-        Me.chkSmartElectricals = New System.Windows.Forms.CheckBox()
-        Me.lblElectricalConsumables = New System.Windows.Forms.Label()
-        Me.gvElectricalConsumables = New System.Windows.Forms.DataGridView()
-        Me.txtDoorActuationTimeSeconds = New System.Windows.Forms.TextBox()
-        Me.txtAlternatorGearEfficiency = New System.Windows.Forms.TextBox()
-        Me.txtAlternatorMapPath = New System.Windows.Forms.TextBox()
-        Me.txtPowernetVoltage = New System.Windows.Forms.TextBox()
-        Me.lblDoorActuationTimeSeconds = New System.Windows.Forms.Label()
-        Me.lblAlternatorGearEfficiency = New System.Windows.Forms.Label()
-        Me.lblAlternatormapPath = New System.Windows.Forms.Label()
-        Me.lblPowerNetVoltage = New System.Windows.Forms.Label()
-        Me.tabPneumaticConfig = New System.Windows.Forms.TabPage()
-        Me.pnlPneumaticsUserInput = New System.Windows.Forms.Panel()
-        Me.Button1 = New System.Windows.Forms.Button()
-        Me.btnCompressorMap = New System.Windows.Forms.Button()
-        Me.lblPneumaticsVariablesTitle = New System.Windows.Forms.Label()
-        Me.lblCompressorType = New System.Windows.Forms.Label()
-        Me.lblActuationsMap = New System.Windows.Forms.Label()
-        Me.chkSmartAirCompression = New System.Windows.Forms.CheckBox()
-        Me.lblSmartRegeneration = New System.Windows.Forms.Label()
-        Me.chkSmartRegeneration = New System.Windows.Forms.CheckBox()
-        Me.lblAdBlueDosing = New System.Windows.Forms.Label()
-        Me.chkRetarderBrake = New System.Windows.Forms.CheckBox()
-        Me.lblSmartAirCompression = New System.Windows.Forms.Label()
-        Me.txtKneelingHeightMillimeters = New System.Windows.Forms.TextBox()
-        Me.lblAirSuspensionControl = New System.Windows.Forms.Label()
-        Me.cboDoors = New System.Windows.Forms.ComboBox()
-        Me.lblRetarderBrake = New System.Windows.Forms.Label()
-        Me.cboCompressorType = New System.Windows.Forms.ComboBox()
-        Me.txtCompressorMap = New System.Windows.Forms.TextBox()
-        Me.lblCompressorGearEfficiency = New System.Windows.Forms.Label()
-        Me.txtCompressorGearRatio = New System.Windows.Forms.TextBox()
-        Me.lblCompressorGearRatio = New System.Windows.Forms.Label()
-        Me.txtCompressorGearEfficiency = New System.Windows.Forms.TextBox()
-        Me.lblCompressorMap = New System.Windows.Forms.Label()
-        Me.cboAirSuspensionControl = New System.Windows.Forms.ComboBox()
-        Me.lblDoors = New System.Windows.Forms.Label()
-        Me.cboAdBlueDosing = New System.Windows.Forms.ComboBox()
-        Me.lblKneelingHeightMillimeters = New System.Windows.Forms.Label()
-        Me.txtActuationsMap = New System.Windows.Forms.TextBox()
-        Me.pnlPneumaticAuxillaries = New System.Windows.Forms.Panel()
-        Me.lblPneumaticAuxillariesTitle = New System.Windows.Forms.Label()
-        Me.lblAdBlueNIperMinute = New System.Windows.Forms.Label()
-        Me.lblAirControlledSuspensionNIperMinute = New System.Windows.Forms.Label()
-        Me.lblBrakingNoRetarderNIperKG = New System.Windows.Forms.Label()
-        Me.lblBrakingWithRetarderNIperKG = New System.Windows.Forms.Label()
-        Me.lblBreakingPerKneelingNIperKGinMM = New System.Windows.Forms.Label()
-        Me.lblDeadVolBlowOutsPerLitresperHour = New System.Windows.Forms.Label()
-        Me.lblDeadVolumeLitres = New System.Windows.Forms.Label()
-        Me.lblNonSmartRegenFractionTotalAirDemand = New System.Windows.Forms.Label()
-        Me.lblOverrunUtilisationForCompressionFraction = New System.Windows.Forms.Label()
-        Me.lblPerDoorOpeningNI = New System.Windows.Forms.Label()
-        Me.lblPerStopBrakeActuationNIperKG = New System.Windows.Forms.Label()
-        Me.lblSmartRegenFractionTotalAirDemand = New System.Windows.Forms.Label()
-        Me.txtAdBlueNIperMinute = New System.Windows.Forms.TextBox()
-        Me.txtAirControlledSuspensionNIperMinute = New System.Windows.Forms.TextBox()
-        Me.txtBrakingNoRetarderNIperKG = New System.Windows.Forms.TextBox()
-        Me.txtBrakingWithRetarderNIperKG = New System.Windows.Forms.TextBox()
-        Me.txtBreakingPerKneelingNIperKGinMM = New System.Windows.Forms.TextBox()
-        Me.txtDeadVolBlowOutsPerLitresperHour = New System.Windows.Forms.TextBox()
-        Me.txtDeadVolumeLitres = New System.Windows.Forms.TextBox()
-        Me.txtNonSmartRegenFractionTotalAirDemand = New System.Windows.Forms.TextBox()
-        Me.txtOverrunUtilisationForCompressionFraction = New System.Windows.Forms.TextBox()
-        Me.txtPerDoorOpeningNI = New System.Windows.Forms.TextBox()
-        Me.txtPerStopBrakeActuationNIperKG = New System.Windows.Forms.TextBox()
-        Me.txtSmartRegenFractionTotalAirDemand = New System.Windows.Forms.TextBox()
-        Me.tabHVACConfig = New System.Windows.Forms.TabPage()
-        Me.txtHVACFuellingLitresPerHour = New System.Windows.Forms.TextBox()
-        Me.lblHVACFuellingLitresPerHour = New System.Windows.Forms.Label()
-        Me.txtHVACMechanicalLoadPowerWatts = New System.Windows.Forms.TextBox()
-        Me.lblHVACMechanicalLoadPowerWatts = New System.Windows.Forms.Label()
-        Me.txtHVACElectricalLoadPowerWatts = New System.Windows.Forms.TextBox()
-        Me.lblHVACElectricalLoadPowerWatts = New System.Windows.Forms.Label()
-        Me.tabPlayground = New System.Windows.Forms.TabPage()
-        Me.resultCardContextMenu = New System.Windows.Forms.ContextMenuStrip(Me.components)
-        Me.DeleteToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
-        Me.ErrorProvider = New System.Windows.Forms.ErrorProvider(Me.components)
-        Me.lblHVACTitle = New System.Windows.Forms.Label()
-        Me.pnlMain.SuspendLayout
-        Me.tabMain.SuspendLayout
-        Me.tabGeneralConfig.SuspendLayout
-        Me.tabElectricalConfig.SuspendLayout
-        CType(Me.gvResultsCardOverrun,System.ComponentModel.ISupportInitialize).BeginInit
-        CType(Me.gvResultsCardTraction,System.ComponentModel.ISupportInitialize).BeginInit
-        CType(Me.gvResultsCardIdle,System.ComponentModel.ISupportInitialize).BeginInit
-        CType(Me.gvElectricalConsumables,System.ComponentModel.ISupportInitialize).BeginInit
-        Me.tabPneumaticConfig.SuspendLayout
-        Me.pnlPneumaticsUserInput.SuspendLayout
-        Me.pnlPneumaticAuxillaries.SuspendLayout
-        Me.tabHVACConfig.SuspendLayout
-        Me.resultCardContextMenu.SuspendLayout
-        CType(Me.ErrorProvider,System.ComponentModel.ISupportInitialize).BeginInit
-        Me.SuspendLayout
-        '
-        'pnlMain
-        '
-        Me.pnlMain.Controls.Add(Me.btnCancel)
-        Me.pnlMain.Controls.Add(Me.btnFinish)
-        Me.pnlMain.Controls.Add(Me.btnForward)
-        Me.pnlMain.Controls.Add(Me.btnBack)
-        Me.pnlMain.Controls.Add(Me.btnStart)
-        Me.pnlMain.Controls.Add(Me.tabMain)
-        Me.pnlMain.Dock = System.Windows.Forms.DockStyle.Fill
-        Me.pnlMain.Location = New System.Drawing.Point(0, 0)
-        Me.pnlMain.Name = "pnlMain"
-        Me.pnlMain.Size = New System.Drawing.Size(945, 712)
-        Me.pnlMain.TabIndex = 1
-        '
-        'btnCancel
-        '
-        Me.btnCancel.Location = New System.Drawing.Point(827, 670)
-        Me.btnCancel.Name = "btnCancel"
-        Me.btnCancel.Size = New System.Drawing.Size(75, 23)
-        Me.btnCancel.TabIndex = 5
-        Me.btnCancel.Text = "Cancel"
-        Me.btnCancel.UseVisualStyleBackColor = true
-        '
-        'btnFinish
-        '
-        Me.btnFinish.Location = New System.Drawing.Point(745, 671)
-        Me.btnFinish.Name = "btnFinish"
-        Me.btnFinish.Size = New System.Drawing.Size(75, 23)
-        Me.btnFinish.TabIndex = 4
-        Me.btnFinish.Text = "Finish  >|"
-        Me.btnFinish.UseVisualStyleBackColor = true
-        '
-        'btnForward
-        '
-        Me.btnForward.Location = New System.Drawing.Point(621, 671)
-        Me.btnForward.Name = "btnForward"
-        Me.btnForward.Size = New System.Drawing.Size(75, 23)
-        Me.btnForward.TabIndex = 3
-        Me.btnForward.Text = "Fwd >>"
-        Me.btnForward.UseVisualStyleBackColor = true
-        '
-        'btnBack
-        '
-        Me.btnBack.Location = New System.Drawing.Point(537, 671)
-        Me.btnBack.Name = "btnBack"
-        Me.btnBack.Size = New System.Drawing.Size(75, 23)
-        Me.btnBack.TabIndex = 2
-        Me.btnBack.Text = "<< Back"
-        Me.btnBack.UseVisualStyleBackColor = true
-        '
-        'btnStart
-        '
-        Me.btnStart.Location = New System.Drawing.Point(420, 671)
-        Me.btnStart.Name = "btnStart"
-        Me.btnStart.Size = New System.Drawing.Size(75, 23)
-        Me.btnStart.TabIndex = 1
-        Me.btnStart.Text = "|< Start"
-        Me.btnStart.UseVisualStyleBackColor = true
-        '
-        'tabMain
-        '
-        Me.tabMain.AccessibleDescription = ""
-        Me.tabMain.Controls.Add(Me.tabGeneralConfig)
-        Me.tabMain.Controls.Add(Me.tabElectricalConfig)
-        Me.tabMain.Controls.Add(Me.tabPneumaticConfig)
-        Me.tabMain.Controls.Add(Me.tabHVACConfig)
-        Me.tabMain.Controls.Add(Me.tabPlayground)
-        Me.tabMain.DrawMode = System.Windows.Forms.TabDrawMode.OwnerDrawFixed
-        Me.tabMain.Location = New System.Drawing.Point(12, 12)
-        Me.tabMain.Name = "tabMain"
-        Me.tabMain.SelectedIndex = 0
-        Me.tabMain.Size = New System.Drawing.Size(917, 636)
-        Me.tabMain.TabIndex = 0
-        Me.tabMain.Tag = ""
-        '
-        'tabGeneralConfig
-        '
-        Me.tabGeneralConfig.Controls.Add(Me.cboCycle)
-        Me.tabGeneralConfig.Controls.Add(Me.lblCycle)
-        Me.tabGeneralConfig.Controls.Add(Me.lblVehiceWeight)
-        Me.tabGeneralConfig.Controls.Add(Me.txtVehicleWeightKG)
-        Me.tabGeneralConfig.Location = New System.Drawing.Point(4, 22)
-        Me.tabGeneralConfig.Name = "tabGeneralConfig"
-        Me.tabGeneralConfig.Padding = New System.Windows.Forms.Padding(3)
-        Me.tabGeneralConfig.Size = New System.Drawing.Size(909, 610)
-        Me.tabGeneralConfig.TabIndex = 0
-        Me.tabGeneralConfig.Text = "GeneralConfig"
-        Me.tabGeneralConfig.UseVisualStyleBackColor = true
-        '
-        'cboCycle
-        '
-        Me.cboCycle.FormattingEnabled = true
-        Me.cboCycle.Items.AddRange(New Object() {"Urban", "Heavy urban", "Suburban", "Interurban", "Coach"&Global.Microsoft.VisualBasic.ChrW(9), ""&Global.Microsoft.VisualBasic.ChrW(9)&Global.Microsoft.VisualBasic.ChrW(9)&Global.Microsoft.VisualBasic.ChrW(9)&Global.Microsoft.VisualBasic.ChrW(9)&Global.Microsoft.VisualBasic.ChrW(9)&Global.Microsoft.VisualBasic.ChrW(9)&Global.Microsoft.VisualBasic.ChrW(9)&Global.Microsoft.VisualBasic.ChrW(9)&Global.Microsoft.VisualBasic.ChrW(9)&Global.Microsoft.VisualBasic.ChrW(9)})
-        Me.cboCycle.Location = New System.Drawing.Point(123, 78)
-        Me.cboCycle.Name = "cboCycle"
-        Me.cboCycle.Size = New System.Drawing.Size(121, 21)
-        Me.cboCycle.TabIndex = 6
-        '
-        'lblCycle
-        '
-        Me.lblCycle.AutoSize = true
-        Me.lblCycle.Location = New System.Drawing.Point(24, 78)
-        Me.lblCycle.Name = "lblCycle"
-        Me.lblCycle.Size = New System.Drawing.Size(33, 13)
-        Me.lblCycle.TabIndex = 5
-        Me.lblCycle.Text = "Cycle"
-        '
-        'lblVehiceWeight
-        '
-        Me.lblVehiceWeight.AutoSize = true
-        Me.lblVehiceWeight.Location = New System.Drawing.Point(21, 38)
-        Me.lblVehiceWeight.Name = "lblVehiceWeight"
-        Me.lblVehiceWeight.Size = New System.Drawing.Size(97, 13)
-        Me.lblVehiceWeight.TabIndex = 3
-        Me.lblVehiceWeight.Text = "Vehicle Weight KG"
-        '
-        'txtVehicleWeightKG
-        '
-        Me.txtVehicleWeightKG.Location = New System.Drawing.Point(123, 35)
-        Me.txtVehicleWeightKG.Name = "txtVehicleWeightKG"
-        Me.txtVehicleWeightKG.Size = New System.Drawing.Size(100, 20)
-        Me.txtVehicleWeightKG.TabIndex = 2
-        '
-        'tabElectricalConfig
-        '
-        Me.tabElectricalConfig.Controls.Add(Me.btnAlternatorMapPath)
-        Me.tabElectricalConfig.Controls.Add(Me.gvResultsCardOverrun)
-        Me.tabElectricalConfig.Controls.Add(Me.gvResultsCardTraction)
-        Me.tabElectricalConfig.Controls.Add(Me.gvResultsCardIdle)
-        Me.tabElectricalConfig.Controls.Add(Me.lblResultsOverrun)
-        Me.tabElectricalConfig.Controls.Add(Me.lblResultsTractionOn)
-        Me.tabElectricalConfig.Controls.Add(Me.lblResultsIdle)
-        Me.tabElectricalConfig.Controls.Add(Me.chkSmartElectricals)
-        Me.tabElectricalConfig.Controls.Add(Me.lblElectricalConsumables)
-        Me.tabElectricalConfig.Controls.Add(Me.gvElectricalConsumables)
-        Me.tabElectricalConfig.Controls.Add(Me.txtDoorActuationTimeSeconds)
-        Me.tabElectricalConfig.Controls.Add(Me.txtAlternatorGearEfficiency)
-        Me.tabElectricalConfig.Controls.Add(Me.txtAlternatorMapPath)
-        Me.tabElectricalConfig.Controls.Add(Me.txtPowernetVoltage)
-        Me.tabElectricalConfig.Controls.Add(Me.lblDoorActuationTimeSeconds)
-        Me.tabElectricalConfig.Controls.Add(Me.lblAlternatorGearEfficiency)
-        Me.tabElectricalConfig.Controls.Add(Me.lblAlternatormapPath)
-        Me.tabElectricalConfig.Controls.Add(Me.lblPowerNetVoltage)
-        Me.tabElectricalConfig.Location = New System.Drawing.Point(4, 22)
-        Me.tabElectricalConfig.Name = "tabElectricalConfig"
-        Me.tabElectricalConfig.Padding = New System.Windows.Forms.Padding(3)
-        Me.tabElectricalConfig.Size = New System.Drawing.Size(909, 610)
-        Me.tabElectricalConfig.TabIndex = 1
-        Me.tabElectricalConfig.Text = "ElectricalConfig"
-        Me.tabElectricalConfig.UseVisualStyleBackColor = true
-        '
-        'btnAlternatorMapPath
-        '
-        Me.btnAlternatorMapPath.Location = New System.Drawing.Point(496, 43)
-        Me.btnAlternatorMapPath.Name = "btnAlternatorMapPath"
-        Me.btnAlternatorMapPath.Size = New System.Drawing.Size(38, 20)
-        Me.btnAlternatorMapPath.TabIndex = 19
-        Me.btnAlternatorMapPath.Text = ". . ."
-        Me.btnAlternatorMapPath.UseVisualStyleBackColor = true
-        '
-        'gvResultsCardOverrun
-        '
-        DataGridViewCellStyle25.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle25.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle25.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle25.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle25.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle25.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle25.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardOverrun.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle25
-        Me.gvResultsCardOverrun.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
-        DataGridViewCellStyle26.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle26.BackColor = System.Drawing.SystemColors.Window
-        DataGridViewCellStyle26.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle26.ForeColor = System.Drawing.SystemColors.ControlText
-        DataGridViewCellStyle26.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle26.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle26.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
-        Me.gvResultsCardOverrun.DefaultCellStyle = DataGridViewCellStyle26
-        Me.gvResultsCardOverrun.Location = New System.Drawing.Point(590, 451)
-        Me.gvResultsCardOverrun.Name = "gvResultsCardOverrun"
-        DataGridViewCellStyle27.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle27.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle27.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle27.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle27.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle27.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle27.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardOverrun.RowHeadersDefaultCellStyle = DataGridViewCellStyle27
-        Me.gvResultsCardOverrun.Size = New System.Drawing.Size(246, 125)
-        Me.gvResultsCardOverrun.TabIndex = 18
-        '
-        'gvResultsCardTraction
-        '
-        DataGridViewCellStyle28.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle28.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle28.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle28.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle28.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle28.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle28.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardTraction.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle28
-        Me.gvResultsCardTraction.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
-        DataGridViewCellStyle29.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle29.BackColor = System.Drawing.SystemColors.Window
-        DataGridViewCellStyle29.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle29.ForeColor = System.Drawing.SystemColors.ControlText
-        DataGridViewCellStyle29.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle29.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle29.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
-        Me.gvResultsCardTraction.DefaultCellStyle = DataGridViewCellStyle29
-        Me.gvResultsCardTraction.Location = New System.Drawing.Point(311, 451)
-        Me.gvResultsCardTraction.Name = "gvResultsCardTraction"
-        DataGridViewCellStyle30.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle30.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle30.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle30.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle30.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle30.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle30.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardTraction.RowHeadersDefaultCellStyle = DataGridViewCellStyle30
-        Me.gvResultsCardTraction.Size = New System.Drawing.Size(258, 125)
-        Me.gvResultsCardTraction.TabIndex = 17
-        '
-        'gvResultsCardIdle
-        '
-        DataGridViewCellStyle31.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle31.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle31.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle31.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle31.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle31.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle31.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardIdle.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle31
-        Me.gvResultsCardIdle.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
-        DataGridViewCellStyle32.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle32.BackColor = System.Drawing.SystemColors.Window
-        DataGridViewCellStyle32.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle32.ForeColor = System.Drawing.SystemColors.ControlText
-        DataGridViewCellStyle32.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle32.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle32.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
-        Me.gvResultsCardIdle.DefaultCellStyle = DataGridViewCellStyle32
-        Me.gvResultsCardIdle.Location = New System.Drawing.Point(35, 451)
-        Me.gvResultsCardIdle.Name = "gvResultsCardIdle"
-        DataGridViewCellStyle33.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle33.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle33.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle33.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle33.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle33.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle33.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardIdle.RowHeadersDefaultCellStyle = DataGridViewCellStyle33
-        Me.gvResultsCardIdle.Size = New System.Drawing.Size(256, 125)
-        Me.gvResultsCardIdle.TabIndex = 16
-        '
-        'lblResultsOverrun
-        '
-        Me.lblResultsOverrun.AutoSize = true
-        Me.lblResultsOverrun.Location = New System.Drawing.Point(587, 435)
-        Me.lblResultsOverrun.Name = "lblResultsOverrun"
-        Me.lblResultsOverrun.Size = New System.Drawing.Size(83, 13)
-        Me.lblResultsOverrun.TabIndex = 15
-        Me.lblResultsOverrun.Text = "Results Overrun"
-        '
-        'lblResultsTractionOn
-        '
-        Me.lblResultsTractionOn.AutoSize = true
-        Me.lblResultsTractionOn.Location = New System.Drawing.Point(308, 435)
-        Me.lblResultsTractionOn.Name = "lblResultsTractionOn"
-        Me.lblResultsTractionOn.Size = New System.Drawing.Size(98, 13)
-        Me.lblResultsTractionOn.TabIndex = 14
-        Me.lblResultsTractionOn.Text = "Results TractionOn"
-        '
-        'lblResultsIdle
-        '
-        Me.lblResultsIdle.AutoSize = true
-        Me.lblResultsIdle.Location = New System.Drawing.Point(38, 435)
-        Me.lblResultsIdle.Name = "lblResultsIdle"
-        Me.lblResultsIdle.Size = New System.Drawing.Size(62, 13)
-        Me.lblResultsIdle.TabIndex = 13
-        Me.lblResultsIdle.Text = "Results Idle"
-        '
-        'chkSmartElectricals
-        '
-        Me.chkSmartElectricals.AutoSize = true
-        Me.chkSmartElectricals.Location = New System.Drawing.Point(161, 132)
-        Me.chkSmartElectricals.Name = "chkSmartElectricals"
-        Me.chkSmartElectricals.Size = New System.Drawing.Size(101, 17)
-        Me.chkSmartElectricals.TabIndex = 12
-        Me.chkSmartElectricals.Text = "SmartElectricals"
-        Me.chkSmartElectricals.UseVisualStyleBackColor = true
-        '
-        'lblElectricalConsumables
-        '
-        Me.lblElectricalConsumables.AutoSize = true
-        Me.lblElectricalConsumables.Location = New System.Drawing.Point(34, 154)
-        Me.lblElectricalConsumables.Name = "lblElectricalConsumables"
-        Me.lblElectricalConsumables.Size = New System.Drawing.Size(116, 13)
-        Me.lblElectricalConsumables.TabIndex = 11
-        Me.lblElectricalConsumables.Text = "Electrical Consumables"
-        '
-        'gvElectricalConsumables
-        '
-        DataGridViewCellStyle34.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle34.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle34.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle34.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle34.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle34.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle34.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvElectricalConsumables.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle34
-        Me.gvElectricalConsumables.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
-        DataGridViewCellStyle35.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle35.BackColor = System.Drawing.SystemColors.Window
-        DataGridViewCellStyle35.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle35.ForeColor = System.Drawing.SystemColors.ControlText
-        DataGridViewCellStyle35.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle35.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle35.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
-        Me.gvElectricalConsumables.DefaultCellStyle = DataGridViewCellStyle35
-        Me.gvElectricalConsumables.Location = New System.Drawing.Point(33, 170)
-        Me.gvElectricalConsumables.Name = "gvElectricalConsumables"
-        DataGridViewCellStyle36.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle36.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle36.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle36.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle36.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle36.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle36.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvElectricalConsumables.RowHeadersDefaultCellStyle = DataGridViewCellStyle36
-        Me.gvElectricalConsumables.Size = New System.Drawing.Size(803, 250)
-        Me.gvElectricalConsumables.TabIndex = 10
-        '
-        'txtDoorActuationTimeSeconds
-        '
-        Me.txtDoorActuationTimeSeconds.Location = New System.Drawing.Point(161, 101)
-        Me.txtDoorActuationTimeSeconds.Name = "txtDoorActuationTimeSeconds"
-        Me.txtDoorActuationTimeSeconds.Size = New System.Drawing.Size(100, 20)
-        Me.txtDoorActuationTimeSeconds.TabIndex = 9
-        '
-        'txtAlternatorGearEfficiency
-        '
-        Me.txtAlternatorGearEfficiency.Location = New System.Drawing.Point(161, 69)
-        Me.txtAlternatorGearEfficiency.Name = "txtAlternatorGearEfficiency"
-        Me.txtAlternatorGearEfficiency.Size = New System.Drawing.Size(100, 20)
-        Me.txtAlternatorGearEfficiency.TabIndex = 6
-        '
-        'txtAlternatorMapPath
-        '
-        Me.txtAlternatorMapPath.Location = New System.Drawing.Point(161, 43)
-        Me.txtAlternatorMapPath.Name = "txtAlternatorMapPath"
-        Me.txtAlternatorMapPath.Size = New System.Drawing.Size(319, 20)
-        Me.txtAlternatorMapPath.TabIndex = 4
-        '
-        'txtPowernetVoltage
-        '
-        Me.txtPowernetVoltage.Location = New System.Drawing.Point(161, 16)
-        Me.txtPowernetVoltage.Name = "txtPowernetVoltage"
-        Me.txtPowernetVoltage.Size = New System.Drawing.Size(100, 20)
-        Me.txtPowernetVoltage.TabIndex = 2
-        '
-        'lblDoorActuationTimeSeconds
-        '
-        Me.lblDoorActuationTimeSeconds.AutoSize = true
-        Me.lblDoorActuationTimeSeconds.Location = New System.Drawing.Point(30, 101)
-        Me.lblDoorActuationTimeSeconds.Name = "lblDoorActuationTimeSeconds"
-        Me.lblDoorActuationTimeSeconds.Size = New System.Drawing.Size(111, 13)
-        Me.lblDoorActuationTimeSeconds.TabIndex = 8
-        Me.lblDoorActuationTimeSeconds.Text = "DoorActuationTime(S)"
-        '
-        'lblAlternatorGearEfficiency
-        '
-        Me.lblAlternatorGearEfficiency.AutoSize = true
-        Me.lblAlternatorGearEfficiency.Location = New System.Drawing.Point(30, 73)
-        Me.lblAlternatorGearEfficiency.Name = "lblAlternatorGearEfficiency"
-        Me.lblAlternatorGearEfficiency.Size = New System.Drawing.Size(121, 13)
-        Me.lblAlternatorGearEfficiency.TabIndex = 7
-        Me.lblAlternatorGearEfficiency.Text = "AlternatorGearEfficiency"
-        '
-        'lblAlternatormapPath
-        '
-        Me.lblAlternatormapPath.AutoSize = true
-        Me.lblAlternatormapPath.Location = New System.Drawing.Point(30, 47)
-        Me.lblAlternatormapPath.Name = "lblAlternatormapPath"
-        Me.lblAlternatormapPath.Size = New System.Drawing.Size(73, 13)
-        Me.lblAlternatormapPath.TabIndex = 5
-        Me.lblAlternatormapPath.Text = "AlternatorMap"
-        '
-        'lblPowerNetVoltage
-        '
-        Me.lblPowerNetVoltage.AutoSize = true
-        Me.lblPowerNetVoltage.Location = New System.Drawing.Point(30, 18)
-        Me.lblPowerNetVoltage.Name = "lblPowerNetVoltage"
-        Me.lblPowerNetVoltage.Size = New System.Drawing.Size(88, 13)
-        Me.lblPowerNetVoltage.TabIndex = 3
-        Me.lblPowerNetVoltage.Text = "PowernetVoltage"
-        '
-        'tabPneumaticConfig
-        '
-        Me.tabPneumaticConfig.Controls.Add(Me.pnlPneumaticsUserInput)
-        Me.tabPneumaticConfig.Controls.Add(Me.pnlPneumaticAuxillaries)
-        Me.tabPneumaticConfig.Location = New System.Drawing.Point(4, 22)
-        Me.tabPneumaticConfig.Name = "tabPneumaticConfig"
-        Me.tabPneumaticConfig.Size = New System.Drawing.Size(909, 610)
-        Me.tabPneumaticConfig.TabIndex = 2
-        Me.tabPneumaticConfig.Text = "PneumaticConfig"
-        Me.tabPneumaticConfig.UseVisualStyleBackColor = true
-        '
-        'pnlPneumaticsUserInput
-        '
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.Button1)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.btnCompressorMap)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.lblPneumaticsVariablesTitle)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.lblCompressorType)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.lblActuationsMap)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.chkSmartAirCompression)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.lblSmartRegeneration)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.chkSmartRegeneration)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.lblAdBlueDosing)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.chkRetarderBrake)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.lblSmartAirCompression)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.txtKneelingHeightMillimeters)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.lblAirSuspensionControl)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.cboDoors)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.lblRetarderBrake)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.cboCompressorType)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.txtCompressorMap)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.lblCompressorGearEfficiency)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.txtCompressorGearRatio)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.lblCompressorGearRatio)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.txtCompressorGearEfficiency)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.lblCompressorMap)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.cboAirSuspensionControl)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.lblDoors)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.cboAdBlueDosing)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.lblKneelingHeightMillimeters)
-        Me.pnlPneumaticsUserInput.Controls.Add(Me.txtActuationsMap)
-        Me.pnlPneumaticsUserInput.Location = New System.Drawing.Point(403, 17)
-        Me.pnlPneumaticsUserInput.Name = "pnlPneumaticsUserInput"
-        Me.pnlPneumaticsUserInput.Size = New System.Drawing.Size(491, 576)
-        Me.pnlPneumaticsUserInput.TabIndex = 53
-        '
-        'Button1
-        '
-        Me.Button1.Location = New System.Drawing.Point(449, 387)
-        Me.Button1.Name = "Button1"
-        Me.Button1.Size = New System.Drawing.Size(35, 23)
-        Me.Button1.TabIndex = 54
-        Me.Button1.Text = ". . ."
-        Me.Button1.UseVisualStyleBackColor = true
-        '
-        'btnCompressorMap
-        '
-        Me.btnCompressorMap.Location = New System.Drawing.Point(450, 94)
-        Me.btnCompressorMap.Name = "btnCompressorMap"
-        Me.btnCompressorMap.Size = New System.Drawing.Size(35, 23)
-        Me.btnCompressorMap.TabIndex = 53
-        Me.btnCompressorMap.Text = ". . ."
-        Me.btnCompressorMap.UseVisualStyleBackColor = true
-        '
-        'lblPneumaticsVariablesTitle
-        '
-        Me.lblPneumaticsVariablesTitle.AutoSize = true
-        Me.lblPneumaticsVariablesTitle.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        Me.lblPneumaticsVariablesTitle.ForeColor = System.Drawing.SystemColors.MenuHighlight
-        Me.lblPneumaticsVariablesTitle.Location = New System.Drawing.Point(20, 18)
-        Me.lblPneumaticsVariablesTitle.Name = "lblPneumaticsVariablesTitle"
-        Me.lblPneumaticsVariablesTitle.Size = New System.Drawing.Size(122, 13)
-        Me.lblPneumaticsVariablesTitle.TabIndex = 52
-        Me.lblPneumaticsVariablesTitle.Text = "Pneumatic Variables"
-        '
-        'lblCompressorType
-        '
-        Me.lblCompressorType.AutoSize = true
-        Me.lblCompressorType.Location = New System.Drawing.Point(13, 60)
-        Me.lblCompressorType.Name = "lblCompressorType"
-        Me.lblCompressorType.Size = New System.Drawing.Size(92, 13)
-        Me.lblCompressorType.TabIndex = 33
-        Me.lblCompressorType.Text = "Compressor Type "
-        '
-        'lblActuationsMap
-        '
-        Me.lblActuationsMap.AutoSize = true
-        Me.lblActuationsMap.Location = New System.Drawing.Point(13, 392)
-        Me.lblActuationsMap.Name = "lblActuationsMap"
-        Me.lblActuationsMap.Size = New System.Drawing.Size(81, 13)
-        Me.lblActuationsMap.TabIndex = 25
-        Me.lblActuationsMap.Text = "Actuations Map"
-        '
-        'chkSmartAirCompression
-        '
-        Me.chkSmartAirCompression.AutoSize = true
-        Me.chkSmartAirCompression.FlatStyle = System.Windows.Forms.FlatStyle.System
-        Me.chkSmartAirCompression.Location = New System.Drawing.Point(156, 469)
-        Me.chkSmartAirCompression.Name = "chkSmartAirCompression"
-        Me.chkSmartAirCompression.Size = New System.Drawing.Size(35, 18)
-        Me.chkSmartAirCompression.TabIndex = 48
-        Me.chkSmartAirCompression.Text = " "
-        Me.chkSmartAirCompression.UseVisualStyleBackColor = true
-        '
-        'lblSmartRegeneration
-        '
-        Me.lblSmartRegeneration.AutoSize = true
-        Me.lblSmartRegeneration.Location = New System.Drawing.Point(13, 515)
-        Me.lblSmartRegeneration.Name = "lblSmartRegeneration"
-        Me.lblSmartRegeneration.Size = New System.Drawing.Size(101, 13)
-        Me.lblSmartRegeneration.TabIndex = 51
-        Me.lblSmartRegeneration.Text = "Smart Regeneration"
-        '
-        'chkSmartRegeneration
-        '
-        Me.chkSmartRegeneration.AutoSize = true
-        Me.chkSmartRegeneration.FlatStyle = System.Windows.Forms.FlatStyle.System
-        Me.chkSmartRegeneration.Location = New System.Drawing.Point(156, 510)
-        Me.chkSmartRegeneration.Name = "chkSmartRegeneration"
-        Me.chkSmartRegeneration.Size = New System.Drawing.Size(35, 18)
-        Me.chkSmartRegeneration.TabIndex = 47
-        Me.chkSmartRegeneration.Text = " "
-        Me.chkSmartRegeneration.UseVisualStyleBackColor = true
-        '
-        'lblAdBlueDosing
-        '
-        Me.lblAdBlueDosing.AutoSize = true
-        Me.lblAdBlueDosing.Location = New System.Drawing.Point(13, 228)
-        Me.lblAdBlueDosing.Name = "lblAdBlueDosing"
-        Me.lblAdBlueDosing.Size = New System.Drawing.Size(77, 13)
-        Me.lblAdBlueDosing.TabIndex = 26
-        Me.lblAdBlueDosing.Text = "AdBlue Dosing"
-        '
-        'chkRetarderBrake
-        '
-        Me.chkRetarderBrake.AutoSize = true
-        Me.chkRetarderBrake.FlatStyle = System.Windows.Forms.FlatStyle.System
-        Me.chkRetarderBrake.Location = New System.Drawing.Point(156, 428)
-        Me.chkRetarderBrake.Name = "chkRetarderBrake"
-        Me.chkRetarderBrake.Size = New System.Drawing.Size(38, 18)
-        Me.chkRetarderBrake.TabIndex = 45
-        Me.chkRetarderBrake.Text = "  "
-        Me.chkRetarderBrake.UseVisualStyleBackColor = true
-        '
-        'lblSmartAirCompression
-        '
-        Me.lblSmartAirCompression.AutoSize = true
-        Me.lblSmartAirCompression.Location = New System.Drawing.Point(13, 474)
-        Me.lblSmartAirCompression.Name = "lblSmartAirCompression"
-        Me.lblSmartAirCompression.Size = New System.Drawing.Size(112, 13)
-        Me.lblSmartAirCompression.TabIndex = 50
-        Me.lblSmartAirCompression.Text = "Smart Air Compression"
-        '
-        'txtKneelingHeightMillimeters
-        '
-        Me.txtKneelingHeightMillimeters.Location = New System.Drawing.Point(156, 344)
-        Me.txtKneelingHeightMillimeters.Name = "txtKneelingHeightMillimeters"
-        Me.txtKneelingHeightMillimeters.Size = New System.Drawing.Size(120, 20)
-        Me.txtKneelingHeightMillimeters.TabIndex = 44
-        '
-        'lblAirSuspensionControl
-        '
-        Me.lblAirSuspensionControl.AutoSize = true
-        Me.lblAirSuspensionControl.Location = New System.Drawing.Point(13, 270)
-        Me.lblAirSuspensionControl.Name = "lblAirSuspensionControl"
-        Me.lblAirSuspensionControl.Size = New System.Drawing.Size(113, 13)
-        Me.lblAirSuspensionControl.TabIndex = 29
-        Me.lblAirSuspensionControl.Text = "Air Suspension Control"
-        '
-        'cboDoors
-        '
-        Me.cboDoors.FormattingEnabled = true
-        Me.cboDoors.Items.AddRange(New Object() {"<Select>", "Pneumatic", "Electric"})
-        Me.cboDoors.Location = New System.Drawing.Point(156, 303)
-        Me.cboDoors.Name = "cboDoors"
-        Me.cboDoors.Size = New System.Drawing.Size(121, 21)
-        Me.cboDoors.TabIndex = 43
-        '
-        'lblRetarderBrake
-        '
-        Me.lblRetarderBrake.AutoSize = true
-        Me.lblRetarderBrake.Location = New System.Drawing.Point(13, 433)
-        Me.lblRetarderBrake.Name = "lblRetarderBrake"
-        Me.lblRetarderBrake.Size = New System.Drawing.Size(79, 13)
-        Me.lblRetarderBrake.TabIndex = 49
-        Me.lblRetarderBrake.Text = "Retarder Brake"
-        '
-        'cboCompressorType
-        '
-        Me.cboCompressorType.FormattingEnabled = true
-        Me.cboCompressorType.Items.AddRange(New Object() {"<Select>", "CompressorType1", "CompressorType2", "CompressorType3"})
-        Me.cboCompressorType.Location = New System.Drawing.Point(156, 57)
-        Me.cboCompressorType.Name = "cboCompressorType"
-        Me.cboCompressorType.Size = New System.Drawing.Size(121, 21)
-        Me.cboCompressorType.TabIndex = 42
-        '
-        'txtCompressorMap
-        '
-        Me.txtCompressorMap.Location = New System.Drawing.Point(156, 94)
-        Me.txtCompressorMap.Name = "txtCompressorMap"
-        Me.txtCompressorMap.Size = New System.Drawing.Size(275, 20)
-        Me.txtCompressorMap.TabIndex = 41
-        '
-        'lblCompressorGearEfficiency
-        '
-        Me.lblCompressorGearEfficiency.AutoSize = true
-        Me.lblCompressorGearEfficiency.Location = New System.Drawing.Point(13, 185)
-        Me.lblCompressorGearEfficiency.Name = "lblCompressorGearEfficiency"
-        Me.lblCompressorGearEfficiency.Size = New System.Drawing.Size(137, 13)
-        Me.lblCompressorGearEfficiency.TabIndex = 30
-        Me.lblCompressorGearEfficiency.Text = "Compressor Gear Efficiency"
-        '
-        'txtCompressorGearRatio
-        '
-        Me.txtCompressorGearRatio.ForeColor = System.Drawing.Color.Black
-        Me.txtCompressorGearRatio.Location = New System.Drawing.Point(156, 139)
-        Me.txtCompressorGearRatio.Name = "txtCompressorGearRatio"
-        Me.txtCompressorGearRatio.Size = New System.Drawing.Size(121, 20)
-        Me.txtCompressorGearRatio.TabIndex = 40
-        '
-        'lblCompressorGearRatio
-        '
-        Me.lblCompressorGearRatio.AutoSize = true
-        Me.lblCompressorGearRatio.Location = New System.Drawing.Point(13, 135)
-        Me.lblCompressorGearRatio.Name = "lblCompressorGearRatio"
-        Me.lblCompressorGearRatio.Size = New System.Drawing.Size(116, 13)
-        Me.lblCompressorGearRatio.TabIndex = 31
-        Me.lblCompressorGearRatio.Text = "Compressor Gear Ratio"
-        '
-        'txtCompressorGearEfficiency
-        '
-        Me.txtCompressorGearEfficiency.Location = New System.Drawing.Point(156, 183)
-        Me.txtCompressorGearEfficiency.Name = "txtCompressorGearEfficiency"
-        Me.txtCompressorGearEfficiency.Size = New System.Drawing.Size(121, 20)
-        Me.txtCompressorGearEfficiency.TabIndex = 39
-        '
-        'lblCompressorMap
-        '
-        Me.lblCompressorMap.AutoSize = true
-        Me.lblCompressorMap.Location = New System.Drawing.Point(13, 94)
-        Me.lblCompressorMap.Name = "lblCompressorMap"
-        Me.lblCompressorMap.Size = New System.Drawing.Size(86, 13)
-        Me.lblCompressorMap.TabIndex = 32
-        Me.lblCompressorMap.Text = "Compressor Map"
-        '
-        'cboAirSuspensionControl
-        '
-        Me.cboAirSuspensionControl.FormattingEnabled = true
-        Me.cboAirSuspensionControl.Items.AddRange(New Object() {"<Select>", "Mechanically", "Electrically"})
-        Me.cboAirSuspensionControl.Location = New System.Drawing.Point(156, 262)
-        Me.cboAirSuspensionControl.Name = "cboAirSuspensionControl"
-        Me.cboAirSuspensionControl.Size = New System.Drawing.Size(121, 21)
-        Me.cboAirSuspensionControl.TabIndex = 28
-        '
-        'lblDoors
-        '
-        Me.lblDoors.AutoSize = true
-        Me.lblDoors.Location = New System.Drawing.Point(13, 311)
-        Me.lblDoors.Name = "lblDoors"
-        Me.lblDoors.Size = New System.Drawing.Size(79, 13)
-        Me.lblDoors.TabIndex = 34
-        Me.lblDoors.Text = "Door Operation"
-        '
-        'cboAdBlueDosing
-        '
-        Me.cboAdBlueDosing.FormattingEnabled = true
-        Me.cboAdBlueDosing.Items.AddRange(New Object() {"<Select>", "Pneumatic", "Electric"})
-        Me.cboAdBlueDosing.Location = New System.Drawing.Point(156, 221)
-        Me.cboAdBlueDosing.Name = "cboAdBlueDosing"
-        Me.cboAdBlueDosing.Size = New System.Drawing.Size(121, 21)
-        Me.cboAdBlueDosing.TabIndex = 27
-        '
-        'lblKneelingHeightMillimeters
-        '
-        Me.lblKneelingHeightMillimeters.AutoSize = true
-        Me.lblKneelingHeightMillimeters.Location = New System.Drawing.Point(13, 351)
-        Me.lblKneelingHeightMillimeters.Name = "lblKneelingHeightMillimeters"
-        Me.lblKneelingHeightMillimeters.Size = New System.Drawing.Size(133, 13)
-        Me.lblKneelingHeightMillimeters.TabIndex = 35
-        Me.lblKneelingHeightMillimeters.Text = "Kneeling Height Millimeters"
-        '
-        'txtActuationsMap
-        '
-        Me.txtActuationsMap.Location = New System.Drawing.Point(156, 389)
-        Me.txtActuationsMap.Name = "txtActuationsMap"
-        Me.txtActuationsMap.Size = New System.Drawing.Size(275, 20)
-        Me.txtActuationsMap.TabIndex = 24
-        '
-        'pnlPneumaticAuxillaries
-        '
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.lblPneumaticAuxillariesTitle)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.lblAdBlueNIperMinute)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.lblAirControlledSuspensionNIperMinute)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.lblBrakingNoRetarderNIperKG)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.lblBrakingWithRetarderNIperKG)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.lblBreakingPerKneelingNIperKGinMM)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.lblDeadVolBlowOutsPerLitresperHour)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.lblDeadVolumeLitres)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.lblNonSmartRegenFractionTotalAirDemand)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.lblOverrunUtilisationForCompressionFraction)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.lblPerDoorOpeningNI)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.lblPerStopBrakeActuationNIperKG)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.lblSmartRegenFractionTotalAirDemand)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.txtAdBlueNIperMinute)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.txtAirControlledSuspensionNIperMinute)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.txtBrakingNoRetarderNIperKG)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.txtBrakingWithRetarderNIperKG)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.txtBreakingPerKneelingNIperKGinMM)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.txtDeadVolBlowOutsPerLitresperHour)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.txtDeadVolumeLitres)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.txtNonSmartRegenFractionTotalAirDemand)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.txtOverrunUtilisationForCompressionFraction)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.txtPerDoorOpeningNI)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.txtPerStopBrakeActuationNIperKG)
-        Me.pnlPneumaticAuxillaries.Controls.Add(Me.txtSmartRegenFractionTotalAirDemand)
-        Me.pnlPneumaticAuxillaries.Location = New System.Drawing.Point(20, 17)
-        Me.pnlPneumaticAuxillaries.Name = "pnlPneumaticAuxillaries"
-        Me.pnlPneumaticAuxillaries.Size = New System.Drawing.Size(363, 576)
-        Me.pnlPneumaticAuxillaries.TabIndex = 52
-        '
-        'lblPneumaticAuxillariesTitle
-        '
-        Me.lblPneumaticAuxillariesTitle.AutoSize = true
-        Me.lblPneumaticAuxillariesTitle.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        Me.lblPneumaticAuxillariesTitle.ForeColor = System.Drawing.SystemColors.MenuHighlight
-        Me.lblPneumaticAuxillariesTitle.Location = New System.Drawing.Point(23, 18)
-        Me.lblPneumaticAuxillariesTitle.Name = "lblPneumaticAuxillariesTitle"
-        Me.lblPneumaticAuxillariesTitle.Size = New System.Drawing.Size(158, 13)
-        Me.lblPneumaticAuxillariesTitle.TabIndex = 24
-        Me.lblPneumaticAuxillariesTitle.Text = "Pneumatic Auxillaries Data"
-        '
-        'lblAdBlueNIperMinute
-        '
-        Me.lblAdBlueNIperMinute.AutoSize = true
-        Me.lblAdBlueNIperMinute.Location = New System.Drawing.Point(20, 60)
-        Me.lblAdBlueNIperMinute.MinimumSize = New System.Drawing.Size(120, 0)
-        Me.lblAdBlueNIperMinute.Name = "lblAdBlueNIperMinute"
-        Me.lblAdBlueNIperMinute.Size = New System.Drawing.Size(120, 13)
-        Me.lblAdBlueNIperMinute.TabIndex = 12
-        Me.lblAdBlueNIperMinute.Text = "AdBlue NI per Minute "
-        '
-        'lblAirControlledSuspensionNIperMinute
-        '
-        Me.lblAirControlledSuspensionNIperMinute.AutoSize = true
-        Me.lblAirControlledSuspensionNIperMinute.Location = New System.Drawing.Point(20, 99)
-        Me.lblAirControlledSuspensionNIperMinute.MinimumSize = New System.Drawing.Size(120, 0)
-        Me.lblAirControlledSuspensionNIperMinute.Name = "lblAirControlledSuspensionNIperMinute"
-        Me.lblAirControlledSuspensionNIperMinute.Size = New System.Drawing.Size(184, 13)
-        Me.lblAirControlledSuspensionNIperMinute.TabIndex = 13
-        Me.lblAirControlledSuspensionNIperMinute.Text = "Air Controlled Suspension NI / Minute"
-        '
-        'lblBrakingNoRetarderNIperKG
-        '
-        Me.lblBrakingNoRetarderNIperKG.AutoSize = true
-        Me.lblBrakingNoRetarderNIperKG.Location = New System.Drawing.Point(20, 140)
-        Me.lblBrakingNoRetarderNIperKG.MinimumSize = New System.Drawing.Size(120, 0)
-        Me.lblBrakingNoRetarderNIperKG.Name = "lblBrakingNoRetarderNIperKG"
-        Me.lblBrakingNoRetarderNIperKG.Size = New System.Drawing.Size(138, 13)
-        Me.lblBrakingNoRetarderNIperKG.TabIndex = 14
-        Me.lblBrakingNoRetarderNIperKG.Text = "Braking No Retarder NI/KG"
-        '
-        'lblBrakingWithRetarderNIperKG
-        '
-        Me.lblBrakingWithRetarderNIperKG.AutoSize = true
-        Me.lblBrakingWithRetarderNIperKG.Location = New System.Drawing.Point(20, 183)
-        Me.lblBrakingWithRetarderNIperKG.MinimumSize = New System.Drawing.Size(120, 0)
-        Me.lblBrakingWithRetarderNIperKG.Name = "lblBrakingWithRetarderNIperKG"
-        Me.lblBrakingWithRetarderNIperKG.Size = New System.Drawing.Size(146, 13)
-        Me.lblBrakingWithRetarderNIperKG.TabIndex = 15
-        Me.lblBrakingWithRetarderNIperKG.Text = "Braking With Retarder NI/KG"
-        '
-        'lblBreakingPerKneelingNIperKGinMM
-        '
-        Me.lblBreakingPerKneelingNIperKGinMM.AutoSize = true
-        Me.lblBreakingPerKneelingNIperKGinMM.Location = New System.Drawing.Point(20, 222)
-        Me.lblBreakingPerKneelingNIperKGinMM.MinimumSize = New System.Drawing.Size(120, 0)
-        Me.lblBreakingPerKneelingNIperKGinMM.Name = "lblBreakingPerKneelingNIperKGinMM"
-        Me.lblBreakingPerKneelingNIperKGinMM.Size = New System.Drawing.Size(178, 13)
-        Me.lblBreakingPerKneelingNIperKGinMM.TabIndex = 16
-        Me.lblBreakingPerKneelingNIperKGinMM.Text = "Breaking Per Kneeling NI/KG in MM"
-        '
-        'lblDeadVolBlowOutsPerLitresperHour
-        '
-        Me.lblDeadVolBlowOutsPerLitresperHour.AutoSize = true
-        Me.lblDeadVolBlowOutsPerLitresperHour.Location = New System.Drawing.Point(20, 263)
-        Me.lblDeadVolBlowOutsPerLitresperHour.MinimumSize = New System.Drawing.Size(120, 0)
-        Me.lblDeadVolBlowOutsPerLitresperHour.Name = "lblDeadVolBlowOutsPerLitresperHour"
-        Me.lblDeadVolBlowOutsPerLitresperHour.Size = New System.Drawing.Size(148, 13)
-        Me.lblDeadVolBlowOutsPerLitresperHour.TabIndex = 17
-        Me.lblDeadVolBlowOutsPerLitresperHour.Text = "Dead Vol Blowouts /L / Hour "
-        '
-        'lblDeadVolumeLitres
-        '
-        Me.lblDeadVolumeLitres.AutoSize = true
-        Me.lblDeadVolumeLitres.Location = New System.Drawing.Point(20, 303)
-        Me.lblDeadVolumeLitres.MinimumSize = New System.Drawing.Size(120, 0)
-        Me.lblDeadVolumeLitres.Name = "lblDeadVolumeLitres"
-        Me.lblDeadVolumeLitres.Size = New System.Drawing.Size(120, 13)
-        Me.lblDeadVolumeLitres.TabIndex = 18
-        Me.lblDeadVolumeLitres.Text = "Dead Volume Litres"
-        '
-        'lblNonSmartRegenFractionTotalAirDemand
-        '
-        Me.lblNonSmartRegenFractionTotalAirDemand.AutoSize = true
-        Me.lblNonSmartRegenFractionTotalAirDemand.Location = New System.Drawing.Point(20, 346)
-        Me.lblNonSmartRegenFractionTotalAirDemand.MinimumSize = New System.Drawing.Size(120, 0)
-        Me.lblNonSmartRegenFractionTotalAirDemand.Name = "lblNonSmartRegenFractionTotalAirDemand"
-        Me.lblNonSmartRegenFractionTotalAirDemand.Size = New System.Drawing.Size(218, 13)
-        Me.lblNonSmartRegenFractionTotalAirDemand.TabIndex = 19
-        Me.lblNonSmartRegenFractionTotalAirDemand.Text = "Non Smart Regen Fraction Total Air Demand"
-        '
-        'lblOverrunUtilisationForCompressionFraction
-        '
-        Me.lblOverrunUtilisationForCompressionFraction.AutoSize = true
-        Me.lblOverrunUtilisationForCompressionFraction.Location = New System.Drawing.Point(20, 388)
-        Me.lblOverrunUtilisationForCompressionFraction.MinimumSize = New System.Drawing.Size(120, 0)
-        Me.lblOverrunUtilisationForCompressionFraction.Name = "lblOverrunUtilisationForCompressionFraction"
-        Me.lblOverrunUtilisationForCompressionFraction.Size = New System.Drawing.Size(215, 13)
-        Me.lblOverrunUtilisationForCompressionFraction.TabIndex = 20
-        Me.lblOverrunUtilisationForCompressionFraction.Text = "Overrun Utilisation For Compression Fraction"
-        '
-        'lblPerDoorOpeningNI
-        '
-        Me.lblPerDoorOpeningNI.AutoSize = true
-        Me.lblPerDoorOpeningNI.Location = New System.Drawing.Point(20, 427)
-        Me.lblPerDoorOpeningNI.MinimumSize = New System.Drawing.Size(120, 0)
-        Me.lblPerDoorOpeningNI.Name = "lblPerDoorOpeningNI"
-        Me.lblPerDoorOpeningNI.Size = New System.Drawing.Size(120, 13)
-        Me.lblPerDoorOpeningNI.TabIndex = 21
-        Me.lblPerDoorOpeningNI.Text = "Per Door Opening NI"
-        '
-        'lblPerStopBrakeActuationNIperKG
-        '
-        Me.lblPerStopBrakeActuationNIperKG.AutoSize = true
-        Me.lblPerStopBrakeActuationNIperKG.Location = New System.Drawing.Point(20, 469)
-        Me.lblPerStopBrakeActuationNIperKG.MinimumSize = New System.Drawing.Size(120, 0)
-        Me.lblPerStopBrakeActuationNIperKG.Name = "lblPerStopBrakeActuationNIperKG"
-        Me.lblPerStopBrakeActuationNIperKG.Size = New System.Drawing.Size(161, 13)
-        Me.lblPerStopBrakeActuationNIperKG.TabIndex = 22
-        Me.lblPerStopBrakeActuationNIperKG.Text = "Per Stop Brake Actuation NI/KG"
-        '
-        'lblSmartRegenFractionTotalAirDemand
-        '
-        Me.lblSmartRegenFractionTotalAirDemand.AutoSize = true
-        Me.lblSmartRegenFractionTotalAirDemand.Location = New System.Drawing.Point(20, 510)
-        Me.lblSmartRegenFractionTotalAirDemand.MinimumSize = New System.Drawing.Size(120, 0)
-        Me.lblSmartRegenFractionTotalAirDemand.Name = "lblSmartRegenFractionTotalAirDemand"
-        Me.lblSmartRegenFractionTotalAirDemand.Size = New System.Drawing.Size(195, 13)
-        Me.lblSmartRegenFractionTotalAirDemand.TabIndex = 23
-        Me.lblSmartRegenFractionTotalAirDemand.Text = "Smart Regen Fraction Total Air Demand"
-        '
-        'txtAdBlueNIperMinute
-        '
-        Me.txtAdBlueNIperMinute.Location = New System.Drawing.Point(242, 57)
-        Me.txtAdBlueNIperMinute.Name = "txtAdBlueNIperMinute"
-        Me.txtAdBlueNIperMinute.Size = New System.Drawing.Size(100, 20)
-        Me.txtAdBlueNIperMinute.TabIndex = 0
-        '
-        'txtAirControlledSuspensionNIperMinute
-        '
-        Me.txtAirControlledSuspensionNIperMinute.Location = New System.Drawing.Point(242, 98)
-        Me.txtAirControlledSuspensionNIperMinute.Name = "txtAirControlledSuspensionNIperMinute"
-        Me.txtAirControlledSuspensionNIperMinute.Size = New System.Drawing.Size(100, 20)
-        Me.txtAirControlledSuspensionNIperMinute.TabIndex = 1
-        '
-        'txtBrakingNoRetarderNIperKG
-        '
-        Me.txtBrakingNoRetarderNIperKG.Location = New System.Drawing.Point(242, 139)
-        Me.txtBrakingNoRetarderNIperKG.Name = "txtBrakingNoRetarderNIperKG"
-        Me.txtBrakingNoRetarderNIperKG.Size = New System.Drawing.Size(100, 20)
-        Me.txtBrakingNoRetarderNIperKG.TabIndex = 2
-        '
-        'txtBrakingWithRetarderNIperKG
-        '
-        Me.txtBrakingWithRetarderNIperKG.Location = New System.Drawing.Point(242, 183)
-        Me.txtBrakingWithRetarderNIperKG.Name = "txtBrakingWithRetarderNIperKG"
-        Me.txtBrakingWithRetarderNIperKG.Size = New System.Drawing.Size(100, 20)
-        Me.txtBrakingWithRetarderNIperKG.TabIndex = 3
-        '
-        'txtBreakingPerKneelingNIperKGinMM
-        '
-        Me.txtBreakingPerKneelingNIperKGinMM.Location = New System.Drawing.Point(242, 221)
-        Me.txtBreakingPerKneelingNIperKGinMM.Name = "txtBreakingPerKneelingNIperKGinMM"
-        Me.txtBreakingPerKneelingNIperKGinMM.Size = New System.Drawing.Size(100, 20)
-        Me.txtBreakingPerKneelingNIperKGinMM.TabIndex = 4
-        '
-        'txtDeadVolBlowOutsPerLitresperHour
-        '
-        Me.txtDeadVolBlowOutsPerLitresperHour.Location = New System.Drawing.Point(242, 262)
-        Me.txtDeadVolBlowOutsPerLitresperHour.Name = "txtDeadVolBlowOutsPerLitresperHour"
-        Me.txtDeadVolBlowOutsPerLitresperHour.Size = New System.Drawing.Size(100, 20)
-        Me.txtDeadVolBlowOutsPerLitresperHour.TabIndex = 5
-        '
-        'txtDeadVolumeLitres
-        '
-        Me.txtDeadVolumeLitres.Location = New System.Drawing.Point(242, 303)
-        Me.txtDeadVolumeLitres.Name = "txtDeadVolumeLitres"
-        Me.txtDeadVolumeLitres.Size = New System.Drawing.Size(100, 20)
-        Me.txtDeadVolumeLitres.TabIndex = 6
-        '
-        'txtNonSmartRegenFractionTotalAirDemand
-        '
-        Me.txtNonSmartRegenFractionTotalAirDemand.Location = New System.Drawing.Point(242, 344)
-        Me.txtNonSmartRegenFractionTotalAirDemand.Name = "txtNonSmartRegenFractionTotalAirDemand"
-        Me.txtNonSmartRegenFractionTotalAirDemand.Size = New System.Drawing.Size(100, 20)
-        Me.txtNonSmartRegenFractionTotalAirDemand.TabIndex = 7
-        '
-        'txtOverrunUtilisationForCompressionFraction
-        '
-        Me.txtOverrunUtilisationForCompressionFraction.Location = New System.Drawing.Point(242, 385)
-        Me.txtOverrunUtilisationForCompressionFraction.Name = "txtOverrunUtilisationForCompressionFraction"
-        Me.txtOverrunUtilisationForCompressionFraction.Size = New System.Drawing.Size(100, 20)
-        Me.txtOverrunUtilisationForCompressionFraction.TabIndex = 8
-        '
-        'txtPerDoorOpeningNI
-        '
-        Me.txtPerDoorOpeningNI.Location = New System.Drawing.Point(242, 426)
-        Me.txtPerDoorOpeningNI.Name = "txtPerDoorOpeningNI"
-        Me.txtPerDoorOpeningNI.Size = New System.Drawing.Size(100, 20)
-        Me.txtPerDoorOpeningNI.TabIndex = 9
-        '
-        'txtPerStopBrakeActuationNIperKG
-        '
-        Me.txtPerStopBrakeActuationNIperKG.Location = New System.Drawing.Point(242, 467)
-        Me.txtPerStopBrakeActuationNIperKG.Name = "txtPerStopBrakeActuationNIperKG"
-        Me.txtPerStopBrakeActuationNIperKG.Size = New System.Drawing.Size(100, 20)
-        Me.txtPerStopBrakeActuationNIperKG.TabIndex = 10
-        '
-        'txtSmartRegenFractionTotalAirDemand
-        '
-        Me.txtSmartRegenFractionTotalAirDemand.Location = New System.Drawing.Point(242, 508)
-        Me.txtSmartRegenFractionTotalAirDemand.Name = "txtSmartRegenFractionTotalAirDemand"
-        Me.txtSmartRegenFractionTotalAirDemand.Size = New System.Drawing.Size(100, 20)
-        Me.txtSmartRegenFractionTotalAirDemand.TabIndex = 11
-        '
-        'tabHVACConfig
-        '
-        Me.tabHVACConfig.Controls.Add(Me.lblHVACTitle)
-        Me.tabHVACConfig.Controls.Add(Me.txtHVACFuellingLitresPerHour)
-        Me.tabHVACConfig.Controls.Add(Me.lblHVACFuellingLitresPerHour)
-        Me.tabHVACConfig.Controls.Add(Me.txtHVACMechanicalLoadPowerWatts)
-        Me.tabHVACConfig.Controls.Add(Me.lblHVACMechanicalLoadPowerWatts)
-        Me.tabHVACConfig.Controls.Add(Me.txtHVACElectricalLoadPowerWatts)
-        Me.tabHVACConfig.Controls.Add(Me.lblHVACElectricalLoadPowerWatts)
-        Me.tabHVACConfig.Location = New System.Drawing.Point(4, 22)
-        Me.tabHVACConfig.Name = "tabHVACConfig"
-        Me.tabHVACConfig.Size = New System.Drawing.Size(909, 610)
-        Me.tabHVACConfig.TabIndex = 3
-        Me.tabHVACConfig.Text = "HVACConfig"
-        Me.tabHVACConfig.UseVisualStyleBackColor = true
-        '
-        'txtHVACFuellingLitresPerHour
-        '
-        Me.txtHVACFuellingLitresPerHour.Location = New System.Drawing.Point(192, 189)
-        Me.txtHVACFuellingLitresPerHour.Name = "txtHVACFuellingLitresPerHour"
-        Me.txtHVACFuellingLitresPerHour.Size = New System.Drawing.Size(100, 20)
-        Me.txtHVACFuellingLitresPerHour.TabIndex = 5
-        '
-        'lblHVACFuellingLitresPerHour
-        '
-        Me.lblHVACFuellingLitresPerHour.AutoSize = true
-        Me.lblHVACFuellingLitresPerHour.Location = New System.Drawing.Point(31, 193)
-        Me.lblHVACFuellingLitresPerHour.Name = "lblHVACFuellingLitresPerHour"
-        Me.lblHVACFuellingLitresPerHour.Size = New System.Drawing.Size(116, 13)
-        Me.lblHVACFuellingLitresPerHour.TabIndex = 4
-        Me.lblHVACFuellingLitresPerHour.Text = "Fuelling Litres Per Hour"
-        '
-        'txtHVACMechanicalLoadPowerWatts
-        '
-        Me.txtHVACMechanicalLoadPowerWatts.Location = New System.Drawing.Point(192, 137)
-        Me.txtHVACMechanicalLoadPowerWatts.Name = "txtHVACMechanicalLoadPowerWatts"
-        Me.txtHVACMechanicalLoadPowerWatts.Size = New System.Drawing.Size(100, 20)
-        Me.txtHVACMechanicalLoadPowerWatts.TabIndex = 3
-        '
-        'lblHVACMechanicalLoadPowerWatts
-        '
-        Me.lblHVACMechanicalLoadPowerWatts.AutoSize = true
-        Me.lblHVACMechanicalLoadPowerWatts.Location = New System.Drawing.Point(31, 141)
-        Me.lblHVACMechanicalLoadPowerWatts.Name = "lblHVACMechanicalLoadPowerWatts"
-        Me.lblHVACMechanicalLoadPowerWatts.Size = New System.Drawing.Size(153, 13)
-        Me.lblHVACMechanicalLoadPowerWatts.TabIndex = 2
-        Me.lblHVACMechanicalLoadPowerWatts.Text = "Mechanical Load Power Watts"
-        '
-        'txtHVACElectricalLoadPowerWatts
-        '
-        Me.txtHVACElectricalLoadPowerWatts.Location = New System.Drawing.Point(192, 85)
-        Me.txtHVACElectricalLoadPowerWatts.Name = "txtHVACElectricalLoadPowerWatts"
-        Me.txtHVACElectricalLoadPowerWatts.Size = New System.Drawing.Size(100, 20)
-        Me.txtHVACElectricalLoadPowerWatts.TabIndex = 1
-        '
-        'lblHVACElectricalLoadPowerWatts
-        '
-        Me.lblHVACElectricalLoadPowerWatts.AutoSize = true
-        Me.lblHVACElectricalLoadPowerWatts.Location = New System.Drawing.Point(31, 89)
-        Me.lblHVACElectricalLoadPowerWatts.Name = "lblHVACElectricalLoadPowerWatts"
-        Me.lblHVACElectricalLoadPowerWatts.Size = New System.Drawing.Size(141, 13)
-        Me.lblHVACElectricalLoadPowerWatts.TabIndex = 0
-        Me.lblHVACElectricalLoadPowerWatts.Text = "Electrical Load Power Watts"
-        '
-        'tabPlayground
-        '
-        Me.tabPlayground.Location = New System.Drawing.Point(4, 22)
-        Me.tabPlayground.Name = "tabPlayground"
-        Me.tabPlayground.Size = New System.Drawing.Size(909, 610)
-        Me.tabPlayground.TabIndex = 4
-        Me.tabPlayground.Text = "Playground"
-        Me.tabPlayground.UseVisualStyleBackColor = true
-        '
-        'resultCardContextMenu
-        '
-        Me.resultCardContextMenu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DeleteToolStripMenuItem})
-        Me.resultCardContextMenu.Name = "resultCardContextMenu"
-        Me.resultCardContextMenu.Size = New System.Drawing.Size(108, 26)
-        '
-        'DeleteToolStripMenuItem
-        '
-        Me.DeleteToolStripMenuItem.Name = "DeleteToolStripMenuItem"
-        Me.DeleteToolStripMenuItem.Size = New System.Drawing.Size(107, 22)
-        Me.DeleteToolStripMenuItem.Text = "Delete"
-        '
-        'ErrorProvider
-        '
-        Me.ErrorProvider.ContainerControl = Me
-        '
-        'lblHVACTitle
-        '
-        Me.lblHVACTitle.AutoSize = true
-        Me.lblHVACTitle.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        Me.lblHVACTitle.ForeColor = System.Drawing.SystemColors.MenuHighlight
-        Me.lblHVACTitle.Location = New System.Drawing.Point(31, 37)
-        Me.lblHVACTitle.Name = "lblHVACTitle"
-        Me.lblHVACTitle.Size = New System.Drawing.Size(164, 13)
-        Me.lblHVACTitle.TabIndex = 25
-        Me.lblHVACTitle.Text = "Steady State Output Values"
-        '
-        'Dashboard
-        '
-        Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!)
-        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
-        Me.AutoValidate = System.Windows.Forms.AutoValidate.EnableAllowFocusChange
-        Me.ClientSize = New System.Drawing.Size(945, 712)
-        Me.Controls.Add(Me.pnlMain)
-        Me.Name = "Dashboard"
-        Me.Text = "Dashboard"
-        Me.pnlMain.ResumeLayout(false)
-        Me.tabMain.ResumeLayout(false)
-        Me.tabGeneralConfig.ResumeLayout(false)
-        Me.tabGeneralConfig.PerformLayout
-        Me.tabElectricalConfig.ResumeLayout(false)
-        Me.tabElectricalConfig.PerformLayout
-        CType(Me.gvResultsCardOverrun,System.ComponentModel.ISupportInitialize).EndInit
-        CType(Me.gvResultsCardTraction,System.ComponentModel.ISupportInitialize).EndInit
-        CType(Me.gvResultsCardIdle,System.ComponentModel.ISupportInitialize).EndInit
-        CType(Me.gvElectricalConsumables,System.ComponentModel.ISupportInitialize).EndInit
-        Me.tabPneumaticConfig.ResumeLayout(false)
-        Me.pnlPneumaticsUserInput.ResumeLayout(false)
-        Me.pnlPneumaticsUserInput.PerformLayout
-        Me.pnlPneumaticAuxillaries.ResumeLayout(false)
-        Me.pnlPneumaticAuxillaries.PerformLayout
-        Me.tabHVACConfig.ResumeLayout(false)
-        Me.tabHVACConfig.PerformLayout
-        Me.resultCardContextMenu.ResumeLayout(false)
-        CType(Me.ErrorProvider,System.ComponentModel.ISupportInitialize).EndInit
-        Me.ResumeLayout(false)
-
-End Sub
-    Friend WithEvents pnlMain As System.Windows.Forms.Panel
-    Friend WithEvents btnCancel As System.Windows.Forms.Button
-    Friend WithEvents btnFinish As System.Windows.Forms.Button
-    Friend WithEvents btnForward As System.Windows.Forms.Button
-    Friend WithEvents btnBack As System.Windows.Forms.Button
-    Friend WithEvents btnStart As System.Windows.Forms.Button
-    Friend WithEvents resultCardContextMenu As System.Windows.Forms.ContextMenuStrip
-    Friend WithEvents DeleteToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
-    Friend WithEvents ErrorProvider As System.Windows.Forms.ErrorProvider
-    Friend WithEvents tabMain As System.Windows.Forms.TabControl
-    Friend WithEvents tabGeneralConfig As System.Windows.Forms.TabPage
-    Friend WithEvents cboCycle As System.Windows.Forms.ComboBox
-    Friend WithEvents lblCycle As System.Windows.Forms.Label
-    Friend WithEvents lblVehiceWeight As System.Windows.Forms.Label
-    Friend WithEvents txtVehicleWeightKG As System.Windows.Forms.TextBox
-    Friend WithEvents tabElectricalConfig As System.Windows.Forms.TabPage
-    Friend WithEvents gvResultsCardOverrun As System.Windows.Forms.DataGridView
-    Friend WithEvents gvResultsCardTraction As System.Windows.Forms.DataGridView
-    Friend WithEvents lblResultsOverrun As System.Windows.Forms.Label
-    Friend WithEvents lblResultsTractionOn As System.Windows.Forms.Label
-    Friend WithEvents lblResultsIdle As System.Windows.Forms.Label
-    Friend WithEvents chkSmartElectricals As System.Windows.Forms.CheckBox
-    Friend WithEvents lblElectricalConsumables As System.Windows.Forms.Label
-    Friend WithEvents gvElectricalConsumables As System.Windows.Forms.DataGridView
-    Friend WithEvents txtDoorActuationTimeSeconds As System.Windows.Forms.TextBox
-    Friend WithEvents txtAlternatorGearEfficiency As System.Windows.Forms.TextBox
-    Friend WithEvents txtAlternatorMapPath As System.Windows.Forms.TextBox
-    Friend WithEvents txtPowernetVoltage As System.Windows.Forms.TextBox
-    Friend WithEvents lblDoorActuationTimeSeconds As System.Windows.Forms.Label
-    Friend WithEvents lblAlternatorGearEfficiency As System.Windows.Forms.Label
-    Friend WithEvents lblAlternatormapPath As System.Windows.Forms.Label
-    Friend WithEvents lblPowerNetVoltage As System.Windows.Forms.Label
-    Friend WithEvents tabPneumaticConfig As System.Windows.Forms.TabPage
-    Friend WithEvents pnlPneumaticsUserInput As System.Windows.Forms.Panel
-    Friend WithEvents Button1 As System.Windows.Forms.Button
-    Friend WithEvents btnCompressorMap As System.Windows.Forms.Button
-    Friend WithEvents lblPneumaticsVariablesTitle As System.Windows.Forms.Label
-    Friend WithEvents lblCompressorType As System.Windows.Forms.Label
-    Friend WithEvents lblActuationsMap As System.Windows.Forms.Label
-    Friend WithEvents chkSmartAirCompression As System.Windows.Forms.CheckBox
-    Friend WithEvents lblSmartRegeneration As System.Windows.Forms.Label
-    Friend WithEvents chkSmartRegeneration As System.Windows.Forms.CheckBox
-    Friend WithEvents lblAdBlueDosing As System.Windows.Forms.Label
-    Friend WithEvents chkRetarderBrake As System.Windows.Forms.CheckBox
-    Friend WithEvents lblSmartAirCompression As System.Windows.Forms.Label
-    Friend WithEvents txtKneelingHeightMillimeters As System.Windows.Forms.TextBox
-    Friend WithEvents lblAirSuspensionControl As System.Windows.Forms.Label
-    Friend WithEvents cboDoors As System.Windows.Forms.ComboBox
-    Friend WithEvents lblRetarderBrake As System.Windows.Forms.Label
-    Friend WithEvents cboCompressorType As System.Windows.Forms.ComboBox
-    Friend WithEvents txtCompressorMap As System.Windows.Forms.TextBox
-    Friend WithEvents lblCompressorGearEfficiency As System.Windows.Forms.Label
-    Friend WithEvents txtCompressorGearRatio As System.Windows.Forms.TextBox
-    Friend WithEvents lblCompressorGearRatio As System.Windows.Forms.Label
-    Friend WithEvents txtCompressorGearEfficiency As System.Windows.Forms.TextBox
-    Friend WithEvents lblCompressorMap As System.Windows.Forms.Label
-    Friend WithEvents cboAirSuspensionControl As System.Windows.Forms.ComboBox
-    Friend WithEvents lblDoors As System.Windows.Forms.Label
-    Friend WithEvents cboAdBlueDosing As System.Windows.Forms.ComboBox
-    Friend WithEvents lblKneelingHeightMillimeters As System.Windows.Forms.Label
-    Friend WithEvents txtActuationsMap As System.Windows.Forms.TextBox
-    Friend WithEvents pnlPneumaticAuxillaries As System.Windows.Forms.Panel
-    Friend WithEvents lblPneumaticAuxillariesTitle As System.Windows.Forms.Label
-    Friend WithEvents lblAdBlueNIperMinute As System.Windows.Forms.Label
-    Friend WithEvents lblAirControlledSuspensionNIperMinute As System.Windows.Forms.Label
-    Friend WithEvents lblBrakingNoRetarderNIperKG As System.Windows.Forms.Label
-    Friend WithEvents lblBrakingWithRetarderNIperKG As System.Windows.Forms.Label
-    Friend WithEvents lblBreakingPerKneelingNIperKGinMM As System.Windows.Forms.Label
-    Friend WithEvents lblDeadVolBlowOutsPerLitresperHour As System.Windows.Forms.Label
-    Friend WithEvents lblDeadVolumeLitres As System.Windows.Forms.Label
-    Friend WithEvents lblNonSmartRegenFractionTotalAirDemand As System.Windows.Forms.Label
-    Friend WithEvents lblOverrunUtilisationForCompressionFraction As System.Windows.Forms.Label
-    Friend WithEvents lblPerDoorOpeningNI As System.Windows.Forms.Label
-    Friend WithEvents lblPerStopBrakeActuationNIperKG As System.Windows.Forms.Label
-    Friend WithEvents lblSmartRegenFractionTotalAirDemand As System.Windows.Forms.Label
-    Friend WithEvents txtAdBlueNIperMinute As System.Windows.Forms.TextBox
-    Friend WithEvents txtAirControlledSuspensionNIperMinute As System.Windows.Forms.TextBox
-    Friend WithEvents txtBrakingNoRetarderNIperKG As System.Windows.Forms.TextBox
-    Friend WithEvents txtBrakingWithRetarderNIperKG As System.Windows.Forms.TextBox
-    Friend WithEvents txtBreakingPerKneelingNIperKGinMM As System.Windows.Forms.TextBox
-    Friend WithEvents txtDeadVolBlowOutsPerLitresperHour As System.Windows.Forms.TextBox
-    Friend WithEvents txtDeadVolumeLitres As System.Windows.Forms.TextBox
-    Friend WithEvents txtNonSmartRegenFractionTotalAirDemand As System.Windows.Forms.TextBox
-    Friend WithEvents txtOverrunUtilisationForCompressionFraction As System.Windows.Forms.TextBox
-    Friend WithEvents txtPerDoorOpeningNI As System.Windows.Forms.TextBox
-    Friend WithEvents txtPerStopBrakeActuationNIperKG As System.Windows.Forms.TextBox
-    Friend WithEvents txtSmartRegenFractionTotalAirDemand As System.Windows.Forms.TextBox
-    Friend WithEvents tabHVACConfig As System.Windows.Forms.TabPage
-    Friend WithEvents tabPlayground As System.Windows.Forms.TabPage
-    Friend WithEvents btnAlternatorMapPath As System.Windows.Forms.Button
-    Friend WithEvents gvResultsCardIdle As System.Windows.Forms.DataGridView
-    Friend WithEvents txtHVACFuellingLitresPerHour As System.Windows.Forms.TextBox
-    Friend WithEvents lblHVACFuellingLitresPerHour As System.Windows.Forms.Label
-    Friend WithEvents txtHVACMechanicalLoadPowerWatts As System.Windows.Forms.TextBox
-    Friend WithEvents lblHVACMechanicalLoadPowerWatts As System.Windows.Forms.Label
-    Friend WithEvents txtHVACElectricalLoadPowerWatts As System.Windows.Forms.TextBox
-    Friend WithEvents lblHVACElectricalLoadPowerWatts As System.Windows.Forms.Label
-    Friend WithEvents lblHVACTitle As System.Windows.Forms.Label
-End Class
diff --git a/VECTOAux/VectoAuxiliaries/UI/Dashboard.resx b/VECTOAux/VectoAuxiliaries/UI/Dashboard.resx
deleted file mode 100644
index 46cbbb1dd0..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/Dashboard.resx
+++ /dev/null
@@ -1,129 +0,0 @@
-<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="resultCardContextMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>362, 19</value>
-  </metadata>
-  <metadata name="ErrorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>168, 17</value>
-  </metadata>
-  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>82</value>
-  </metadata>
-</root>
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/UI/Dashboard.vb b/VECTOAux/VectoAuxiliaries/UI/Dashboard.vb
deleted file mode 100644
index 2281b7a2d0..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/Dashboard.vb
+++ /dev/null
@@ -1,786 +0,0 @@
-Imports VectoAuxiliaries
-Imports VectoAuxiliaries.Electrics
-Imports VectoAuxiliaries.Pneumatics
-Imports System.ComponentModel
-Imports System.Windows.Forms
-Imports System.Drawing
-
-Public Class Dashboard
-
-#Region "Fields"
-
-Public auxEnvironment As New AuxillaryEnvironment("")
-Private TabColors As Dictionary(Of TabPage, Color) = New Dictionary(Of TabPage, Color)()
-
-#End Region
-
-
-Private Sub SetupControls()
-
-
-      Dim cIndex As Integer = 0
-
-     'ElectricalConsumerGrid 
-     'Columns
-     cIndex = gvElectricalConsumables.Columns.Add("Category", "Category")
-     gvElectricalConsumables.Columns(cIndex).DataPropertyName = "Category"
-     gvElectricalConsumables.Columns(cIndex).MinimumWidth = 150
-     gvElectricalConsumables.Columns(cIndex).ReadOnly = True
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Padding = New Padding(1, 2, 1, 1)
-
-     cIndex = gvElectricalConsumables.Columns.Add("ConsumerName", "Name")
-
-     gvElectricalConsumables.Columns(cIndex).DataPropertyName = "ConsumerName"
-     gvElectricalConsumables.Columns(cIndex).MinimumWidth = 308
-     gvElectricalConsumables.Columns(cIndex).ReadOnly = True
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Padding = New Padding(1, 2, 1, 1)
-
-     Dim baseVehicle As New DataGridViewCheckBoxColumn(False)
-     baseVehicle.HeaderText = "Base Vehicle"
-     cIndex = gvElectricalConsumables.Columns.Add(baseVehicle)
-     gvElectricalConsumables.Columns(cIndex).DataPropertyName = "BaseVehicle"
-     gvElectricalConsumables.Columns(cIndex).Width = 75
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Padding = New Padding(1, 2, 1, 1)
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.ToolTipText = "Energy included in the calculations of base vehicle"
-
-     cIndex = gvElectricalConsumables.Columns.Add("NominalConsumptionAmps", "Nominal Amps")
-     gvElectricalConsumables.Columns(cIndex).DataPropertyName = "NominalConsumptionAmps"
-     gvElectricalConsumables.Columns(cIndex).Width = 70
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Padding = New Padding(1, 2, 1, 1)
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.ToolTipText = "Nominal consumption in AMPS"
-
-     cIndex = gvElectricalConsumables.Columns.Add("PhaseIdle_TractionOn", "PhaseIdle/ TractionOn")
-     gvElectricalConsumables.Columns(cIndex).DataPropertyName = "PhaseIdle_TractionOn"
-     gvElectricalConsumables.Columns(cIndex).Width = 70
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Padding = New Padding(1, 2, 1, 1)
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.ToolTipText = "Represents the amount of time (during engine fueling) as " & vbCrLf & "percentage that the consumer is active during the cycle."
-
-     cIndex = gvElectricalConsumables.Columns.Add("NumberInActualVehicle", "Num in Vehicle")
-     gvElectricalConsumables.Columns(cIndex).DataPropertyName = "NumberInActualVehicle"
-     gvElectricalConsumables.Columns(cIndex).Width = 70
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Padding = New Padding(1, 2, 1, 1)
-     gvElectricalConsumables.Columns(cIndex).HeaderCell.ToolTipText = "Number of consumables of this" & vbCrLf & "type installed on the vehicle."
-
-     'ResultCard Grids
-
-     'Handler for deleting rows.
-
-
-     'IDLE
-
-     cIndex = gvResultsCardIdle.Columns.Add("Amps", "Amps")
-     gvResultsCardIdle.Columns(cIndex).DataPropertyName = "Amps"
-     gvResultsCardIdle.Columns(cIndex).Width = 65
-
-     cIndex = gvResultsCardIdle.Columns.Add("SmartAmps", "SmartAmps")
-     gvResultsCardIdle.Columns(cIndex).DataPropertyName = "SmartAmps"
-     gvResultsCardIdle.Columns(cIndex).Width = 65
-
-     'TRACTION
-     cIndex = gvResultsCardTraction.Columns.Add("Amps", "Amps")
-     gvResultsCardTraction.Columns(cIndex).DataPropertyName = "Amps"
-     gvResultsCardTraction.Columns(cIndex).Width = 65
-
-     cIndex = gvResultsCardTraction.Columns.Add("SmartAmps", "SmartAmps")
-     gvResultsCardTraction.Columns(cIndex).DataPropertyName = "SmartAmps"
-     gvResultsCardTraction.Columns(cIndex).Width = 65
-
-     'OVERRUN
-     cIndex = gvResultsCardOverrun.Columns.Add("Amps", "Amps")
-     gvResultsCardOverrun.Columns(cIndex).DataPropertyName = "Amps"
-     gvResultsCardOverrun.Columns(cIndex).Width = 65
-
-     cIndex = gvResultsCardOverrun.Columns.Add("SmartAmps", "SmartAmps")
-     gvResultsCardOverrun.Columns(cIndex).DataPropertyName = "SmartAmps"
-     gvResultsCardOverrun.Columns(cIndex).Width = 65
-
-
-
-
-End Sub
-
-#Region "Binding Control"
-
-Private Sub CreateBindings()
-
-     'AuxEnvironment.Vecto Bindings
-     txtPowernetVoltage.DataBindings.Add("Text", auxEnvironment.VectoInputs, "PowerNetVoltage")
-     txtVehicleWeightKG.DataBindings.Add("Text", auxEnvironment.VectoInputs, "VehicleWeightKG")
-     cboCycle.DataBindings.Add("Text", auxEnvironment.VectoInputs, "Cycle")
-
-     'Electricals General
-     txtAlternatorMapPath.DataBindings.Add("Text", auxEnvironment.ElectricalUserInputsConfig, "AlternatorMap")
-     txtAlternatorGearEfficiency.DataBindings.Add("Text", auxEnvironment.ElectricalUserInputsConfig, "AlternatorGearEfficiency")
-     txtDoorActuationTimeSeconds.DataBindings.Add("Text", auxEnvironment.ElectricalUserInputsConfig, "DoorActuationTimeSecond")
-     chkSmartElectricals.DataBindings.Add("Checked", auxEnvironment.ElectricalUserInputsConfig, "SmartElectrical")
-
-     'Electrical ConsumablesGrid
-     Dim electricalConsumerBinding As New BindingList(Of IElectricalConsumer)(auxEnvironment.ElectricalUserInputsConfig.ElectricalConsumers.Items)
-     gvElectricalConsumables.DataSource = electricalConsumerBinding
-
-     'ResultCards
-
-         'IDLE
-         Dim idleBinding = New BindingList(Of SmartResult)
-         idleBinding = New BindingList(Of SmartResult)(auxEnvironment.ElectricalUserInputsConfig.ResultCardIdle)
-         idleBinding.AllowNew = True
-         idleBinding.AllowRemove = True
-         gvResultsCardIdle.DataSource = idleBinding
-
-         'TRACTION
-         Dim tractionBinding As BindingList(Of SmartResult)
-         tractionBinding = New BindingList(Of SmartResult)(auxEnvironment.ElectricalUserInputsConfig.ResultCardTraction)
-         tractionBinding.AllowNew = True
-         tractionBinding.AllowRemove = True
-         gvResultsCardTraction.DataSource = tractionBinding
-
-         'OVERRUN
-         Dim overrunBinding As BindingList(Of SmartResult)
-         overrunBinding = New BindingList(Of SmartResult)(auxEnvironment.ElectricalUserInputsConfig.ResultCardOverrun)
-         overrunBinding.AllowNew = True
-         overrunBinding.AllowRemove = True
-         gvResultsCardOverrun.DataSource = overrunBinding
-
-
-        'Pneumatic Auxillaries Binding
-        txtAdBlueNIperMinute.DataBindings.Add("Text", auxEnvironment.PneumaticAuxillariesConfig, "AdBlueNIperMinute")
-
-        txtOverrunUtilisationForCompressionFraction.DataBindings.Add("Text", auxEnvironment.PneumaticAuxillariesConfig, "OverrunUtilisationForCompressionFraction")
-        txtBrakingWithRetarderNIperKG.DataBindings.Add("Text", auxEnvironment.PneumaticAuxillariesConfig, "BrakingWithRetarderNIperKG")
-        txtBrakingNoRetarderNIperKG.DataBindings.Add("Text", auxEnvironment.PneumaticAuxillariesConfig, "BrakingNoRetarderNIperKG")
-        txtBreakingPerKneelingNIperKGinMM.DataBindings.Add("Text", auxEnvironment.PneumaticAuxillariesConfig, "BreakingPerKneelingNIperKGinMM", True, DataSourceUpdateMode.OnPropertyChanged, Nothing, "0.########")
-        txtPerDoorOpeningNI.DataBindings.Add("Text", auxEnvironment.PneumaticAuxillariesConfig, "PerDoorOpeningNI")
-        txtPerStopBrakeActuationNIperKG.DataBindings.Add("Text", auxEnvironment.PneumaticAuxillariesConfig, "PerStopBrakeActuationNIperKG")
-        txtAirControlledSuspensionNIperMinute.DataBindings.Add("Text", auxEnvironment.PneumaticAuxillariesConfig, "AirControlledSuspensionNIperMinute")
-        txtNonSmartRegenFractionTotalAirDemand.DataBindings.Add("Text", auxEnvironment.PneumaticAuxillariesConfig, "NonSmartRegenFractionTotalAirDemand")
-        txtSmartRegenFractionTotalAirDemand.DataBindings.Add("Text", auxEnvironment.PneumaticAuxillariesConfig, "SmartRegenFractionTotalAirDemand")
-        txtDeadVolumeLitres.DataBindings.Add("Text", auxEnvironment.PneumaticAuxillariesConfig, "DeadVolumeLitres")
-        txtDeadVolBlowOutsPerLitresperHour.DataBindings.Add("Text", auxEnvironment.PneumaticAuxillariesConfig, "DeadVolBlowOutsPerLitresperHour")
-
-        'Pneumatic UserInputsConfig Binding
-        cboCompressorType.DataBindings.Add("Text", auxEnvironment.PneumaticUserInputsConfig, "CompressorType")
-        txtCompressorMap.DataBindings.Add("Text", auxEnvironment.PneumaticUserInputsConfig, "CompressorMap")
-        txtCompressorGearEfficiency.DataBindings.Add("Text", auxEnvironment.PneumaticUserInputsConfig, "CompressorGearEfficiency")
-        txtCompressorGearRatio.DataBindings.Add("Text", auxEnvironment.PneumaticUserInputsConfig, "CompressorGearRatio")
-        txtActuationsMap.DataBindings.Add("Text", auxEnvironment.PneumaticUserInputsConfig, "ActuationsMap")
-        chkSmartAirCompression.DataBindings.Add("Checked", auxEnvironment.PneumaticUserInputsConfig, "SmartAirCompression")
-        chkSmartRegeneration.DataBindings.Add("Checked", auxEnvironment.PneumaticUserInputsConfig, "SmartRegeneration")
-        chkRetarderBrake.DataBindings.Add("Checked", auxEnvironment.PneumaticUserInputsConfig, "RetarderBrake")
-        txtKneelingHeightMillimeters.DataBindings.Add("Text", auxEnvironment.PneumaticUserInputsConfig, "KneelingHeightMillimeters")
-        cboAirSuspensionControl.DataBindings.Add("Text", auxEnvironment.PneumaticUserInputsConfig, "AirSuspensionControl")
-        cboAdBlueDosing.DataBindings.Add("Text", auxEnvironment.PneumaticUserInputsConfig, "AdBlueDosing")
-        cboDoors.DataBindings.Add("Text", auxEnvironment.PneumaticUserInputsConfig, "Doors")
-
-End Sub
-
-Private Sub EnsureBinding()
-        With tabMain
-            Dim lastSelectedTabIndex As Integer = .SelectedIndex
-            If lastSelectedTabIndex < 0 OrElse lastSelectedTabIndex > .TabCount Then lastSelectedTabIndex = 0
-            For currentTab As Integer = 0 To .TabCount - 1
-                .SelectedIndex = currentTab
-            Next
-            .SelectedIndex = 0
-        End With
-    End Sub
-
-
-#End Region
-
-
-'Validation
-
-#Region "Validation Helpers"
-
-
-Public Function IsPostiveNumber(ByVal test As String) As Boolean
-
-     'Is this numeric sanity check.
-     If Not IsNumeric(test) Then Return False
-
-     Dim number As Single
-
-     If Not Single.TryParse(test, number) Then Return False
-
-     If number <= 0 Then Return False
-
-
-     Return True
-
-End Function
-
-Public Function IsZeroOrPostiveNumber(ByVal test As String) As Boolean
-
-     'Is this numeric sanity check.
-     If Not IsNumeric(test) Then Return False
-
-     Dim number As Single
-
-     If Not Single.TryParse(test, number) Then Return False
-
-     If number < 0 Then Return False
-
-
-     Return True
-
-End Function
-
-Public Function IsNumberBetweenZeroandOne(test As String)
-
-     'Is this numeric sanity check.
-     If Not IsNumeric(test) Then Return False
-
-     Dim number As Single
-
-     If Not Single.TryParse(test, number) Then Return False
-
-     If number < 0 OrElse number > 1 Then Return False
-
-     Return True
-
-End Function
-
-Public Function IsIntegerZeroOrPositiveNumber(test As String)
-
-     'Is this numeric sanity check.
-     If Not IsNumeric(test) Then Return False
-
-     'if not integer then return false
-
-     Dim number As Integer
-
-     If Not Integer.TryParse(test, number) Then Return False
-
-     If number < 0 Then Return False
-
-     Return True
-
-
-End Function
-
-#End Region
-
-#Region "Validation Control"
-
-
-'****** PNEUMATIC VALIDATION
-Public Sub Validating_PneumaticHandler(sender As Object, e As CancelEventArgs) Handles txtAdBlueNIperMinute.Validating, txtBrakingWithRetarderNIperKG.Validating, txtBrakingNoRetarderNIperKG.Validating, txtAirControlledSuspensionNIperMinute.Validating, txtBreakingPerKneelingNIperKGinMM.Validating, txtSmartRegenFractionTotalAirDemand.Validating, txtPerStopBrakeActuationNIperKG.Validating, txtPerDoorOpeningNI.Validating, txtOverrunUtilisationForCompressionFraction.Validating, txtNonSmartRegenFractionTotalAirDemand.Validating, txtDeadVolumeLitres.Validating, txtDeadVolBlowOutsPerLitresperHour.Validating, txtKneelingHeightMillimeters.Validating, txtCompressorMap.Validating, txtCompressorGearRatio.Validating, txtCompressorGearEfficiency.Validating, txtActuationsMap.Validating, cboDoors.Validating, cboCompressorType.Validating, cboAirSuspensionControl.Validating, cboAdBlueDosing.Validating
-
-    e.Cancel = Not Validate_Pneumatics()
-
-End Sub
-Public Function Validate_Pneumatics() As Boolean
-
-       Dim result As Boolean = True
-
-       'PNEUMATIC AUXILLARIES PART
-       '***************************
-
-
-       'AdBlue NI per Minute : txtAdBlueNIperMinute
-       If Not IsZeroOrPostiveNumber(txtAdBlueNIperMinute.Text) Then
-         ErrorProvider.SetError(txtAdBlueNIperMinute, "Please provide a non negative number.")
-         result = False
-       Else
-          ErrorProvider.SetError(txtAdBlueNIperMinute, String.Empty)
-       End If
-
-       'Overrun Utilisation For Compression Fraction : txtOverrunUtilisationForCompressionFraction
-       If Not IsNumberBetweenZeroandOne(txtOverrunUtilisationForCompressionFraction.Text) Then
-         ErrorProvider.SetError(txtOverrunUtilisationForCompressionFraction, "Please provide a non negative between 0 and 1.")
-         result = False
-         Else
-         ErrorProvider.SetError(txtOverrunUtilisationForCompressionFraction, String.Empty)
-       End If
-
-       'Braking With Retarder NI per KG : txtBrakingWithRetarderNIperKG
-       If Not IsZeroOrPostiveNumber(txtBrakingWithRetarderNIperKG.Text) Then
-         ErrorProvider.SetError(txtBrakingWithRetarderNIperKG, "Please provide a non negative number.")
-         result = False
-        Else
-         ErrorProvider.SetError(txtBrakingWithRetarderNIperKG, String.Empty)
-       End If
-
-       'Braking No Retarder NI per KG : txtBrakingNoRetarderNIperKG
-       If Not IsZeroOrPostiveNumber(txtBrakingNoRetarderNIperKG.Text) Then
-         ErrorProvider.SetError(txtBrakingNoRetarderNIperKG, "Please provide a non negative number.")
-         result = False
-       Else
-         ErrorProvider.SetError(txtBrakingNoRetarderNIperKG, String.Empty)
-       End If
-
-       'Breaking Per Kneeling NI per KG in MM : txtBreakingPerKneelingNIperKGinMM
-       If Not IsZeroOrPostiveNumber(txtBreakingPerKneelingNIperKGinMM.Text) Then
-         ErrorProvider.SetError(txtBreakingPerKneelingNIperKGinMM, "Please provide a non negative number.")
-         result = False
-       Else
-         ErrorProvider.SetError(txtBreakingPerKneelingNIperKGinMM, String.Empty)
-       End If
-
-       'Per Door Opening NI : txtPerDoorOpeningNI
-       If Not IsZeroOrPostiveNumber(txtPerDoorOpeningNI.Text) Then
-         ErrorProvider.SetError(txtPerDoorOpeningNI, "Please provide a non negative number.")
-         result = False
-       Else
-         ErrorProvider.SetError(txtPerDoorOpeningNI, String.Empty)
-       End If
-
-       'Per Stop Brake Actuation NI per KG : txtPerStopBrakeActuationNIperKG
-       If Not IsZeroOrPostiveNumber(txtPerStopBrakeActuationNIperKG.Text) Then
-         ErrorProvider.SetError(txtPerStopBrakeActuationNIperKG, "Please provide a non negative number.")
-         result = False
-       Else
-         ErrorProvider.SetError(txtPerStopBrakeActuationNIperKG, String.Empty)
-       End If
-
-       'Air Controlled Suspension NI per Minute : txtAirControlledSuspensionNIperMinute
-       If Not IsZeroOrPostiveNumber(txtAirControlledSuspensionNIperMinute.Text) Then
-         ErrorProvider.SetError(txtAirControlledSuspensionNIperMinute, "Please provide a non negative number.")
-         result = False
-       Else
-         ErrorProvider.SetError(txtAirControlledSuspensionNIperMinute, String.Empty)
-       End If
-
-       'Non Smart Regen Fraction Total Air Demand : txtNonSmartRegenFractionTotalAirDemand
-       If Not IsZeroOrPostiveNumber(txtNonSmartRegenFractionTotalAirDemand.Text) Then
-         ErrorProvider.SetError(txtNonSmartRegenFractionTotalAirDemand, "Please provide a non negative number.")
-         result = False
-       Else
-         ErrorProvider.SetError(txtNonSmartRegenFractionTotalAirDemand, String.Empty)
-       End If
-
-       'Smart Regen Fraction Total Air Demand : txtSmartRegenFractionTotalAirDemand
-       If Not IsNumberBetweenZeroandOne(txtSmartRegenFractionTotalAirDemand.Text) Then
-         ErrorProvider.SetError(txtSmartRegenFractionTotalAirDemand, "Please provide a non negative between 0 and 1.")
-         result = False
-       Else
-         ErrorProvider.SetError(txtSmartRegenFractionTotalAirDemand, String.Empty)
-       End If
-
-
-       'Dead Volume Litres : txtDeadVolumeLitres
-       If Not IsZeroOrPostiveNumber(txtDeadVolumeLitres.Text) Then
-         ErrorProvider.SetError(txtDeadVolumeLitres, "Please provide a non negative between 0 and 1.")
-         result = False
-       Else
-         ErrorProvider.SetError(txtDeadVolumeLitres, String.Empty)
-       End If
-
-
-       'Dead Vol BlowOuts Per Litresper Hour : txtDeadVolBlowOutsPerLitresperHour
-       If Not IsZeroOrPostiveNumber(txtDeadVolBlowOutsPerLitresperHour.Text) Then
-         ErrorProvider.SetError(txtDeadVolBlowOutsPerLitresperHour, "Please provide a non negative between 0 and 1.")
-         result = False
-        Else
-         ErrorProvider.SetError(txtDeadVolBlowOutsPerLitresperHour, String.Empty)
-       End If
-
-
-       'USER CONFIG PART 
-       '*****************************************************************************************
-       If cboCompressorType.SelectedIndex < 1 Then
-         ErrorProvider.SetError(cboCompressorType, "Please select a Compressor type from the Dropdown list.")
-         result = False
-       Else
-         ErrorProvider.SetError(cboCompressorType, String.Empty)
-       End If
-
-        'Compressor Map path : txtCompressorMap
-        'Test for empty after trim
-        If txtCompressorMap.Text.Trim.Length = 0 Then
-         ErrorProvider.SetError(txtCompressorMap, "Please enter the localtion of a valid compressor map.")
-         result = False
-        Else
-         ErrorProvider.SetError(txtCompressorMap, String.Empty)
-        End If
-        'Test File is valid
-        Dim comp As CompressorMap
-        Try
-
-        comp = New CompressorMap(txtCompressorMap.Text)
-        comp.Initialise()
-         ErrorProvider.SetError(txtCompressorMap, String.Empty)
-        Catch ex As Exception
-         ErrorProvider.SetError(txtCompressorMap, "Error : map is invalid or cannot be found, please select a Cvalid compressor map")
-         result = False
-        End Try
-
-        'Compressor Gear Efficiency : txtCompressorGearEfficiency"
-        If Not IsNumberBetweenZeroandOne(txtCompressorGearEfficiency.Text) Then
-          ErrorProvider.SetError(txtCompressorGearEfficiency, "Please enter a number between 0 and 1")
-          result = False
-        Else
-          ErrorProvider.SetError(txtCompressorGearEfficiency, String.Empty)
-        End If
-
-        'Compressor Gear Ratio : txtCompressorGearRatio
-        If Not IsPostiveNumber(txtCompressorGearRatio.Text) Then
-          ErrorProvider.SetError(txtCompressorGearRatio, "Please enter a number greater than 0.")
-          result = False
-        Else
-          ErrorProvider.SetError(txtCompressorGearRatio, String.Empty)
-        End If
-
-
-        'Actuations Map : txtActuationsMap
-
-        'NOT Required but included here so readers can see this is a positive ommission
-        '******************************************************************************
-        'Smart Air Compression : chkSmartAirCompression
-        'Smart Regeneration : chkSmartRegeneration
-        'Retarder Brake : chkRetarderBrake
-
-        'txtKneelingHeightMillimeters : txtKneelingHeightMillimeters
-        If Not IsPostiveNumber(txtKneelingHeightMillimeters.Text) Then
-          ErrorProvider.SetError(txtKneelingHeightMillimeters, "Please enter a number greater than 0.")
-          result = False
-        Else
-          ErrorProvider.SetError(txtKneelingHeightMillimeters, String.Empty)
-        End If
-
-        'cboAirSuspensionControl : cboAirSuspensionControl
-        If cboAirSuspensionControl.SelectedIndex < 1 Then
-          ErrorProvider.SetError(cboAirSuspensionControl, "Please make a selection.")
-          result = False
-        Else
-          ErrorProvider.SetError(cboAirSuspensionControl, String.Empty)
-        End If
-
-        'cboAdBlueDosing : cboAdBlueDosing
-        If cboAdBlueDosing.SelectedIndex < 1 Then
-          ErrorProvider.SetError(cboAdBlueDosing, "Please make a selection.")
-          result = False
-        Else
-          ErrorProvider.SetError(cboAdBlueDosing, String.Empty)
-        End If
-
-        'cboDoors : cboDoors
-        If cboDoors.SelectedIndex < 1 Then
-          ErrorProvider.SetError(cboDoors, "Please make a selection.")
-          result = False
-        Else
-          ErrorProvider.SetError(cboDoors, String.Empty)
-        End If
-
-
-        'Set Tab Color
-
-        UpdateTabStatus("tabPneumaticConfig", result)
-
-
-
-
-Return result
-
-
-End Function
-
-'*****  ELECTRICAL VALIDATION
-Public Sub Validating_ElectricsHandler(sender As Object, e As CancelEventArgs) Handles txtPowernetVoltage.Validating, txtAlternatorMapPath.Validating, txtAlternatorGearEfficiency.Validating, txtDoorActuationTimeSeconds.Validating
-
-    e.Cancel = Not Validate_Electrics()
-
-End Sub
-Public Function Validate_Electrics() As Boolean
-
-Dim result As Boolean = True
-
-
-       'Powernet Voltage : txtPowernetVoltage
-       If Not IsPostiveNumber(txtPowernetVoltage.Text) Then
-         ErrorProvider.SetError(txtPowernetVoltage, "Please provide a non negative number.")
-         result = False
-       Else
-          ErrorProvider.SetError(txtPowernetVoltage, String.Empty)
-       End If
-
-
-        'Alternator Map  path : txtAlternatorMapPath
-        'Test for empty after trim
-        If txtAlternatorMapPath.Text.Trim.Length = 0 Then
-         ErrorProvider.SetError(txtAlternatorMapPath, "Please enter the localtion of a valid compressor map.")
-         result = False
-        Else
-         ErrorProvider.SetError(txtAlternatorMapPath, String.Empty)
-        End If
-
-        'Test File is valid
-        Dim alt As AlternatorMap
-        Try
-        alt = New AlternatorMap(txtAlternatorMapPath.Text)
-        alt.Initialise()
-         ErrorProvider.SetError(txtAlternatorMapPath, String.Empty)
-        Catch ex As Exception
-         ErrorProvider.SetError(txtAlternatorMapPath, "Error : map is invalid or cannot be found, please select a Cvalid compressor map")
-         result = False
-        End Try
-
-
-       'Door Action Time : txtDoorActuationTimeSeconds
-       If Not IsPostiveNumber(txtDoorActuationTimeSeconds.Text) Then
-         ErrorProvider.SetError(txtDoorActuationTimeSeconds, "Please provide a non negative number.")
-         result = False
-       Else
-          ErrorProvider.SetError(txtDoorActuationTimeSeconds, String.Empty)
-       End If
-
-
-               UpdateTabStatus("tabElectricalConfig", result)
-
-
-       Return result
-
-
-End Function
-
-'*****  HVAC VALIDATION
-
-
-'*****  IMPUTS VALIDATION
-
-
-#End Region
-
-
-
-'Form Controls & Events
-
-Private Sub Dashboard_Load(sender As Object, e As EventArgs) Handles MyBase.Load
-
-  'Required for OwnerDraw, this is required in order to color the tabs when a validation error occurs to draw
-  'The attention of the user to the fact that attention is required on a particlar tab.
-  TabColors.Add(tabGeneralConfig, Control.DefaultBackColor)
-  TabColors.Add(tabElectricalConfig, Control.DefaultBackColor)
-  TabColors.Add(tabPneumaticConfig, Control.DefaultBackColor)
-  TabColors.Add(tabHVACConfig, Control.DefaultBackColor)
-  TabColors.Add(tabPlayground, Control.DefaultBackColor)
-
-  'This is here only for testing purposes, the actual cycle will be a result of Vecto input.
-  cboCycle.SelectedIndex = 0
-
-  'General Setup of all controls 
-  SetupControls()
-
-  'Binding Values in Aux environment to the input controls on relevent tabs in the form.
-  CreateBindings()
-
-  'This function is neccesary because binding does not occur when the page is invisible, so a track across all of them
-  'Is required in order to set the binding. This only needs to be done once at at setup time. after values are set in the
-  'Aux environment either by setting defaults of reading and setting from the Auxillaries persistance file.
-  EnsureBinding()
-
-
-  'Additional atatched events
-  'For Tab Coloring, this is the place where the background will get filled on the tab when attention is required.
-  AddHandler tabMain.DrawItem, New System.Windows.Forms.DrawItemEventHandler(AddressOf tabMain_DrawItem)
-
-
-End Sub
-
-#Region "Tab Header Color Change"
-
-Private Sub UpdateTabStatus(pageName As String, resultGood As Boolean)
-
-
-       Dim page As TabPage = tabMain.TabPages(pageName)
-
-           If Not resultGood Then
-
-       SetTabHeader(page, Color.Red)
-
-       Else
-              SetTabHeader(page, Control.DefaultBackColor)
-
-       End If
-
-
-
-
-End Sub
-
-Private Sub SetTabHeader(page As TabPage, color As Color)
-
-    TabColors(page) = color
-    tabMain.Invalidate()
-
-End Sub
-
-Private Sub tabMain_DrawItem(sender As Object, e As DrawItemEventArgs)
-
-    Dim br As Brush = New SolidBrush(TabColors(tabMain.TabPages(e.Index)))
-
-
-    Using (br)
-
-        e.Graphics.FillRectangle(br, e.Bounds)
-        Dim sz As SizeF = e.Graphics.MeasureString(tabMain.TabPages(e.Index).Text, e.Font)
-        e.Graphics.DrawString(tabMain.TabPages(e.Index).Text, e.Font, Brushes.Black, e.Bounds.Left + (e.Bounds.Width - sz.Width) / 2, e.Bounds.Top + (e.Bounds.Height - sz.Height) / 2 + 1)
-
-        Dim rect As Rectangle = e.Bounds
-        rect.Offset(-1, -1)
-        rect.Inflate(1, 1)
-       ' e.Graphics.DrawRectangle(Pens.DarkGray, rect)
-        'e.DrawFocusRectangle()
-
-    End Using
-
-
-
-
-End Sub
-
-
-#End Region
-
-#Region "GridHandlers"
-
-
-
-Private Sub gvElectricalConsumables_CellValidating(sender As Object, e As DataGridViewCellValidatingEventArgs) Handles gvElectricalConsumables.CellValidating
-
-   Dim column As DataGridViewColumn = gvElectricalConsumables.Columns(e.ColumnIndex)
-   Dim s As Single
-
-
-   If e.ColumnIndex = -1 Then
-
-   e.Cancel = True
-   Exit Sub
-
-   End If
-
-
-
-   If column.ReadOnly Then Return
-
-
-
-
-    Select Case column.Name
-
-     Case "NominalConsumptionAmps"
-           If Not IsNumeric(e.FormattedValue) Then
-             MessageBox.Show("This value must be numeric")
-             e.Cancel = True
-          End If
-
-     Case "NumberInActualVehicle"
-           If Not IsNumeric(e.FormattedValue) Then
-             MessageBox.Show("This value must be numeric")
-            e.Cancel = True
-          Else
-            s = Single.Parse(e.FormattedValue)
-           End If
-           If s Mod 1 > 0 OrElse s < 0 Then
-              MessageBox.Show("This value must be a positive whole number ( Integer ) ")
-             e.Cancel = True
-           End If
-
-
-     Case "PhaseIdle_TractionOn"
-           If Not IsNumeric(e.FormattedValue) Then
-             MessageBox.Show("This value must be numeric")
-             e.Cancel = True
-           Else
-            s = Single.Parse(e.FormattedValue)
-           End If
-           If s < 0 OrElse s > 1 Then
-              MessageBox.Show("This must be a value between 0 and 1 ")
-              e.Cancel = True
-           End If
-
-
-    End Select
-
-End Sub
-
-
-Private Sub SmartResult_CellValidating(sender As Object, e As DataGridViewCellValidatingEventArgs) Handles gvResultsCardIdle.CellValidating, gvResultsCardTraction.CellValidating, gvResultsCardOverrun.CellValidating
-
-   Dim column As DataGridViewColumn = gvElectricalConsumables.Columns(e.ColumnIndex)
-
-   If Not IsNumeric(e.FormattedValue) Then
-       MessageBox.Show("This value must be numeric")
-       e.Cancel = True
-   End If
-
-End Sub
-
-
-Private Sub resultCard_CellMouseUp(sender As Object, e As DataGridViewCellMouseEventArgs)
-
-      Dim dgv As DataGridView = CType(sender, DataGridView)
-
-
-        If e.Button = MouseButtons.Right Then
-
-            resultCardContextMenu.Show(dgv, e.Location)
-            resultCardContextMenu.Show(Cursor.Position)
-
-        End If
-
-
-    End Sub
-
-
-Private Sub resultCardContextMenu_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles resultCardContextMenu.ItemClicked
-
-      Dim menu As ContextMenuStrip = CType(sender, ContextMenuStrip)
-
-      Dim grid As DataGridView = DirectCast(menu.SourceControl, DataGridView)
-
-      Select Case e.ClickedItem.Text
-
-
-      Case "Delete"
-
-         For Each selectedRow As DataGridViewRow In grid.SelectedRows
-
-            If Not selectedRow.IsNewRow Then
-
-                grid.Rows.RemoveAt(selectedRow.Index)
-
-            End If
-
-         Next
-
-      Case "Insert"
-
-
-      End Select
-
-
-
-
-
-
-
-
-
-End Sub
-
-
-
-
-#End Region
-
-#Region "Button Handlers"
-
-Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles btnStart.Click
-        Validate_Pneumatics()
-        Validate_Electrics()
-
-End Sub
-
-
-#End Region
-
-
-
-End Class
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/UI/ElectricalConsumers.Designer.vb b/VECTOAux/VectoAuxiliaries/UI/ElectricalConsumers.Designer.vb
deleted file mode 100644
index 09f0b80e5f..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/ElectricalConsumers.Designer.vb
+++ /dev/null
@@ -1,29 +0,0 @@
-<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
-Partial Class ElectricalConsumers
-    Inherits System.Windows.Forms.Form
-
-    'Form overrides dispose to clean up the component list.
-    <System.Diagnostics.DebuggerNonUserCode()> _
-    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
-        Try
-            If disposing AndAlso components IsNot Nothing Then
-                components.Dispose()
-            End If
-        Finally
-            MyBase.Dispose(disposing)
-        End Try
-    End Sub
-
-    'Required by the Windows Form Designer
-    Private components As System.ComponentModel.IContainer
-
-    'NOTE: The following procedure is required by the Windows Form Designer
-    'It can be modified using the Windows Form Designer.  
-    'Do not modify it using the code editor.
-    <System.Diagnostics.DebuggerStepThrough()> _
-    Private Sub InitializeComponent()
-        components = New System.ComponentModel.Container
-        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
-        Me.Text = "ElectricalConsumers"
-    End Sub
-End Class
diff --git a/VECTOAux/VectoAuxiliaries/UI/ElectricalConsumers.vb b/VECTOAux/VectoAuxiliaries/UI/ElectricalConsumers.vb
deleted file mode 100644
index b80a87b84b..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/ElectricalConsumers.vb
+++ /dev/null
@@ -1,3 +0,0 @@
-Public Class ElectricalConsumers
-
-End Class
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/UI/F_Alternator.Designer.vb b/VECTOAux/VectoAuxiliaries/UI/F_Alternator.Designer.vb
deleted file mode 100644
index f42725e4f9..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/F_Alternator.Designer.vb
+++ /dev/null
@@ -1,29 +0,0 @@
-<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
-Partial Class F_Alternator
-    Inherits System.Windows.Forms.Form
-
-    'Form overrides dispose to clean up the component list.
-    <System.Diagnostics.DebuggerNonUserCode()> _
-    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
-        Try
-            If disposing AndAlso components IsNot Nothing Then
-                components.Dispose()
-            End If
-        Finally
-            MyBase.Dispose(disposing)
-        End Try
-    End Sub
-
-    'Required by the Windows Form Designer
-    Private components As System.ComponentModel.IContainer
-
-    'NOTE: The following procedure is required by the Windows Form Designer
-    'It can be modified using the Windows Form Designer.  
-    'Do not modify it using the code editor.
-    <System.Diagnostics.DebuggerStepThrough()> _
-    Private Sub InitializeComponent()
-        components = New System.ComponentModel.Container
-        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
-        Me.Text = "F_Alternator"
-    End Sub
-End Class
diff --git a/VECTOAux/VectoAuxiliaries/UI/F_Alternator.vb b/VECTOAux/VectoAuxiliaries/UI/F_Alternator.vb
deleted file mode 100644
index cbc5117247..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/F_Alternator.vb
+++ /dev/null
@@ -1,3 +0,0 @@
-Public Class F_Alternator
-
-End Class
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/UI/F_Compressor.Designer.vb b/VECTOAux/VectoAuxiliaries/UI/F_Compressor.Designer.vb
deleted file mode 100644
index dcc38b4da3..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/F_Compressor.Designer.vb
+++ /dev/null
@@ -1,184 +0,0 @@
-
-Namespace UI
-    <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
-    Partial Class F_Compressor
-        Inherits System.Windows.Forms.Form
-
-        'Form overrides dispose to clean up the component list.
-        <System.Diagnostics.DebuggerNonUserCode()> _
-        Protected Overrides Sub Dispose(ByVal disposing As Boolean)
-            Try
-                If disposing AndAlso components IsNot Nothing Then
-                    components.Dispose()
-                End If
-            Finally
-                MyBase.Dispose(disposing)
-            End Try
-        End Sub
-
-        'Required by the Windows Form Designer
-        Private components As System.ComponentModel.IContainer
-
-        'NOTE: The following procedure is required by the Windows Form Designer
-        'It can be modified using the Windows Form Designer.  
-        'Do not modify it using the code editor.
-        <System.Diagnostics.DebuggerStepThrough()> _
-        Private Sub InitializeComponent()
-            Me.lblPullyEfficiency = New System.Windows.Forms.Label()
-            Me.txtPullyEfficiency = New System.Windows.Forms.TextBox()
-            Me.lblMapFile = New System.Windows.Forms.Label()
-            Me.txtMapFile = New System.Windows.Forms.TextBox()
-            Me.btnBrowseMap = New System.Windows.Forms.Button()
-            Me.btnCancel = New System.Windows.Forms.Button()
-            Me.btnSave = New System.Windows.Forms.Button()
-            Me.lblMapLabel = New System.Windows.Forms.Label()
-            Me.txtMapPath = New System.Windows.Forms.TextBox()
-            Me.btnBrowsePowerMap = New System.Windows.Forms.Button()
-            Me.lblPulleyGearRatio = New System.Windows.Forms.Label()
-            Me.txtPulleyEfficiency = New System.Windows.Forms.TextBox()
-            Me.SuspendLayout()
-            '
-            'lblPullyEfficiency
-            '
-            Me.lblPullyEfficiency.AutoSize = True
-            Me.lblPullyEfficiency.Location = New System.Drawing.Point(6, 116)
-            Me.lblPullyEfficiency.Name = "lblPullyEfficiency"
-            Me.lblPullyEfficiency.Size = New System.Drawing.Size(87, 13)
-            Me.lblPullyEfficiency.TabIndex = 21
-            Me.lblPullyEfficiency.Text = " Pully Efficiency :"
-            '
-            'txtPullyEfficiency
-            '
-            Me.txtPullyEfficiency.Location = New System.Drawing.Point(105, 113)
-            Me.txtPullyEfficiency.Name = "txtPullyEfficiency"
-            Me.txtPullyEfficiency.Size = New System.Drawing.Size(46, 20)
-            Me.txtPullyEfficiency.TabIndex = 20
-            '
-            'lblMapFile
-            '
-            Me.lblMapFile.AutoSize = True
-            Me.lblMapFile.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
-            Me.lblMapFile.Location = New System.Drawing.Point(-52, -32)
-            Me.lblMapFile.Name = "lblMapFile"
-            Me.lblMapFile.Size = New System.Drawing.Size(34, 13)
-            Me.lblMapFile.TabIndex = 18
-            Me.lblMapFile.Text = "Map :"
-            '
-            'txtMapFile
-            '
-            Me.txtMapFile.Location = New System.Drawing.Point(-13, -35)
-            Me.txtMapFile.Name = "txtMapFile"
-            Me.txtMapFile.ReadOnly = True
-            Me.txtMapFile.Size = New System.Drawing.Size(530, 20)
-            Me.txtMapFile.TabIndex = 17
-            '
-            'btnBrowseMap
-            '
-            Me.btnBrowseMap.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
-            Me.btnBrowseMap.Location = New System.Drawing.Point(523, -35)
-            Me.btnBrowseMap.Name = "btnBrowseMap"
-            Me.btnBrowseMap.Size = New System.Drawing.Size(75, 23)
-            Me.btnBrowseMap.TabIndex = 16
-            Me.btnBrowseMap.Text = "Browse"
-            Me.btnBrowseMap.UseVisualStyleBackColor = True
-            '
-            'btnCancel
-            '
-            Me.btnCancel.Location = New System.Drawing.Point(518, 166)
-            Me.btnCancel.Name = "btnCancel"
-            Me.btnCancel.Size = New System.Drawing.Size(75, 23)
-            Me.btnCancel.TabIndex = 15
-            Me.btnCancel.Text = "Cancel"
-            Me.btnCancel.UseVisualStyleBackColor = True
-            '
-            'btnSave
-            '
-            Me.btnSave.Location = New System.Drawing.Point(431, 166)
-            Me.btnSave.Name = "btnSave"
-            Me.btnSave.Size = New System.Drawing.Size(75, 23)
-            Me.btnSave.TabIndex = 14
-            Me.btnSave.Text = "Save"
-            Me.btnSave.UseVisualStyleBackColor = True
-            '
-            'lblMapLabel
-            '
-            Me.lblMapLabel.AutoSize = True
-            Me.lblMapLabel.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
-            Me.lblMapLabel.Location = New System.Drawing.Point(59, 78)
-            Me.lblMapLabel.Name = "lblMapLabel"
-            Me.lblMapLabel.Size = New System.Drawing.Size(34, 13)
-            Me.lblMapLabel.TabIndex = 28
-            Me.lblMapLabel.Text = "Map :"
-            '
-            'txtMapPath
-            '
-            Me.txtMapPath.Location = New System.Drawing.Point(105, 75)
-            Me.txtMapPath.Name = "txtMapPath"
-            Me.txtMapPath.ReadOnly = True
-            Me.txtMapPath.Size = New System.Drawing.Size(397, 20)
-            Me.txtMapPath.TabIndex = 27
-            '
-            'btnBrowsePowerMap
-            '
-            Me.btnBrowsePowerMap.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
-            Me.btnBrowsePowerMap.Location = New System.Drawing.Point(512, 75)
-            Me.btnBrowsePowerMap.Name = "btnBrowsePowerMap"
-            Me.btnBrowsePowerMap.Size = New System.Drawing.Size(75, 23)
-            Me.btnBrowsePowerMap.TabIndex = 26
-            Me.btnBrowsePowerMap.Text = "Browse"
-            Me.btnBrowsePowerMap.UseVisualStyleBackColor = True
-            '
-            'lblPulleyGearRatio
-            '
-            Me.lblPulleyGearRatio.AutoSize = True
-            Me.lblPulleyGearRatio.Location = New System.Drawing.Point(163, 117)
-            Me.lblPulleyGearRatio.Name = "lblPulleyGearRatio"
-            Me.lblPulleyGearRatio.Size = New System.Drawing.Size(81, 13)
-            Me.lblPulleyGearRatio.TabIndex = 30
-            Me.lblPulleyGearRatio.Text = " Pully Efficiency"
-            '
-            'txtPulleyEfficiency
-            '
-            Me.txtPulleyEfficiency.Location = New System.Drawing.Point(250, 114)
-            Me.txtPulleyEfficiency.Name = "txtPulleyEfficiency"
-            Me.txtPulleyEfficiency.Size = New System.Drawing.Size(41, 20)
-            Me.txtPulleyEfficiency.TabIndex = 29
-            '
-            'F_Compressor
-            '
-            Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
-            Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
-            Me.ClientSize = New System.Drawing.Size(652, 272)
-            Me.Controls.Add(Me.lblPulleyGearRatio)
-            Me.Controls.Add(Me.txtPulleyEfficiency)
-            Me.Controls.Add(Me.lblMapLabel)
-            Me.Controls.Add(Me.txtMapPath)
-            Me.Controls.Add(Me.btnBrowsePowerMap)
-            Me.Controls.Add(Me.lblPullyEfficiency)
-            Me.Controls.Add(Me.txtPullyEfficiency)
-            Me.Controls.Add(Me.lblMapFile)
-            Me.Controls.Add(Me.txtMapFile)
-            Me.Controls.Add(Me.btnBrowseMap)
-            Me.Controls.Add(Me.btnCancel)
-            Me.Controls.Add(Me.btnSave)
-            Me.Name = "F_Compressor"
-            Me.Text = "Pneumatic Compressor"
-            Me.ResumeLayout(False)
-            Me.PerformLayout()
-
-        End Sub
-        Friend WithEvents lblPullyEfficiency As System.Windows.Forms.Label
-        Friend WithEvents txtPullyEfficiency As System.Windows.Forms.TextBox
-        Friend WithEvents lblMapFile As System.Windows.Forms.Label
-        Friend WithEvents txtMapFile As System.Windows.Forms.TextBox
-        Friend WithEvents btnBrowseMap As System.Windows.Forms.Button
-        Friend WithEvents btnCancel As System.Windows.Forms.Button
-        Friend WithEvents btnSave As System.Windows.Forms.Button
-        Friend WithEvents lblMapLabel As System.Windows.Forms.Label
-        Friend WithEvents txtMapPath As System.Windows.Forms.TextBox
-        Friend WithEvents btnBrowsePowerMap As System.Windows.Forms.Button
-        Friend WithEvents lblPulleyGearRatio As System.Windows.Forms.Label
-        Friend WithEvents txtPulleyEfficiency As System.Windows.Forms.TextBox
-    End Class
-End Namespace
-
diff --git a/VECTOAux/VectoAuxiliaries/UI/F_Compressor.resx b/VECTOAux/VectoAuxiliaries/UI/F_Compressor.resx
deleted file mode 100644
index 1af7de150c..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/F_Compressor.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/UI/F_Compressor.vb b/VECTOAux/VectoAuxiliaries/UI/F_Compressor.vb
deleted file mode 100644
index 65afdb1eed..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/F_Compressor.vb
+++ /dev/null
@@ -1,13 +0,0 @@
-
-Imports VectoAuxiliaries.Hvac
-Imports System.Windows.Forms
-
-Namespace UI
-
-    Public Class F_Compressor
-
-
-    End Class
-
-End Namespace
-
diff --git a/VECTOAux/VectoAuxiliaries/UI/F_HVAC.Designer.vb b/VECTOAux/VectoAuxiliaries/UI/F_HVAC.Designer.vb
deleted file mode 100644
index c0698effc3..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/F_HVAC.Designer.vb
+++ /dev/null
@@ -1,179 +0,0 @@
-Namespace UI
-<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
-    Partial Class F_HVAC
-        Inherits System.Windows.Forms.Form
-
-        'Form overrides dispose to clean up the component list.
-        <System.Diagnostics.DebuggerNonUserCode()> _
-        Protected Overrides Sub Dispose(ByVal disposing As Boolean)
-            Try
-                If disposing AndAlso components IsNot Nothing Then
-                    components.Dispose()
-                End If
-            Finally
-                MyBase.Dispose(disposing)
-            End Try
-        End Sub
-
-        'Required by the Windows Form Designer
-        Private components As System.ComponentModel.IContainer
-
-        'NOTE: The following procedure is required by the Windows Form Designer
-        'It can be modified using the Windows Form Designer.  
-        'Do not modify it using the code editor.
-        <System.Diagnostics.DebuggerStepThrough()> _
-        Private Sub InitializeComponent()
-            Me.dgMapResults = New System.Windows.Forms.DataGridView()
-            Me.btnSave = New System.Windows.Forms.Button()
-            Me.btnCancel = New System.Windows.Forms.Button()
-            Me.btnBrowseMap = New System.Windows.Forms.Button()
-            Me.txtMapFile = New System.Windows.Forms.TextBox()
-            Me.lblMapFile = New System.Windows.Forms.Label()
-            Me.pnlSearchBar = New System.Windows.Forms.Panel()
-            Me.lblMechanicalDemand = New System.Windows.Forms.Label()
-            Me.txtMechanicalDemand = New System.Windows.Forms.TextBox()
-            Me.lblElectricalDemand = New System.Windows.Forms.Label()
-            Me.txtElectricalDemand = New System.Windows.Forms.TextBox()
-            CType(Me.dgMapResults, System.ComponentModel.ISupportInitialize).BeginInit()
-            Me.SuspendLayout()
-            '
-            'dgMapResults
-            '
-            Me.dgMapResults.AllowUserToAddRows = False
-            Me.dgMapResults.AllowUserToDeleteRows = False
-            Me.dgMapResults.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
-            Me.dgMapResults.Location = New System.Drawing.Point(14, 164)
-            Me.dgMapResults.MultiSelect = False
-            Me.dgMapResults.Name = "dgMapResults"
-            Me.dgMapResults.ReadOnly = True
-            Me.dgMapResults.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
-            Me.dgMapResults.Size = New System.Drawing.Size(650, 245)
-            Me.dgMapResults.TabIndex = 0
-            '
-            'btnSave
-            '
-            Me.btnSave.Location = New System.Drawing.Point(497, 426)
-            Me.btnSave.Name = "btnSave"
-            Me.btnSave.Size = New System.Drawing.Size(75, 23)
-            Me.btnSave.TabIndex = 1
-            Me.btnSave.Text = "Save"
-            Me.btnSave.UseVisualStyleBackColor = True
-            '
-            'btnCancel
-            '
-            Me.btnCancel.Location = New System.Drawing.Point(584, 426)
-            Me.btnCancel.Name = "btnCancel"
-            Me.btnCancel.Size = New System.Drawing.Size(75, 23)
-            Me.btnCancel.TabIndex = 2
-            Me.btnCancel.Text = "Cancel"
-            Me.btnCancel.UseVisualStyleBackColor = True
-            '
-            'btnBrowseMap
-            '
-            Me.btnBrowseMap.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
-            Me.btnBrowseMap.Location = New System.Drawing.Point(584, 12)
-            Me.btnBrowseMap.Name = "btnBrowseMap"
-            Me.btnBrowseMap.Size = New System.Drawing.Size(75, 23)
-            Me.btnBrowseMap.TabIndex = 3
-            Me.btnBrowseMap.Text = "Browse"
-            Me.btnBrowseMap.UseVisualStyleBackColor = True
-            '
-            'txtMapFile
-            '
-            Me.txtMapFile.Location = New System.Drawing.Point(48, 12)
-            Me.txtMapFile.Name = "txtMapFile"
-            Me.txtMapFile.ReadOnly = True
-            Me.txtMapFile.Size = New System.Drawing.Size(530, 20)
-            Me.txtMapFile.TabIndex = 4
-            '
-            'lblMapFile
-            '
-            Me.lblMapFile.AutoSize = True
-            Me.lblMapFile.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
-            Me.lblMapFile.Location = New System.Drawing.Point(9, 15)
-            Me.lblMapFile.Name = "lblMapFile"
-            Me.lblMapFile.Size = New System.Drawing.Size(34, 13)
-            Me.lblMapFile.TabIndex = 5
-            Me.lblMapFile.Text = "Map :"
-            '
-            'pnlSearchBar
-            '
-            Me.pnlSearchBar.Location = New System.Drawing.Point(16, 95)
-            Me.pnlSearchBar.Name = "pnlSearchBar"
-            Me.pnlSearchBar.Size = New System.Drawing.Size(643, 59)
-            Me.pnlSearchBar.TabIndex = 6
-            '
-            'lblMechanicalDemand
-            '
-            Me.lblMechanicalDemand.AutoSize = True
-            Me.lblMechanicalDemand.Location = New System.Drawing.Point(291, 58)
-            Me.lblMechanicalDemand.Name = "lblMechanicalDemand"
-            Me.lblMechanicalDemand.Size = New System.Drawing.Size(132, 13)
-            Me.lblMechanicalDemand.TabIndex = 9
-            Me.lblMechanicalDemand.Text = "Mechanical Demand (KW)"
-            '
-            'txtMechanicalDemand
-            '
-            Me.txtMechanicalDemand.Location = New System.Drawing.Point(431, 54)
-            Me.txtMechanicalDemand.Name = "txtMechanicalDemand"
-            Me.txtMechanicalDemand.ReadOnly = True
-            Me.txtMechanicalDemand.Size = New System.Drawing.Size(56, 20)
-            Me.txtMechanicalDemand.TabIndex = 10
-            Me.txtMechanicalDemand.Text = "0"
-            '
-            'lblElectricalDemand
-            '
-            Me.lblElectricalDemand.AutoSize = True
-            Me.lblElectricalDemand.Location = New System.Drawing.Point(493, 58)
-            Me.lblElectricalDemand.Name = "lblElectricalDemand"
-            Me.lblElectricalDemand.Size = New System.Drawing.Size(120, 13)
-            Me.lblElectricalDemand.TabIndex = 11
-            Me.lblElectricalDemand.Text = "Electrical Demand (KW)"
-            '
-            'txtElectricalDemand
-            '
-            Me.txtElectricalDemand.Location = New System.Drawing.Point(619, 54)
-            Me.txtElectricalDemand.Name = "txtElectricalDemand"
-            Me.txtElectricalDemand.ReadOnly = True
-            Me.txtElectricalDemand.Size = New System.Drawing.Size(26, 20)
-            Me.txtElectricalDemand.TabIndex = 12
-            Me.txtElectricalDemand.Text = "0"
-            '
-            'F_HVAC
-            '
-            Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
-            Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
-            Me.ClientSize = New System.Drawing.Size(674, 458)
-            Me.Controls.Add(Me.txtElectricalDemand)
-            Me.Controls.Add(Me.lblElectricalDemand)
-            Me.Controls.Add(Me.txtMechanicalDemand)
-            Me.Controls.Add(Me.lblMechanicalDemand)
-            Me.Controls.Add(Me.pnlSearchBar)
-            Me.Controls.Add(Me.lblMapFile)
-            Me.Controls.Add(Me.txtMapFile)
-            Me.Controls.Add(Me.btnBrowseMap)
-            Me.Controls.Add(Me.btnCancel)
-            Me.Controls.Add(Me.btnSave)
-            Me.Controls.Add(Me.dgMapResults)
-            Me.Name = "F_HVAC"
-            Me.Text = "HVAC Properties"
-            CType(Me.dgMapResults, System.ComponentModel.ISupportInitialize).EndInit()
-            Me.ResumeLayout(False)
-            Me.PerformLayout()
-
-        End Sub
-        Friend WithEvents dgMapResults As System.Windows.Forms.DataGridView
-        Friend WithEvents btnSave As System.Windows.Forms.Button
-        Friend WithEvents btnCancel As System.Windows.Forms.Button
-        Friend WithEvents btnBrowseMap As System.Windows.Forms.Button
-        Friend WithEvents txtMapFile As System.Windows.Forms.TextBox
-        Friend WithEvents lblMapFile As System.Windows.Forms.Label
-        Friend WithEvents pnlSearchBar As System.Windows.Forms.Panel
-        Friend WithEvents lblMechanicalDemand As System.Windows.Forms.Label
-        Friend WithEvents txtMechanicalDemand As System.Windows.Forms.TextBox
-        Friend WithEvents lblElectricalDemand As System.Windows.Forms.Label
-        Friend WithEvents txtElectricalDemand As System.Windows.Forms.TextBox
-
-    End Class
-
-End Namespace
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/UI/F_HVAC.resx b/VECTOAux/VectoAuxiliaries/UI/F_HVAC.resx
deleted file mode 100644
index 1af7de150c..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/F_HVAC.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/UI/F_HVAC.vb b/VECTOAux/VectoAuxiliaries/UI/F_HVAC.vb
deleted file mode 100644
index 333b3b950d..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/F_HVAC.vb
+++ /dev/null
@@ -1,303 +0,0 @@
-Imports VectoAuxiliaries.Hvac
-Imports System.Windows.Forms
-
-Namespace UI
-
-    Public Class F_HVAC
-
-        'Private Fields
-        Private _mapPath As String
-        Private _cfgPath As String
-        Private _map As HVACMap
-        Private _mapFilter As List(Of String) = New List(Of String)()
-        Private _selectedInputs As New Dictionary(Of String, String)
-
-
-        'Properties
-        Public Property MapPath As String
-
-            Get
-                Return _mapPath
-            End Get
-            Set(value As String)
-                _mapPath = value
-                txtMapFile.Text = value
-            End Set
-
-
-        End Property
-
-        Public Property Inputs As Dictionary(Of String, String)
-
-            Get
-                Return _selectedInputs
-            End Get
-
-            Private Set(value As Dictionary(Of String, String))
-                _selectedInputs = value
-            End Set
-
-        End Property
-
-
-
-
-        'Helpers
-        Private Sub BuildSearchBar()
-
-            'Clear out anything which may be resident
-            pnlSearchBar.Controls.Clear()
-
-            If _map Is Nothing Then
-                MessageBox.Show("Map not yet loaded")
-                Return
-            End If
-
-            'Ok Showtime
-
-
-            'Get all the columns who's header is an input
-            Dim results As Dictionary(Of String, HVACMapParameter) = (From p In _map.GetMapHeaders() Where Not p.Value.IsOutput Select p).ToDictionary(Function(p) p.Key, Function(p) p.Value)
-
-            'Add Layuout Table inside the pnlSearchBar
-            Dim filterPanelTable As TableLayoutPanel = New TableLayoutPanel()
-            filterPanelTable.RowCount = 2
-            filterPanelTable.ColumnCount = _map.GetMapHeaders().Count
-            filterPanelTable.Dock = DockStyle.Fill
-
-            pnlSearchBar.Controls.Add(filterPanelTable)
-
-            For Each parameter As HVACMapParameter In results.Values
-
-                'TB : 'Dies ist, wo die Magie passiert 
-                Dim sp1 As Control = Convert.ChangeType(Activator.CreateInstance(parameter.SearchControlType), parameter.SearchControlType)
-
-                sp1.Name = "FilterControl_" + parameter.OrdinalPosition.ToString()
-
-                FillControl(sp1, parameter.UniqueDataValues, parameter)
-
-                'Set Label
-                filterPanelTable.Controls.Add((New Label() With {.Text = parameter.Name}), parameter.OrdinalPosition, 0)
-
-                'Set Control
-                filterPanelTable.Controls.Add(sp1, parameter.OrdinalPosition, 1)
-
-            Next
-
-
-        End Sub
-        Private Sub FillControl(ByRef control As Control, values As List(Of String), param As HVACMapParameter)
-
-            'ComboBox Filter Control
-            If TypeOf control Is ComboBox Then
-
-                Dim cb As ComboBox = CType(control, ComboBox)
-                AddHandler cb.SelectionChangeCommitted, AddressOf Me.FilterComboHandler
-                cb.Items.Add("<Select>")
-                For Each item As String In values
-                    cb.Items.Add(item)
-                Next
-
-                cb.SelectedIndex = 0
-
-            End If
-
-        End Sub
-        Private Sub PopulateResultsTable(subsetResults As List(Of String()))
-
-            Dim table As New DataTable
-            For Each item As KeyValuePair(Of String, HVACMapParameter) In _map.GetMapHeaders
-                Dim col As New DataColumn(item.Value.Name)
-                table.Columns.Add(col)
-            Next
-
-            For Each row As String() In subsetResults
-                Dim cell As Integer
-                Dim newTableRow As DataRow = table.NewRow
-                For cell = 0 To table.Columns.Count - 1
-                    newTableRow.SetField(cell, row(cell))
-                Next
-                table.Rows.Add(newTableRow)
-            Next
-
-            dgMapResults.DataSource = table
-
-            dgMapResults.ClearSelection()
-            txtElectricalDemand.Text = String.Empty
-            txtMechanicalDemand.Text = String.Empty
-
-
-        End Sub
-
-
-        'Constructors
-        Public Sub New()
-
-            ' This call is required by the designer.
-            InitializeComponent()
-
-            ' Add any initialization after the InitializeComponent() call.
-
-        End Sub
-
-        Public Sub New(ByVal iMapPath As String)
-
-            Me.New()
-
-            MapPath = iMapPath
-
-        End Sub
-
-        'Event Handlers
-        '**************
-        'Programatically attached when filer is built
-        Private Sub FilterComboHandler(sender As Object, e As EventArgs)
-
-
-            'Determine where in the filer we need to be
-            Dim combo As ComboBox = CType(sender, ComboBox)
-            Dim oridnal As Integer = combo.Name.Split("_")(1)
-
-            If (combo.SelectedIndex > 0) Then
-                _mapFilter(oridnal) = combo.Items(combo.SelectedIndex).ToString()
-
-            Else
-                _mapFilter(oridnal) = String.Empty
-            End If
-
-            Dim results as List(Of String()) = _map.GetMapSubSet(_mapFilter.ToArray())
-
-            PopulateResultsTable(results)
-
-        End Sub
-
-        'Delcaratively attached
-        Private Sub dgMapResults_SelectionChanged(sender As Object, e As EventArgs) Handles dgMapResults.SelectionChanged
-
-            If (CType(sender, DataGridView).SelectedRows.Count = 1) Then
-                txtMechanicalDemand.Text = CType(sender, DataGridView).SelectedRows(0).Cells("MechD").Value
-                txtElectricalDemand.Text = CType(sender, DataGridView).SelectedRows(0).Cells("ElecD").Value
-            End If
-
-        End Sub
-        Private Sub F_HVAC_Load(sender As Object, e As EventArgs) Handles MyBase.Load
-
-            'If we have a map on load lets try and get the information
-            If (MapPath.Length <> 0) Then
-
-                GetMapData()
-
-            End If
-
-
-        End Sub
-
-
-        Private Sub GetMapData()
-
-            'Dim openFileDialog1 = New OpenFileDialog()
-
-            'openFileDialog1.InitialDirectory = "."
-            'openFileDialog1.Filter = "Map Files (*.vaux)|*.vaux"
-            'openFileDialog1.FilterIndex = 1
-            'openFileDialog1.RestoreDirectory = True
-
-            'openFileDialog1.ShowDialog(Me)
-            'MapPath = openFileDialog1.FileName
-
-            'openFileDialog1.Dispose()
-
-            Try
-
-                _map = New HVACMap(_mapPath)
-                _map.Initialise()
-
-                _mapFilter.Clear()
-                For Each item As KeyValuePair(Of String, HVACMapParameter) In _map.GetMapHeaders
-                    _mapFilter.Add("")
-                Next
-
-                BuildSearchBar()
-
-            Catch ex As Exception
-
-                MessageBox.Show("An error has occured while trying to read the map file selected ")
-                'TODO:Log this error message.
-                DialogResult = Windows.Forms.DialogResult.Abort
-                Me.Close()
-
-            End Try
-
-
-
-
-
-        End Sub
-
-
-
-        Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
-
-            DialogResult = Windows.Forms.DialogResult.OK
-
-        End Sub
-        Private Sub btnBrowseMap_Click(sender As Object, e As EventArgs) Handles btnBrowseMap.Click
-
-
-
-        End Sub
-
-
-        Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click
-
-            DialogResult = Windows.Forms.DialogResult.Cancel
-            Me.Close()
-
-        End Sub
-
-
-        Private Sub F_HVAC_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
-
-            'If closing as a result of OK being pressed
-            Select DialogResult
-
-
-                Case Windows.Forms.DialogResult.OK
-
-                    If (Me.dgMapResults.Rows.Count > 0 AndAlso Me.dgMapResults.SelectedRows.Count = 1) Then
-
-                        Inputs.Clear()
-
-                        'Build a list of Inputs
-                        For Each p As HVACMapParameter In _map.MapHeaders.OrderBy(Function(x) x.Value.OrdinalPosition).Select(Function(x) x.Value)
-                            Dim val As String = Me.dgMapResults.SelectedRows(0).Cells(p.OrdinalPosition).Value.ToString()
-                            If Not p.IsOutput Then
-                                Inputs.Add(p.Name, val)
-                            End If
-                        Next
-                    Else
-                        'Cancel the event as nothing has been selected althoug the users has pressed the ok button indicating a submit.
-                        MessageBox.Show("You do not have a selected row.")
-                        e.Cancel = True
-                    End If
-
-                Case Else
-                    Inputs.Clear()
-                    txtMapFile.Text = String.Empty
-
-
-
-            End Select
-
-
-
-
-
-
-
-        End Sub
-
-    End Class
-
-
-End Namespace
diff --git a/VECTOAux/VectoAuxiliaries/UI/F_PneumaticConsumers.Designer.vb b/VECTOAux/VectoAuxiliaries/UI/F_PneumaticConsumers.Designer.vb
deleted file mode 100644
index 7fc4b99b34..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/F_PneumaticConsumers.Designer.vb
+++ /dev/null
@@ -1,37 +0,0 @@
-<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
-Partial Class F_PneumaticConsumers
-    Inherits System.Windows.Forms.Form
-
-    'Form overrides dispose to clean up the component list.
-    <System.Diagnostics.DebuggerNonUserCode()> _
-    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
-        Try
-            If disposing AndAlso components IsNot Nothing Then
-                components.Dispose()
-            End If
-        Finally
-            MyBase.Dispose(disposing)
-        End Try
-    End Sub
-
-    'Required by the Windows Form Designer
-    Private components As System.ComponentModel.IContainer
-
-    'NOTE: The following procedure is required by the Windows Form Designer
-    'It can be modified using the Windows Form Designer.  
-    'Do not modify it using the code editor.
-    <System.Diagnostics.DebuggerStepThrough()> _
-    Private Sub InitializeComponent()
-        Me.SuspendLayout()
-        '
-        'F_PneumaticConsumers
-        '
-        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
-        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
-        Me.ClientSize = New System.Drawing.Size(483, 264)
-        Me.Name = "F_PneumaticConsumers"
-        Me.Text = "F_PneumaticConsumers"
-        Me.ResumeLayout(False)
-
-    End Sub
-End Class
diff --git a/VECTOAux/VectoAuxiliaries/UI/F_PneumaticConsumers.resx b/VECTOAux/VectoAuxiliaries/UI/F_PneumaticConsumers.resx
deleted file mode 100644
index 1af7de150c..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/F_PneumaticConsumers.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/UI/F_PneumaticConsumers.vb b/VECTOAux/VectoAuxiliaries/UI/F_PneumaticConsumers.vb
deleted file mode 100644
index 9e0e3170dc..0000000000
--- a/VECTOAux/VectoAuxiliaries/UI/F_PneumaticConsumers.vb
+++ /dev/null
@@ -1,3 +0,0 @@
-Public Class F_PneumaticConsumers
-
-End Class
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliariesTests/ClassDiagram1.cd b/VECTOAux/VectoAuxiliariesTests/ClassDiagram1.cd
deleted file mode 100644
index 7b894197b9..0000000000
--- a/VECTOAux/VectoAuxiliariesTests/ClassDiagram1.cd
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<ClassDiagram /> 
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliariesTests/Mocks/AlternatorMock.vb b/VECTOAux/VectoAuxiliariesTests/Mocks/AlternatorMock.vb
deleted file mode 100644
index a4b7d041bd..0000000000
--- a/VECTOAux/VectoAuxiliariesTests/Mocks/AlternatorMock.vb
+++ /dev/null
@@ -1,47 +0,0 @@
-Imports VectoAuxiliaries.Electrics
-
-Namespace Mocks
-
-    Public Class AlternatorMock
-        Implements IAlternator
-
-        Private _gearPullyRatio As Single = 1
-        Private _gearPullyEfficiency As Single = 1
-
-
-        Public Property PulleyGearRatio() As Single Implements IAlternator.PulleyGearRatio
-            Get
-                Return _gearPullyRatio
-            End Get
-            Set(ByVal value As Single)
-                _gearPullyRatio = value
-            End Set
-        End Property
-
-        Public Property PulleyGearEfficiency() As Single Implements IAlternator.PulleyGearEfficiency
-            Get
-                Return _gearPullyEfficiency
-            End Get
-            Set(ByVal value As Single)
-                _gearPullyEfficiency = value
-            End Set
-        End Property
-
-        Public Function Initialise() As Boolean Implements IAlternator.Initialise
-            Return True
-        End Function
-
-        Public Function GetEfficiency(ByVal engineRpm As Single) As Single Implements IAlternator.GetEfficiency
-            Return 0.5
-        End Function
-
-        Public Function GetMaximumRegenerationPower(ByVal engineRpm As Single) As Single Implements IAlternator.GetMaximumRegenerationPower
-            Return 100
-        End Function
-
-        Public Function GetMaximumRegeneratinPowerAtCrank(ByVal engineRpm As Single) As Single Implements IAlternator.GetMaximumRegeneratinPowerAtCrank
-            Return 200
-        End Function
-    End Class
-
-End Namespace
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/AlternatorTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/AlternatorTests.vb
deleted file mode 100644
index 8e95e78183..0000000000
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/AlternatorTests.vb
+++ /dev/null
@@ -1,175 +0,0 @@
-
-Imports VectoAuxiliaries.Electrics
-Imports NUnit.Framework
-Imports VectoAuxiliariesTests.Mocks
-
-Namespace UnitTests
-
-
-    <TestFixture()>
-    Public Class AlternatorsRegenTests
-
-#Region "Test Constants"
-
-        ''' <summary>
-        ''' Implemented range is [1.25 - 5.5]
-        ''' </summary>
-        Const GoodRatio As Single = 3.0
-
-        ''' <summary>
-        ''' Implemented range is [1.25 - 5.5]
-        ''' </summary>
-        Const TooLowRatio As Single = 0.0
-        Private Const TooHighRatio As Single = 6.0
-
-        ''' <summary>
-        ''' Implemented range is [0.25 - 0.95]
-        ''' </summary>
-        Private Const GoodEfficiency As Single = 0.5
-
-        ''' <summary>
-        ''' Implemented range is [0.25 - 0.95]
-        ''' </summary>
-        Private Const TooLowEfficiency As Single = 0
-        Private Const TooHighEfficiency As Single = 1
-
-        Private Function GetNonFailingMapMock() As IAlternatorMap
-            Return New AlternatorMapMock(False)
-        End Function
-
-        Private Function GetFailingMapMock() As IAlternatorMap
-            Return New AlternatorMapMock(True)
-        End Function
-
-        Private Function GetGoodAlternator() As Alternator
-            Dim value As Alternator = New Alternator(GetNonFailingMapMock(), GoodRatio, GoodEfficiency)
-            Return value
-        End Function
-
-#End Region
-
-        <Test()>
-        Public Sub CreateNewAlternatorJustPathTest()
-            Dim target As Alternator = New Alternator(GetNonFailingMapMock())
-            Assert.IsNotNull(target)
-        End Sub
-
-        <Test()>
-        Public Sub CreateNewAlternatorAllParametersTest()
-            Dim target As Alternator = New Alternator(GetNonFailingMapMock(), GoodRatio, GoodEfficiency)
-            Assert.IsNotNull(target)
-        End Sub
-
-        <TestCase(TooLowRatio)> _
-        <TestCase(TooHighRatio)> _
-        <ExpectedException("System.ArgumentOutOfRangeException")>
-        Public Sub CreateNewAlternatorInvalidRatioTest(ByVal ratio As Single)
-            Dim target As Alternator = New Alternator(GetFailingMapMock(), ratio, GoodEfficiency)
-        End Sub
-
-        <TestCase(TooLowEfficiency)> _
-        <TestCase(TooHighEfficiency)> _
-        <ExpectedException("System.ArgumentOutOfRangeException")>
-        Public Sub CreateNewAlternatorInvalidEfficiencyTest(ByVal efficiency As Single)
-            Dim target As Alternator = New Alternator(GetNonFailingMapMock(), GoodRatio, efficiency)
-        End Sub
-
-
-        <Test()>
-        Public Sub InitialiseTest()
-            Dim target As Alternator = New Alternator(GetNonFailingMapMock())
-            Dim result As Boolean = target.Initialise()
-            Assert.IsTrue(result)
-        End Sub
-
-        <Test(), ExpectedException("System.ArgumentException")>
-        Public Sub InitialiseInvalidMapTest()
-            Dim target As Alternator = New Alternator(GetFailingMapMock())
-            Dim result As Boolean = target.Initialise()
-        End Sub
-
-
-        <Test()>
-        Public Sub GetEfficiencyTest()
-            Dim target As Alternator = GetGoodAlternator()
-            target.Initialise()
-            Dim expected As Single = 0.5
-            Dim actual As Single = target.GetEfficiency(100)
-            Assert.AreEqual(actual, expected)
-        End Sub
-
-
-        <Test()>
-        Public Sub GetMaximumRegenerationPowerTest()
-            Dim target As Alternator = GetGoodAlternator()
-            target.Initialise()
-            Dim expected As Single = 100
-            Dim actual As Single = target.GetMaximumRegenerationPower(500)
-            Assert.AreEqual(expected, actual)
-        End Sub
-
-
-        <Test()>
-        Public Sub GetMaximumRegeneratinPowerAtCrankTest()
-            'TODO: is a simple value returned, no exception test ok here, should we be checking specific values?
-            Dim target As Alternator = GetGoodAlternator()
-            target.Initialise()
-            Dim expected As Single = 100
-            Dim actual As Single = target.GetMaximumRegeneratinPowerAtCrank(500)
-            Assert.AreEqual(expected, actual)
-        End Sub
-
-
-        <Test()>
-        Public Sub SetGearRatioTest()
-            Dim target As Alternator = GetGoodAlternator()
-            Dim expected As Single = 1.25
-            target.PulleyGearRatio = expected
-            Dim actual As Single = target.PulleyGearRatio
-            Assert.AreEqual(actual, expected)
-        End Sub
-
-        <TestCase(TooLowRatio)> _
-        <TestCase(TooHighRatio)>
-        <ExpectedException("System.ArgumentOutOfRangeException")>
-        Public Sub SetGearRatioOutOfRange(ByVal ratio As Single)
-            Dim target As Alternator = New Alternator(GetNonFailingMapMock())
-            target.PulleyGearRatio = ratio
-        End Sub
-
-        <Test()>
-        Public Sub GetGearRatioTest()
-            Dim target As Alternator = New Alternator(GetNonFailingMapMock(), GoodRatio, GoodEfficiency)
-            Dim expected As Single = GoodRatio
-            Dim actual As Single = target.PulleyGearRatio
-            Assert.AreEqual(actual, expected)
-        End Sub
-
-
-        <Test()>
-        Public Sub SetGearEfficiencyTest()
-            Dim target As Alternator = GetGoodAlternator()
-            Dim expected As Single = GoodEfficiency
-            target.PulleyGearEfficiency = expected
-            Dim actual As Single = target.PulleyGearEfficiency
-            Assert.AreEqual(actual, expected)
-        End Sub
-
-        <TestCase(TooLowEfficiency)> _
-        <TestCase(TooHighEfficiency)> _
-        <ExpectedException("System.ArgumentOutOfRangeException")>
-        Public Sub SetGearEfficiencyTooHighTest(ByVal efficiency As Single)
-            Dim target As Alternator = New Alternator(GetNonFailingMapMock())
-            target.PulleyGearEfficiency = efficiency
-        End Sub
-
-        <Test()>
-        Public Sub GetGearEfficiencyTest()
-            Dim target As Alternator = New Alternator(GetNonFailingMapMock(), GoodRatio, GoodEfficiency)
-            Dim expected As Single = GoodEfficiency
-            Dim actual As Single = target.PulleyGearEfficiency
-            Assert.AreEqual(actual, expected)
-        End Sub
-
-    End Class
-End Namespace
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/PneumaticConsumerTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/PneumaticConsumerTests.vb
deleted file mode 100644
index add3f1f3cb..0000000000
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/PneumaticConsumerTests.vb
+++ /dev/null
@@ -1,68 +0,0 @@
-Imports VectoAuxiliaries.Electrics
-Imports NUnit.Framework
-Imports VectoAuxiliaries.Pneumatics
-
-
-Namespace UnitTests
-
-    <TestFixture()>
-    Public Class PneumaticConsumerTests
-#Region "Helpers"
-
-        Private Const GoodName As String = "Test"
-        Private Const GoodVolume As Single = 10.0
-        Private Const BadVolume As Single = 0.0
-        Private Const BadName As String = ""
-
-        Public Function GetGoodConsumer() As PneumaticConsumer
-            Return New PneumaticConsumer(GoodName, GoodVolume)
-        End Function
-
-#End Region
-
-
-        <Test()>
-        Public Sub CreateNewTest()
-            Dim target As PneumaticConsumer = GetGoodConsumer()
-            Assert.IsNotNull(target)
-        End Sub
-
-        <Test(), ExpectedException("System.ArgumentException")>
-        Public Sub CreateNewInvalidNameTest()
-            Dim target As PneumaticConsumer = New PneumaticConsumer(BadName, GoodVolume)
-        End Sub
-
-        <Test(), ExpectedException("System.ArgumentOutOfRangeException")>
-        Public Sub CreateNewInvalidVolumeTest()
-            Dim target As PneumaticConsumer = New PneumaticConsumer(GoodName, BadVolume)
-        End Sub
-
-
-        <Test()>
-        Public Sub GetNameTest()
-            Dim target As PneumaticConsumer = GetGoodConsumer()
-            Dim expected As String = GoodName
-            Dim actual As String = target.Name
-            Assert.AreEqual(expected, actual)
-        End Sub
-
-        <Test()>
-        Public Sub GetTotalVolumeTest()
-            Dim target As PneumaticConsumer = GetGoodConsumer()
-            Dim expected As Single = GoodVolume * 50
-            Dim actual As Single = target.GetTotalVolume(50)
-            Assert.AreEqual(expected, actual)
-        End Sub
-
-        <Test()>
-        Public Sub GetVolumeTest()
-            Dim target As PneumaticConsumer = GetGoodConsumer()
-            Dim expected As Single = GoodVolume
-            Dim actual As Single = target.VolumePerCycle
-            Assert.AreEqual(expected, actual)
-        End Sub
-
-    End Class
-End Namespace
-
-
-- 
GitLab