%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /data/bordel/diplomka/
Upload File :
Create Path :
Current File : //data/bordel/diplomka/DoorDatapointNumbers.patch

Index: ConfigApp.Data/InternalDataSet.Designer.cs
===================================================================
--- ConfigApp.Data/InternalDataSet.Designer.cs	(revision 3199)
+++ ConfigApp.Data/InternalDataSet.Designer.cs	(working copy)
@@ -426,37 +426,37 @@
         
         private DatapointNumbersDataTable tableDatapointNumbers;
         
+        private global::System.Data.DataRelation relationPartitionMember_DetectorGroup;
+        
         private global::System.Data.DataRelation relationFK_SounderTemplate_DetectorGroup;
         
-        private global::System.Data.DataRelation relationPartitionMember_DetectorGroup;
+        private global::System.Data.DataRelation relationVirtualPIR_VirtualBusPIR;
         
         private global::System.Data.DataRelation relationLogicalPIR_VirtualBusPIR;
         
-        private global::System.Data.DataRelation relationVirtualPIR_VirtualBusPIR;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualInput;
         
         private global::System.Data.DataRelation relationLogicalInput_VirtualInput;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualInput;
+        private global::System.Data.DataRelation relationFK_Signal_VirtualOutput;
         
-        private global::System.Data.DataRelation relationLogicalOutput_VirtualOutput;
-        
         private global::System.Data.DataRelation relationVirtualDevice_VirtualOutput;
         
-        private global::System.Data.DataRelation relationFK_Signal_VirtualOutput;
+        private global::System.Data.DataRelation relationLogicalOutput_VirtualOutput;
         
         private global::System.Data.DataRelation relationVirtualDevice_VirtualUserInterface;
         
         private global::System.Data.DataRelation relationFK_LogicalAccessPoint_AccessPoint;
         
+        private global::System.Data.DataRelation relationVirtualDoor_VirtualBusDoor;
+        
         private global::System.Data.DataRelation relationLogicalDoor_VirtualBusDoor;
         
-        private global::System.Data.DataRelation relationVirtualDoor_VirtualBusDoor;
+        private global::System.Data.DataRelation relationActionOn_Macro;
         
-        private global::System.Data.DataRelation relationCondition_Macro;
-        
         private global::System.Data.DataRelation relationActionOff_Macro;
         
-        private global::System.Data.DataRelation relationActionOn_Macro;
+        private global::System.Data.DataRelation relationCondition_Macro;
         
         private global::System.Data.DataRelation relationLogicalDevice_LogicalPIR;
         
@@ -482,10 +482,10 @@
         
         private global::System.Data.DataRelation relationAccessPoint_FaultTries;
         
+        private global::System.Data.DataRelation relationActionList_ActionList_Command;
+        
         private global::System.Data.DataRelation relationCommand_ActionList_Command;
         
-        private global::System.Data.DataRelation relationActionList_ActionList_Command;
-        
         private global::System.Data.DataRelation relationObject_Building;
         
         private global::System.Data.DataRelation relationBuilding_Floor;
@@ -492,87 +492,87 @@
         
         private global::System.Data.DataRelation relationFloor_Room;
         
+        private global::System.Data.DataRelation relationPartitionMember_VirtualDevice;
+        
         private global::System.Data.DataRelation relationLogicalDevice_VirtualDevice;
         
-        private global::System.Data.DataRelation relationPartitionMember_VirtualDevice;
-        
         private global::System.Data.DataRelation relationHardwareDevice_LogicalDevice;
         
+        private global::System.Data.DataRelation relationCatalogueData_HardwareDevice;
+        
         private global::System.Data.DataRelation relationHardwareDevice_HardwareDevice;
         
-        private global::System.Data.DataRelation relationCatalogueData_HardwareDevice;
+        private global::System.Data.DataRelation relationVirtualPIR_VirtualHardwiredPIR;
         
-        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredPIR;
+        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredPIR2;
         
-        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredPIR1;
+        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredPIR1;
         
         private global::System.Data.DataRelation relationLogicalInput_VirtualWiredPIR2;
         
-        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredPIR1;
+        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredPIR1;
         
-        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredPIR2;
+        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredPIR;
         
-        private global::System.Data.DataRelation relationVirtualPIR_VirtualHardwiredPIR;
+        private global::System.Data.DataRelation relationVirtualDoor_VirtualHardwiredDoor;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualWiredDoor;
+        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredDoor2;
         
-        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredDoor1;
+        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredDoor;
         
-        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredDoor;
+        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredDoor1;
         
+        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredDoor2;
+        
         private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredDoor6;
         
-        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredDoor2;
+        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredDoor;
         
-        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredDoor1;
+        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredDoor1;
         
-        private global::System.Data.DataRelation relationLogicalOutput_VirtualWiredDoor;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualWiredDoor;
         
-        private global::System.Data.DataRelation relationLogicalInput_VirtualWiredDoor2;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualSounder;
         
-        private global::System.Data.DataRelation relationVirtualDoor_VirtualHardwiredDoor;
-        
         private global::System.Data.DataRelation relationLogicalSounder_VirtualSounder;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualSounder;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualEmail;
         
         private global::System.Data.DataRelation relationLogicalEmail_VirtualEmail;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualEmail;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualCamera;
         
         private global::System.Data.DataRelation relationLogicalCamera_VirtualCamera;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualCamera;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualSMS;
         
         private global::System.Data.DataRelation relationLogicalSMS_VirtualSMS;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualSMS;
+        private global::System.Data.DataRelation relationLogicalReader_VirtualReader;
         
         private global::System.Data.DataRelation relationVirtualUserInterface_VirtualReader;
         
-        private global::System.Data.DataRelation relationLogicalReader_VirtualReader;
+        private global::System.Data.DataRelation relationLogicalKeyboard_VirtualKeyboard;
         
         private global::System.Data.DataRelation relationVirtualUserInterface_VirtualKeyboard;
         
-        private global::System.Data.DataRelation relationLogicalKeyboard_VirtualKeyboard;
+        private global::System.Data.DataRelation relationLogicalKeyboardReader_VirtualKeyboardReader;
         
         private global::System.Data.DataRelation relationVirtualUserInterface_VirtualKeyboardReader;
         
-        private global::System.Data.DataRelation relationLogicalKeyboardReader_VirtualKeyboardReader;
+        private global::System.Data.DataRelation relationLogicalInput_VirtualKeySwitch;
         
         private global::System.Data.DataRelation relationVirtualDevice_VirtualKeySwitch;
         
-        private global::System.Data.DataRelation relationLogicalInput_VirtualKeySwitch;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualRelay;
         
         private global::System.Data.DataRelation relationLogicalOutput_VirtualRelay;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualRelay;
+        private global::System.Data.DataRelation relationVirtualDevice_VirtualWindow;
         
-        private global::System.Data.DataRelation relationLogicalInput_VirtualWindow;
-        
         private global::System.Data.DataRelation relationLogicalInput_VirtualWindow1;
         
-        private global::System.Data.DataRelation relationVirtualDevice_VirtualWindow;
+        private global::System.Data.DataRelation relationLogicalInput_VirtualWindow;
         
         private global::System.Data.DataRelation relationLogicalDevice_LogicalPeripheral;
         
@@ -580,18 +580,18 @@
         
         private global::System.Data.DataRelation relationLogicalDevice_LogicalTemperature;
         
+        private global::System.Data.DataRelation relationLogicalPeripheral_VirtualPeripheral;
+        
         private global::System.Data.DataRelation relationVirtualDevice_VirtualPeripheral;
         
-        private global::System.Data.DataRelation relationLogicalPeripheral_VirtualPeripheral;
+        private global::System.Data.DataRelation relationLogicalSmokeDetector_VirtualSmokeDetector;
         
         private global::System.Data.DataRelation relationVirtualDevice_VirtualSmokeDetector;
         
-        private global::System.Data.DataRelation relationLogicalSmokeDetector_VirtualSmokeDetector;
+        private global::System.Data.DataRelation relationLogicalTemperature_VirtualTemperature;
         
         private global::System.Data.DataRelation relationVirtualDevice_VirtualTemperature;
         
-        private global::System.Data.DataRelation relationLogicalTemperature_VirtualTemperature;
-        
         private global::System.Data.DataRelation relationLogicalDevice_LogicalKeyboard;
         
         private global::System.Data.DataRelation relationLogicalDevice_LogicalKeyboardReader;
@@ -598,10 +598,10 @@
         
         private global::System.Data.DataRelation relationLogicalDevice_LogicalReader;
         
+        private global::System.Data.DataRelation relationFK_HardwareDevice_WirelessMaster1;
+        
         private global::System.Data.DataRelation relationFK_HardwareDevice_WirelessMaster;
         
-        private global::System.Data.DataRelation relationFK_HardwareDevice_WirelessMaster1;
-        
         private global::System.Data.DataRelation relationLogicalDevice_LogicalInstallServices;
         
         private global::System.Data.DataRelation relationLogicalDevice_LogicalSmartUI;
@@ -612,39 +612,39 @@
         
         private global::System.Data.DataRelation relationAccessPoint_APMacro;
         
+        private global::System.Data.DataRelation relationFK_User_AccessPoint_User;
+        
         private global::System.Data.DataRelation relationFK_AccessPoint_AccessPoint_User;
         
-        private global::System.Data.DataRelation relationFK_User_AccessPoint_User;
+        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle2;
         
-        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle1;
+        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle3;
         
-        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle;
+        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle4;
         
         private global::System.Data.DataRelation relationPartition_ExternalSounderStyle;
         
-        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle4;
+        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle;
         
-        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle3;
+        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle1;
         
-        private global::System.Data.DataRelation relationFK_SounderTemplate_ExternalSounderStyle2;
+        private global::System.Data.DataRelation relationPartition_Partition_SignalingGroup;
         
         private global::System.Data.DataRelation relationSignalingGroup_Partition_SignalingGroup;
         
-        private global::System.Data.DataRelation relationPartition_Partition_SignalingGroup;
+        private global::System.Data.DataRelation relationSignalingGroup_SignalingGroup_Siren;
         
         private global::System.Data.DataRelation relationVirtualDevice_SignalingGroup_Sounder;
         
-        private global::System.Data.DataRelation relationSignalingGroup_SignalingGroup_Siren;
+        private global::System.Data.DataRelation relationVirtualFlasher_SignalingGroup_Flasher;
         
         private global::System.Data.DataRelation relationSignalingGroup_SignalingGroup_Flasher;
         
-        private global::System.Data.DataRelation relationVirtualFlasher_SignalingGroup_Flasher;
+        private global::System.Data.DataRelation relationLogicalOutput_APTurnstile;
         
-        private global::System.Data.DataRelation relationLogicalInput_APTurnstile;
-        
         private global::System.Data.DataRelation relationAccessPoint_APTurnstile;
         
-        private global::System.Data.DataRelation relationLogicalOutput_APTurnstile;
+        private global::System.Data.DataRelation relationLogicalInput_APTurnstile;
         
         private global::System.Data.DataRelation relationHardwareDevice_HWIBusBusController;
         
@@ -734,10 +734,10 @@
         
         private global::System.Data.DataRelation relationPartition_PartitionFaultType;
         
+        private global::System.Data.DataRelation relationPartitionMember_VirtualPeripheralPartitionMemberFaultType;
+        
         private global::System.Data.DataRelation relationVirtualPeripheral_VirtualPeripheralPartitionMemberFaultType;
         
-        private global::System.Data.DataRelation relationPartitionMember_VirtualPeripheralPartitionMemberFaultType;
-        
         private global::System.Data.DataRelation relationLogicalDevice_LogicalWirelessPeripheral;
         
         private global::System.Data.DataRelation relationLogicalDevice_LogicalWirelessMaster;
@@ -746,40 +746,40 @@
         
         private global::System.Data.DataRelation relationPartition_UnsetPreventionAlarmType;
         
+        private global::System.Data.DataRelation relationFK_AccessPointGroup_AccessPointGroup_AccessPoint;
+        
         private global::System.Data.DataRelation relationAccessPoint_ScheduledItem_AccessPoint;
         
-        private global::System.Data.DataRelation relationFK_AccessPointGroup_AccessPointGroup_AccessPoint;
-        
         private global::System.Data.DataRelation relationUserGroup_DatePeriod;
         
         private global::System.Data.DataRelation relationFK_TimeSchedule_TimePeriod;
         
+        private global::System.Data.DataRelation relationFK_RTZ_UserGroup_TimeSchedule;
+        
         private global::System.Data.DataRelation relationFK_TimeSchedule_UserGroup_TimeSchedule;
         
-        private global::System.Data.DataRelation relationFK_RTZ_UserGroup_TimeSchedule;
+        private global::System.Data.DataRelation relationUser_User_UserGroup;
         
         private global::System.Data.DataRelation relationUserGroup_User_UserGroup;
         
-        private global::System.Data.DataRelation relationUser_User_UserGroup;
+        private global::System.Data.DataRelation relationLogicalOutput_VirtualFlasher;
         
         private global::System.Data.DataRelation relationVirtualDevice_VirtualFlasher;
         
-        private global::System.Data.DataRelation relationLogicalOutput_VirtualFlasher;
+        private global::System.Data.DataRelation relationLogicalDSAlarmReporting_VirtualDSDevice;
         
         private global::System.Data.DataRelation relationVirtualDevice_VirtualDSDevice;
         
-        private global::System.Data.DataRelation relationLogicalDSAlarmReporting_VirtualDSDevice;
-        
         private global::System.Data.DataRelation relationLogicalDevice_LogicalDSAlarmReporting;
         
+        private global::System.Data.DataRelation relationFK_Partition_AlarmDevice;
+        
         private global::System.Data.DataRelation relationFK_VirtualDSDevice_AlarmDevice;
         
-        private global::System.Data.DataRelation relationFK_Partition_AlarmDevice;
+        private global::System.Data.DataRelation relationFK_AlarmDevice_AlarmDevice_FaultPartition;
         
         private global::System.Data.DataRelation relationFK_Partition_AlarmDevice_FaultPartition;
         
-        private global::System.Data.DataRelation relationFK_AlarmDevice_AlarmDevice_FaultPartition;
-        
         private global::System.Data.DataRelation relationFK_AlarmDevice_Channel;
         
         private global::System.Data.DataRelation relationHardwareDevice_HWSerialDS6700;
@@ -794,20 +794,20 @@
         
         private global::System.Data.DataRelation relationTrigger_Trigger_SingleEvent;
         
+        private global::System.Data.DataRelation relationLogicalWirelessMaster_VirtualWirelessMaster;
+        
         private global::System.Data.DataRelation relationVirtualDevice_VirtualWirelessMaster;
         
-        private global::System.Data.DataRelation relationLogicalWirelessMaster_VirtualWirelessMaster;
+        private global::System.Data.DataRelation relationLogicalWirelessPeripheral_VirtualWirelessPeripheral;
         
         private global::System.Data.DataRelation relationVirtualDevice_VirtualWirelessPeripheral;
         
-        private global::System.Data.DataRelation relationLogicalWirelessPeripheral_VirtualWirelessPeripheral;
-        
         private global::System.Data.DataRelation relationLogicalDevice_LogicalCarbonMonoxide;
         
+        private global::System.Data.DataRelation relationLogicalCarbonMonoxide_VirtualCarbonMonoxide;
+        
         private global::System.Data.DataRelation relationVirtualDevice_VirtualCarbonMonoxide;
         
-        private global::System.Data.DataRelation relationLogicalCarbonMonoxide_VirtualCarbonMonoxide;
-        
         private global::System.Data.DataRelation relationFK_HardwareDevice_HWGPIOInput;
         
         private global::System.Data.DataRelation relationFK_HardwareDevice_HWGPIOOutput;
@@ -820,96 +820,96 @@
         
         private global::System.Data.DataRelation relationFK_HardwareDevice_UIProxy;
         
+        private global::System.Data.DataRelation relationLogicalSmartUI_UIProxyTouchCenter;
+        
         private global::System.Data.DataRelation relationUIProxy_UITouchCenter;
         
-        private global::System.Data.DataRelation relationLogicalSmartUI_UIProxyTouchCenter;
-        
         private global::System.Data.DataRelation relationFK_UIProxy_UIProxy_Partition;
         
+        private global::System.Data.DataRelation relationFK_Partition_PartitionDependency1;
+        
         private global::System.Data.DataRelation relationFK_Partition_PartitionDependency;
         
-        private global::System.Data.DataRelation relationFK_Partition_PartitionDependency1;
-        
         private global::System.Data.DataRelation relationFK_Partition_StoredFaultTypes;
         
+        private global::System.Data.DataRelation relationPartition_Partition_LocalSounder;
+        
         private global::System.Data.DataRelation relationVirtualSounder_Partition_LocalSounder;
         
-        private global::System.Data.DataRelation relationPartition_Partition_LocalSounder;
-        
         private global::System.Data.DataRelation relationVirtualDevice_VirtualPIR;
         
+        private global::System.Data.DataRelation relationDetectorGroup_VirtualDoor;
+        
         private global::System.Data.DataRelation relationVirtualDevice_VirtualDoor;
         
-        private global::System.Data.DataRelation relationDetectorGroup_VirtualDoor;
+        private global::System.Data.DataRelation relationFK_VirtualDoor_ScheduledItem_Door;
         
         private global::System.Data.DataRelation relationFK_ScheduledItem_ScheduledItem_Door;
         
-        private global::System.Data.DataRelation relationFK_VirtualDoor_ScheduledItem_Door;
-        
         private global::System.Data.DataRelation relationHardwareDevice_HWBus2ViewguardDual;
         
         private global::System.Data.DataRelation relationFK_Partition_SoundingFaultTypes;
         
+        private global::System.Data.DataRelation relationFK_AccessPoint_ScheduledItem_AP;
+        
         private global::System.Data.DataRelation relationFK_ScheduledItem_ScheduledItem_AP;
         
-        private global::System.Data.DataRelation relationFK_AccessPoint_ScheduledItem_AP;
+        private global::System.Data.DataRelation relationFK_VirtualDevice_VirtualKey;
         
         private global::System.Data.DataRelation relationFK_LogicalKey_VirtualKey;
         
-        private global::System.Data.DataRelation relationFK_VirtualDevice_VirtualKey;
-        
         private global::System.Data.DataRelation relationFK_LogicalDevice_LogicalKey;
         
+        private global::System.Data.DataRelation relationFK_LogicalLed_VirtualLed;
+        
         private global::System.Data.DataRelation relationFK_VirtualDevice_VirtualLed;
         
-        private global::System.Data.DataRelation relationFK_LogicalLed_VirtualLed;
-        
         private global::System.Data.DataRelation relationFK_LogicalDevice_LogicalLed;
         
-        private global::System.Data.DataRelation relationLogicalPeripheral_UIKeypad;
+        private global::System.Data.DataRelation relationFK_LogicalKeyboardReader_UIKeypad;
         
-        private global::System.Data.DataRelation relationFK_LogicalDisplay_UIKeypad;
+        private global::System.Data.DataRelation relationFK_UIProxy_Keypad_UIProxy_Keypad;
         
         private global::System.Data.DataRelation relationUIProxy_UIKeypad;
         
-        private global::System.Data.DataRelation relationFK_UIProxy_Keypad_UIProxy_Keypad;
+        private global::System.Data.DataRelation relationFK_LogicalDisplay_UIKeypad;
         
-        private global::System.Data.DataRelation relationFK_LogicalKeyboardReader_UIKeypad;
+        private global::System.Data.DataRelation relationLogicalPeripheral_UIKeypad;
         
-        private global::System.Data.DataRelation relationFK_Signal_UIKeypadItem2;
+        private global::System.Data.DataRelation relationFK_LogicalKey_UIKeypadItem;
         
-        private global::System.Data.DataRelation relationSignal_UIKeypadItem;
+        private global::System.Data.DataRelation relationFK_LogicalLed_UIKeypadItem;
         
+        private global::System.Data.DataRelation relationUIKeypad_UIKeypadItem;
+        
         private global::System.Data.DataRelation relationSignal_UIKeypadItem1;
         
-        private global::System.Data.DataRelation relationUIKeypad_UIKeypadItem;
+        private global::System.Data.DataRelation relationSignal_UIKeypadItem;
         
-        private global::System.Data.DataRelation relationFK_LogicalLed_UIKeypadItem;
+        private global::System.Data.DataRelation relationFK_Signal_UIKeypadItem2;
         
-        private global::System.Data.DataRelation relationFK_LogicalKey_UIKeypadItem;
-        
         private global::System.Data.DataRelation relationFK_LogicalDevice_LogicalDisplay;
         
+        private global::System.Data.DataRelation relationFK_ScheduledItem_ScheduledItem_UIProxy;
+        
         private global::System.Data.DataRelation relationFK_UIProxy_ScheduledItem_UIProxy;
         
-        private global::System.Data.DataRelation relationFK_ScheduledItem_ScheduledItem_UIProxy;
-        
         private global::System.Data.DataRelation relationFK_HardwareDevice_HWBus2KeypadLED;
         
         private global::System.Data.DataRelation relationFK_HardwareDevice_HWBus2KeypadLCD;
         
+        private global::System.Data.DataRelation relationFK_ScheduledItem_ScheduledItem_Partition;
+        
         private global::System.Data.DataRelation relationFK_Partition_ScheduledItem_Partition;
         
-        private global::System.Data.DataRelation relationFK_ScheduledItem_ScheduledItem_Partition;
+        private global::System.Data.DataRelation relationScheduledItem_UserGroup_ScheduledItem;
         
         private global::System.Data.DataRelation relationUserGroup_UserGroup_ScheduledItem;
         
-        private global::System.Data.DataRelation relationScheduledItem_UserGroup_ScheduledItem;
+        private global::System.Data.DataRelation relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton;
         
         private global::System.Data.DataRelation relationFK_VirtualDevice_VirtualWirelessPanicButton;
         
-        private global::System.Data.DataRelation relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton;
-        
         private global::System.Data.DataRelation relationLogicalDevice_LogicalWirelessPanicButton;
         
         private global::System.Data.DataRelation relationHardwareDevice_HWBus2ViewGuardPIRMask;
@@ -5530,22 +5530,22 @@
                     this.tableDatapointNumbers.InitVars();
                 }
             }
+            this.relationPartitionMember_DetectorGroup = this.Relations["PartitionMember_DetectorGroup"];
             this.relationFK_SounderTemplate_DetectorGroup = this.Relations["FK_SounderTemplate_DetectorGroup"];
-            this.relationPartitionMember_DetectorGroup = this.Relations["PartitionMember_DetectorGroup"];
+            this.relationVirtualPIR_VirtualBusPIR = this.Relations["VirtualPIR_VirtualBusPIR"];
             this.relationLogicalPIR_VirtualBusPIR = this.Relations["LogicalPIR_VirtualBusPIR"];
-            this.relationVirtualPIR_VirtualBusPIR = this.Relations["VirtualPIR_VirtualBusPIR"];
+            this.relationVirtualDevice_VirtualInput = this.Relations["VirtualDevice_VirtualInput"];
             this.relationLogicalInput_VirtualInput = this.Relations["LogicalInput_VirtualInput"];
-            this.relationVirtualDevice_VirtualInput = this.Relations["VirtualDevice_VirtualInput"];
+            this.relationFK_Signal_VirtualOutput = this.Relations["FK_Signal_VirtualOutput"];
+            this.relationVirtualDevice_VirtualOutput = this.Relations["VirtualDevice_VirtualOutput"];
             this.relationLogicalOutput_VirtualOutput = this.Relations["LogicalOutput_VirtualOutput"];
-            this.relationVirtualDevice_VirtualOutput = this.Relations["VirtualDevice_VirtualOutput"];
-            this.relationFK_Signal_VirtualOutput = this.Relations["FK_Signal_VirtualOutput"];
             this.relationVirtualDevice_VirtualUserInterface = this.Relations["VirtualDevice_VirtualUserInterface"];
             this.relationFK_LogicalAccessPoint_AccessPoint = this.Relations["FK_LogicalAccessPoint_AccessPoint"];
+            this.relationVirtualDoor_VirtualBusDoor = this.Relations["VirtualDoor_VirtualBusDoor"];
             this.relationLogicalDoor_VirtualBusDoor = this.Relations["LogicalDoor_VirtualBusDoor"];
-            this.relationVirtualDoor_VirtualBusDoor = this.Relations["VirtualDoor_VirtualBusDoor"];
+            this.relationActionOn_Macro = this.Relations["ActionOn_Macro"];
+            this.relationActionOff_Macro = this.Relations["ActionOff_Macro"];
             this.relationCondition_Macro = this.Relations["Condition_Macro"];
-            this.relationActionOff_Macro = this.Relations["ActionOff_Macro"];
-            this.relationActionOn_Macro = this.Relations["ActionOn_Macro"];
             this.relationLogicalDevice_LogicalPIR = this.Relations["LogicalDevice_LogicalPIR"];
             this.relationLogicalDevice_LogicalInput = this.Relations["LogicalDevice_LogicalInput"];
             this.relationLogicalDevice_LogicalOutput = this.Relations["LogicalDevice_LogicalOutput"];
@@ -5558,88 +5558,88 @@
             this.relationFK_HardwareDevice_Port = this.Relations["FK_HardwareDevice_Port"];
             this.relationAccessPoint_MultiplePersonAccess = this.Relations["AccessPoint_MultiplePersonAccess"];
             this.relationAccessPoint_FaultTries = this.Relations["AccessPoint_FaultTries"];
+            this.relationActionList_ActionList_Command = this.Relations["ActionList_ActionList_Command"];
             this.relationCommand_ActionList_Command = this.Relations["Command_ActionList_Command"];
-            this.relationActionList_ActionList_Command = this.Relations["ActionList_ActionList_Command"];
             this.relationObject_Building = this.Relations["Object_Building"];
             this.relationBuilding_Floor = this.Relations["Building_Floor"];
             this.relationFloor_Room = this.Relations["Floor_Room"];
+            this.relationPartitionMember_VirtualDevice = this.Relations["PartitionMember_VirtualDevice"];
             this.relationLogicalDevice_VirtualDevice = this.Relations["LogicalDevice_VirtualDevice"];
-            this.relationPartitionMember_VirtualDevice = this.Relations["PartitionMember_VirtualDevice"];
             this.relationHardwareDevice_LogicalDevice = this.Relations["HardwareDevice_LogicalDevice"];
+            this.relationCatalogueData_HardwareDevice = this.Relations["CatalogueData_HardwareDevice"];
             this.relationHardwareDevice_HardwareDevice = this.Relations["HardwareDevice_HardwareDevice"];
-            this.relationCatalogueData_HardwareDevice = this.Relations["CatalogueData_HardwareDevice"];
+            this.relationVirtualPIR_VirtualHardwiredPIR = this.Relations["VirtualPIR_VirtualHardwiredPIR"];
+            this.relationLogicalOutput_VirtualWiredPIR2 = this.Relations["LogicalOutput_VirtualWiredPIR2"];
+            this.relationLogicalOutput_VirtualWiredPIR1 = this.Relations["LogicalOutput_VirtualWiredPIR1"];
+            this.relationLogicalInput_VirtualWiredPIR2 = this.Relations["LogicalInput_VirtualWiredPIR2"];
+            this.relationLogicalInput_VirtualWiredPIR1 = this.Relations["LogicalInput_VirtualWiredPIR1"];
             this.relationLogicalInput_VirtualWiredPIR = this.Relations["LogicalInput_VirtualWiredPIR"];
-            this.relationLogicalInput_VirtualWiredPIR1 = this.Relations["LogicalInput_VirtualWiredPIR1"];
-            this.relationLogicalInput_VirtualWiredPIR2 = this.Relations["LogicalInput_VirtualWiredPIR2"];
-            this.relationLogicalOutput_VirtualWiredPIR1 = this.Relations["LogicalOutput_VirtualWiredPIR1"];
-            this.relationLogicalOutput_VirtualWiredPIR2 = this.Relations["LogicalOutput_VirtualWiredPIR2"];
-            this.relationVirtualPIR_VirtualHardwiredPIR = this.Relations["VirtualPIR_VirtualHardwiredPIR"];
+            this.relationVirtualDoor_VirtualHardwiredDoor = this.Relations["VirtualDoor_VirtualHardwiredDoor"];
+            this.relationLogicalInput_VirtualWiredDoor2 = this.Relations["LogicalInput_VirtualWiredDoor2"];
+            this.relationLogicalOutput_VirtualWiredDoor = this.Relations["LogicalOutput_VirtualWiredDoor"];
+            this.relationLogicalOutput_VirtualWiredDoor1 = this.Relations["LogicalOutput_VirtualWiredDoor1"];
+            this.relationLogicalOutput_VirtualWiredDoor2 = this.Relations["LogicalOutput_VirtualWiredDoor2"];
+            this.relationLogicalOutput_VirtualWiredDoor6 = this.Relations["LogicalOutput_VirtualWiredDoor6"];
+            this.relationLogicalInput_VirtualWiredDoor = this.Relations["LogicalInput_VirtualWiredDoor"];
+            this.relationLogicalInput_VirtualWiredDoor1 = this.Relations["LogicalInput_VirtualWiredDoor1"];
             this.relationVirtualDevice_VirtualWiredDoor = this.Relations["VirtualDevice_VirtualWiredDoor"];
-            this.relationLogicalInput_VirtualWiredDoor1 = this.Relations["LogicalInput_VirtualWiredDoor1"];
-            this.relationLogicalInput_VirtualWiredDoor = this.Relations["LogicalInput_VirtualWiredDoor"];
-            this.relationLogicalOutput_VirtualWiredDoor6 = this.Relations["LogicalOutput_VirtualWiredDoor6"];
-            this.relationLogicalOutput_VirtualWiredDoor2 = this.Relations["LogicalOutput_VirtualWiredDoor2"];
-            this.relationLogicalOutput_VirtualWiredDoor1 = this.Relations["LogicalOutput_VirtualWiredDoor1"];
-            this.relationLogicalOutput_VirtualWiredDoor = this.Relations["LogicalOutput_VirtualWiredDoor"];
-            this.relationLogicalInput_VirtualWiredDoor2 = this.Relations["LogicalInput_VirtualWiredDoor2"];
-            this.relationVirtualDoor_VirtualHardwiredDoor = this.Relations["VirtualDoor_VirtualHardwiredDoor"];
+            this.relationVirtualDevice_VirtualSounder = this.Relations["VirtualDevice_VirtualSounder"];
             this.relationLogicalSounder_VirtualSounder = this.Relations["LogicalSounder_VirtualSounder"];
-            this.relationVirtualDevice_VirtualSounder = this.Relations["VirtualDevice_VirtualSounder"];
+            this.relationVirtualDevice_VirtualEmail = this.Relations["VirtualDevice_VirtualEmail"];
             this.relationLogicalEmail_VirtualEmail = this.Relations["LogicalEmail_VirtualEmail"];
-            this.relationVirtualDevice_VirtualEmail = this.Relations["VirtualDevice_VirtualEmail"];
+            this.relationVirtualDevice_VirtualCamera = this.Relations["VirtualDevice_VirtualCamera"];
             this.relationLogicalCamera_VirtualCamera = this.Relations["LogicalCamera_VirtualCamera"];
-            this.relationVirtualDevice_VirtualCamera = this.Relations["VirtualDevice_VirtualCamera"];
+            this.relationVirtualDevice_VirtualSMS = this.Relations["VirtualDevice_VirtualSMS"];
             this.relationLogicalSMS_VirtualSMS = this.Relations["LogicalSMS_VirtualSMS"];
-            this.relationVirtualDevice_VirtualSMS = this.Relations["VirtualDevice_VirtualSMS"];
+            this.relationLogicalReader_VirtualReader = this.Relations["LogicalReader_VirtualReader"];
             this.relationVirtualUserInterface_VirtualReader = this.Relations["VirtualUserInterface_VirtualReader"];
-            this.relationLogicalReader_VirtualReader = this.Relations["LogicalReader_VirtualReader"];
+            this.relationLogicalKeyboard_VirtualKeyboard = this.Relations["LogicalKeyboard_VirtualKeyboard"];
             this.relationVirtualUserInterface_VirtualKeyboard = this.Relations["VirtualUserInterface_VirtualKeyboard"];
-            this.relationLogicalKeyboard_VirtualKeyboard = this.Relations["LogicalKeyboard_VirtualKeyboard"];
+            this.relationLogicalKeyboardReader_VirtualKeyboardReader = this.Relations["LogicalKeyboardReader_VirtualKeyboardReader"];
             this.relationVirtualUserInterface_VirtualKeyboardReader = this.Relations["VirtualUserInterface_VirtualKeyboardReader"];
-            this.relationLogicalKeyboardReader_VirtualKeyboardReader = this.Relations["LogicalKeyboardReader_VirtualKeyboardReader"];
+            this.relationLogicalInput_VirtualKeySwitch = this.Relations["LogicalInput_VirtualKeySwitch"];
             this.relationVirtualDevice_VirtualKeySwitch = this.Relations["VirtualDevice_VirtualKeySwitch"];
-            this.relationLogicalInput_VirtualKeySwitch = this.Relations["LogicalInput_VirtualKeySwitch"];
+            this.relationVirtualDevice_VirtualRelay = this.Relations["VirtualDevice_VirtualRelay"];
             this.relationLogicalOutput_VirtualRelay = this.Relations["LogicalOutput_VirtualRelay"];
-            this.relationVirtualDevice_VirtualRelay = this.Relations["VirtualDevice_VirtualRelay"];
+            this.relationVirtualDevice_VirtualWindow = this.Relations["VirtualDevice_VirtualWindow"];
+            this.relationLogicalInput_VirtualWindow1 = this.Relations["LogicalInput_VirtualWindow1"];
             this.relationLogicalInput_VirtualWindow = this.Relations["LogicalInput_VirtualWindow"];
-            this.relationLogicalInput_VirtualWindow1 = this.Relations["LogicalInput_VirtualWindow1"];
-            this.relationVirtualDevice_VirtualWindow = this.Relations["VirtualDevice_VirtualWindow"];
             this.relationLogicalDevice_LogicalPeripheral = this.Relations["LogicalDevice_LogicalPeripheral"];
             this.relationLogicalDevice_LogicalSmokeDetector = this.Relations["LogicalDevice_LogicalSmokeDetector"];
             this.relationLogicalDevice_LogicalTemperature = this.Relations["LogicalDevice_LogicalTemperature"];
+            this.relationLogicalPeripheral_VirtualPeripheral = this.Relations["LogicalPeripheral_VirtualPeripheral"];
             this.relationVirtualDevice_VirtualPeripheral = this.Relations["VirtualDevice_VirtualPeripheral"];
-            this.relationLogicalPeripheral_VirtualPeripheral = this.Relations["LogicalPeripheral_VirtualPeripheral"];
+            this.relationLogicalSmokeDetector_VirtualSmokeDetector = this.Relations["LogicalSmokeDetector_VirtualSmokeDetector"];
             this.relationVirtualDevice_VirtualSmokeDetector = this.Relations["VirtualDevice_VirtualSmokeDetector"];
-            this.relationLogicalSmokeDetector_VirtualSmokeDetector = this.Relations["LogicalSmokeDetector_VirtualSmokeDetector"];
+            this.relationLogicalTemperature_VirtualTemperature = this.Relations["LogicalTemperature_VirtualTemperature"];
             this.relationVirtualDevice_VirtualTemperature = this.Relations["VirtualDevice_VirtualTemperature"];
-            this.relationLogicalTemperature_VirtualTemperature = this.Relations["LogicalTemperature_VirtualTemperature"];
             this.relationLogicalDevice_LogicalKeyboard = this.Relations["LogicalDevice_LogicalKeyboard"];
             this.relationLogicalDevice_LogicalKeyboardReader = this.Relations["LogicalDevice_LogicalKeyboardReader"];
             this.relationLogicalDevice_LogicalReader = this.Relations["LogicalDevice_LogicalReader"];
+            this.relationFK_HardwareDevice_WirelessMaster1 = this.Relations["FK_HardwareDevice_WirelessMaster1"];
             this.relationFK_HardwareDevice_WirelessMaster = this.Relations["FK_HardwareDevice_WirelessMaster"];
-            this.relationFK_HardwareDevice_WirelessMaster1 = this.Relations["FK_HardwareDevice_WirelessMaster1"];
             this.relationLogicalDevice_LogicalInstallServices = this.Relations["LogicalDevice_LogicalInstallServices"];
             this.relationLogicalDevice_LogicalSmartUI = this.Relations["LogicalDevice_LogicalSmartUI"];
             this.relationLogicalDevice_LogicalAccessPoint = this.Relations["LogicalDevice_LogicalAccessPoint"];
             this.relationAccessPoint_APQuickMacro = this.Relations["AccessPoint_APQuickMacro"];
             this.relationAccessPoint_APMacro = this.Relations["AccessPoint_APMacro"];
+            this.relationFK_User_AccessPoint_User = this.Relations["FK_User_AccessPoint_User"];
             this.relationFK_AccessPoint_AccessPoint_User = this.Relations["FK_AccessPoint_AccessPoint_User"];
-            this.relationFK_User_AccessPoint_User = this.Relations["FK_User_AccessPoint_User"];
+            this.relationFK_SounderTemplate_ExternalSounderStyle2 = this.Relations["FK_SounderTemplate_ExternalSounderStyle2"];
+            this.relationFK_SounderTemplate_ExternalSounderStyle3 = this.Relations["FK_SounderTemplate_ExternalSounderStyle3"];
+            this.relationFK_SounderTemplate_ExternalSounderStyle4 = this.Relations["FK_SounderTemplate_ExternalSounderStyle4"];
+            this.relationPartition_ExternalSounderStyle = this.Relations["Partition_ExternalSounderStyle"];
+            this.relationFK_SounderTemplate_ExternalSounderStyle = this.Relations["FK_SounderTemplate_ExternalSounderStyle"];
             this.relationFK_SounderTemplate_ExternalSounderStyle1 = this.Relations["FK_SounderTemplate_ExternalSounderStyle1"];
-            this.relationFK_SounderTemplate_ExternalSounderStyle = this.Relations["FK_SounderTemplate_ExternalSounderStyle"];
-            this.relationPartition_ExternalSounderStyle = this.Relations["Partition_ExternalSounderStyle"];
-            this.relationFK_SounderTemplate_ExternalSounderStyle4 = this.Relations["FK_SounderTemplate_ExternalSounderStyle4"];
-            this.relationFK_SounderTemplate_ExternalSounderStyle3 = this.Relations["FK_SounderTemplate_ExternalSounderStyle3"];
-            this.relationFK_SounderTemplate_ExternalSounderStyle2 = this.Relations["FK_SounderTemplate_ExternalSounderStyle2"];
+            this.relationPartition_Partition_SignalingGroup = this.Relations["Partition_Partition_SignalingGroup"];
             this.relationSignalingGroup_Partition_SignalingGroup = this.Relations["SignalingGroup_Partition_SignalingGroup"];
-            this.relationPartition_Partition_SignalingGroup = this.Relations["Partition_Partition_SignalingGroup"];
+            this.relationSignalingGroup_SignalingGroup_Siren = this.Relations["SignalingGroup_SignalingGroup_Siren"];
             this.relationVirtualDevice_SignalingGroup_Sounder = this.Relations["VirtualDevice_SignalingGroup_Sounder"];
-            this.relationSignalingGroup_SignalingGroup_Siren = this.Relations["SignalingGroup_SignalingGroup_Siren"];
+            this.relationVirtualFlasher_SignalingGroup_Flasher = this.Relations["VirtualFlasher_SignalingGroup_Flasher"];
             this.relationSignalingGroup_SignalingGroup_Flasher = this.Relations["SignalingGroup_SignalingGroup_Flasher"];
-            this.relationVirtualFlasher_SignalingGroup_Flasher = this.Relations["VirtualFlasher_SignalingGroup_Flasher"];
+            this.relationLogicalOutput_APTurnstile = this.Relations["LogicalOutput_APTurnstile"];
+            this.relationAccessPoint_APTurnstile = this.Relations["AccessPoint_APTurnstile"];
             this.relationLogicalInput_APTurnstile = this.Relations["LogicalInput_APTurnstile"];
-            this.relationAccessPoint_APTurnstile = this.Relations["AccessPoint_APTurnstile"];
-            this.relationLogicalOutput_APTurnstile = this.Relations["LogicalOutput_APTurnstile"];
             this.relationHardwareDevice_HWIBusBusController = this.Relations["HardwareDevice_HWIBusBusController"];
             this.relationHardwareDevice_HWIBusBus2Module = this.Relations["HardwareDevice_HWIBusBus2Module"];
             this.relationHardwareDevice_HWRS232PortController = this.Relations["HardwareDevice_HWRS232PortController"];
@@ -5684,29 +5684,29 @@
             this.relationCommand_Command_OutputPulseOn = this.Relations["Command_Command_OutputPulseOn"];
             this.relationCommand_Command_MacroDelay = this.Relations["Command_Command_MacroDelay"];
             this.relationPartition_PartitionFaultType = this.Relations["Partition_PartitionFaultType"];
+            this.relationPartitionMember_VirtualPeripheralPartitionMemberFaultType = this.Relations["PartitionMember_VirtualPeripheralPartitionMemberFaultType"];
             this.relationVirtualPeripheral_VirtualPeripheralPartitionMemberFaultType = this.Relations["VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType"];
-            this.relationPartitionMember_VirtualPeripheralPartitionMemberFaultType = this.Relations["PartitionMember_VirtualPeripheralPartitionMemberFaultType"];
             this.relationLogicalDevice_LogicalWirelessPeripheral = this.Relations["LogicalDevice_LogicalWirelessPeripheral"];
             this.relationLogicalDevice_LogicalWirelessMaster = this.Relations["LogicalDevice_LogicalWirelessMaster"];
             this.relationHardwareDevice_HWBus2WirelessPanicButtonController = this.Relations["HardwareDevice_HWBus2WirelessPanicButtonController"];
             this.relationPartition_UnsetPreventionAlarmType = this.Relations["Partition_UnsetPreventionAlarmType"];
+            this.relationFK_AccessPointGroup_AccessPointGroup_AccessPoint = this.Relations["FK_AccessPointGroup_AccessPointGroup_AccessPoint"];
             this.relationAccessPoint_ScheduledItem_AccessPoint = this.Relations["AccessPoint_ScheduledItem_AccessPoint"];
-            this.relationFK_AccessPointGroup_AccessPointGroup_AccessPoint = this.Relations["FK_AccessPointGroup_AccessPointGroup_AccessPoint"];
             this.relationUserGroup_DatePeriod = this.Relations["UserGroup_DatePeriod"];
             this.relationFK_TimeSchedule_TimePeriod = this.Relations["FK_TimeSchedule_TimePeriod"];
+            this.relationFK_RTZ_UserGroup_TimeSchedule = this.Relations["FK_RTZ_UserGroup_TimeSchedule"];
             this.relationFK_TimeSchedule_UserGroup_TimeSchedule = this.Relations["FK_TimeSchedule_UserGroup_TimeSchedule"];
-            this.relationFK_RTZ_UserGroup_TimeSchedule = this.Relations["FK_RTZ_UserGroup_TimeSchedule"];
+            this.relationUser_User_UserGroup = this.Relations["User_User_UserGroup"];
             this.relationUserGroup_User_UserGroup = this.Relations["UserGroup_User_UserGroup"];
-            this.relationUser_User_UserGroup = this.Relations["User_User_UserGroup"];
+            this.relationLogicalOutput_VirtualFlasher = this.Relations["LogicalOutput_VirtualFlasher"];
             this.relationVirtualDevice_VirtualFlasher = this.Relations["VirtualDevice_VirtualFlasher"];
-            this.relationLogicalOutput_VirtualFlasher = this.Relations["LogicalOutput_VirtualFlasher"];
+            this.relationLogicalDSAlarmReporting_VirtualDSDevice = this.Relations["LogicalDSAlarmReporting_VirtualDSDevice"];
             this.relationVirtualDevice_VirtualDSDevice = this.Relations["VirtualDevice_VirtualDSDevice"];
-            this.relationLogicalDSAlarmReporting_VirtualDSDevice = this.Relations["LogicalDSAlarmReporting_VirtualDSDevice"];
             this.relationLogicalDevice_LogicalDSAlarmReporting = this.Relations["LogicalDevice_LogicalDSAlarmReporting"];
+            this.relationFK_Partition_AlarmDevice = this.Relations["FK_Partition_AlarmDevice"];
             this.relationFK_VirtualDSDevice_AlarmDevice = this.Relations["FK_VirtualDSDevice_AlarmDevice"];
-            this.relationFK_Partition_AlarmDevice = this.Relations["FK_Partition_AlarmDevice"];
+            this.relationFK_AlarmDevice_AlarmDevice_FaultPartition = this.Relations["FK_AlarmDevice_AlarmDevice_FaultPartition"];
             this.relationFK_Partition_AlarmDevice_FaultPartition = this.Relations["FK_Partition_AlarmDevice_FaultPartition"];
-            this.relationFK_AlarmDevice_AlarmDevice_FaultPartition = this.Relations["FK_AlarmDevice_AlarmDevice_FaultPartition"];
             this.relationFK_AlarmDevice_Channel = this.Relations["FK_AlarmDevice_Channel"];
             this.relationHardwareDevice_HWSerialDS6700 = this.Relations["HardwareDevice_HWSerialDS6700"];
             this.relationHardwareDevice_HWSerialDS6750 = this.Relations["HardwareDevice_HWSerialDS6750"];
@@ -5714,13 +5714,13 @@
             this.relationHardwareDevice_HWSerialDS9500 = this.Relations["HardwareDevice_HWSerialDS9500"];
             this.relationTrigger_SimpleTrigger = this.Relations["Trigger_SimpleTrigger"];
             this.relationTrigger_Trigger_SingleEvent = this.Relations["Trigger_Trigger_SingleEvent"];
+            this.relationLogicalWirelessMaster_VirtualWirelessMaster = this.Relations["LogicalWirelessMaster_VirtualWirelessMaster"];
             this.relationVirtualDevice_VirtualWirelessMaster = this.Relations["VirtualDevice_VirtualWirelessMaster"];
-            this.relationLogicalWirelessMaster_VirtualWirelessMaster = this.Relations["LogicalWirelessMaster_VirtualWirelessMaster"];
+            this.relationLogicalWirelessPeripheral_VirtualWirelessPeripheral = this.Relations["LogicalWirelessPeripheral_VirtualWirelessPeripheral"];
             this.relationVirtualDevice_VirtualWirelessPeripheral = this.Relations["VirtualDevice_VirtualWirelessPeripheral"];
-            this.relationLogicalWirelessPeripheral_VirtualWirelessPeripheral = this.Relations["LogicalWirelessPeripheral_VirtualWirelessPeripheral"];
             this.relationLogicalDevice_LogicalCarbonMonoxide = this.Relations["LogicalDevice_LogicalCarbonMonoxide"];
+            this.relationLogicalCarbonMonoxide_VirtualCarbonMonoxide = this.Relations["LogicalCarbonMonoxide_VirtualCarbonMonoxide"];
             this.relationVirtualDevice_VirtualCarbonMonoxide = this.Relations["VirtualDevice_VirtualCarbonMonoxide"];
-            this.relationLogicalCarbonMonoxide_VirtualCarbonMonoxide = this.Relations["LogicalCarbonMonoxide_VirtualCarbonMonoxide"];
             this.relationFK_HardwareDevice_HWGPIOInput = this.Relations["FK_HardwareDevice_HWGPIOInput"];
             this.relationFK_HardwareDevice_HWGPIOOutput = this.Relations["FK_HardwareDevice_HWGPIOOutput"];
             this.relationFK_HardwareDevice_HWSPIInput = this.Relations["FK_HardwareDevice_HWSPIInput"];
@@ -5727,51 +5727,51 @@
             this.relationFK_HardwareDevice_HWSPIOutput = this.Relations["FK_HardwareDevice_HWSPIOutput"];
             this.relationFK_HardwareDevice_HWAnalogInput = this.Relations["FK_HardwareDevice_HWAnalogInput"];
             this.relationFK_HardwareDevice_UIProxy = this.Relations["FK_HardwareDevice_UIProxy"];
+            this.relationLogicalSmartUI_UIProxyTouchCenter = this.Relations["LogicalSmartUI_UIProxyTouchCenter"];
             this.relationUIProxy_UITouchCenter = this.Relations["UIProxy_UITouchCenter"];
-            this.relationLogicalSmartUI_UIProxyTouchCenter = this.Relations["LogicalSmartUI_UIProxyTouchCenter"];
             this.relationFK_UIProxy_UIProxy_Partition = this.Relations["FK_UIProxy_UIProxy_Partition"];
+            this.relationFK_Partition_PartitionDependency1 = this.Relations["FK_Partition_PartitionDependency1"];
             this.relationFK_Partition_PartitionDependency = this.Relations["FK_Partition_PartitionDependency"];
-            this.relationFK_Partition_PartitionDependency1 = this.Relations["FK_Partition_PartitionDependency1"];
             this.relationFK_Partition_StoredFaultTypes = this.Relations["FK_Partition_StoredFaultTypes"];
+            this.relationPartition_Partition_LocalSounder = this.Relations["Partition_Partition_LocalSounder"];
             this.relationVirtualSounder_Partition_LocalSounder = this.Relations["VirtualSounder_Partition_LocalSounder"];
-            this.relationPartition_Partition_LocalSounder = this.Relations["Partition_Partition_LocalSounder"];
             this.relationVirtualDevice_VirtualPIR = this.Relations["VirtualDevice_VirtualPIR"];
+            this.relationDetectorGroup_VirtualDoor = this.Relations["DetectorGroup_VirtualDoor"];
             this.relationVirtualDevice_VirtualDoor = this.Relations["VirtualDevice_VirtualDoor"];
-            this.relationDetectorGroup_VirtualDoor = this.Relations["DetectorGroup_VirtualDoor"];
+            this.relationFK_VirtualDoor_ScheduledItem_Door = this.Relations["FK_VirtualDoor_ScheduledItem_Door"];
             this.relationFK_ScheduledItem_ScheduledItem_Door = this.Relations["FK_ScheduledItem_ScheduledItem_Door"];
-            this.relationFK_VirtualDoor_ScheduledItem_Door = this.Relations["FK_VirtualDoor_ScheduledItem_Door"];
             this.relationHardwareDevice_HWBus2ViewguardDual = this.Relations["HardwareDevice_HWBus2ViewguardDual"];
             this.relationFK_Partition_SoundingFaultTypes = this.Relations["FK_Partition_SoundingFaultTypes"];
+            this.relationFK_AccessPoint_ScheduledItem_AP = this.Relations["FK_AccessPoint_ScheduledItem_AP"];
             this.relationFK_ScheduledItem_ScheduledItem_AP = this.Relations["FK_ScheduledItem_ScheduledItem_AP"];
-            this.relationFK_AccessPoint_ScheduledItem_AP = this.Relations["FK_AccessPoint_ScheduledItem_AP"];
+            this.relationFK_VirtualDevice_VirtualKey = this.Relations["FK_VirtualDevice_VirtualKey"];
             this.relationFK_LogicalKey_VirtualKey = this.Relations["FK_LogicalKey_VirtualKey"];
-            this.relationFK_VirtualDevice_VirtualKey = this.Relations["FK_VirtualDevice_VirtualKey"];
             this.relationFK_LogicalDevice_LogicalKey = this.Relations["FK_LogicalDevice_LogicalKey"];
+            this.relationFK_LogicalLed_VirtualLed = this.Relations["FK_LogicalLed_VirtualLed"];
             this.relationFK_VirtualDevice_VirtualLed = this.Relations["FK_VirtualDevice_VirtualLed"];
-            this.relationFK_LogicalLed_VirtualLed = this.Relations["FK_LogicalLed_VirtualLed"];
             this.relationFK_LogicalDevice_LogicalLed = this.Relations["FK_LogicalDevice_LogicalLed"];
+            this.relationFK_LogicalKeyboardReader_UIKeypad = this.Relations["FK_LogicalKeyboardReader_UIKeypad"];
+            this.relationFK_UIProxy_Keypad_UIProxy_Keypad = this.Relations["FK_UIProxy_Keypad_UIProxy_Keypad"];
+            this.relationUIProxy_UIKeypad = this.Relations["UIProxy_UIKeypad"];
+            this.relationFK_LogicalDisplay_UIKeypad = this.Relations["FK_LogicalDisplay_UIKeypad"];
             this.relationLogicalPeripheral_UIKeypad = this.Relations["LogicalPeripheral_UIKeypad"];
-            this.relationFK_LogicalDisplay_UIKeypad = this.Relations["FK_LogicalDisplay_UIKeypad"];
-            this.relationUIProxy_UIKeypad = this.Relations["UIProxy_UIKeypad"];
-            this.relationFK_UIProxy_Keypad_UIProxy_Keypad = this.Relations["FK_UIProxy_Keypad_UIProxy_Keypad"];
-            this.relationFK_LogicalKeyboardReader_UIKeypad = this.Relations["FK_LogicalKeyboardReader_UIKeypad"];
+            this.relationFK_LogicalKey_UIKeypadItem = this.Relations["FK_LogicalKey_UIKeypadItem"];
+            this.relationFK_LogicalLed_UIKeypadItem = this.Relations["FK_LogicalLed_UIKeypadItem"];
+            this.relationUIKeypad_UIKeypadItem = this.Relations["UIKeypad_UIKeypadItem"];
+            this.relationSignal_UIKeypadItem1 = this.Relations["Signal_UIKeypadItem1"];
+            this.relationSignal_UIKeypadItem = this.Relations["Signal_UIKeypadItem"];
             this.relationFK_Signal_UIKeypadItem2 = this.Relations["FK_Signal_UIKeypadItem2"];
-            this.relationSignal_UIKeypadItem = this.Relations["Signal_UIKeypadItem"];
-            this.relationSignal_UIKeypadItem1 = this.Relations["Signal_UIKeypadItem1"];
-            this.relationUIKeypad_UIKeypadItem = this.Relations["UIKeypad_UIKeypadItem"];
-            this.relationFK_LogicalLed_UIKeypadItem = this.Relations["FK_LogicalLed_UIKeypadItem"];
-            this.relationFK_LogicalKey_UIKeypadItem = this.Relations["FK_LogicalKey_UIKeypadItem"];
             this.relationFK_LogicalDevice_LogicalDisplay = this.Relations["FK_LogicalDevice_LogicalDisplay"];
+            this.relationFK_ScheduledItem_ScheduledItem_UIProxy = this.Relations["FK_ScheduledItem_ScheduledItem_UIProxy"];
             this.relationFK_UIProxy_ScheduledItem_UIProxy = this.Relations["FK_UIProxy_ScheduledItem_UIProxy"];
-            this.relationFK_ScheduledItem_ScheduledItem_UIProxy = this.Relations["FK_ScheduledItem_ScheduledItem_UIProxy"];
             this.relationFK_HardwareDevice_HWBus2KeypadLED = this.Relations["FK_HardwareDevice_HWBus2KeypadLED"];
             this.relationFK_HardwareDevice_HWBus2KeypadLCD = this.Relations["FK_HardwareDevice_HWBus2KeypadLCD"];
+            this.relationFK_ScheduledItem_ScheduledItem_Partition = this.Relations["FK_ScheduledItem_ScheduledItem_Partition"];
             this.relationFK_Partition_ScheduledItem_Partition = this.Relations["FK_Partition_ScheduledItem_Partition"];
-            this.relationFK_ScheduledItem_ScheduledItem_Partition = this.Relations["FK_ScheduledItem_ScheduledItem_Partition"];
+            this.relationScheduledItem_UserGroup_ScheduledItem = this.Relations["ScheduledItem_UserGroup_ScheduledItem"];
             this.relationUserGroup_UserGroup_ScheduledItem = this.Relations["UserGroup_UserGroup_ScheduledItem"];
-            this.relationScheduledItem_UserGroup_ScheduledItem = this.Relations["ScheduledItem_UserGroup_ScheduledItem"];
+            this.relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton = this.Relations["FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton"];
             this.relationFK_VirtualDevice_VirtualWirelessPanicButton = this.Relations["FK_VirtualDevice_VirtualWirelessPanicButton"];
-            this.relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton = this.Relations["FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton"];
             this.relationLogicalDevice_LogicalWirelessPanicButton = this.Relations["LogicalDevice_LogicalWirelessPanicButton"];
             this.relationHardwareDevice_HWBus2ViewGuardPIRMask = this.Relations["HardwareDevice_HWBus2ViewGuardPIRMask"];
             this.relationHardwareDevice_HWBus2ViewGuardDualMask = this.Relations["HardwareDevice_HWBus2ViewGuardDualMask"];
@@ -6208,13 +6208,6 @@
             this.tableDatapointNumbers = new DatapointNumbersDataTable();
             base.Tables.Add(this.tableDatapointNumbers);
             global::System.Data.ForeignKeyConstraint fkc;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_DetectorGroup", new global::System.Data.DataColumn[] {
-                        this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableDetectorGroup.SounderTemplateUIDColumn});
-            this.tableDetectorGroup.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("PartitionMember_DetectorGroup", new global::System.Data.DataColumn[] {
                         this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableDetectorGroup.UIDColumn});
@@ -6222,12 +6215,12 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalPIR_VirtualBusPIR", new global::System.Data.DataColumn[] {
-                        this.tableLogicalPIR.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualBusPIR.LogicalPIRUIDColumn});
-            this.tableVirtualBusPIR.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_DetectorGroup", new global::System.Data.DataColumn[] {
+                        this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableDetectorGroup.SounderTemplateUIDColumn});
+            this.tableDetectorGroup.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("VirtualPIR_VirtualBusPIR", new global::System.Data.DataColumn[] {
                         this.tableVirtualPIR.UIDColumn}, new global::System.Data.DataColumn[] {
@@ -6236,10 +6229,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualInput", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualInput.LogicalInputUIDColumn});
-            this.tableVirtualInput.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalPIR_VirtualBusPIR", new global::System.Data.DataColumn[] {
+                        this.tableLogicalPIR.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualBusPIR.LogicalPIRUIDColumn});
+            this.tableVirtualBusPIR.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6250,13 +6243,20 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualOutput", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualOutput.LogicalOutputUIDColumn});
-            this.tableVirtualOutput.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualInput", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualInput.LogicalInputUIDColumn});
+            this.tableVirtualInput.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_Signal_VirtualOutput", new global::System.Data.DataColumn[] {
+                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualOutput.SignalUIDColumn});
+            this.tableVirtualOutput.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualOutput", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualOutput.UIDColumn});
@@ -6264,12 +6264,12 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_Signal_VirtualOutput", new global::System.Data.DataColumn[] {
-                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualOutput.SignalUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualOutput", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualOutput.LogicalOutputUIDColumn});
             this.tableVirtualOutput.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualUserInterface", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
@@ -6285,6 +6285,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDoor_VirtualBusDoor", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualBusDoor.UIDColumn});
+            this.tableVirtualBusDoor.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalDoor_VirtualBusDoor", new global::System.Data.DataColumn[] {
                         this.tableLogicalDoor.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualBusDoor.LogicalDoorUIDColumn});
@@ -6292,16 +6299,9 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDoor_VirtualBusDoor", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualBusDoor.UIDColumn});
-            this.tableVirtualBusDoor.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("Condition_Macro", new global::System.Data.DataColumn[] {
-                        this.tableCondition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableMacro.ConditionUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("ActionOn_Macro", new global::System.Data.DataColumn[] {
+                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableMacro.ActionOnUIDColumn});
             this.tableMacro.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
@@ -6313,9 +6313,9 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("ActionOn_Macro", new global::System.Data.DataColumn[] {
-                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableMacro.ActionOnUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("Condition_Macro", new global::System.Data.DataColumn[] {
+                        this.tableCondition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableMacro.ConditionUIDColumn});
             this.tableMacro.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
@@ -6404,16 +6404,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("Command_ActionList_Command", new global::System.Data.DataColumn[] {
-                        this.tableCommand.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAction_Command.Command_UIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("ActionList_ActionList_Command", new global::System.Data.DataColumn[] {
+                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAction_Command.Action_UIDColumn});
             this.tableAction_Command.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("ActionList_ActionList_Command", new global::System.Data.DataColumn[] {
-                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAction_Command.Action_UIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("Command_ActionList_Command", new global::System.Data.DataColumn[] {
+                        this.tableCommand.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAction_Command.Command_UIDColumn});
             this.tableAction_Command.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -6439,6 +6439,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("PartitionMember_VirtualDevice", new global::System.Data.DataColumn[] {
+                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.OwnerColumn});
+            this.tableVirtualDevice.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalDevice_VirtualDevice", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.HWUIDColumn});
@@ -6446,13 +6453,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("PartitionMember_VirtualDevice", new global::System.Data.DataColumn[] {
-                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.OwnerColumn});
-            this.tableVirtualDevice.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("HardwareDevice_LogicalDevice", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.HardwareDeviceUIDColumn});
@@ -6460,6 +6460,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("CatalogueData_HardwareDevice", new global::System.Data.DataColumn[] {
+                        this.tableCatalogueData.GCPTypeColumn}, new global::System.Data.DataColumn[] {
+                        this.tableHardwareDevice.TypeColumn});
+            this.tableHardwareDevice.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("HardwareDevice_HardwareDevice", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.ParentDeviceUIDColumn});
@@ -6467,23 +6474,23 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("CatalogueData_HardwareDevice", new global::System.Data.DataColumn[] {
-                        this.tableCatalogueData.GCPTypeColumn}, new global::System.Data.DataColumn[] {
-                        this.tableHardwareDevice.TypeColumn});
-            this.tableHardwareDevice.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualPIR_VirtualHardwiredPIR", new global::System.Data.DataColumn[] {
+                        this.tableVirtualPIR.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.UIDColumn});
+            this.tableVirtualHardwiredPIR.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredPIR", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.AlarmInputUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredPIR2", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.WalkTestOutputUIDColumn});
             this.tableVirtualHardwiredPIR.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredPIR1", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.TamperInputUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredPIR1", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.SetOutputUIDColumn});
             this.tableVirtualHardwiredPIR.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
@@ -6495,54 +6502,47 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredPIR1", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.SetOutputUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredPIR1", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.TamperInputUIDColumn});
             this.tableVirtualHardwiredPIR.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredPIR2", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.WalkTestOutputUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredPIR", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.AlarmInputUIDColumn});
             this.tableVirtualHardwiredPIR.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualPIR_VirtualHardwiredPIR", new global::System.Data.DataColumn[] {
-                        this.tableVirtualPIR.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.UIDColumn});
-            this.tableVirtualHardwiredPIR.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualWiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDoor_VirtualHardwiredDoor", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualHardwiredDoor.UIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredDoor2", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.LatchContactUIDColumn});
+                        this.tableVirtualHardwiredDoor.BoltContactUIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.StateContactUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredDoor.OpenerRelayUIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredDoor6", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.EscapeRelayUIDColumn});
+                        this.tableVirtualHardwiredDoor.PrealarmRelayUIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredDoor2", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
@@ -6551,34 +6551,41 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredDoor6", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.PrealarmRelayUIDColumn});
+                        this.tableVirtualHardwiredDoor.EscapeRelayUIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.OpenerRelayUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredDoor.StateContactUIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredDoor2", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.BoltContactUIDColumn});
+                        this.tableVirtualHardwiredDoor.LatchContactUIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDoor_VirtualHardwiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualWiredDoor", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualHardwiredDoor.UIDColumn});
             this.tableVirtualHardwiredDoor.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualSounder", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualSounder.UIDColumn});
+            this.tableVirtualSounder.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalSounder_VirtualSounder", new global::System.Data.DataColumn[] {
                         this.tableLogicalSounder.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualSounder.LogicalSirenUIDColumn});
@@ -6586,10 +6593,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualSounder", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualEmail", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualSounder.UIDColumn});
-            this.tableVirtualSounder.Constraints.Add(fkc);
+                        this.tableVirtualEmail.UIDColumn});
+            this.tableVirtualEmail.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6600,10 +6607,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualEmail", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualCamera", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualEmail.UIDColumn});
-            this.tableVirtualEmail.Constraints.Add(fkc);
+                        this.tableVirtualCamera.UIDColumn});
+            this.tableVirtualCamera.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6614,10 +6621,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualCamera", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualSMS", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualCamera.UIDColumn});
-            this.tableVirtualCamera.Constraints.Add(fkc);
+                        this.tableVirtualSMS.UIDColumn});
+            this.tableVirtualSMS.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6628,10 +6635,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualSMS", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualSMS.UIDColumn});
-            this.tableVirtualSMS.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalReader_VirtualReader", new global::System.Data.DataColumn[] {
+                        this.tableLogicalReader.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualReader.LogicalReaderUIDColumn});
+            this.tableVirtualReader.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6642,10 +6649,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalReader_VirtualReader", new global::System.Data.DataColumn[] {
-                        this.tableLogicalReader.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualReader.LogicalReaderUIDColumn});
-            this.tableVirtualReader.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalKeyboard_VirtualKeyboard", new global::System.Data.DataColumn[] {
+                        this.tableLogicalKeyboard.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualKeyboard.LogicalKeyboardUIDColumn});
+            this.tableVirtualKeyboard.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6656,10 +6663,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalKeyboard_VirtualKeyboard", new global::System.Data.DataColumn[] {
-                        this.tableLogicalKeyboard.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKeyboard.LogicalKeyboardUIDColumn});
-            this.tableVirtualKeyboard.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalKeyboardReader_VirtualKeyboardReader", new global::System.Data.DataColumn[] {
+                        this.tableLogicalKeyboardReader.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualKeyboardReader.LogicalKeyboardReaderUIDColumn});
+            this.tableVirtualKeyboardReader.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6670,11 +6677,11 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalKeyboardReader_VirtualKeyboardReader", new global::System.Data.DataColumn[] {
-                        this.tableLogicalKeyboardReader.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKeyboardReader.LogicalKeyboardReaderUIDColumn});
-            this.tableVirtualKeyboardReader.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualKeySwitch", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualKeySwitch.LogicalInputUIDColumn});
+            this.tableVirtualKeySwitch.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualKeySwitch", new global::System.Data.DataColumn[] {
@@ -6684,11 +6691,11 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualKeySwitch", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKeySwitch.LogicalInputUIDColumn});
-            this.tableVirtualKeySwitch.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualRelay", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualRelay.UIDColumn});
+            this.tableVirtualRelay.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualRelay", new global::System.Data.DataColumn[] {
@@ -6698,19 +6705,12 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualRelay", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualWindow", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualRelay.UIDColumn});
-            this.tableVirtualRelay.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWindow", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWindow.AlarmInputUIDColumn});
+                        this.tableVirtualWindow.UIDColumn});
             this.tableVirtualWindow.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWindow1", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
@@ -6719,12 +6719,12 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualWindow", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWindow.UIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_VirtualWindow", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualWindow.AlarmInputUIDColumn});
             this.tableVirtualWindow.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalDevice_LogicalPeripheral", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
@@ -6747,6 +6747,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalPeripheral_VirtualPeripheral", new global::System.Data.DataColumn[] {
+                        this.tableLogicalPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualPeripheral.LogicalPeripheralUIDColumn});
+            this.tableVirtualPeripheral.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualPeripheral", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualPeripheral.UIDColumn});
@@ -6754,10 +6761,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalPeripheral_VirtualPeripheral", new global::System.Data.DataColumn[] {
-                        this.tableLogicalPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualPeripheral.LogicalPeripheralUIDColumn});
-            this.tableVirtualPeripheral.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalSmokeDetector_VirtualSmokeDetector", new global::System.Data.DataColumn[] {
+                        this.tableLogicalSmokeDetector.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualSmokeDetector.LogicalSmokeDetectorUIDColumn});
+            this.tableVirtualSmokeDetector.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6768,10 +6775,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalSmokeDetector_VirtualSmokeDetector", new global::System.Data.DataColumn[] {
-                        this.tableLogicalSmokeDetector.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualSmokeDetector.LogicalSmokeDetectorUIDColumn});
-            this.tableVirtualSmokeDetector.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalTemperature_VirtualTemperature", new global::System.Data.DataColumn[] {
+                        this.tableLogicalTemperature.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualTemperature.LogicalTemperatureUIDColumn});
+            this.tableVirtualTemperature.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6782,13 +6789,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalTemperature_VirtualTemperature", new global::System.Data.DataColumn[] {
-                        this.tableLogicalTemperature.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualTemperature.LogicalTemperatureUIDColumn});
-            this.tableVirtualTemperature.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalDevice_LogicalKeyboard", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalKeyboard.UIDColumn});
@@ -6810,16 +6810,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_HardwareDevice_WirelessMaster", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_HardwareDevice_WirelessMaster1", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableWirelessMaster.DeviceUIDColumn});
+                        this.tableWirelessMaster.MasterUIDColumn});
             this.tableWirelessMaster.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_HardwareDevice_WirelessMaster1", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_HardwareDevice_WirelessMaster", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableWirelessMaster.MasterUIDColumn});
+                        this.tableWirelessMaster.DeviceUIDColumn});
             this.tableWirelessMaster.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -6859,6 +6859,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_User_AccessPoint_User", new global::System.Data.DataColumn[] {
+                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAccessPoint_User.UserUIDColumn});
+            this.tableAccessPoint_User.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_AccessPoint_AccessPoint_User", new global::System.Data.DataColumn[] {
                         this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAccessPoint_User.AccessPointUIDColumn});
@@ -6866,23 +6873,23 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_User_AccessPoint_User", new global::System.Data.DataColumn[] {
-                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAccessPoint_User.UserUIDColumn});
-            this.tableAccessPoint_User.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle2", new global::System.Data.DataColumn[] {
+                        this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableExternalSounderStyle.IntruderAlarmSounderTemplateUIDColumn});
+            this.tableExternalSounderStyle.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle1", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle3", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.PanicAlarmSounderTemplateUIDColumn});
+                        this.tableExternalSounderStyle.TamperAlarmSounderTemplateUIDColumn});
             this.tableExternalSounderStyle.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle4", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.FireAlarmSounderTemplateUIDColumn});
+                        this.tableExternalSounderStyle.TechnicalAlarmSounderTemplateUIDColumn});
             this.tableExternalSounderStyle.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
@@ -6894,26 +6901,26 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle4", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.TechnicalAlarmSounderTemplateUIDColumn});
+                        this.tableExternalSounderStyle.FireAlarmSounderTemplateUIDColumn});
             this.tableExternalSounderStyle.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle3", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle1", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.TamperAlarmSounderTemplateUIDColumn});
+                        this.tableExternalSounderStyle.PanicAlarmSounderTemplateUIDColumn});
             this.tableExternalSounderStyle.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_SounderTemplate_ExternalSounderStyle2", new global::System.Data.DataColumn[] {
-                        this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.IntruderAlarmSounderTemplateUIDColumn});
-            this.tableExternalSounderStyle.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("Partition_Partition_SignalingGroup", new global::System.Data.DataColumn[] {
+                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tablePartition_SignalingGroup.PartitionUIDColumn});
+            this.tablePartition_SignalingGroup.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("SignalingGroup_Partition_SignalingGroup", new global::System.Data.DataColumn[] {
                         this.tableSignalingGroup.UIDColumn}, new global::System.Data.DataColumn[] {
@@ -6922,10 +6929,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("Partition_Partition_SignalingGroup", new global::System.Data.DataColumn[] {
-                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartition_SignalingGroup.PartitionUIDColumn});
-            this.tablePartition_SignalingGroup.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("SignalingGroup_SignalingGroup_Siren", new global::System.Data.DataColumn[] {
+                        this.tableSignalingGroup.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableSignalingGroup_Sounder.SignalingGroupUIDColumn});
+            this.tableSignalingGroup_Sounder.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6936,10 +6943,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("SignalingGroup_SignalingGroup_Siren", new global::System.Data.DataColumn[] {
-                        this.tableSignalingGroup.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableSignalingGroup_Sounder.SignalingGroupUIDColumn});
-            this.tableSignalingGroup_Sounder.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualFlasher_SignalingGroup_Flasher", new global::System.Data.DataColumn[] {
+                        this.tableVirtualFlasher.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableSignalingGroup_Flasher.FlasherUIDColumn});
+            this.tableSignalingGroup_Flasher.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -6950,16 +6957,9 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualFlasher_SignalingGroup_Flasher", new global::System.Data.DataColumn[] {
-                        this.tableVirtualFlasher.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableSignalingGroup_Flasher.FlasherUIDColumn});
-            this.tableSignalingGroup_Flasher.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_APTurnstile", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAPTurnstile.LatchContactInputUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_APTurnstile", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAPTurnstile.OpenerRelayOutputUIDColumn});
             this.tableAPTurnstile.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
@@ -6971,9 +6971,9 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_APTurnstile", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAPTurnstile.OpenerRelayOutputUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalInput_APTurnstile", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAPTurnstile.LatchContactInputUIDColumn});
             this.tableAPTurnstile.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
@@ -7286,16 +7286,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType", new global::System.Data.DataColumn[] {
-                        this.tableVirtualPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualPeripheralPartitionMemberFaultType.VirtualPeripheralUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("PartitionMember_VirtualPeripheralPartitionMemberFaultType", new global::System.Data.DataColumn[] {
+                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualPeripheralPartitionMemberFaultType.PartitionMemberUIDColumn});
             this.tableVirtualPeripheralPartitionMemberFaultType.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("PartitionMember_VirtualPeripheralPartitionMemberFaultType", new global::System.Data.DataColumn[] {
-                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualPeripheralPartitionMemberFaultType.PartitionMemberUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType", new global::System.Data.DataColumn[] {
+                        this.tableVirtualPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualPeripheralPartitionMemberFaultType.VirtualPeripheralUIDColumn});
             this.tableVirtualPeripheralPartitionMemberFaultType.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -7328,16 +7328,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("AccessPoint_ScheduledItem_AccessPoint", new global::System.Data.DataColumn[] {
-                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_APGroup.AccessPointUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_AccessPointGroup_AccessPointGroup_AccessPoint", new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_APGroup.ScheduledItemUIDColumn});
             this.tableScheduledItem_APGroup.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_AccessPointGroup_AccessPointGroup_AccessPoint", new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_APGroup.ScheduledItemUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("AccessPoint_ScheduledItem_AccessPoint", new global::System.Data.DataColumn[] {
+                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_APGroup.AccessPointUIDColumn});
             this.tableScheduledItem_APGroup.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -7356,6 +7356,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_RTZ_UserGroup_TimeSchedule", new global::System.Data.DataColumn[] {
+                        this.tableUserGroup.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUserGroup_TimeSchedule.UserGroupUIDColumn});
+            this.tableUserGroup_TimeSchedule.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_TimeSchedule_UserGroup_TimeSchedule", new global::System.Data.DataColumn[] {
                         this.tableTimeSchedule.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUserGroup_TimeSchedule.TimeScheduleUIDColumn});
@@ -7363,10 +7370,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_RTZ_UserGroup_TimeSchedule", new global::System.Data.DataColumn[] {
-                        this.tableUserGroup.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUserGroup_TimeSchedule.UserGroupUIDColumn});
-            this.tableUserGroup_TimeSchedule.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("User_User_UserGroup", new global::System.Data.DataColumn[] {
+                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUser_UserGroup.UserUIDColumn});
+            this.tableUser_UserGroup.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7377,10 +7384,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("User_User_UserGroup", new global::System.Data.DataColumn[] {
-                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUser_UserGroup.UserUIDColumn});
-            this.tableUser_UserGroup.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualFlasher", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualFlasher.LogicalOutputUIDColumn});
+            this.tableVirtualFlasher.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7391,11 +7398,11 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalOutput_VirtualFlasher", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualFlasher.LogicalOutputUIDColumn});
-            this.tableVirtualFlasher.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalDSAlarmReporting_VirtualDSDevice", new global::System.Data.DataColumn[] {
+                        this.tableLogicalDSAlarmReporting.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualDSDevice.LogicalDSAlarmReportingUIDColumn});
+            this.tableVirtualDSDevice.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualDSDevice", new global::System.Data.DataColumn[] {
@@ -7405,13 +7412,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalDSAlarmReporting_VirtualDSDevice", new global::System.Data.DataColumn[] {
-                        this.tableLogicalDSAlarmReporting.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualDSDevice.LogicalDSAlarmReportingUIDColumn});
-            this.tableVirtualDSDevice.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalDevice_LogicalDSAlarmReporting", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalDSAlarmReporting.UIDColumn});
@@ -7419,6 +7419,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_Partition_AlarmDevice", new global::System.Data.DataColumn[] {
+                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAlarmDevice.PartitionUIDColumn});
+            this.tableAlarmDevice.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_VirtualDSDevice_AlarmDevice", new global::System.Data.DataColumn[] {
                         this.tableVirtualDSDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAlarmDevice.VirtualDSDeviceUIDColumn});
@@ -7426,10 +7433,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_Partition_AlarmDevice", new global::System.Data.DataColumn[] {
-                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAlarmDevice.PartitionUIDColumn});
-            this.tableAlarmDevice.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_AlarmDevice_AlarmDevice_FaultPartition", new global::System.Data.DataColumn[] {
+                        this.tableAlarmDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAlarmDevice_FaultPartition.AlarmDeviceUIDColumn});
+            this.tableAlarmDevice_FaultPartition.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7440,13 +7447,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_AlarmDevice_AlarmDevice_FaultPartition", new global::System.Data.DataColumn[] {
-                        this.tableAlarmDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAlarmDevice_FaultPartition.AlarmDeviceUIDColumn});
-            this.tableAlarmDevice_FaultPartition.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_AlarmDevice_Channel", new global::System.Data.DataColumn[] {
                         this.tableAlarmDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableChannel.AlarmDeviceUIDColumn});
@@ -7496,6 +7496,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalWirelessMaster_VirtualWirelessMaster", new global::System.Data.DataColumn[] {
+                        this.tableLogicalWirelessMaster.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualWirelessMaster.LogicalWirelessMasterUIDColumn});
+            this.tableVirtualWirelessMaster.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualWirelessMaster", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualWirelessMaster.UIDColumn});
@@ -7503,10 +7510,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalWirelessMaster_VirtualWirelessMaster", new global::System.Data.DataColumn[] {
-                        this.tableLogicalWirelessMaster.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWirelessMaster.LogicalWirelessMasterUIDColumn});
-            this.tableVirtualWirelessMaster.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalWirelessPeripheral_VirtualWirelessPeripheral", new global::System.Data.DataColumn[] {
+                        this.tableLogicalWirelessPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualWirelessPeripheral.LogicalWirelessPeripheralUIDColumn});
+            this.tableVirtualWirelessPeripheral.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7517,13 +7524,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalWirelessPeripheral_VirtualWirelessPeripheral", new global::System.Data.DataColumn[] {
-                        this.tableLogicalWirelessPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWirelessPeripheral.LogicalWirelessPeripheralUIDColumn});
-            this.tableVirtualWirelessPeripheral.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalDevice_LogicalCarbonMonoxide", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalCarbonMonoxide.UIDColumn});
@@ -7531,16 +7531,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualCarbonMonoxide", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualCarbonMonoxide.UIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalCarbonMonoxide_VirtualCarbonMonoxide", new global::System.Data.DataColumn[] {
+                        this.tableLogicalCarbonMonoxide.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualCarbonMonoxide.LogicalCarbonMonoxideUIDColumn});
             this.tableVirtualCarbonMonoxide.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalCarbonMonoxide_VirtualCarbonMonoxide", new global::System.Data.DataColumn[] {
-                        this.tableLogicalCarbonMonoxide.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualCarbonMonoxide.LogicalCarbonMonoxideUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualCarbonMonoxide", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualCarbonMonoxide.UIDColumn});
             this.tableVirtualCarbonMonoxide.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -7587,6 +7587,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalSmartUI_UIProxyTouchCenter", new global::System.Data.DataColumn[] {
+                        this.tableLogicalSmartUI.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUITouchCenter.LogicalSmartUI_UIDColumn});
+            this.tableUITouchCenter.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("UIProxy_UITouchCenter", new global::System.Data.DataColumn[] {
                         this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUITouchCenter.UIDColumn});
@@ -7594,13 +7601,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalSmartUI_UIProxyTouchCenter", new global::System.Data.DataColumn[] {
-                        this.tableLogicalSmartUI.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUITouchCenter.LogicalSmartUI_UIDColumn});
-            this.tableUITouchCenter.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_UIProxy_UIProxy_Partition", new global::System.Data.DataColumn[] {
                         this.tableUITouchCenter.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUITouchCenter_Partition.UIProxyUIDColumn});
@@ -7608,16 +7608,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_Partition_PartitionDependency", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_Partition_PartitionDependency1", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartitionDependency.ParentPartitionUIDColumn});
+                        this.tablePartitionDependency.ChildPartitionUIDColumn});
             this.tablePartitionDependency.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_Partition_PartitionDependency1", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_Partition_PartitionDependency", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartitionDependency.ChildPartitionUIDColumn});
+                        this.tablePartitionDependency.ParentPartitionUIDColumn});
             this.tablePartitionDependency.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -7629,16 +7629,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualSounder_Partition_LocalSounder", new global::System.Data.DataColumn[] {
-                        this.tableVirtualSounder.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartition_LocalSounder.LocalSounderUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("Partition_Partition_LocalSounder", new global::System.Data.DataColumn[] {
+                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tablePartition_LocalSounder.PartitionUIDColumn});
             this.tablePartition_LocalSounder.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("Partition_Partition_LocalSounder", new global::System.Data.DataColumn[] {
-                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartition_LocalSounder.PartitionUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualSounder_Partition_LocalSounder", new global::System.Data.DataColumn[] {
+                        this.tableVirtualSounder.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tablePartition_LocalSounder.LocalSounderUIDColumn});
             this.tablePartition_LocalSounder.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -7650,13 +7650,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualDoor", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualDoor.UIDColumn});
-            this.tableVirtualDoor.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("DetectorGroup_VirtualDoor", new global::System.Data.DataColumn[] {
                         this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualDoor.SecondaryOwnerColumn});
@@ -7664,10 +7657,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_Door", new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_Door.ScheduledItemUIDColumn});
-            this.tableScheduledItem_Door.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("VirtualDevice_VirtualDoor", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualDoor.UIDColumn});
+            this.tableVirtualDoor.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7678,6 +7671,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_Door", new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_Door.ScheduledItemUIDColumn});
+            this.tableScheduledItem_Door.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("HardwareDevice_HWBus2ViewguardDual", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHWBus2ViewGuardDual.UIDColumn});
@@ -7692,6 +7692,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_AccessPoint_ScheduledItem_AP", new global::System.Data.DataColumn[] {
+                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_AP.AccessPointUIDColumn});
+            this.tableScheduledItem_AP.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_AP", new global::System.Data.DataColumn[] {
                         this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableScheduledItem_AP.ScheduledItemUIDColumn});
@@ -7699,10 +7706,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_AccessPoint_ScheduledItem_AP", new global::System.Data.DataColumn[] {
-                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_AP.AccessPointUIDColumn});
-            this.tableScheduledItem_AP.Constraints.Add(fkc);
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_VirtualDevice_VirtualKey", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualKey.UIDColumn});
+            this.tableVirtualKey.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7713,13 +7720,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_VirtualDevice_VirtualKey", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKey.UIDColumn});
-            this.tableVirtualKey.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalDevice_LogicalKey", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalKey.UIDColumn});
@@ -7727,6 +7727,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalLed_VirtualLed", new global::System.Data.DataColumn[] {
+                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualLed.LogicalLedUIDColumn});
+            this.tableVirtualLed.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_VirtualDevice_VirtualLed", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualLed.UIDColumn});
@@ -7734,13 +7741,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalLed_VirtualLed", new global::System.Data.DataColumn[] {
-                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualLed.LogicalLedUIDColumn});
-            this.tableVirtualLed.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalDevice_LogicalLed", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalLed.UIDColumn});
@@ -7748,16 +7748,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("LogicalPeripheral_UIKeypad", new global::System.Data.DataColumn[] {
-                        this.tableLogicalPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.LogicalPeripheralUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalKeyboardReader_UIKeypad", new global::System.Data.DataColumn[] {
+                        this.tableLogicalKeyboardReader.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.LogicalKeyboardReaderUIDColumn});
             this.tableUIKeypad.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalDisplay_UIKeypad", new global::System.Data.DataColumn[] {
-                        this.tableLogicalDisplay.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.LogicalDisplayUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_UIProxy_Keypad_UIProxy_Keypad", new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.OwnerKeypadUIDColumn});
             this.tableUIKeypad.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
@@ -7769,41 +7769,34 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_UIProxy_Keypad_UIProxy_Keypad", new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.OwnerKeypadUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalDisplay_UIKeypad", new global::System.Data.DataColumn[] {
+                        this.tableLogicalDisplay.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.LogicalDisplayUIDColumn});
             this.tableUIKeypad.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalKeyboardReader_UIKeypad", new global::System.Data.DataColumn[] {
-                        this.tableLogicalKeyboardReader.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.LogicalKeyboardReaderUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("LogicalPeripheral_UIKeypad", new global::System.Data.DataColumn[] {
+                        this.tableLogicalPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.LogicalPeripheralUIDColumn});
             this.tableUIKeypad.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_Signal_UIKeypadItem2", new global::System.Data.DataColumn[] {
-                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.GreenLed_SignalUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalKey_UIKeypadItem", new global::System.Data.DataColumn[] {
+                        this.tableLogicalKey.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.LogicalKeyUIDColumn});
             this.tableUIKeypadItem.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("Signal_UIKeypadItem", new global::System.Data.DataColumn[] {
-                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.RedLed_SignalUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalLed_UIKeypadItem", new global::System.Data.DataColumn[] {
+                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.LogicalLedUIDColumn});
             this.tableUIKeypadItem.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("Signal_UIKeypadItem1", new global::System.Data.DataColumn[] {
-                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.YellowLed_SignalUIDColumn});
-            this.tableUIKeypadItem.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
-            fkc.DeleteRule = global::System.Data.Rule.SetNull;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("UIKeypad_UIKeypadItem", new global::System.Data.DataColumn[] {
                         this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUIKeypadItem.UIKeypadUIDColumn});
@@ -7811,20 +7804,27 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalLed_UIKeypadItem", new global::System.Data.DataColumn[] {
-                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.LogicalLedUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("Signal_UIKeypadItem1", new global::System.Data.DataColumn[] {
+                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.YellowLed_SignalUIDColumn});
             this.tableUIKeypadItem.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalKey_UIKeypadItem", new global::System.Data.DataColumn[] {
-                        this.tableLogicalKey.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.LogicalKeyUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("Signal_UIKeypadItem", new global::System.Data.DataColumn[] {
+                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.RedLed_SignalUIDColumn});
             this.tableUIKeypadItem.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.SetNull;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_Signal_UIKeypadItem2", new global::System.Data.DataColumn[] {
+                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.GreenLed_SignalUIDColumn});
+            this.tableUIKeypadItem.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.SetNull;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalDevice_LogicalDisplay", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalDisplay.UIDColumn});
@@ -7832,16 +7832,16 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_UIProxy_ScheduledItem_UIProxy", new global::System.Data.DataColumn[] {
-                        this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_UIProxy.UIProxyUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_UIProxy", new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_UIProxy.ScheduledItemUIDColumn});
             this.tableScheduledItem_UIProxy.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_UIProxy", new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_UIProxy.ScheduledItemUIDColumn});
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_UIProxy_ScheduledItem_UIProxy", new global::System.Data.DataColumn[] {
+                        this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_UIProxy.UIProxyUIDColumn});
             this.tableScheduledItem_UIProxy.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
@@ -7860,6 +7860,13 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_Partition", new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_Partition.ScheduledItemUIDColumn});
+            this.tableScheduledItem_Partition.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc.DeleteRule = global::System.Data.Rule.Cascade;
+            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_Partition_ScheduledItem_Partition", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableScheduledItem_Partition.PartitionUIDColumn});
@@ -7867,10 +7874,10 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_ScheduledItem_ScheduledItem_Partition", new global::System.Data.DataColumn[] {
+            fkc = new global::System.Data.ForeignKeyConstraint("ScheduledItem_UserGroup_ScheduledItem", new global::System.Data.DataColumn[] {
                         this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_Partition.ScheduledItemUIDColumn});
-            this.tableScheduledItem_Partition.Constraints.Add(fkc);
+                        this.tableUserGroup_ScheduledItem.ScheduledItemUIDColumn});
+            this.tableUserGroup_ScheduledItem.Constraints.Add(fkc);
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
@@ -7881,11 +7888,11 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("ScheduledItem_UserGroup_ScheduledItem", new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUserGroup_ScheduledItem.ScheduledItemUIDColumn});
-            this.tableUserGroup_ScheduledItem.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
+            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton", new global::System.Data.DataColumn[] {
+                        this.tableLogicalWirelessPanicButton.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualWirelessPanicButton.LogicalRFPanicButtonUIDColumn});
+            this.tableVirtualWirelessPanicButton.Constraints.Add(fkc);
+            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("FK_VirtualDevice_VirtualWirelessPanicButton", new global::System.Data.DataColumn[] {
@@ -7895,13 +7902,6 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
-            fkc = new global::System.Data.ForeignKeyConstraint("FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton", new global::System.Data.DataColumn[] {
-                        this.tableLogicalWirelessPanicButton.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWirelessPanicButton.LogicalRFPanicButtonUIDColumn});
-            this.tableVirtualWirelessPanicButton.Constraints.Add(fkc);
-            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
-            fkc.DeleteRule = global::System.Data.Rule.Cascade;
-            fkc.UpdateRule = global::System.Data.Rule.Cascade;
             fkc = new global::System.Data.ForeignKeyConstraint("LogicalDevice_LogicalWirelessPanicButton", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalWirelessPanicButton.UIDColumn});
@@ -8021,42 +8021,42 @@
             fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.Cascade;
             fkc.DeleteRule = global::System.Data.Rule.Cascade;
             fkc.UpdateRule = global::System.Data.Rule.Cascade;
+            this.relationPartitionMember_DetectorGroup = new global::System.Data.DataRelation("PartitionMember_DetectorGroup", new global::System.Data.DataColumn[] {
+                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableDetectorGroup.UIDColumn}, false);
+            this.Relations.Add(this.relationPartitionMember_DetectorGroup);
             this.relationFK_SounderTemplate_DetectorGroup = new global::System.Data.DataRelation("FK_SounderTemplate_DetectorGroup", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableDetectorGroup.SounderTemplateUIDColumn}, false);
             this.Relations.Add(this.relationFK_SounderTemplate_DetectorGroup);
-            this.relationPartitionMember_DetectorGroup = new global::System.Data.DataRelation("PartitionMember_DetectorGroup", new global::System.Data.DataColumn[] {
-                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableDetectorGroup.UIDColumn}, false);
-            this.Relations.Add(this.relationPartitionMember_DetectorGroup);
+            this.relationVirtualPIR_VirtualBusPIR = new global::System.Data.DataRelation("VirtualPIR_VirtualBusPIR", new global::System.Data.DataColumn[] {
+                        this.tableVirtualPIR.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualBusPIR.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualPIR_VirtualBusPIR);
             this.relationLogicalPIR_VirtualBusPIR = new global::System.Data.DataRelation("LogicalPIR_VirtualBusPIR", new global::System.Data.DataColumn[] {
                         this.tableLogicalPIR.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualBusPIR.LogicalPIRUIDColumn}, false);
             this.Relations.Add(this.relationLogicalPIR_VirtualBusPIR);
-            this.relationVirtualPIR_VirtualBusPIR = new global::System.Data.DataRelation("VirtualPIR_VirtualBusPIR", new global::System.Data.DataColumn[] {
-                        this.tableVirtualPIR.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualBusPIR.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualPIR_VirtualBusPIR);
+            this.relationVirtualDevice_VirtualInput = new global::System.Data.DataRelation("VirtualDevice_VirtualInput", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualInput.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualInput);
             this.relationLogicalInput_VirtualInput = new global::System.Data.DataRelation("LogicalInput_VirtualInput", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualInput.LogicalInputUIDColumn}, false);
             this.Relations.Add(this.relationLogicalInput_VirtualInput);
-            this.relationVirtualDevice_VirtualInput = new global::System.Data.DataRelation("VirtualDevice_VirtualInput", new global::System.Data.DataColumn[] {
+            this.relationFK_Signal_VirtualOutput = new global::System.Data.DataRelation("FK_Signal_VirtualOutput", new global::System.Data.DataColumn[] {
+                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualOutput.SignalUIDColumn}, false);
+            this.Relations.Add(this.relationFK_Signal_VirtualOutput);
+            this.relationVirtualDevice_VirtualOutput = new global::System.Data.DataRelation("VirtualDevice_VirtualOutput", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualInput.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualInput);
+                        this.tableVirtualOutput.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualOutput);
             this.relationLogicalOutput_VirtualOutput = new global::System.Data.DataRelation("LogicalOutput_VirtualOutput", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualOutput.LogicalOutputUIDColumn}, false);
             this.Relations.Add(this.relationLogicalOutput_VirtualOutput);
-            this.relationVirtualDevice_VirtualOutput = new global::System.Data.DataRelation("VirtualDevice_VirtualOutput", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualOutput.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualOutput);
-            this.relationFK_Signal_VirtualOutput = new global::System.Data.DataRelation("FK_Signal_VirtualOutput", new global::System.Data.DataColumn[] {
-                        this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualOutput.SignalUIDColumn}, false);
-            this.Relations.Add(this.relationFK_Signal_VirtualOutput);
             this.relationVirtualDevice_VirtualUserInterface = new global::System.Data.DataRelation("VirtualDevice_VirtualUserInterface", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualUserInterface.UIDColumn}, false);
@@ -8065,26 +8065,26 @@
                         this.tableLogicalAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAccessPoint.LogicalAccessPointUIDColumn}, false);
             this.Relations.Add(this.relationFK_LogicalAccessPoint_AccessPoint);
+            this.relationVirtualDoor_VirtualBusDoor = new global::System.Data.DataRelation("VirtualDoor_VirtualBusDoor", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualBusDoor.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDoor_VirtualBusDoor);
             this.relationLogicalDoor_VirtualBusDoor = new global::System.Data.DataRelation("LogicalDoor_VirtualBusDoor", new global::System.Data.DataColumn[] {
                         this.tableLogicalDoor.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualBusDoor.LogicalDoorUIDColumn}, false);
             this.Relations.Add(this.relationLogicalDoor_VirtualBusDoor);
-            this.relationVirtualDoor_VirtualBusDoor = new global::System.Data.DataRelation("VirtualDoor_VirtualBusDoor", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualBusDoor.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDoor_VirtualBusDoor);
+            this.relationActionOn_Macro = new global::System.Data.DataRelation("ActionOn_Macro", new global::System.Data.DataColumn[] {
+                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableMacro.ActionOnUIDColumn}, false);
+            this.Relations.Add(this.relationActionOn_Macro);
+            this.relationActionOff_Macro = new global::System.Data.DataRelation("ActionOff_Macro", new global::System.Data.DataColumn[] {
+                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableMacro.ActionOffUIDColumn}, false);
+            this.Relations.Add(this.relationActionOff_Macro);
             this.relationCondition_Macro = new global::System.Data.DataRelation("Condition_Macro", new global::System.Data.DataColumn[] {
                         this.tableCondition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableMacro.ConditionUIDColumn}, false);
             this.Relations.Add(this.relationCondition_Macro);
-            this.relationActionOff_Macro = new global::System.Data.DataRelation("ActionOff_Macro", new global::System.Data.DataColumn[] {
-                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableMacro.ActionOffUIDColumn}, false);
-            this.Relations.Add(this.relationActionOff_Macro);
-            this.relationActionOn_Macro = new global::System.Data.DataRelation("ActionOn_Macro", new global::System.Data.DataColumn[] {
-                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableMacro.ActionOnUIDColumn}, false);
-            this.Relations.Add(this.relationActionOn_Macro);
             this.relationLogicalDevice_LogicalPIR = new global::System.Data.DataRelation("LogicalDevice_LogicalPIR", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalPIR.UIDColumn}, false);
@@ -8133,14 +8133,14 @@
                         this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableFailAttempt.AccessPoint_UIDColumn}, false);
             this.Relations.Add(this.relationAccessPoint_FaultTries);
+            this.relationActionList_ActionList_Command = new global::System.Data.DataRelation("ActionList_ActionList_Command", new global::System.Data.DataColumn[] {
+                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAction_Command.Action_UIDColumn}, false);
+            this.Relations.Add(this.relationActionList_ActionList_Command);
             this.relationCommand_ActionList_Command = new global::System.Data.DataRelation("Command_ActionList_Command", new global::System.Data.DataColumn[] {
                         this.tableCommand.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAction_Command.Command_UIDColumn}, false);
             this.Relations.Add(this.relationCommand_ActionList_Command);
-            this.relationActionList_ActionList_Command = new global::System.Data.DataRelation("ActionList_ActionList_Command", new global::System.Data.DataColumn[] {
-                        this.tableAction.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAction_Command.Action_UIDColumn}, false);
-            this.Relations.Add(this.relationActionList_ActionList_Command);
             this.relationObject_Building = new global::System.Data.DataRelation("Object_Building", new global::System.Data.DataColumn[] {
                         this.tableObject.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableBuilding.Object_UIDColumn}, false);
@@ -8153,170 +8153,170 @@
                         this.tableFloor.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableRoom.Floor_UIDColumn}, false);
             this.Relations.Add(this.relationFloor_Room);
+            this.relationPartitionMember_VirtualDevice = new global::System.Data.DataRelation("PartitionMember_VirtualDevice", new global::System.Data.DataColumn[] {
+                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.OwnerColumn}, false);
+            this.Relations.Add(this.relationPartitionMember_VirtualDevice);
             this.relationLogicalDevice_VirtualDevice = new global::System.Data.DataRelation("LogicalDevice_VirtualDevice", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.HWUIDColumn}, false);
             this.Relations.Add(this.relationLogicalDevice_VirtualDevice);
-            this.relationPartitionMember_VirtualDevice = new global::System.Data.DataRelation("PartitionMember_VirtualDevice", new global::System.Data.DataColumn[] {
-                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.OwnerColumn}, false);
-            this.Relations.Add(this.relationPartitionMember_VirtualDevice);
             this.relationHardwareDevice_LogicalDevice = new global::System.Data.DataRelation("HardwareDevice_LogicalDevice", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.HardwareDeviceUIDColumn}, false);
             this.Relations.Add(this.relationHardwareDevice_LogicalDevice);
+            this.relationCatalogueData_HardwareDevice = new global::System.Data.DataRelation("CatalogueData_HardwareDevice", new global::System.Data.DataColumn[] {
+                        this.tableCatalogueData.GCPTypeColumn}, new global::System.Data.DataColumn[] {
+                        this.tableHardwareDevice.TypeColumn}, false);
+            this.Relations.Add(this.relationCatalogueData_HardwareDevice);
             this.relationHardwareDevice_HardwareDevice = new global::System.Data.DataRelation("HardwareDevice_HardwareDevice", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.ParentDeviceUIDColumn}, false);
             this.Relations.Add(this.relationHardwareDevice_HardwareDevice);
-            this.relationCatalogueData_HardwareDevice = new global::System.Data.DataRelation("CatalogueData_HardwareDevice", new global::System.Data.DataColumn[] {
-                        this.tableCatalogueData.GCPTypeColumn}, new global::System.Data.DataColumn[] {
-                        this.tableHardwareDevice.TypeColumn}, false);
-            this.Relations.Add(this.relationCatalogueData_HardwareDevice);
-            this.relationLogicalInput_VirtualWiredPIR = new global::System.Data.DataRelation("LogicalInput_VirtualWiredPIR", new global::System.Data.DataColumn[] {
+            this.relationVirtualPIR_VirtualHardwiredPIR = new global::System.Data.DataRelation("VirtualPIR_VirtualHardwiredPIR", new global::System.Data.DataColumn[] {
+                        this.tableVirtualPIR.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualPIR_VirtualHardwiredPIR);
+            this.relationLogicalOutput_VirtualWiredPIR2 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredPIR2", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.WalkTestOutputUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalOutput_VirtualWiredPIR2);
+            this.relationLogicalOutput_VirtualWiredPIR1 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredPIR1", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.SetOutputUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalOutput_VirtualWiredPIR1);
+            this.relationLogicalInput_VirtualWiredPIR2 = new global::System.Data.DataRelation("LogicalInput_VirtualWiredPIR2", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.AlarmInputUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalInput_VirtualWiredPIR);
+                        this.tableVirtualHardwiredPIR.FaultInputUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalInput_VirtualWiredPIR2);
             this.relationLogicalInput_VirtualWiredPIR1 = new global::System.Data.DataRelation("LogicalInput_VirtualWiredPIR1", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualHardwiredPIR.TamperInputUIDColumn}, false);
             this.Relations.Add(this.relationLogicalInput_VirtualWiredPIR1);
-            this.relationLogicalInput_VirtualWiredPIR2 = new global::System.Data.DataRelation("LogicalInput_VirtualWiredPIR2", new global::System.Data.DataColumn[] {
+            this.relationLogicalInput_VirtualWiredPIR = new global::System.Data.DataRelation("LogicalInput_VirtualWiredPIR", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.FaultInputUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalInput_VirtualWiredPIR2);
-            this.relationLogicalOutput_VirtualWiredPIR1 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredPIR1", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.SetOutputUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalOutput_VirtualWiredPIR1);
-            this.relationLogicalOutput_VirtualWiredPIR2 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredPIR2", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.WalkTestOutputUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalOutput_VirtualWiredPIR2);
-            this.relationVirtualPIR_VirtualHardwiredPIR = new global::System.Data.DataRelation("VirtualPIR_VirtualHardwiredPIR", new global::System.Data.DataColumn[] {
-                        this.tableVirtualPIR.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredPIR.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualPIR_VirtualHardwiredPIR);
-            this.relationVirtualDevice_VirtualWiredDoor = new global::System.Data.DataRelation("VirtualDevice_VirtualWiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredPIR.AlarmInputUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalInput_VirtualWiredPIR);
+            this.relationVirtualDoor_VirtualHardwiredDoor = new global::System.Data.DataRelation("VirtualDoor_VirtualHardwiredDoor", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualHardwiredDoor.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualWiredDoor);
-            this.relationLogicalInput_VirtualWiredDoor1 = new global::System.Data.DataRelation("LogicalInput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
+            this.Relations.Add(this.relationVirtualDoor_VirtualHardwiredDoor);
+            this.relationLogicalInput_VirtualWiredDoor2 = new global::System.Data.DataRelation("LogicalInput_VirtualWiredDoor2", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.LatchContactUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalInput_VirtualWiredDoor1);
-            this.relationLogicalInput_VirtualWiredDoor = new global::System.Data.DataRelation("LogicalInput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.StateContactUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalInput_VirtualWiredDoor);
-            this.relationLogicalOutput_VirtualWiredDoor6 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredDoor6", new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredDoor.BoltContactUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalInput_VirtualWiredDoor2);
+            this.relationLogicalOutput_VirtualWiredDoor = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.EscapeRelayUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalOutput_VirtualWiredDoor6);
+                        this.tableVirtualHardwiredDoor.OpenerRelayUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalOutput_VirtualWiredDoor);
+            this.relationLogicalOutput_VirtualWiredDoor1 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredDoor.PrealarmRelayUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalOutput_VirtualWiredDoor1);
             this.relationLogicalOutput_VirtualWiredDoor2 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredDoor2", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualHardwiredDoor.LockRelayUIDColumn}, false);
             this.Relations.Add(this.relationLogicalOutput_VirtualWiredDoor2);
-            this.relationLogicalOutput_VirtualWiredDoor1 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
+            this.relationLogicalOutput_VirtualWiredDoor6 = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredDoor6", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.PrealarmRelayUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalOutput_VirtualWiredDoor1);
-            this.relationLogicalOutput_VirtualWiredDoor = new global::System.Data.DataRelation("LogicalOutput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.OpenerRelayUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalOutput_VirtualWiredDoor);
-            this.relationLogicalInput_VirtualWiredDoor2 = new global::System.Data.DataRelation("LogicalInput_VirtualWiredDoor2", new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredDoor.EscapeRelayUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalOutput_VirtualWiredDoor6);
+            this.relationLogicalInput_VirtualWiredDoor = new global::System.Data.DataRelation("LogicalInput_VirtualWiredDoor", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualHardwiredDoor.BoltContactUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalInput_VirtualWiredDoor2);
-            this.relationVirtualDoor_VirtualHardwiredDoor = new global::System.Data.DataRelation("VirtualDoor_VirtualHardwiredDoor", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredDoor.StateContactUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalInput_VirtualWiredDoor);
+            this.relationLogicalInput_VirtualWiredDoor1 = new global::System.Data.DataRelation("LogicalInput_VirtualWiredDoor1", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualHardwiredDoor.LatchContactUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalInput_VirtualWiredDoor1);
+            this.relationVirtualDevice_VirtualWiredDoor = new global::System.Data.DataRelation("VirtualDevice_VirtualWiredDoor", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualHardwiredDoor.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDoor_VirtualHardwiredDoor);
+            this.Relations.Add(this.relationVirtualDevice_VirtualWiredDoor);
+            this.relationVirtualDevice_VirtualSounder = new global::System.Data.DataRelation("VirtualDevice_VirtualSounder", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualSounder.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualSounder);
             this.relationLogicalSounder_VirtualSounder = new global::System.Data.DataRelation("LogicalSounder_VirtualSounder", new global::System.Data.DataColumn[] {
                         this.tableLogicalSounder.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualSounder.LogicalSirenUIDColumn}, false);
             this.Relations.Add(this.relationLogicalSounder_VirtualSounder);
-            this.relationVirtualDevice_VirtualSounder = new global::System.Data.DataRelation("VirtualDevice_VirtualSounder", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualEmail = new global::System.Data.DataRelation("VirtualDevice_VirtualEmail", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualSounder.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualSounder);
+                        this.tableVirtualEmail.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualEmail);
             this.relationLogicalEmail_VirtualEmail = new global::System.Data.DataRelation("LogicalEmail_VirtualEmail", new global::System.Data.DataColumn[] {
                         this.tableLogicalEmail.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualEmail.LogicalEmailUIDColumn}, false);
             this.Relations.Add(this.relationLogicalEmail_VirtualEmail);
-            this.relationVirtualDevice_VirtualEmail = new global::System.Data.DataRelation("VirtualDevice_VirtualEmail", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualCamera = new global::System.Data.DataRelation("VirtualDevice_VirtualCamera", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualEmail.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualEmail);
+                        this.tableVirtualCamera.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualCamera);
             this.relationLogicalCamera_VirtualCamera = new global::System.Data.DataRelation("LogicalCamera_VirtualCamera", new global::System.Data.DataColumn[] {
                         this.tableLogicalCamera.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualCamera.LogicalCameraUIDColumn}, false);
             this.Relations.Add(this.relationLogicalCamera_VirtualCamera);
-            this.relationVirtualDevice_VirtualCamera = new global::System.Data.DataRelation("VirtualDevice_VirtualCamera", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualSMS = new global::System.Data.DataRelation("VirtualDevice_VirtualSMS", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualCamera.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualCamera);
+                        this.tableVirtualSMS.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualSMS);
             this.relationLogicalSMS_VirtualSMS = new global::System.Data.DataRelation("LogicalSMS_VirtualSMS", new global::System.Data.DataColumn[] {
                         this.tableLogicalSMS.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualSMS.LogicalSMSUIDColumn}, false);
             this.Relations.Add(this.relationLogicalSMS_VirtualSMS);
-            this.relationVirtualDevice_VirtualSMS = new global::System.Data.DataRelation("VirtualDevice_VirtualSMS", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualSMS.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualSMS);
-            this.relationVirtualUserInterface_VirtualReader = new global::System.Data.DataRelation("VirtualUserInterface_VirtualReader", new global::System.Data.DataColumn[] {
-                        this.tableVirtualUserInterface.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualReader.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualUserInterface_VirtualReader);
             this.relationLogicalReader_VirtualReader = new global::System.Data.DataRelation("LogicalReader_VirtualReader", new global::System.Data.DataColumn[] {
                         this.tableLogicalReader.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualReader.LogicalReaderUIDColumn}, false);
             this.Relations.Add(this.relationLogicalReader_VirtualReader);
-            this.relationVirtualUserInterface_VirtualKeyboard = new global::System.Data.DataRelation("VirtualUserInterface_VirtualKeyboard", new global::System.Data.DataColumn[] {
+            this.relationVirtualUserInterface_VirtualReader = new global::System.Data.DataRelation("VirtualUserInterface_VirtualReader", new global::System.Data.DataColumn[] {
                         this.tableVirtualUserInterface.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKeyboard.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualUserInterface_VirtualKeyboard);
+                        this.tableVirtualReader.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualUserInterface_VirtualReader);
             this.relationLogicalKeyboard_VirtualKeyboard = new global::System.Data.DataRelation("LogicalKeyboard_VirtualKeyboard", new global::System.Data.DataColumn[] {
                         this.tableLogicalKeyboard.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualKeyboard.LogicalKeyboardUIDColumn}, false);
             this.Relations.Add(this.relationLogicalKeyboard_VirtualKeyboard);
-            this.relationVirtualUserInterface_VirtualKeyboardReader = new global::System.Data.DataRelation("VirtualUserInterface_VirtualKeyboardReader", new global::System.Data.DataColumn[] {
+            this.relationVirtualUserInterface_VirtualKeyboard = new global::System.Data.DataRelation("VirtualUserInterface_VirtualKeyboard", new global::System.Data.DataColumn[] {
                         this.tableVirtualUserInterface.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKeyboardReader.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualUserInterface_VirtualKeyboardReader);
+                        this.tableVirtualKeyboard.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualUserInterface_VirtualKeyboard);
             this.relationLogicalKeyboardReader_VirtualKeyboardReader = new global::System.Data.DataRelation("LogicalKeyboardReader_VirtualKeyboardReader", new global::System.Data.DataColumn[] {
                         this.tableLogicalKeyboardReader.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualKeyboardReader.LogicalKeyboardReaderUIDColumn}, false);
             this.Relations.Add(this.relationLogicalKeyboardReader_VirtualKeyboardReader);
+            this.relationVirtualUserInterface_VirtualKeyboardReader = new global::System.Data.DataRelation("VirtualUserInterface_VirtualKeyboardReader", new global::System.Data.DataColumn[] {
+                        this.tableVirtualUserInterface.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualKeyboardReader.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualUserInterface_VirtualKeyboardReader);
+            this.relationLogicalInput_VirtualKeySwitch = new global::System.Data.DataRelation("LogicalInput_VirtualKeySwitch", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualKeySwitch.LogicalInputUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalInput_VirtualKeySwitch);
             this.relationVirtualDevice_VirtualKeySwitch = new global::System.Data.DataRelation("VirtualDevice_VirtualKeySwitch", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualKeySwitch.UIDColumn}, false);
             this.Relations.Add(this.relationVirtualDevice_VirtualKeySwitch);
-            this.relationLogicalInput_VirtualKeySwitch = new global::System.Data.DataRelation("LogicalInput_VirtualKeySwitch", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKeySwitch.LogicalInputUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalInput_VirtualKeySwitch);
+            this.relationVirtualDevice_VirtualRelay = new global::System.Data.DataRelation("VirtualDevice_VirtualRelay", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualRelay.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualRelay);
             this.relationLogicalOutput_VirtualRelay = new global::System.Data.DataRelation("LogicalOutput_VirtualRelay", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualRelay.LogicalOutputUIDColumn}, false);
             this.Relations.Add(this.relationLogicalOutput_VirtualRelay);
-            this.relationVirtualDevice_VirtualRelay = new global::System.Data.DataRelation("VirtualDevice_VirtualRelay", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualWindow = new global::System.Data.DataRelation("VirtualDevice_VirtualWindow", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualRelay.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualRelay);
+                        this.tableVirtualWindow.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualWindow);
+            this.relationLogicalInput_VirtualWindow1 = new global::System.Data.DataRelation("LogicalInput_VirtualWindow1", new global::System.Data.DataColumn[] {
+                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualWindow.TamperInputUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalInput_VirtualWindow1);
             this.relationLogicalInput_VirtualWindow = new global::System.Data.DataRelation("LogicalInput_VirtualWindow", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualWindow.AlarmInputUIDColumn}, false);
             this.Relations.Add(this.relationLogicalInput_VirtualWindow);
-            this.relationLogicalInput_VirtualWindow1 = new global::System.Data.DataRelation("LogicalInput_VirtualWindow1", new global::System.Data.DataColumn[] {
-                        this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWindow.TamperInputUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalInput_VirtualWindow1);
-            this.relationVirtualDevice_VirtualWindow = new global::System.Data.DataRelation("VirtualDevice_VirtualWindow", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWindow.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualWindow);
             this.relationLogicalDevice_LogicalPeripheral = new global::System.Data.DataRelation("LogicalDevice_LogicalPeripheral", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalPeripheral.UIDColumn}, false);
@@ -8329,30 +8329,30 @@
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalTemperature.UIDColumn}, false);
             this.Relations.Add(this.relationLogicalDevice_LogicalTemperature);
-            this.relationVirtualDevice_VirtualPeripheral = new global::System.Data.DataRelation("VirtualDevice_VirtualPeripheral", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualPeripheral.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualPeripheral);
             this.relationLogicalPeripheral_VirtualPeripheral = new global::System.Data.DataRelation("LogicalPeripheral_VirtualPeripheral", new global::System.Data.DataColumn[] {
                         this.tableLogicalPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualPeripheral.LogicalPeripheralUIDColumn}, false);
             this.Relations.Add(this.relationLogicalPeripheral_VirtualPeripheral);
-            this.relationVirtualDevice_VirtualSmokeDetector = new global::System.Data.DataRelation("VirtualDevice_VirtualSmokeDetector", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualPeripheral = new global::System.Data.DataRelation("VirtualDevice_VirtualPeripheral", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualSmokeDetector.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualSmokeDetector);
+                        this.tableVirtualPeripheral.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualPeripheral);
             this.relationLogicalSmokeDetector_VirtualSmokeDetector = new global::System.Data.DataRelation("LogicalSmokeDetector_VirtualSmokeDetector", new global::System.Data.DataColumn[] {
                         this.tableLogicalSmokeDetector.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualSmokeDetector.LogicalSmokeDetectorUIDColumn}, false);
             this.Relations.Add(this.relationLogicalSmokeDetector_VirtualSmokeDetector);
-            this.relationVirtualDevice_VirtualTemperature = new global::System.Data.DataRelation("VirtualDevice_VirtualTemperature", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualSmokeDetector = new global::System.Data.DataRelation("VirtualDevice_VirtualSmokeDetector", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualTemperature.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualTemperature);
+                        this.tableVirtualSmokeDetector.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualSmokeDetector);
             this.relationLogicalTemperature_VirtualTemperature = new global::System.Data.DataRelation("LogicalTemperature_VirtualTemperature", new global::System.Data.DataColumn[] {
                         this.tableLogicalTemperature.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualTemperature.LogicalTemperatureUIDColumn}, false);
             this.Relations.Add(this.relationLogicalTemperature_VirtualTemperature);
+            this.relationVirtualDevice_VirtualTemperature = new global::System.Data.DataRelation("VirtualDevice_VirtualTemperature", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualTemperature.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualTemperature);
             this.relationLogicalDevice_LogicalKeyboard = new global::System.Data.DataRelation("LogicalDevice_LogicalKeyboard", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalKeyboard.UIDColumn}, false);
@@ -8365,14 +8365,14 @@
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalReader.UIDColumn}, false);
             this.Relations.Add(this.relationLogicalDevice_LogicalReader);
+            this.relationFK_HardwareDevice_WirelessMaster1 = new global::System.Data.DataRelation("FK_HardwareDevice_WirelessMaster1", new global::System.Data.DataColumn[] {
+                        this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableWirelessMaster.MasterUIDColumn}, false);
+            this.Relations.Add(this.relationFK_HardwareDevice_WirelessMaster1);
             this.relationFK_HardwareDevice_WirelessMaster = new global::System.Data.DataRelation("FK_HardwareDevice_WirelessMaster", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableWirelessMaster.DeviceUIDColumn}, false);
             this.Relations.Add(this.relationFK_HardwareDevice_WirelessMaster);
-            this.relationFK_HardwareDevice_WirelessMaster1 = new global::System.Data.DataRelation("FK_HardwareDevice_WirelessMaster1", new global::System.Data.DataColumn[] {
-                        this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableWirelessMaster.MasterUIDColumn}, false);
-            this.Relations.Add(this.relationFK_HardwareDevice_WirelessMaster1);
             this.relationLogicalDevice_LogicalInstallServices = new global::System.Data.DataRelation("LogicalDevice_LogicalInstallServices", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalInstallService.UIDColumn}, false);
@@ -8393,74 +8393,74 @@
                         this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAPMacro.AccessPointUIDColumn}, false);
             this.Relations.Add(this.relationAccessPoint_APMacro);
+            this.relationFK_User_AccessPoint_User = new global::System.Data.DataRelation("FK_User_AccessPoint_User", new global::System.Data.DataColumn[] {
+                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAccessPoint_User.UserUIDColumn}, false);
+            this.Relations.Add(this.relationFK_User_AccessPoint_User);
             this.relationFK_AccessPoint_AccessPoint_User = new global::System.Data.DataRelation("FK_AccessPoint_AccessPoint_User", new global::System.Data.DataColumn[] {
                         this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAccessPoint_User.AccessPointUIDColumn}, false);
             this.Relations.Add(this.relationFK_AccessPoint_AccessPoint_User);
-            this.relationFK_User_AccessPoint_User = new global::System.Data.DataRelation("FK_User_AccessPoint_User", new global::System.Data.DataColumn[] {
-                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAccessPoint_User.UserUIDColumn}, false);
-            this.Relations.Add(this.relationFK_User_AccessPoint_User);
-            this.relationFK_SounderTemplate_ExternalSounderStyle1 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle1", new global::System.Data.DataColumn[] {
+            this.relationFK_SounderTemplate_ExternalSounderStyle2 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle2", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.PanicAlarmSounderTemplateUIDColumn}, false);
-            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle1);
-            this.relationFK_SounderTemplate_ExternalSounderStyle = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle", new global::System.Data.DataColumn[] {
+                        this.tableExternalSounderStyle.IntruderAlarmSounderTemplateUIDColumn}, false);
+            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle2);
+            this.relationFK_SounderTemplate_ExternalSounderStyle3 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle3", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.FireAlarmSounderTemplateUIDColumn}, false);
-            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle);
+                        this.tableExternalSounderStyle.TamperAlarmSounderTemplateUIDColumn}, false);
+            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle3);
+            this.relationFK_SounderTemplate_ExternalSounderStyle4 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle4", new global::System.Data.DataColumn[] {
+                        this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableExternalSounderStyle.TechnicalAlarmSounderTemplateUIDColumn}, false);
+            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle4);
             this.relationPartition_ExternalSounderStyle = new global::System.Data.DataRelation("Partition_ExternalSounderStyle", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableExternalSounderStyle.PartitionUIDColumn}, false);
             this.Relations.Add(this.relationPartition_ExternalSounderStyle);
-            this.relationFK_SounderTemplate_ExternalSounderStyle4 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle4", new global::System.Data.DataColumn[] {
+            this.relationFK_SounderTemplate_ExternalSounderStyle = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.TechnicalAlarmSounderTemplateUIDColumn}, false);
-            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle4);
-            this.relationFK_SounderTemplate_ExternalSounderStyle3 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle3", new global::System.Data.DataColumn[] {
+                        this.tableExternalSounderStyle.FireAlarmSounderTemplateUIDColumn}, false);
+            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle);
+            this.relationFK_SounderTemplate_ExternalSounderStyle1 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle1", new global::System.Data.DataColumn[] {
                         this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.TamperAlarmSounderTemplateUIDColumn}, false);
-            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle3);
-            this.relationFK_SounderTemplate_ExternalSounderStyle2 = new global::System.Data.DataRelation("FK_SounderTemplate_ExternalSounderStyle2", new global::System.Data.DataColumn[] {
-                        this.tableSounderTemplate.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableExternalSounderStyle.IntruderAlarmSounderTemplateUIDColumn}, false);
-            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle2);
+                        this.tableExternalSounderStyle.PanicAlarmSounderTemplateUIDColumn}, false);
+            this.Relations.Add(this.relationFK_SounderTemplate_ExternalSounderStyle1);
+            this.relationPartition_Partition_SignalingGroup = new global::System.Data.DataRelation("Partition_Partition_SignalingGroup", new global::System.Data.DataColumn[] {
+                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tablePartition_SignalingGroup.PartitionUIDColumn}, false);
+            this.Relations.Add(this.relationPartition_Partition_SignalingGroup);
             this.relationSignalingGroup_Partition_SignalingGroup = new global::System.Data.DataRelation("SignalingGroup_Partition_SignalingGroup", new global::System.Data.DataColumn[] {
                         this.tableSignalingGroup.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tablePartition_SignalingGroup.SignalingGroupUIDColumn}, false);
             this.Relations.Add(this.relationSignalingGroup_Partition_SignalingGroup);
-            this.relationPartition_Partition_SignalingGroup = new global::System.Data.DataRelation("Partition_Partition_SignalingGroup", new global::System.Data.DataColumn[] {
-                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartition_SignalingGroup.PartitionUIDColumn}, false);
-            this.Relations.Add(this.relationPartition_Partition_SignalingGroup);
+            this.relationSignalingGroup_SignalingGroup_Siren = new global::System.Data.DataRelation("SignalingGroup_SignalingGroup_Siren", new global::System.Data.DataColumn[] {
+                        this.tableSignalingGroup.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableSignalingGroup_Sounder.SignalingGroupUIDColumn}, false);
+            this.Relations.Add(this.relationSignalingGroup_SignalingGroup_Siren);
             this.relationVirtualDevice_SignalingGroup_Sounder = new global::System.Data.DataRelation("VirtualDevice_SignalingGroup_Sounder", new global::System.Data.DataColumn[] {
                         this.tableVirtualSounder.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableSignalingGroup_Sounder.SounderUIDColumn}, false);
             this.Relations.Add(this.relationVirtualDevice_SignalingGroup_Sounder);
-            this.relationSignalingGroup_SignalingGroup_Siren = new global::System.Data.DataRelation("SignalingGroup_SignalingGroup_Siren", new global::System.Data.DataColumn[] {
-                        this.tableSignalingGroup.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableSignalingGroup_Sounder.SignalingGroupUIDColumn}, false);
-            this.Relations.Add(this.relationSignalingGroup_SignalingGroup_Siren);
+            this.relationVirtualFlasher_SignalingGroup_Flasher = new global::System.Data.DataRelation("VirtualFlasher_SignalingGroup_Flasher", new global::System.Data.DataColumn[] {
+                        this.tableVirtualFlasher.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableSignalingGroup_Flasher.FlasherUIDColumn}, false);
+            this.Relations.Add(this.relationVirtualFlasher_SignalingGroup_Flasher);
             this.relationSignalingGroup_SignalingGroup_Flasher = new global::System.Data.DataRelation("SignalingGroup_SignalingGroup_Flasher", new global::System.Data.DataColumn[] {
                         this.tableSignalingGroup.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableSignalingGroup_Flasher.SignalingGroupUIDColumn}, false);
             this.Relations.Add(this.relationSignalingGroup_SignalingGroup_Flasher);
-            this.relationVirtualFlasher_SignalingGroup_Flasher = new global::System.Data.DataRelation("VirtualFlasher_SignalingGroup_Flasher", new global::System.Data.DataColumn[] {
-                        this.tableVirtualFlasher.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableSignalingGroup_Flasher.FlasherUIDColumn}, false);
-            this.Relations.Add(this.relationVirtualFlasher_SignalingGroup_Flasher);
+            this.relationLogicalOutput_APTurnstile = new global::System.Data.DataRelation("LogicalOutput_APTurnstile", new global::System.Data.DataColumn[] {
+                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAPTurnstile.OpenerRelayOutputUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalOutput_APTurnstile);
+            this.relationAccessPoint_APTurnstile = new global::System.Data.DataRelation("AccessPoint_APTurnstile", new global::System.Data.DataColumn[] {
+                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAPTurnstile.AccessPointUIDColumn}, false);
+            this.Relations.Add(this.relationAccessPoint_APTurnstile);
             this.relationLogicalInput_APTurnstile = new global::System.Data.DataRelation("LogicalInput_APTurnstile", new global::System.Data.DataColumn[] {
                         this.tableLogicalInput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAPTurnstile.LatchContactInputUIDColumn}, false);
             this.Relations.Add(this.relationLogicalInput_APTurnstile);
-            this.relationAccessPoint_APTurnstile = new global::System.Data.DataRelation("AccessPoint_APTurnstile", new global::System.Data.DataColumn[] {
-                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAPTurnstile.AccessPointUIDColumn}, false);
-            this.Relations.Add(this.relationAccessPoint_APTurnstile);
-            this.relationLogicalOutput_APTurnstile = new global::System.Data.DataRelation("LogicalOutput_APTurnstile", new global::System.Data.DataColumn[] {
-                        this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAPTurnstile.OpenerRelayOutputUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalOutput_APTurnstile);
             this.relationHardwareDevice_HWIBusBusController = new global::System.Data.DataRelation("HardwareDevice_HWIBusBusController", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHWIBusBusController.UIDColumn}, false);
@@ -8637,14 +8637,14 @@
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tablePartitionFaultType.PartitionUIDColumn}, false);
             this.Relations.Add(this.relationPartition_PartitionFaultType);
+            this.relationPartitionMember_VirtualPeripheralPartitionMemberFaultType = new global::System.Data.DataRelation("PartitionMember_VirtualPeripheralPartitionMemberFaultType", new global::System.Data.DataColumn[] {
+                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualPeripheralPartitionMemberFaultType.PartitionMemberUIDColumn}, false);
+            this.Relations.Add(this.relationPartitionMember_VirtualPeripheralPartitionMemberFaultType);
             this.relationVirtualPeripheral_VirtualPeripheralPartitionMemberFaultType = new global::System.Data.DataRelation("VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType", new global::System.Data.DataColumn[] {
                         this.tableVirtualPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualPeripheralPartitionMemberFaultType.VirtualPeripheralUIDColumn}, false);
             this.Relations.Add(this.relationVirtualPeripheral_VirtualPeripheralPartitionMemberFaultType);
-            this.relationPartitionMember_VirtualPeripheralPartitionMemberFaultType = new global::System.Data.DataRelation("PartitionMember_VirtualPeripheralPartitionMemberFaultType", new global::System.Data.DataColumn[] {
-                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualPeripheralPartitionMemberFaultType.PartitionMemberUIDColumn}, false);
-            this.Relations.Add(this.relationPartitionMember_VirtualPeripheralPartitionMemberFaultType);
             this.relationLogicalDevice_LogicalWirelessPeripheral = new global::System.Data.DataRelation("LogicalDevice_LogicalWirelessPeripheral", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalWirelessPeripheral.UIDColumn}, false);
@@ -8661,14 +8661,14 @@
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUnsetPreventionAlarmType.PartitionUIDColumn}, false);
             this.Relations.Add(this.relationPartition_UnsetPreventionAlarmType);
+            this.relationFK_AccessPointGroup_AccessPointGroup_AccessPoint = new global::System.Data.DataRelation("FK_AccessPointGroup_AccessPointGroup_AccessPoint", new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_APGroup.ScheduledItemUIDColumn}, false);
+            this.Relations.Add(this.relationFK_AccessPointGroup_AccessPointGroup_AccessPoint);
             this.relationAccessPoint_ScheduledItem_AccessPoint = new global::System.Data.DataRelation("AccessPoint_ScheduledItem_AccessPoint", new global::System.Data.DataColumn[] {
                         this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableScheduledItem_APGroup.AccessPointUIDColumn}, false);
             this.Relations.Add(this.relationAccessPoint_ScheduledItem_AccessPoint);
-            this.relationFK_AccessPointGroup_AccessPointGroup_AccessPoint = new global::System.Data.DataRelation("FK_AccessPointGroup_AccessPointGroup_AccessPoint", new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_APGroup.ScheduledItemUIDColumn}, false);
-            this.Relations.Add(this.relationFK_AccessPointGroup_AccessPointGroup_AccessPoint);
             this.relationUserGroup_DatePeriod = new global::System.Data.DataRelation("UserGroup_DatePeriod", new global::System.Data.DataColumn[] {
                         this.tableUserGroup.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableDatePeriod.UserGroupUIDColumn}, false);
@@ -8677,58 +8677,58 @@
                         this.tableTimeSchedule.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableTimePeriod.TimeScheduleUIDColumn}, false);
             this.Relations.Add(this.relationFK_TimeSchedule_TimePeriod);
+            this.relationFK_RTZ_UserGroup_TimeSchedule = new global::System.Data.DataRelation("FK_RTZ_UserGroup_TimeSchedule", new global::System.Data.DataColumn[] {
+                        this.tableUserGroup.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUserGroup_TimeSchedule.UserGroupUIDColumn}, false);
+            this.Relations.Add(this.relationFK_RTZ_UserGroup_TimeSchedule);
             this.relationFK_TimeSchedule_UserGroup_TimeSchedule = new global::System.Data.DataRelation("FK_TimeSchedule_UserGroup_TimeSchedule", new global::System.Data.DataColumn[] {
                         this.tableTimeSchedule.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUserGroup_TimeSchedule.TimeScheduleUIDColumn}, false);
             this.Relations.Add(this.relationFK_TimeSchedule_UserGroup_TimeSchedule);
-            this.relationFK_RTZ_UserGroup_TimeSchedule = new global::System.Data.DataRelation("FK_RTZ_UserGroup_TimeSchedule", new global::System.Data.DataColumn[] {
-                        this.tableUserGroup.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUserGroup_TimeSchedule.UserGroupUIDColumn}, false);
-            this.Relations.Add(this.relationFK_RTZ_UserGroup_TimeSchedule);
+            this.relationUser_User_UserGroup = new global::System.Data.DataRelation("User_User_UserGroup", new global::System.Data.DataColumn[] {
+                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUser_UserGroup.UserUIDColumn}, false);
+            this.Relations.Add(this.relationUser_User_UserGroup);
             this.relationUserGroup_User_UserGroup = new global::System.Data.DataRelation("UserGroup_User_UserGroup", new global::System.Data.DataColumn[] {
                         this.tableUserGroup.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUser_UserGroup.UserGroupUIDColumn}, false);
             this.Relations.Add(this.relationUserGroup_User_UserGroup);
-            this.relationUser_User_UserGroup = new global::System.Data.DataRelation("User_User_UserGroup", new global::System.Data.DataColumn[] {
-                        this.tableUser.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUser_UserGroup.UserUIDColumn}, false);
-            this.Relations.Add(this.relationUser_User_UserGroup);
-            this.relationVirtualDevice_VirtualFlasher = new global::System.Data.DataRelation("VirtualDevice_VirtualFlasher", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualFlasher.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualFlasher);
             this.relationLogicalOutput_VirtualFlasher = new global::System.Data.DataRelation("LogicalOutput_VirtualFlasher", new global::System.Data.DataColumn[] {
                         this.tableLogicalOutput.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualFlasher.LogicalOutputUIDColumn}, false);
             this.Relations.Add(this.relationLogicalOutput_VirtualFlasher);
-            this.relationVirtualDevice_VirtualDSDevice = new global::System.Data.DataRelation("VirtualDevice_VirtualDSDevice", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualFlasher = new global::System.Data.DataRelation("VirtualDevice_VirtualFlasher", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualDSDevice.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualDSDevice);
+                        this.tableVirtualFlasher.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualFlasher);
             this.relationLogicalDSAlarmReporting_VirtualDSDevice = new global::System.Data.DataRelation("LogicalDSAlarmReporting_VirtualDSDevice", new global::System.Data.DataColumn[] {
                         this.tableLogicalDSAlarmReporting.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualDSDevice.LogicalDSAlarmReportingUIDColumn}, false);
             this.Relations.Add(this.relationLogicalDSAlarmReporting_VirtualDSDevice);
+            this.relationVirtualDevice_VirtualDSDevice = new global::System.Data.DataRelation("VirtualDevice_VirtualDSDevice", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualDSDevice.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualDSDevice);
             this.relationLogicalDevice_LogicalDSAlarmReporting = new global::System.Data.DataRelation("LogicalDevice_LogicalDSAlarmReporting", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalDSAlarmReporting.UIDColumn}, false);
             this.Relations.Add(this.relationLogicalDevice_LogicalDSAlarmReporting);
+            this.relationFK_Partition_AlarmDevice = new global::System.Data.DataRelation("FK_Partition_AlarmDevice", new global::System.Data.DataColumn[] {
+                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAlarmDevice.PartitionUIDColumn}, false);
+            this.Relations.Add(this.relationFK_Partition_AlarmDevice);
             this.relationFK_VirtualDSDevice_AlarmDevice = new global::System.Data.DataRelation("FK_VirtualDSDevice_AlarmDevice", new global::System.Data.DataColumn[] {
                         this.tableVirtualDSDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAlarmDevice.VirtualDSDeviceUIDColumn}, false);
             this.Relations.Add(this.relationFK_VirtualDSDevice_AlarmDevice);
-            this.relationFK_Partition_AlarmDevice = new global::System.Data.DataRelation("FK_Partition_AlarmDevice", new global::System.Data.DataColumn[] {
-                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAlarmDevice.PartitionUIDColumn}, false);
-            this.Relations.Add(this.relationFK_Partition_AlarmDevice);
+            this.relationFK_AlarmDevice_AlarmDevice_FaultPartition = new global::System.Data.DataRelation("FK_AlarmDevice_AlarmDevice_FaultPartition", new global::System.Data.DataColumn[] {
+                        this.tableAlarmDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableAlarmDevice_FaultPartition.AlarmDeviceUIDColumn}, false);
+            this.Relations.Add(this.relationFK_AlarmDevice_AlarmDevice_FaultPartition);
             this.relationFK_Partition_AlarmDevice_FaultPartition = new global::System.Data.DataRelation("FK_Partition_AlarmDevice_FaultPartition", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableAlarmDevice_FaultPartition.PartitionUIDColumn}, false);
             this.Relations.Add(this.relationFK_Partition_AlarmDevice_FaultPartition);
-            this.relationFK_AlarmDevice_AlarmDevice_FaultPartition = new global::System.Data.DataRelation("FK_AlarmDevice_AlarmDevice_FaultPartition", new global::System.Data.DataColumn[] {
-                        this.tableAlarmDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableAlarmDevice_FaultPartition.AlarmDeviceUIDColumn}, false);
-            this.Relations.Add(this.relationFK_AlarmDevice_AlarmDevice_FaultPartition);
             this.relationFK_AlarmDevice_Channel = new global::System.Data.DataRelation("FK_AlarmDevice_Channel", new global::System.Data.DataColumn[] {
                         this.tableAlarmDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableChannel.AlarmDeviceUIDColumn}, false);
@@ -8757,34 +8757,34 @@
                         this.tableTrigger.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableTrigger_SingleEvent.UIDColumn}, false);
             this.Relations.Add(this.relationTrigger_Trigger_SingleEvent);
-            this.relationVirtualDevice_VirtualWirelessMaster = new global::System.Data.DataRelation("VirtualDevice_VirtualWirelessMaster", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWirelessMaster.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualWirelessMaster);
             this.relationLogicalWirelessMaster_VirtualWirelessMaster = new global::System.Data.DataRelation("LogicalWirelessMaster_VirtualWirelessMaster", new global::System.Data.DataColumn[] {
                         this.tableLogicalWirelessMaster.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualWirelessMaster.LogicalWirelessMasterUIDColumn}, false);
             this.Relations.Add(this.relationLogicalWirelessMaster_VirtualWirelessMaster);
-            this.relationVirtualDevice_VirtualWirelessPeripheral = new global::System.Data.DataRelation("VirtualDevice_VirtualWirelessPeripheral", new global::System.Data.DataColumn[] {
+            this.relationVirtualDevice_VirtualWirelessMaster = new global::System.Data.DataRelation("VirtualDevice_VirtualWirelessMaster", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWirelessPeripheral.UIDColumn}, false);
-            this.Relations.Add(this.relationVirtualDevice_VirtualWirelessPeripheral);
+                        this.tableVirtualWirelessMaster.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualWirelessMaster);
             this.relationLogicalWirelessPeripheral_VirtualWirelessPeripheral = new global::System.Data.DataRelation("LogicalWirelessPeripheral_VirtualWirelessPeripheral", new global::System.Data.DataColumn[] {
                         this.tableLogicalWirelessPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualWirelessPeripheral.LogicalWirelessPeripheralUIDColumn}, false);
             this.Relations.Add(this.relationLogicalWirelessPeripheral_VirtualWirelessPeripheral);
+            this.relationVirtualDevice_VirtualWirelessPeripheral = new global::System.Data.DataRelation("VirtualDevice_VirtualWirelessPeripheral", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualWirelessPeripheral.UIDColumn}, false);
+            this.Relations.Add(this.relationVirtualDevice_VirtualWirelessPeripheral);
             this.relationLogicalDevice_LogicalCarbonMonoxide = new global::System.Data.DataRelation("LogicalDevice_LogicalCarbonMonoxide", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalCarbonMonoxide.UIDColumn}, false);
             this.Relations.Add(this.relationLogicalDevice_LogicalCarbonMonoxide);
+            this.relationLogicalCarbonMonoxide_VirtualCarbonMonoxide = new global::System.Data.DataRelation("LogicalCarbonMonoxide_VirtualCarbonMonoxide", new global::System.Data.DataColumn[] {
+                        this.tableLogicalCarbonMonoxide.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualCarbonMonoxide.LogicalCarbonMonoxideUIDColumn}, false);
+            this.Relations.Add(this.relationLogicalCarbonMonoxide_VirtualCarbonMonoxide);
             this.relationVirtualDevice_VirtualCarbonMonoxide = new global::System.Data.DataRelation("VirtualDevice_VirtualCarbonMonoxide", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualCarbonMonoxide.UIDColumn}, false);
             this.Relations.Add(this.relationVirtualDevice_VirtualCarbonMonoxide);
-            this.relationLogicalCarbonMonoxide_VirtualCarbonMonoxide = new global::System.Data.DataRelation("LogicalCarbonMonoxide_VirtualCarbonMonoxide", new global::System.Data.DataColumn[] {
-                        this.tableLogicalCarbonMonoxide.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualCarbonMonoxide.LogicalCarbonMonoxideUIDColumn}, false);
-            this.Relations.Add(this.relationLogicalCarbonMonoxide_VirtualCarbonMonoxide);
             this.relationFK_HardwareDevice_HWGPIOInput = new global::System.Data.DataRelation("FK_HardwareDevice_HWGPIOInput", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHWGPIOInput.UIDColumn}, false);
@@ -8809,58 +8809,58 @@
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUIProxy.HardwareDeviceUIDColumn}, false);
             this.Relations.Add(this.relationFK_HardwareDevice_UIProxy);
+            this.relationLogicalSmartUI_UIProxyTouchCenter = new global::System.Data.DataRelation("LogicalSmartUI_UIProxyTouchCenter", new global::System.Data.DataColumn[] {
+                        this.tableLogicalSmartUI.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUITouchCenter.LogicalSmartUI_UIDColumn}, false);
+            this.Relations.Add(this.relationLogicalSmartUI_UIProxyTouchCenter);
             this.relationUIProxy_UITouchCenter = new global::System.Data.DataRelation("UIProxy_UITouchCenter", new global::System.Data.DataColumn[] {
                         this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUITouchCenter.UIDColumn}, false);
             this.Relations.Add(this.relationUIProxy_UITouchCenter);
-            this.relationLogicalSmartUI_UIProxyTouchCenter = new global::System.Data.DataRelation("LogicalSmartUI_UIProxyTouchCenter", new global::System.Data.DataColumn[] {
-                        this.tableLogicalSmartUI.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUITouchCenter.LogicalSmartUI_UIDColumn}, false);
-            this.Relations.Add(this.relationLogicalSmartUI_UIProxyTouchCenter);
             this.relationFK_UIProxy_UIProxy_Partition = new global::System.Data.DataRelation("FK_UIProxy_UIProxy_Partition", new global::System.Data.DataColumn[] {
                         this.tableUITouchCenter.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUITouchCenter_Partition.UIProxyUIDColumn}, false);
             this.Relations.Add(this.relationFK_UIProxy_UIProxy_Partition);
+            this.relationFK_Partition_PartitionDependency1 = new global::System.Data.DataRelation("FK_Partition_PartitionDependency1", new global::System.Data.DataColumn[] {
+                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tablePartitionDependency.ChildPartitionUIDColumn}, false);
+            this.Relations.Add(this.relationFK_Partition_PartitionDependency1);
             this.relationFK_Partition_PartitionDependency = new global::System.Data.DataRelation("FK_Partition_PartitionDependency", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tablePartitionDependency.ParentPartitionUIDColumn}, false);
             this.Relations.Add(this.relationFK_Partition_PartitionDependency);
-            this.relationFK_Partition_PartitionDependency1 = new global::System.Data.DataRelation("FK_Partition_PartitionDependency1", new global::System.Data.DataColumn[] {
-                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartitionDependency.ChildPartitionUIDColumn}, false);
-            this.Relations.Add(this.relationFK_Partition_PartitionDependency1);
             this.relationFK_Partition_StoredFaultTypes = new global::System.Data.DataRelation("FK_Partition_StoredFaultTypes", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableStoredFaultTypes.PartitionUIDColumn}, false);
             this.Relations.Add(this.relationFK_Partition_StoredFaultTypes);
+            this.relationPartition_Partition_LocalSounder = new global::System.Data.DataRelation("Partition_Partition_LocalSounder", new global::System.Data.DataColumn[] {
+                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tablePartition_LocalSounder.PartitionUIDColumn}, false);
+            this.Relations.Add(this.relationPartition_Partition_LocalSounder);
             this.relationVirtualSounder_Partition_LocalSounder = new global::System.Data.DataRelation("VirtualSounder_Partition_LocalSounder", new global::System.Data.DataColumn[] {
                         this.tableVirtualSounder.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tablePartition_LocalSounder.LocalSounderUIDColumn}, false);
             this.Relations.Add(this.relationVirtualSounder_Partition_LocalSounder);
-            this.relationPartition_Partition_LocalSounder = new global::System.Data.DataRelation("Partition_Partition_LocalSounder", new global::System.Data.DataColumn[] {
-                        this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tablePartition_LocalSounder.PartitionUIDColumn}, false);
-            this.Relations.Add(this.relationPartition_Partition_LocalSounder);
             this.relationVirtualDevice_VirtualPIR = new global::System.Data.DataRelation("VirtualDevice_VirtualPIR", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualPIR.UIDColumn}, false);
             this.Relations.Add(this.relationVirtualDevice_VirtualPIR);
+            this.relationDetectorGroup_VirtualDoor = new global::System.Data.DataRelation("DetectorGroup_VirtualDoor", new global::System.Data.DataColumn[] {
+                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualDoor.SecondaryOwnerColumn}, false);
+            this.Relations.Add(this.relationDetectorGroup_VirtualDoor);
             this.relationVirtualDevice_VirtualDoor = new global::System.Data.DataRelation("VirtualDevice_VirtualDoor", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualDoor.UIDColumn}, false);
             this.Relations.Add(this.relationVirtualDevice_VirtualDoor);
-            this.relationDetectorGroup_VirtualDoor = new global::System.Data.DataRelation("DetectorGroup_VirtualDoor", new global::System.Data.DataColumn[] {
-                        this.tablePartitionMember.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualDoor.SecondaryOwnerColumn}, false);
-            this.Relations.Add(this.relationDetectorGroup_VirtualDoor);
+            this.relationFK_VirtualDoor_ScheduledItem_Door = new global::System.Data.DataRelation("FK_VirtualDoor_ScheduledItem_Door", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_Door.DoorUIDColumn}, false);
+            this.Relations.Add(this.relationFK_VirtualDoor_ScheduledItem_Door);
             this.relationFK_ScheduledItem_ScheduledItem_Door = new global::System.Data.DataRelation("FK_ScheduledItem_ScheduledItem_Door", new global::System.Data.DataColumn[] {
                         this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableScheduledItem_Door.ScheduledItemUIDColumn}, false);
             this.Relations.Add(this.relationFK_ScheduledItem_ScheduledItem_Door);
-            this.relationFK_VirtualDoor_ScheduledItem_Door = new global::System.Data.DataRelation("FK_VirtualDoor_ScheduledItem_Door", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDoor.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_Door.DoorUIDColumn}, false);
-            this.Relations.Add(this.relationFK_VirtualDoor_ScheduledItem_Door);
             this.relationHardwareDevice_HWBus2ViewguardDual = new global::System.Data.DataRelation("HardwareDevice_HWBus2ViewguardDual", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHWBus2ViewGuardDual.UIDColumn}, false);
@@ -8869,94 +8869,94 @@
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableSoundingFaultTypes.PartitionUIDColumn}, false);
             this.Relations.Add(this.relationFK_Partition_SoundingFaultTypes);
+            this.relationFK_AccessPoint_ScheduledItem_AP = new global::System.Data.DataRelation("FK_AccessPoint_ScheduledItem_AP", new global::System.Data.DataColumn[] {
+                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_AP.AccessPointUIDColumn}, false);
+            this.Relations.Add(this.relationFK_AccessPoint_ScheduledItem_AP);
             this.relationFK_ScheduledItem_ScheduledItem_AP = new global::System.Data.DataRelation("FK_ScheduledItem_ScheduledItem_AP", new global::System.Data.DataColumn[] {
                         this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableScheduledItem_AP.ScheduledItemUIDColumn}, false);
             this.Relations.Add(this.relationFK_ScheduledItem_ScheduledItem_AP);
-            this.relationFK_AccessPoint_ScheduledItem_AP = new global::System.Data.DataRelation("FK_AccessPoint_ScheduledItem_AP", new global::System.Data.DataColumn[] {
-                        this.tableAccessPoint.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_AP.AccessPointUIDColumn}, false);
-            this.Relations.Add(this.relationFK_AccessPoint_ScheduledItem_AP);
+            this.relationFK_VirtualDevice_VirtualKey = new global::System.Data.DataRelation("FK_VirtualDevice_VirtualKey", new global::System.Data.DataColumn[] {
+                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualKey.UIDColumn}, false);
+            this.Relations.Add(this.relationFK_VirtualDevice_VirtualKey);
             this.relationFK_LogicalKey_VirtualKey = new global::System.Data.DataRelation("FK_LogicalKey_VirtualKey", new global::System.Data.DataColumn[] {
                         this.tableLogicalKey.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualKey.LogicalKeyUIDColumn}, false);
             this.Relations.Add(this.relationFK_LogicalKey_VirtualKey);
-            this.relationFK_VirtualDevice_VirtualKey = new global::System.Data.DataRelation("FK_VirtualDevice_VirtualKey", new global::System.Data.DataColumn[] {
-                        this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualKey.UIDColumn}, false);
-            this.Relations.Add(this.relationFK_VirtualDevice_VirtualKey);
             this.relationFK_LogicalDevice_LogicalKey = new global::System.Data.DataRelation("FK_LogicalDevice_LogicalKey", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalKey.UIDColumn}, false);
             this.Relations.Add(this.relationFK_LogicalDevice_LogicalKey);
+            this.relationFK_LogicalLed_VirtualLed = new global::System.Data.DataRelation("FK_LogicalLed_VirtualLed", new global::System.Data.DataColumn[] {
+                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualLed.LogicalLedUIDColumn}, false);
+            this.Relations.Add(this.relationFK_LogicalLed_VirtualLed);
             this.relationFK_VirtualDevice_VirtualLed = new global::System.Data.DataRelation("FK_VirtualDevice_VirtualLed", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualLed.UIDColumn}, false);
             this.Relations.Add(this.relationFK_VirtualDevice_VirtualLed);
-            this.relationFK_LogicalLed_VirtualLed = new global::System.Data.DataRelation("FK_LogicalLed_VirtualLed", new global::System.Data.DataColumn[] {
-                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualLed.LogicalLedUIDColumn}, false);
-            this.Relations.Add(this.relationFK_LogicalLed_VirtualLed);
             this.relationFK_LogicalDevice_LogicalLed = new global::System.Data.DataRelation("FK_LogicalDevice_LogicalLed", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalLed.UIDColumn}, false);
             this.Relations.Add(this.relationFK_LogicalDevice_LogicalLed);
+            this.relationFK_LogicalKeyboardReader_UIKeypad = new global::System.Data.DataRelation("FK_LogicalKeyboardReader_UIKeypad", new global::System.Data.DataColumn[] {
+                        this.tableLogicalKeyboardReader.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.LogicalKeyboardReaderUIDColumn}, false);
+            this.Relations.Add(this.relationFK_LogicalKeyboardReader_UIKeypad);
+            this.relationFK_UIProxy_Keypad_UIProxy_Keypad = new global::System.Data.DataRelation("FK_UIProxy_Keypad_UIProxy_Keypad", new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.OwnerKeypadUIDColumn}, false);
+            this.Relations.Add(this.relationFK_UIProxy_Keypad_UIProxy_Keypad);
+            this.relationUIProxy_UIKeypad = new global::System.Data.DataRelation("UIProxy_UIKeypad", new global::System.Data.DataColumn[] {
+                        this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.UIDColumn}, false);
+            this.Relations.Add(this.relationUIProxy_UIKeypad);
+            this.relationFK_LogicalDisplay_UIKeypad = new global::System.Data.DataRelation("FK_LogicalDisplay_UIKeypad", new global::System.Data.DataColumn[] {
+                        this.tableLogicalDisplay.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypad.LogicalDisplayUIDColumn}, false);
+            this.Relations.Add(this.relationFK_LogicalDisplay_UIKeypad);
             this.relationLogicalPeripheral_UIKeypad = new global::System.Data.DataRelation("LogicalPeripheral_UIKeypad", new global::System.Data.DataColumn[] {
                         this.tableLogicalPeripheral.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUIKeypad.LogicalPeripheralUIDColumn}, false);
             this.Relations.Add(this.relationLogicalPeripheral_UIKeypad);
-            this.relationFK_LogicalDisplay_UIKeypad = new global::System.Data.DataRelation("FK_LogicalDisplay_UIKeypad", new global::System.Data.DataColumn[] {
-                        this.tableLogicalDisplay.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.LogicalDisplayUIDColumn}, false);
-            this.Relations.Add(this.relationFK_LogicalDisplay_UIKeypad);
-            this.relationUIProxy_UIKeypad = new global::System.Data.DataRelation("UIProxy_UIKeypad", new global::System.Data.DataColumn[] {
+            this.relationFK_LogicalKey_UIKeypadItem = new global::System.Data.DataRelation("FK_LogicalKey_UIKeypadItem", new global::System.Data.DataColumn[] {
+                        this.tableLogicalKey.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.LogicalKeyUIDColumn}, false);
+            this.Relations.Add(this.relationFK_LogicalKey_UIKeypadItem);
+            this.relationFK_LogicalLed_UIKeypadItem = new global::System.Data.DataRelation("FK_LogicalLed_UIKeypadItem", new global::System.Data.DataColumn[] {
+                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.LogicalLedUIDColumn}, false);
+            this.Relations.Add(this.relationFK_LogicalLed_UIKeypadItem);
+            this.relationUIKeypad_UIKeypadItem = new global::System.Data.DataRelation("UIKeypad_UIKeypadItem", new global::System.Data.DataColumn[] {
                         this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.UIDColumn}, false);
-            this.Relations.Add(this.relationUIProxy_UIKeypad);
-            this.relationFK_UIProxy_Keypad_UIProxy_Keypad = new global::System.Data.DataRelation("FK_UIProxy_Keypad_UIProxy_Keypad", new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.OwnerKeypadUIDColumn}, false);
-            this.Relations.Add(this.relationFK_UIProxy_Keypad_UIProxy_Keypad);
-            this.relationFK_LogicalKeyboardReader_UIKeypad = new global::System.Data.DataRelation("FK_LogicalKeyboardReader_UIKeypad", new global::System.Data.DataColumn[] {
-                        this.tableLogicalKeyboardReader.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypad.LogicalKeyboardReaderUIDColumn}, false);
-            this.Relations.Add(this.relationFK_LogicalKeyboardReader_UIKeypad);
-            this.relationFK_Signal_UIKeypadItem2 = new global::System.Data.DataRelation("FK_Signal_UIKeypadItem2", new global::System.Data.DataColumn[] {
+                        this.tableUIKeypadItem.UIKeypadUIDColumn}, false);
+            this.Relations.Add(this.relationUIKeypad_UIKeypadItem);
+            this.relationSignal_UIKeypadItem1 = new global::System.Data.DataRelation("Signal_UIKeypadItem1", new global::System.Data.DataColumn[] {
                         this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.GreenLed_SignalUIDColumn}, false);
-            this.Relations.Add(this.relationFK_Signal_UIKeypadItem2);
+                        this.tableUIKeypadItem.YellowLed_SignalUIDColumn}, false);
+            this.Relations.Add(this.relationSignal_UIKeypadItem1);
             this.relationSignal_UIKeypadItem = new global::System.Data.DataRelation("Signal_UIKeypadItem", new global::System.Data.DataColumn[] {
                         this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUIKeypadItem.RedLed_SignalUIDColumn}, false);
             this.Relations.Add(this.relationSignal_UIKeypadItem);
-            this.relationSignal_UIKeypadItem1 = new global::System.Data.DataRelation("Signal_UIKeypadItem1", new global::System.Data.DataColumn[] {
+            this.relationFK_Signal_UIKeypadItem2 = new global::System.Data.DataRelation("FK_Signal_UIKeypadItem2", new global::System.Data.DataColumn[] {
                         this.tableSignal.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.YellowLed_SignalUIDColumn}, false);
-            this.Relations.Add(this.relationSignal_UIKeypadItem1);
-            this.relationUIKeypad_UIKeypadItem = new global::System.Data.DataRelation("UIKeypad_UIKeypadItem", new global::System.Data.DataColumn[] {
-                        this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.UIKeypadUIDColumn}, false);
-            this.Relations.Add(this.relationUIKeypad_UIKeypadItem);
-            this.relationFK_LogicalLed_UIKeypadItem = new global::System.Data.DataRelation("FK_LogicalLed_UIKeypadItem", new global::System.Data.DataColumn[] {
-                        this.tableLogicalLed.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.LogicalLedUIDColumn}, false);
-            this.Relations.Add(this.relationFK_LogicalLed_UIKeypadItem);
-            this.relationFK_LogicalKey_UIKeypadItem = new global::System.Data.DataRelation("FK_LogicalKey_UIKeypadItem", new global::System.Data.DataColumn[] {
-                        this.tableLogicalKey.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUIKeypadItem.LogicalKeyUIDColumn}, false);
-            this.Relations.Add(this.relationFK_LogicalKey_UIKeypadItem);
+                        this.tableUIKeypadItem.GreenLed_SignalUIDColumn}, false);
+            this.Relations.Add(this.relationFK_Signal_UIKeypadItem2);
             this.relationFK_LogicalDevice_LogicalDisplay = new global::System.Data.DataRelation("FK_LogicalDevice_LogicalDisplay", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalDisplay.UIDColumn}, false);
             this.Relations.Add(this.relationFK_LogicalDevice_LogicalDisplay);
+            this.relationFK_ScheduledItem_ScheduledItem_UIProxy = new global::System.Data.DataRelation("FK_ScheduledItem_ScheduledItem_UIProxy", new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_UIProxy.ScheduledItemUIDColumn}, false);
+            this.Relations.Add(this.relationFK_ScheduledItem_ScheduledItem_UIProxy);
             this.relationFK_UIProxy_ScheduledItem_UIProxy = new global::System.Data.DataRelation("FK_UIProxy_ScheduledItem_UIProxy", new global::System.Data.DataColumn[] {
                         this.tableUIProxy.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableScheduledItem_UIProxy.UIProxyUIDColumn}, false);
             this.Relations.Add(this.relationFK_UIProxy_ScheduledItem_UIProxy);
-            this.relationFK_ScheduledItem_ScheduledItem_UIProxy = new global::System.Data.DataRelation("FK_ScheduledItem_ScheduledItem_UIProxy", new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_UIProxy.ScheduledItemUIDColumn}, false);
-            this.Relations.Add(this.relationFK_ScheduledItem_ScheduledItem_UIProxy);
             this.relationFK_HardwareDevice_HWBus2KeypadLED = new global::System.Data.DataRelation("FK_HardwareDevice_HWBus2KeypadLED", new global::System.Data.DataColumn[] {
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHWBus2KeypadLED.UIDColumn}, false);
@@ -8965,30 +8965,30 @@
                         this.tableHardwareDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableHWBus2KeypadLCD.UIDColumn}, false);
             this.Relations.Add(this.relationFK_HardwareDevice_HWBus2KeypadLCD);
+            this.relationFK_ScheduledItem_ScheduledItem_Partition = new global::System.Data.DataRelation("FK_ScheduledItem_ScheduledItem_Partition", new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableScheduledItem_Partition.ScheduledItemUIDColumn}, false);
+            this.Relations.Add(this.relationFK_ScheduledItem_ScheduledItem_Partition);
             this.relationFK_Partition_ScheduledItem_Partition = new global::System.Data.DataRelation("FK_Partition_ScheduledItem_Partition", new global::System.Data.DataColumn[] {
                         this.tablePartition.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableScheduledItem_Partition.PartitionUIDColumn}, false);
             this.Relations.Add(this.relationFK_Partition_ScheduledItem_Partition);
-            this.relationFK_ScheduledItem_ScheduledItem_Partition = new global::System.Data.DataRelation("FK_ScheduledItem_ScheduledItem_Partition", new global::System.Data.DataColumn[] {
+            this.relationScheduledItem_UserGroup_ScheduledItem = new global::System.Data.DataRelation("ScheduledItem_UserGroup_ScheduledItem", new global::System.Data.DataColumn[] {
                         this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem_Partition.ScheduledItemUIDColumn}, false);
-            this.Relations.Add(this.relationFK_ScheduledItem_ScheduledItem_Partition);
+                        this.tableUserGroup_ScheduledItem.ScheduledItemUIDColumn}, false);
+            this.Relations.Add(this.relationScheduledItem_UserGroup_ScheduledItem);
             this.relationUserGroup_UserGroup_ScheduledItem = new global::System.Data.DataRelation("UserGroup_UserGroup_ScheduledItem", new global::System.Data.DataColumn[] {
                         this.tableUserGroup.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableUserGroup_ScheduledItem.UserGroupUIDColumn}, false);
             this.Relations.Add(this.relationUserGroup_UserGroup_ScheduledItem);
-            this.relationScheduledItem_UserGroup_ScheduledItem = new global::System.Data.DataRelation("ScheduledItem_UserGroup_ScheduledItem", new global::System.Data.DataColumn[] {
-                        this.tableScheduledItem.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableUserGroup_ScheduledItem.ScheduledItemUIDColumn}, false);
-            this.Relations.Add(this.relationScheduledItem_UserGroup_ScheduledItem);
+            this.relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton = new global::System.Data.DataRelation("FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton", new global::System.Data.DataColumn[] {
+                        this.tableLogicalWirelessPanicButton.UIDColumn}, new global::System.Data.DataColumn[] {
+                        this.tableVirtualWirelessPanicButton.LogicalRFPanicButtonUIDColumn}, false);
+            this.Relations.Add(this.relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton);
             this.relationFK_VirtualDevice_VirtualWirelessPanicButton = new global::System.Data.DataRelation("FK_VirtualDevice_VirtualWirelessPanicButton", new global::System.Data.DataColumn[] {
                         this.tableVirtualDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableVirtualWirelessPanicButton.UIDColumn}, false);
             this.Relations.Add(this.relationFK_VirtualDevice_VirtualWirelessPanicButton);
-            this.relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton = new global::System.Data.DataRelation("FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton", new global::System.Data.DataColumn[] {
-                        this.tableLogicalWirelessPanicButton.UIDColumn}, new global::System.Data.DataColumn[] {
-                        this.tableVirtualWirelessPanicButton.LogicalRFPanicButtonUIDColumn}, false);
-            this.Relations.Add(this.relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton);
             this.relationLogicalDevice_LogicalWirelessPanicButton = new global::System.Data.DataRelation("LogicalDevice_LogicalWirelessPanicButton", new global::System.Data.DataColumn[] {
                         this.tableLogicalDevice.UIDColumn}, new global::System.Data.DataColumn[] {
                         this.tableLogicalWirelessPanicButton.UIDColumn}, false);
@@ -25141,7 +25141,7 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow AddVirtualHardwiredDoorRow(VirtualDeviceRow parentVirtualDeviceRowByVirtualDevice_VirtualWiredDoor, bool AcousticPrealarm, int PrealarmTime, int AlarmTime, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor1, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor1, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor6, string expName, string expDetGroupName, string expPartitionName) {
+            public VirtualHardwiredDoorRow AddVirtualHardwiredDoorRow(VirtualDoorRow parentVirtualDoorRowByVirtualDoor_VirtualHardwiredDoor, bool AcousticPrealarm, int PrealarmTime, int AlarmTime, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor1, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor1, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor6, string expName, string expDetGroupName, string expPartitionName) {
                 VirtualHardwiredDoorRow rowVirtualHardwiredDoorRow = ((VirtualHardwiredDoorRow)(this.NewRow()));
                 object[] columnValuesArray = new object[] {
                         null,
@@ -25158,8 +25158,8 @@
                         expName,
                         expDetGroupName,
                         expPartitionName};
-                if ((parentVirtualDeviceRowByVirtualDevice_VirtualWiredDoor != null)) {
-                    columnValuesArray[0] = parentVirtualDeviceRowByVirtualDevice_VirtualWiredDoor[0];
+                if ((parentVirtualDoorRowByVirtualDoor_VirtualHardwiredDoor != null)) {
+                    columnValuesArray[0] = parentVirtualDoorRowByVirtualDoor_VirtualHardwiredDoor[0];
                 }
                 if ((parentLogicalInputRowByLogicalInput_VirtualWiredDoor != null)) {
                     columnValuesArray[4] = parentLogicalInputRowByLogicalInput_VirtualWiredDoor[0];
@@ -25189,7 +25189,7 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow AddVirtualHardwiredDoorRow(VirtualDeviceRow parentVirtualDeviceRowByVirtualDevice_VirtualWiredDoor, bool AcousticPrealarm, int PrealarmTime, int AlarmTime, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor1, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor1, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor6) {
+            public VirtualHardwiredDoorRow AddVirtualHardwiredDoorRow(VirtualDoorRow parentVirtualDoorRowByVirtualDoor_VirtualHardwiredDoor, bool AcousticPrealarm, int PrealarmTime, int AlarmTime, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor1, LogicalInputRow parentLogicalInputRowByLogicalInput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor1, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor2, LogicalOutputRow parentLogicalOutputRowByLogicalOutput_VirtualWiredDoor6) {
                 VirtualHardwiredDoorRow rowVirtualHardwiredDoorRow = ((VirtualHardwiredDoorRow)(this.NewRow()));
                 object[] columnValuesArray = new object[] {
                         null,
@@ -25206,8 +25206,8 @@
                         null,
                         null,
                         null};
-                if ((parentVirtualDeviceRowByVirtualDevice_VirtualWiredDoor != null)) {
-                    columnValuesArray[0] = parentVirtualDeviceRowByVirtualDevice_VirtualWiredDoor[0];
+                if ((parentVirtualDoorRowByVirtualDoor_VirtualHardwiredDoor != null)) {
+                    columnValuesArray[0] = parentVirtualDoorRowByVirtualDoor_VirtualHardwiredDoor[0];
                 }
                 if ((parentLogicalInputRowByLogicalInput_VirtualWiredDoor != null)) {
                     columnValuesArray[4] = parentLogicalInputRowByLogicalInput_VirtualWiredDoor[0];
@@ -41176,6 +41176,8 @@
             
             private global::System.Data.DataColumn columnSettingInput4SwitchingDevice;
             
+            private global::System.Data.DataColumn columnDoorDatapointNumber;
+            
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
             public HWBus2DoorGuardDataTable() {
@@ -41339,6 +41341,14 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
+            public global::System.Data.DataColumn DoorDatapointNumberColumn {
+                get {
+                    return this.columnDoorDatapointNumber;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
             [global::System.ComponentModel.Browsable(false)]
             public int Count {
                 get {
@@ -41390,7 +41400,8 @@
                         int SettingInput3ActivateSirenFlasher, 
                         int SettingInput4ActivateSirenFlasher, 
                         int SettingInput3Storage, 
-                        int SettingInput4SwitchingDevice) {
+                        int SettingInput4SwitchingDevice, 
+                        int DoorDatapointNumber) {
                 HWBus2DoorGuardRow rowHWBus2DoorGuardRow = ((HWBus2DoorGuardRow)(this.NewRow()));
                 object[] columnValuesArray = new object[] {
                         null,
@@ -41408,7 +41419,8 @@
                         SettingInput3ActivateSirenFlasher,
                         SettingInput4ActivateSirenFlasher,
                         SettingInput3Storage,
-                        SettingInput4SwitchingDevice};
+                        SettingInput4SwitchingDevice,
+                        DoorDatapointNumber};
                 if ((parentHardwareDeviceRowByHardwareDevice_HWBus2DoorGuard != null)) {
                     columnValuesArray[0] = parentHardwareDeviceRowByHardwareDevice_HWBus2DoorGuard[0];
                 }
@@ -41457,6 +41469,7 @@
                 this.columnSettingInput4ActivateSirenFlasher = base.Columns["SettingInput4ActivateSirenFlasher"];
                 this.columnSettingInput3Storage = base.Columns["SettingInput3Storage"];
                 this.columnSettingInput4SwitchingDevice = base.Columns["SettingInput4SwitchingDevice"];
+                this.columnDoorDatapointNumber = base.Columns["DoorDatapointNumber"];
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -41494,6 +41507,8 @@
                 base.Columns.Add(this.columnSettingInput3Storage);
                 this.columnSettingInput4SwitchingDevice = new global::System.Data.DataColumn("SettingInput4SwitchingDevice", typeof(int), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnSettingInput4SwitchingDevice);
+                this.columnDoorDatapointNumber = new global::System.Data.DataColumn("DoorDatapointNumber", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnDoorDatapointNumber);
                 this.Constraints.Add(new global::System.Data.UniqueConstraint("HWBus2DoorGuardKey1", new global::System.Data.DataColumn[] {
                                 this.columnUID}, true));
                 this.columnUID.AllowDBNull = false;
@@ -41918,6 +41933,8 @@
             
             private global::System.Data.DataColumn columnDoorBell;
             
+            private global::System.Data.DataColumn columnDoorDatapointNumber;
+            
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
             public HWBus2Identkey3DataTable() {
@@ -42001,6 +42018,14 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
+            public global::System.Data.DataColumn DoorDatapointNumberColumn {
+                get {
+                    return this.columnDoorDatapointNumber;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
             [global::System.ComponentModel.Browsable(false)]
             public int Count {
                 get {
@@ -42036,7 +42061,7 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public HWBus2Identkey3Row AddHWBus2Identkey3Row(HardwareDeviceRow parentHardwareDeviceRowByHardwareDevice_HWBus2IdentKey3, bool SLActive, bool SLEvaluation, bool SLDetection, bool SPE, bool DoorBell) {
+            public HWBus2Identkey3Row AddHWBus2Identkey3Row(HardwareDeviceRow parentHardwareDeviceRowByHardwareDevice_HWBus2IdentKey3, bool SLActive, bool SLEvaluation, bool SLDetection, bool SPE, bool DoorBell, int DoorDatapointNumber) {
                 HWBus2Identkey3Row rowHWBus2Identkey3Row = ((HWBus2Identkey3Row)(this.NewRow()));
                 object[] columnValuesArray = new object[] {
                         null,
@@ -42044,7 +42069,8 @@
                         SLEvaluation,
                         SLDetection,
                         SPE,
-                        DoorBell};
+                        DoorBell,
+                        DoorDatapointNumber};
                 if ((parentHardwareDeviceRowByHardwareDevice_HWBus2IdentKey3 != null)) {
                     columnValuesArray[0] = parentHardwareDeviceRowByHardwareDevice_HWBus2IdentKey3[0];
                 }
@@ -42083,6 +42109,7 @@
                 this.columnSLDetection = base.Columns["SLDetection"];
                 this.columnSPE = base.Columns["SPE"];
                 this.columnDoorBell = base.Columns["DoorBell"];
+                this.columnDoorDatapointNumber = base.Columns["DoorDatapointNumber"];
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -42100,6 +42127,8 @@
                 base.Columns.Add(this.columnSPE);
                 this.columnDoorBell = new global::System.Data.DataColumn("DoorBell", typeof(bool), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnDoorBell);
+                this.columnDoorDatapointNumber = new global::System.Data.DataColumn("DoorDatapointNumber", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnDoorDatapointNumber);
                 this.Constraints.Add(new global::System.Data.UniqueConstraint("HWBus2IdentKey3Key1", new global::System.Data.DataColumn[] {
                                 this.columnUID}, true));
                 this.columnUID.AllowDBNull = false;
@@ -81452,23 +81481,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SounderTemplateRow SounderTemplateRow {
+            public PartitionMemberRow PartitionMemberRow {
                 get {
-                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_DetectorGroup"])));
+                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["PartitionMember_DetectorGroup"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_DetectorGroup"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["PartitionMember_DetectorGroup"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionMemberRow PartitionMemberRow {
+            public SounderTemplateRow SounderTemplateRow {
                 get {
-                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["PartitionMember_DetectorGroup"])));
+                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_DetectorGroup"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["PartitionMember_DetectorGroup"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_DetectorGroup"]);
                 }
             }
             
@@ -81744,23 +81773,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalPIRRow LogicalPIRRow {
+            public VirtualPIRRow VirtualPIRRow {
                 get {
-                    return ((LogicalPIRRow)(this.GetParentRow(this.Table.ParentRelations["LogicalPIR_VirtualBusPIR"])));
+                    return ((VirtualPIRRow)(this.GetParentRow(this.Table.ParentRelations["VirtualPIR_VirtualBusPIR"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalPIR_VirtualBusPIR"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualPIR_VirtualBusPIR"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualPIRRow VirtualPIRRow {
+            public LogicalPIRRow LogicalPIRRow {
                 get {
-                    return ((VirtualPIRRow)(this.GetParentRow(this.Table.ParentRelations["VirtualPIR_VirtualBusPIR"])));
+                    return ((LogicalPIRRow)(this.GetParentRow(this.Table.ParentRelations["LogicalPIR_VirtualBusPIR"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualPIR_VirtualBusPIR"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalPIR_VirtualBusPIR"]);
                 }
             }
             
@@ -81920,23 +81949,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualInput"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualInput"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualInput"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualInput"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalInputRow LogicalInputRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualInput"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualInput"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualInput"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualInput"]);
                 }
             }
             
@@ -82124,12 +82153,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRow {
+            public SignalRow SignalRow {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualOutput"])));
+                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["FK_Signal_VirtualOutput"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualOutput"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Signal_VirtualOutput"]);
                 }
             }
             
@@ -82146,12 +82175,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SignalRow SignalRow {
+            public LogicalOutputRow LogicalOutputRow {
                 get {
-                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["FK_Signal_VirtualOutput"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualOutput"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_Signal_VirtualOutput"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualOutput"]);
                 }
             }
             
@@ -83204,23 +83233,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalDoorRow LogicalDoorRow {
+            public VirtualDoorRow VirtualDoorRow {
                 get {
-                    return ((LogicalDoorRow)(this.GetParentRow(this.Table.ParentRelations["LogicalDoor_VirtualBusDoor"])));
+                    return ((VirtualDoorRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDoor_VirtualBusDoor"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalDoor_VirtualBusDoor"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDoor_VirtualBusDoor"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDoorRow VirtualDoorRow {
+            public LogicalDoorRow LogicalDoorRow {
                 get {
-                    return ((VirtualDoorRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDoor_VirtualBusDoor"])));
+                    return ((LogicalDoorRow)(this.GetParentRow(this.Table.ParentRelations["LogicalDoor_VirtualBusDoor"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDoor_VirtualBusDoor"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalDoor_VirtualBusDoor"]);
                 }
             }
             
@@ -83985,12 +84014,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ConditionRow ConditionRow {
+            public ActionRow ActionRowByActionOn_Macro {
                 get {
-                    return ((ConditionRow)(this.GetParentRow(this.Table.ParentRelations["Condition_Macro"])));
+                    return ((ActionRow)(this.GetParentRow(this.Table.ParentRelations["ActionOn_Macro"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["Condition_Macro"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["ActionOn_Macro"]);
                 }
             }
             
@@ -84007,12 +84036,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ActionRow ActionRowByActionOn_Macro {
+            public ConditionRow ConditionRow {
                 get {
-                    return ((ActionRow)(this.GetParentRow(this.Table.ParentRelations["ActionOn_Macro"])));
+                    return ((ConditionRow)(this.GetParentRow(this.Table.ParentRelations["Condition_Macro"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["ActionOn_Macro"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["Condition_Macro"]);
                 }
             }
             
@@ -84171,23 +84200,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public MacroRow[] GetMacroRowsByActionOff_Macro() {
-                if ((this.Table.ChildRelations["ActionOff_Macro"] == null)) {
+            public MacroRow[] GetMacroRowsByActionOn_Macro() {
+                if ((this.Table.ChildRelations["ActionOn_Macro"] == null)) {
                     return new MacroRow[0];
                 }
                 else {
-                    return ((MacroRow[])(base.GetChildRows(this.Table.ChildRelations["ActionOff_Macro"])));
+                    return ((MacroRow[])(base.GetChildRows(this.Table.ChildRelations["ActionOn_Macro"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public MacroRow[] GetMacroRowsByActionOn_Macro() {
-                if ((this.Table.ChildRelations["ActionOn_Macro"] == null)) {
+            public MacroRow[] GetMacroRowsByActionOff_Macro() {
+                if ((this.Table.ChildRelations["ActionOff_Macro"] == null)) {
                     return new MacroRow[0];
                 }
                 else {
-                    return ((MacroRow[])(base.GetChildRows(this.Table.ChildRelations["ActionOn_Macro"])));
+                    return ((MacroRow[])(base.GetChildRows(this.Table.ChildRelations["ActionOff_Macro"])));
                 }
             }
         }
@@ -84401,23 +84430,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualWindowRow[] GetVirtualWindowRowsByLogicalInput_VirtualWindow() {
-                if ((this.Table.ChildRelations["LogicalInput_VirtualWindow"] == null)) {
+            public VirtualWindowRow[] GetVirtualWindowRowsByLogicalInput_VirtualWindow1() {
+                if ((this.Table.ChildRelations["LogicalInput_VirtualWindow1"] == null)) {
                     return new VirtualWindowRow[0];
                 }
                 else {
-                    return ((VirtualWindowRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWindow"])));
+                    return ((VirtualWindowRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWindow1"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualWindowRow[] GetVirtualWindowRowsByLogicalInput_VirtualWindow1() {
-                if ((this.Table.ChildRelations["LogicalInput_VirtualWindow1"] == null)) {
+            public VirtualWindowRow[] GetVirtualWindowRowsByLogicalInput_VirtualWindow() {
+                if ((this.Table.ChildRelations["LogicalInput_VirtualWindow"] == null)) {
                     return new VirtualWindowRow[0];
                 }
                 else {
-                    return ((VirtualWindowRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWindow1"])));
+                    return ((VirtualWindowRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWindow"])));
                 }
             }
             
@@ -84434,12 +84463,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor1() {
-                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredDoor1"] == null)) {
+            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor2() {
+                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredDoor2"] == null)) {
                     return new VirtualHardwiredDoorRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredDoor1"])));
+                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredDoor2"])));
                 }
             }
             
@@ -84456,23 +84485,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor2() {
-                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredDoor2"] == null)) {
+            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor1() {
+                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredDoor1"] == null)) {
                     return new VirtualHardwiredDoorRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredDoor2"])));
+                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredDoor1"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR() {
-                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredPIR"] == null)) {
+            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR2() {
+                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredPIR2"] == null)) {
                     return new VirtualHardwiredPIRRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredPIR"])));
+                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredPIR2"])));
                 }
             }
             
@@ -84489,12 +84518,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR2() {
-                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredPIR2"] == null)) {
+            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR() {
+                if ((this.Table.ChildRelations["LogicalInput_VirtualWiredPIR"] == null)) {
                     return new VirtualHardwiredPIRRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredPIR2"])));
+                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalInput_VirtualWiredPIR"])));
                 }
             }
             
@@ -84665,67 +84694,67 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor6() {
-                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor6"] == null)) {
+            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor() {
+                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor"] == null)) {
                     return new VirtualHardwiredDoorRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor6"])));
+                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor2() {
-                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor2"] == null)) {
+            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor1() {
+                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor1"] == null)) {
                     return new VirtualHardwiredDoorRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor2"])));
+                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor1"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor1() {
-                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor1"] == null)) {
+            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor2() {
+                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor2"] == null)) {
                     return new VirtualHardwiredDoorRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor1"])));
+                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor2"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor() {
-                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor"] == null)) {
+            public VirtualHardwiredDoorRow[] GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor6() {
+                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor6"] == null)) {
                     return new VirtualHardwiredDoorRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor"])));
+                    return ((VirtualHardwiredDoorRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredDoor6"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR1() {
-                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR1"] == null)) {
+            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR2() {
+                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR2"] == null)) {
                     return new VirtualHardwiredPIRRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR1"])));
+                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR2"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR2() {
-                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR2"] == null)) {
+            public VirtualHardwiredPIRRow[] GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR1() {
+                if ((this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR1"] == null)) {
                     return new VirtualHardwiredPIRRow[0];
                 }
                 else {
-                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR2"])));
+                    return ((VirtualHardwiredPIRRow[])(base.GetChildRows(this.Table.ChildRelations["LogicalOutput_VirtualWiredPIR1"])));
                 }
             }
             
@@ -86164,23 +86193,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionDependencyRow[] GetPartitionDependencyRows() {
-                if ((this.Table.ChildRelations["FK_Partition_PartitionDependency"] == null)) {
+            public PartitionDependencyRow[] GetPartitionDependencyRowsByFK_Partition_PartitionDependency1() {
+                if ((this.Table.ChildRelations["FK_Partition_PartitionDependency1"] == null)) {
                     return new PartitionDependencyRow[0];
                 }
                 else {
-                    return ((PartitionDependencyRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Partition_PartitionDependency"])));
+                    return ((PartitionDependencyRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Partition_PartitionDependency1"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionDependencyRow[] GetPartitionDependencyRowsByFK_Partition_PartitionDependency1() {
-                if ((this.Table.ChildRelations["FK_Partition_PartitionDependency1"] == null)) {
+            public PartitionDependencyRow[] GetPartitionDependencyRows() {
+                if ((this.Table.ChildRelations["FK_Partition_PartitionDependency"] == null)) {
                     return new PartitionDependencyRow[0];
                 }
                 else {
-                    return ((PartitionDependencyRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Partition_PartitionDependency1"])));
+                    return ((PartitionDependencyRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Partition_PartitionDependency"])));
                 }
             }
             
@@ -87372,23 +87401,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public CommandRow CommandRow {
+            public ActionRow ActionRow {
                 get {
-                    return ((CommandRow)(this.GetParentRow(this.Table.ParentRelations["Command_ActionList_Command"])));
+                    return ((ActionRow)(this.GetParentRow(this.Table.ParentRelations["ActionList_ActionList_Command"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["Command_ActionList_Command"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["ActionList_ActionList_Command"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ActionRow ActionRow {
+            public CommandRow CommandRow {
                 get {
-                    return ((ActionRow)(this.GetParentRow(this.Table.ParentRelations["ActionList_ActionList_Command"])));
+                    return ((CommandRow)(this.GetParentRow(this.Table.ParentRelations["Command_ActionList_Command"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["ActionList_ActionList_Command"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["Command_ActionList_Command"]);
                 }
             }
             
@@ -88128,23 +88157,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalDeviceRow LogicalDeviceRow {
+            public PartitionMemberRow PartitionMemberRow {
                 get {
-                    return ((LogicalDeviceRow)(this.GetParentRow(this.Table.ParentRelations["LogicalDevice_VirtualDevice"])));
+                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["PartitionMember_VirtualDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalDevice_VirtualDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["PartitionMember_VirtualDevice"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionMemberRow PartitionMemberRow {
+            public LogicalDeviceRow LogicalDeviceRow {
                 get {
-                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["PartitionMember_VirtualDevice"])));
+                    return ((LogicalDeviceRow)(this.GetParentRow(this.Table.ParentRelations["LogicalDevice_VirtualDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["PartitionMember_VirtualDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalDevice_VirtualDevice"]);
                 }
             }
             
@@ -89481,23 +89510,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public HardwareDeviceRow HardwareDeviceRowParent {
+            public CatalogueDataRow CatalogueDataRow {
                 get {
-                    return ((HardwareDeviceRow)(this.GetParentRow(this.Table.ParentRelations["HardwareDevice_HardwareDevice"])));
+                    return ((CatalogueDataRow)(this.GetParentRow(this.Table.ParentRelations["CatalogueData_HardwareDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["HardwareDevice_HardwareDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["CatalogueData_HardwareDevice"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public CatalogueDataRow CatalogueDataRow {
+            public HardwareDeviceRow HardwareDeviceRowParent {
                 get {
-                    return ((CatalogueDataRow)(this.GetParentRow(this.Table.ParentRelations["CatalogueData_HardwareDevice"])));
+                    return ((HardwareDeviceRow)(this.GetParentRow(this.Table.ParentRelations["HardwareDevice_HardwareDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["CatalogueData_HardwareDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["HardwareDevice_HardwareDevice"]);
                 }
             }
             
@@ -90244,23 +90273,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public WirelessMasterRow[] GetWirelessMasterRows() {
-                if ((this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster"] == null)) {
+            public WirelessMasterRow[] GetWirelessMasterRowsByFK_HardwareDevice_WirelessMaster1() {
+                if ((this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster1"] == null)) {
                     return new WirelessMasterRow[0];
                 }
                 else {
-                    return ((WirelessMasterRow[])(base.GetChildRows(this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster"])));
+                    return ((WirelessMasterRow[])(base.GetChildRows(this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster1"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public WirelessMasterRow[] GetWirelessMasterRowsByFK_HardwareDevice_WirelessMaster1() {
-                if ((this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster1"] == null)) {
+            public WirelessMasterRow[] GetWirelessMasterRows() {
+                if ((this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster"] == null)) {
                     return new WirelessMasterRow[0];
                 }
                 else {
-                    return ((WirelessMasterRow[])(base.GetChildRows(this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster1"])));
+                    return ((WirelessMasterRow[])(base.GetChildRows(this.Table.ChildRelations["FK_HardwareDevice_WirelessMaster"])));
                 }
             }
             
@@ -90504,67 +90533,67 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredPIR {
+            public VirtualPIRRow VirtualPIRRow {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredPIR"])));
+                    return ((VirtualPIRRow)(this.GetParentRow(this.Table.ParentRelations["VirtualPIR_VirtualHardwiredPIR"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredPIR"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualPIR_VirtualHardwiredPIR"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredPIR1 {
+            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredPIR2 {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredPIR1"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR2"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredPIR1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR2"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredPIR2 {
+            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredPIR1 {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredPIR2"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredPIR2"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR1"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredPIR1 {
+            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredPIR2 {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR1"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredPIR2"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredPIR2"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredPIR2 {
+            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredPIR1 {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR2"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredPIR1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredPIR2"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredPIR1"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualPIRRow VirtualPIRRow {
+            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredPIR {
                 get {
-                    return ((VirtualPIRRow)(this.GetParentRow(this.Table.ParentRelations["VirtualPIR_VirtualHardwiredPIR"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredPIR"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualPIR_VirtualHardwiredPIR"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredPIR"]);
                 }
             }
             
@@ -90942,45 +90971,45 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public VirtualDoorRow VirtualDoorRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWiredDoor"])));
+                    return ((VirtualDoorRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDoor_VirtualHardwiredDoor"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWiredDoor"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDoor_VirtualHardwiredDoor"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredDoor1 {
+            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredDoor2 {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredDoor1"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredDoor2"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredDoor1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredDoor2"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredDoor {
+            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredDoor {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredDoor"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredDoor"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredDoor6 {
+            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredDoor1 {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor6"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor6"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor1"]);
                 }
             }
             
@@ -90997,45 +91026,45 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredDoor1 {
+            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredDoor6 {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor1"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor6"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor6"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRowByLogicalOutput_VirtualWiredDoor {
+            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredDoor {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredDoor"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualWiredDoor"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredDoor"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredDoor2 {
+            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWiredDoor1 {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredDoor2"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWiredDoor1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredDoor2"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWiredDoor1"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDoorRow VirtualDoorRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((VirtualDoorRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDoor_VirtualHardwiredDoor"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWiredDoor"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDoor_VirtualHardwiredDoor"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWiredDoor"]);
                 }
             }
             
@@ -91271,23 +91300,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalSounderRow LogicalSounderRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalSounderRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSounder_VirtualSounder"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualSounder"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSounder_VirtualSounder"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualSounder"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalSounderRow LogicalSounderRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualSounder"])));
+                    return ((LogicalSounderRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSounder_VirtualSounder"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualSounder"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSounder_VirtualSounder"]);
                 }
             }
             
@@ -91425,23 +91454,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalEmailRow LogicalEmailRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalEmailRow)(this.GetParentRow(this.Table.ParentRelations["LogicalEmail_VirtualEmail"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualEmail"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalEmail_VirtualEmail"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualEmail"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalEmailRow LogicalEmailRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualEmail"])));
+                    return ((LogicalEmailRow)(this.GetParentRow(this.Table.ParentRelations["LogicalEmail_VirtualEmail"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualEmail"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalEmail_VirtualEmail"]);
                 }
             }
             
@@ -91557,23 +91586,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalCameraRow LogicalCameraRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalCameraRow)(this.GetParentRow(this.Table.ParentRelations["LogicalCamera_VirtualCamera"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualCamera"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalCamera_VirtualCamera"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualCamera"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalCameraRow LogicalCameraRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualCamera"])));
+                    return ((LogicalCameraRow)(this.GetParentRow(this.Table.ParentRelations["LogicalCamera_VirtualCamera"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualCamera"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalCamera_VirtualCamera"]);
                 }
             }
             
@@ -91689,23 +91718,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalSMSRow LogicalSMSRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalSMSRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSMS_VirtualSMS"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualSMS"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSMS_VirtualSMS"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualSMS"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalSMSRow LogicalSMSRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualSMS"])));
+                    return ((LogicalSMSRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSMS_VirtualSMS"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualSMS"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSMS_VirtualSMS"]);
                 }
             }
             
@@ -91821,23 +91850,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualUserInterfaceRow VirtualUserInterfaceRow {
+            public LogicalReaderRow LogicalReaderRow {
                 get {
-                    return ((VirtualUserInterfaceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualUserInterface_VirtualReader"])));
+                    return ((LogicalReaderRow)(this.GetParentRow(this.Table.ParentRelations["LogicalReader_VirtualReader"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualUserInterface_VirtualReader"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalReader_VirtualReader"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalReaderRow LogicalReaderRow {
+            public VirtualUserInterfaceRow VirtualUserInterfaceRow {
                 get {
-                    return ((LogicalReaderRow)(this.GetParentRow(this.Table.ParentRelations["LogicalReader_VirtualReader"])));
+                    return ((VirtualUserInterfaceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualUserInterface_VirtualReader"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalReader_VirtualReader"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualUserInterface_VirtualReader"]);
                 }
             }
             
@@ -91953,23 +91982,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualUserInterfaceRow VirtualUserInterfaceRow {
+            public LogicalKeyboardRow LogicalKeyboardRow {
                 get {
-                    return ((VirtualUserInterfaceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboard"])));
+                    return ((LogicalKeyboardRow)(this.GetParentRow(this.Table.ParentRelations["LogicalKeyboard_VirtualKeyboard"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboard"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalKeyboard_VirtualKeyboard"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalKeyboardRow LogicalKeyboardRow {
+            public VirtualUserInterfaceRow VirtualUserInterfaceRow {
                 get {
-                    return ((LogicalKeyboardRow)(this.GetParentRow(this.Table.ParentRelations["LogicalKeyboard_VirtualKeyboard"])));
+                    return ((VirtualUserInterfaceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboard"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalKeyboard_VirtualKeyboard"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboard"]);
                 }
             }
             
@@ -92087,23 +92116,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualUserInterfaceRow VirtualUserInterfaceRow {
+            public LogicalKeyboardReaderRow LogicalKeyboardReaderRow {
                 get {
-                    return ((VirtualUserInterfaceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboardReader"])));
+                    return ((LogicalKeyboardReaderRow)(this.GetParentRow(this.Table.ParentRelations["LogicalKeyboardReader_VirtualKeyboardReader"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboardReader"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalKeyboardReader_VirtualKeyboardReader"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalKeyboardReaderRow LogicalKeyboardReaderRow {
+            public VirtualUserInterfaceRow VirtualUserInterfaceRow {
                 get {
-                    return ((LogicalKeyboardReaderRow)(this.GetParentRow(this.Table.ParentRelations["LogicalKeyboardReader_VirtualKeyboardReader"])));
+                    return ((VirtualUserInterfaceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboardReader"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalKeyboardReader_VirtualKeyboardReader"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualUserInterface_VirtualKeyboardReader"]);
                 }
             }
             
@@ -92219,23 +92248,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalInputRow LogicalInputRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualKeySwitch"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualKeySwitch"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualKeySwitch"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualKeySwitch"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualKeySwitch"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualKeySwitch"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualKeySwitch"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualKeySwitch"]);
                 }
             }
             
@@ -92351,23 +92380,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualRelay"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualRelay"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualRelay"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualRelay"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalOutputRow LogicalOutputRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualRelay"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualRelay"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualRelay"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualRelay"]);
                 }
             }
             
@@ -92483,12 +92512,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWindow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWindow"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWindow"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWindow"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWindow"]);
                 }
             }
             
@@ -92505,12 +92534,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalInputRow LogicalInputRowByLogicalInput_VirtualWindow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWindow"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_VirtualWindow"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWindow"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_VirtualWindow"]);
                 }
             }
             
@@ -93367,23 +93396,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalPeripheralRow LogicalPeripheralRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualPeripheral"])));
+                    return ((LogicalPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["LogicalPeripheral_VirtualPeripheral"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualPeripheral"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalPeripheral_VirtualPeripheral"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalPeripheralRow LogicalPeripheralRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["LogicalPeripheral_VirtualPeripheral"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualPeripheral"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalPeripheral_VirtualPeripheral"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualPeripheral"]);
                 }
             }
             
@@ -93580,23 +93609,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalSmokeDetectorRow LogicalSmokeDetectorRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualSmokeDetector"])));
+                    return ((LogicalSmokeDetectorRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSmokeDetector_VirtualSmokeDetector"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualSmokeDetector"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSmokeDetector_VirtualSmokeDetector"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalSmokeDetectorRow LogicalSmokeDetectorRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalSmokeDetectorRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSmokeDetector_VirtualSmokeDetector"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualSmokeDetector"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSmokeDetector_VirtualSmokeDetector"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualSmokeDetector"]);
                 }
             }
             
@@ -93713,23 +93742,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalTemperatureRow LogicalTemperatureRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualTemperature"])));
+                    return ((LogicalTemperatureRow)(this.GetParentRow(this.Table.ParentRelations["LogicalTemperature_VirtualTemperature"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualTemperature"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalTemperature_VirtualTemperature"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalTemperatureRow LogicalTemperatureRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalTemperatureRow)(this.GetParentRow(this.Table.ParentRelations["LogicalTemperature_VirtualTemperature"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualTemperature"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalTemperature_VirtualTemperature"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualTemperature"]);
                 }
             }
             
@@ -94267,23 +94296,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public HardwareDeviceRow HardwareDeviceRow {
+            public HardwareDeviceRow HardwareDeviceRowByFK_HardwareDevice_WirelessMaster1 {
                 get {
-                    return ((HardwareDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster"])));
+                    return ((HardwareDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster1"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public HardwareDeviceRow HardwareDeviceRowByFK_HardwareDevice_WirelessMaster1 {
+            public HardwareDeviceRow HardwareDeviceRow {
                 get {
-                    return ((HardwareDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster1"])));
+                    return ((HardwareDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_HardwareDevice_WirelessMaster"]);
                 }
             }
             
@@ -94860,23 +94889,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public AccessPointRow AccessPointRow {
+            public UserRow UserRow {
                 get {
-                    return ((AccessPointRow)(this.GetParentRow(this.Table.ParentRelations["FK_AccessPoint_AccessPoint_User"])));
+                    return ((UserRow)(this.GetParentRow(this.Table.ParentRelations["FK_User_AccessPoint_User"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_AccessPoint_AccessPoint_User"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_User_AccessPoint_User"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UserRow UserRow {
+            public AccessPointRow AccessPointRow {
                 get {
-                    return ((UserRow)(this.GetParentRow(this.Table.ParentRelations["FK_User_AccessPoint_User"])));
+                    return ((AccessPointRow)(this.GetParentRow(this.Table.ParentRelations["FK_AccessPoint_AccessPoint_User"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_User_AccessPoint_User"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_AccessPoint_AccessPoint_User"]);
                 }
             }
             
@@ -95102,67 +95131,67 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle1 {
+            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle2 {
                 get {
-                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle1"])));
+                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle2"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle2"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle {
+            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle3 {
                 get {
-                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle"])));
+                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle3"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle3"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRow {
+            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle4 {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["Partition_ExternalSounderStyle"])));
+                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle4"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["Partition_ExternalSounderStyle"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle4"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle4 {
+            public PartitionRow PartitionRow {
                 get {
-                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle4"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["Partition_ExternalSounderStyle"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle4"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["Partition_ExternalSounderStyle"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle3 {
+            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle {
                 get {
-                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle3"])));
+                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle3"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle2 {
+            public SounderTemplateRow SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle1 {
                 get {
-                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle2"])));
+                    return ((SounderTemplateRow)(this.GetParentRow(this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle2"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_SounderTemplate_ExternalSounderStyle1"]);
                 }
             }
             
@@ -95502,23 +95531,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SignalingGroupRow SignalingGroupRow {
+            public PartitionRow PartitionRow {
                 get {
-                    return ((SignalingGroupRow)(this.GetParentRow(this.Table.ParentRelations["SignalingGroup_Partition_SignalingGroup"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["Partition_Partition_SignalingGroup"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["SignalingGroup_Partition_SignalingGroup"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["Partition_Partition_SignalingGroup"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRow {
+            public SignalingGroupRow SignalingGroupRow {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["Partition_Partition_SignalingGroup"])));
+                    return ((SignalingGroupRow)(this.GetParentRow(this.Table.ParentRelations["SignalingGroup_Partition_SignalingGroup"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["Partition_Partition_SignalingGroup"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["SignalingGroup_Partition_SignalingGroup"]);
                 }
             }
             
@@ -95607,23 +95636,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualSounderRow VirtualSounderRow {
+            public SignalingGroupRow SignalingGroupRow {
                 get {
-                    return ((VirtualSounderRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_SignalingGroup_Sounder"])));
+                    return ((SignalingGroupRow)(this.GetParentRow(this.Table.ParentRelations["SignalingGroup_SignalingGroup_Siren"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_SignalingGroup_Sounder"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["SignalingGroup_SignalingGroup_Siren"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SignalingGroupRow SignalingGroupRow {
+            public VirtualSounderRow VirtualSounderRow {
                 get {
-                    return ((SignalingGroupRow)(this.GetParentRow(this.Table.ParentRelations["SignalingGroup_SignalingGroup_Siren"])));
+                    return ((VirtualSounderRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_SignalingGroup_Sounder"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["SignalingGroup_SignalingGroup_Siren"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_SignalingGroup_Sounder"]);
                 }
             }
             
@@ -95712,23 +95741,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SignalingGroupRow SignalingGroupRow {
+            public VirtualFlasherRow VirtualFlasherRow {
                 get {
-                    return ((SignalingGroupRow)(this.GetParentRow(this.Table.ParentRelations["SignalingGroup_SignalingGroup_Flasher"])));
+                    return ((VirtualFlasherRow)(this.GetParentRow(this.Table.ParentRelations["VirtualFlasher_SignalingGroup_Flasher"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["SignalingGroup_SignalingGroup_Flasher"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualFlasher_SignalingGroup_Flasher"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualFlasherRow VirtualFlasherRow {
+            public SignalingGroupRow SignalingGroupRow {
                 get {
-                    return ((VirtualFlasherRow)(this.GetParentRow(this.Table.ParentRelations["VirtualFlasher_SignalingGroup_Flasher"])));
+                    return ((SignalingGroupRow)(this.GetParentRow(this.Table.ParentRelations["SignalingGroup_SignalingGroup_Flasher"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualFlasher_SignalingGroup_Flasher"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["SignalingGroup_SignalingGroup_Flasher"]);
                 }
             }
             
@@ -95848,12 +95877,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalInputRow LogicalInputRow {
+            public LogicalOutputRow LogicalOutputRow {
                 get {
-                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_APTurnstile"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_APTurnstile"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_APTurnstile"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_APTurnstile"]);
                 }
             }
             
@@ -95870,12 +95899,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRow {
+            public LogicalInputRow LogicalInputRow {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_APTurnstile"])));
+                    return ((LogicalInputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalInput_APTurnstile"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_APTurnstile"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalInput_APTurnstile"]);
                 }
             }
             
@@ -97558,6 +97587,22 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
+            public int DoorDatapointNumber {
+                get {
+                    try {
+                        return ((int)(this[this.tableHWBus2DoorGuard.DoorDatapointNumberColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("The value for column \'DoorDatapointNumber\' in table \'HWBus2DoorGuard\' is DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableHWBus2DoorGuard.DoorDatapointNumberColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
             public HardwareDeviceRow HardwareDeviceRow {
                 get {
                     return ((HardwareDeviceRow)(this.GetParentRow(this.Table.ParentRelations["HardwareDevice_HWBus2DoorGuard"])));
@@ -97746,6 +97791,18 @@
             public void SetSettingInput4SwitchingDeviceNull() {
                 this[this.tableHWBus2DoorGuard.SettingInput4SwitchingDeviceColumn] = global::System.Convert.DBNull;
             }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
+            public bool IsDoorDatapointNumberNull() {
+                return this.IsNull(this.tableHWBus2DoorGuard.DoorDatapointNumberColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
+            public void SetDoorDatapointNumberNull() {
+                this[this.tableHWBus2DoorGuard.DoorDatapointNumberColumn] = global::System.Convert.DBNull;
+            }
         }
         
         /// <summary>
@@ -97920,6 +97977,22 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
+            public int DoorDatapointNumber {
+                get {
+                    try {
+                        return ((int)(this[this.tableHWBus2Identkey3.DoorDatapointNumberColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("The value for column \'DoorDatapointNumber\' in table \'HWBus2Identkey3\' is DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableHWBus2Identkey3.DoorDatapointNumberColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
             public HardwareDeviceRow HardwareDeviceRow {
                 get {
                     return ((HardwareDeviceRow)(this.GetParentRow(this.Table.ParentRelations["HardwareDevice_HWBus2IdentKey3"])));
@@ -97988,6 +98061,18 @@
             public void SetDoorBellNull() {
                 this[this.tableHWBus2Identkey3.DoorBellColumn] = global::System.Convert.DBNull;
             }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
+            public bool IsDoorDatapointNumberNull() {
+                return this.IsNull(this.tableHWBus2Identkey3.DoorDatapointNumberColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
+            public void SetDoorDatapointNumberNull() {
+                this[this.tableHWBus2Identkey3.DoorDatapointNumberColumn] = global::System.Convert.DBNull;
+            }
         }
         
         /// <summary>
@@ -102597,23 +102682,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualPeripheralRow VirtualPeripheralRow {
+            public PartitionMemberRow PartitionMemberRow {
                 get {
-                    return ((VirtualPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType"])));
+                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["PartitionMember_VirtualPeripheralPartitionMemberFaultType"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["PartitionMember_VirtualPeripheralPartitionMemberFaultType"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionMemberRow PartitionMemberRow {
+            public VirtualPeripheralRow VirtualPeripheralRow {
                 get {
-                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["PartitionMember_VirtualPeripheralPartitionMemberFaultType"])));
+                    return ((VirtualPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["PartitionMember_VirtualPeripheralPartitionMemberFaultType"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType"]);
                 }
             }
             
@@ -103566,23 +103651,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public AccessPointRow AccessPointRow {
+            public ScheduledItemRow ScheduledItemRow {
                 get {
-                    return ((AccessPointRow)(this.GetParentRow(this.Table.ParentRelations["AccessPoint_ScheduledItem_AccessPoint"])));
+                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_AccessPointGroup_AccessPointGroup_AccessPoint"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["AccessPoint_ScheduledItem_AccessPoint"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_AccessPointGroup_AccessPointGroup_AccessPoint"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ScheduledItemRow ScheduledItemRow {
+            public AccessPointRow AccessPointRow {
                 get {
-                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_AccessPointGroup_AccessPointGroup_AccessPoint"])));
+                    return ((AccessPointRow)(this.GetParentRow(this.Table.ParentRelations["AccessPoint_ScheduledItem_AccessPoint"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_AccessPointGroup_AccessPointGroup_AccessPoint"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["AccessPoint_ScheduledItem_AccessPoint"]);
                 }
             }
             
@@ -104026,23 +104111,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public TimeScheduleRow TimeScheduleRow {
+            public UserGroupRow UserGroupRow {
                 get {
-                    return ((TimeScheduleRow)(this.GetParentRow(this.Table.ParentRelations["FK_TimeSchedule_UserGroup_TimeSchedule"])));
+                    return ((UserGroupRow)(this.GetParentRow(this.Table.ParentRelations["FK_RTZ_UserGroup_TimeSchedule"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_TimeSchedule_UserGroup_TimeSchedule"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_RTZ_UserGroup_TimeSchedule"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UserGroupRow UserGroupRow {
+            public TimeScheduleRow TimeScheduleRow {
                 get {
-                    return ((UserGroupRow)(this.GetParentRow(this.Table.ParentRelations["FK_RTZ_UserGroup_TimeSchedule"])));
+                    return ((TimeScheduleRow)(this.GetParentRow(this.Table.ParentRelations["FK_TimeSchedule_UserGroup_TimeSchedule"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_RTZ_UserGroup_TimeSchedule"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_TimeSchedule_UserGroup_TimeSchedule"]);
                 }
             }
             
@@ -104556,23 +104641,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UserGroupRow UserGroupRow {
+            public UserRow UserRow {
                 get {
-                    return ((UserGroupRow)(this.GetParentRow(this.Table.ParentRelations["UserGroup_User_UserGroup"])));
+                    return ((UserRow)(this.GetParentRow(this.Table.ParentRelations["User_User_UserGroup"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["UserGroup_User_UserGroup"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["User_User_UserGroup"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UserRow UserRow {
+            public UserGroupRow UserGroupRow {
                 get {
-                    return ((UserRow)(this.GetParentRow(this.Table.ParentRelations["User_User_UserGroup"])));
+                    return ((UserGroupRow)(this.GetParentRow(this.Table.ParentRelations["UserGroup_User_UserGroup"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["User_User_UserGroup"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["UserGroup_User_UserGroup"]);
                 }
             }
             
@@ -104676,23 +104761,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalOutputRow LogicalOutputRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualFlasher"])));
+                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualFlasher"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualFlasher"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualFlasher"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalOutputRow LogicalOutputRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalOutputRow)(this.GetParentRow(this.Table.ParentRelations["LogicalOutput_VirtualFlasher"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualFlasher"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalOutput_VirtualFlasher"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualFlasher"]);
                 }
             }
             
@@ -104820,23 +104905,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalDSAlarmReportingRow LogicalDSAlarmReportingRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualDSDevice"])));
+                    return ((LogicalDSAlarmReportingRow)(this.GetParentRow(this.Table.ParentRelations["LogicalDSAlarmReporting_VirtualDSDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualDSDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalDSAlarmReporting_VirtualDSDevice"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalDSAlarmReportingRow LogicalDSAlarmReportingRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalDSAlarmReportingRow)(this.GetParentRow(this.Table.ParentRelations["LogicalDSAlarmReporting_VirtualDSDevice"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualDSDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalDSAlarmReporting_VirtualDSDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualDSDevice"]);
                 }
             }
             
@@ -105084,23 +105169,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDSDeviceRow VirtualDSDeviceRow {
+            public PartitionRow PartitionRow {
                 get {
-                    return ((VirtualDSDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDSDevice_AlarmDevice"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_AlarmDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDSDevice_AlarmDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_AlarmDevice"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRow {
+            public VirtualDSDeviceRow VirtualDSDeviceRow {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_AlarmDevice"])));
+                    return ((VirtualDSDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDSDevice_AlarmDevice"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_AlarmDevice"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDSDevice_AlarmDevice"]);
                 }
             }
             
@@ -105246,23 +105331,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRow {
+            public AlarmDeviceRow AlarmDeviceRow {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_AlarmDevice_FaultPartition"])));
+                    return ((AlarmDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_AlarmDevice_AlarmDevice_FaultPartition"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_AlarmDevice_FaultPartition"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_AlarmDevice_AlarmDevice_FaultPartition"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public AlarmDeviceRow AlarmDeviceRow {
+            public PartitionRow PartitionRow {
                 get {
-                    return ((AlarmDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_AlarmDevice_AlarmDevice_FaultPartition"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_AlarmDevice_FaultPartition"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_AlarmDevice_AlarmDevice_FaultPartition"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_AlarmDevice_FaultPartition"]);
                 }
             }
             
@@ -105815,23 +105900,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalWirelessMasterRow LogicalWirelessMasterRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWirelessMaster"])));
+                    return ((LogicalWirelessMasterRow)(this.GetParentRow(this.Table.ParentRelations["LogicalWirelessMaster_VirtualWirelessMaster"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWirelessMaster"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalWirelessMaster_VirtualWirelessMaster"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalWirelessMasterRow LogicalWirelessMasterRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalWirelessMasterRow)(this.GetParentRow(this.Table.ParentRelations["LogicalWirelessMaster_VirtualWirelessMaster"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWirelessMaster"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalWirelessMaster_VirtualWirelessMaster"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWirelessMaster"]);
                 }
             }
             
@@ -106150,23 +106235,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalWirelessPeripheralRow LogicalWirelessPeripheralRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWirelessPeripheral"])));
+                    return ((LogicalWirelessPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["LogicalWirelessPeripheral_VirtualWirelessPeripheral"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWirelessPeripheral"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalWirelessPeripheral_VirtualWirelessPeripheral"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalWirelessPeripheralRow LogicalWirelessPeripheralRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalWirelessPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["LogicalWirelessPeripheral_VirtualWirelessPeripheral"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualWirelessPeripheral"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalWirelessPeripheral_VirtualWirelessPeripheral"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualWirelessPeripheral"]);
                 }
             }
             
@@ -106505,23 +106590,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalCarbonMonoxideRow LogicalCarbonMonoxideRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualCarbonMonoxide"])));
+                    return ((LogicalCarbonMonoxideRow)(this.GetParentRow(this.Table.ParentRelations["LogicalCarbonMonoxide_VirtualCarbonMonoxide"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualCarbonMonoxide"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalCarbonMonoxide_VirtualCarbonMonoxide"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalCarbonMonoxideRow LogicalCarbonMonoxideRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalCarbonMonoxideRow)(this.GetParentRow(this.Table.ParentRelations["LogicalCarbonMonoxide_VirtualCarbonMonoxide"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualCarbonMonoxide"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalCarbonMonoxide_VirtualCarbonMonoxide"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualCarbonMonoxide"]);
                 }
             }
             
@@ -106787,23 +106872,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle1() {
-                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle1"] == null)) {
+            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle2() {
+                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle2"] == null)) {
                     return new ExternalSounderStyleRow[0];
                 }
                 else {
-                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle1"])));
+                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle2"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle() {
-                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle"] == null)) {
+            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle3() {
+                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle3"] == null)) {
                     return new ExternalSounderStyleRow[0];
                 }
                 else {
-                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle"])));
+                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle3"])));
                 }
             }
             
@@ -106820,23 +106905,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle3() {
-                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle3"] == null)) {
+            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle() {
+                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle"] == null)) {
                     return new ExternalSounderStyleRow[0];
                 }
                 else {
-                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle3"])));
+                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle"])));
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle2() {
-                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle2"] == null)) {
+            public ExternalSounderStyleRow[] GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle1() {
+                if ((this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle1"] == null)) {
                     return new ExternalSounderStyleRow[0];
                 }
                 else {
-                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle2"])));
+                    return ((ExternalSounderStyleRow[])(base.GetChildRows(this.Table.ChildRelations["FK_SounderTemplate_ExternalSounderStyle1"])));
                 }
             }
             
@@ -107732,23 +107817,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UIProxyRow UIProxyRow {
+            public LogicalSmartUIRow LogicalSmartUIRow {
                 get {
-                    return ((UIProxyRow)(this.GetParentRow(this.Table.ParentRelations["UIProxy_UITouchCenter"])));
+                    return ((LogicalSmartUIRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSmartUI_UIProxyTouchCenter"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["UIProxy_UITouchCenter"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSmartUI_UIProxyTouchCenter"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalSmartUIRow LogicalSmartUIRow {
+            public UIProxyRow UIProxyRow {
                 get {
-                    return ((LogicalSmartUIRow)(this.GetParentRow(this.Table.ParentRelations["LogicalSmartUI_UIProxyTouchCenter"])));
+                    return ((UIProxyRow)(this.GetParentRow(this.Table.ParentRelations["UIProxy_UITouchCenter"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalSmartUI_UIProxyTouchCenter"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["UIProxy_UITouchCenter"]);
                 }
             }
             
@@ -108410,23 +108495,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRow {
+            public PartitionRow PartitionRowByFK_Partition_PartitionDependency1 {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_PartitionDependency"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_PartitionDependency1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_PartitionDependency"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_PartitionDependency1"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRowByFK_Partition_PartitionDependency1 {
+            public PartitionRow PartitionRow {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_PartitionDependency1"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_PartitionDependency"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_PartitionDependency1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_PartitionDependency"]);
                 }
             }
             
@@ -108794,23 +108879,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualSounderRow VirtualSounderRow {
+            public PartitionRow PartitionRow {
                 get {
-                    return ((VirtualSounderRow)(this.GetParentRow(this.Table.ParentRelations["VirtualSounder_Partition_LocalSounder"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["Partition_Partition_LocalSounder"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualSounder_Partition_LocalSounder"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["Partition_Partition_LocalSounder"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRow {
+            public VirtualSounderRow VirtualSounderRow {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["Partition_Partition_LocalSounder"])));
+                    return ((VirtualSounderRow)(this.GetParentRow(this.Table.ParentRelations["VirtualSounder_Partition_LocalSounder"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["Partition_Partition_LocalSounder"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualSounder_Partition_LocalSounder"]);
                 }
             }
             
@@ -109182,23 +109267,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public PartitionMemberRow PartitionMemberRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualDoor"])));
+                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["DetectorGroup_VirtualDoor"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualDoor"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["DetectorGroup_VirtualDoor"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionMemberRow PartitionMemberRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((PartitionMemberRow)(this.GetParentRow(this.Table.ParentRelations["DetectorGroup_VirtualDoor"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["VirtualDevice_VirtualDoor"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["DetectorGroup_VirtualDoor"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["VirtualDevice_VirtualDoor"]);
                 }
             }
             
@@ -109379,23 +109464,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ScheduledItemRow ScheduledItemRow {
+            public VirtualDoorRow VirtualDoorRow {
                 get {
-                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Door"])));
+                    return ((VirtualDoorRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDoor_ScheduledItem_Door"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Door"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDoor_ScheduledItem_Door"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDoorRow VirtualDoorRow {
+            public ScheduledItemRow ScheduledItemRow {
                 get {
-                    return ((VirtualDoorRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDoor_ScheduledItem_Door"])));
+                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Door"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDoor_ScheduledItem_Door"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Door"]);
                 }
             }
             
@@ -110293,23 +110378,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ScheduledItemRow ScheduledItemRow {
+            public AccessPointRow AccessPointRow {
                 get {
-                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_AP"])));
+                    return ((AccessPointRow)(this.GetParentRow(this.Table.ParentRelations["FK_AccessPoint_ScheduledItem_AP"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_AP"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_AccessPoint_ScheduledItem_AP"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public AccessPointRow AccessPointRow {
+            public ScheduledItemRow ScheduledItemRow {
                 get {
-                    return ((AccessPointRow)(this.GetParentRow(this.Table.ParentRelations["FK_AccessPoint_ScheduledItem_AP"])));
+                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_AP"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_AccessPoint_ScheduledItem_AP"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_AP"]);
                 }
             }
             
@@ -110437,12 +110522,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UIKeypadItemRow[] GetUIKeypadItemRowsByFK_Signal_UIKeypadItem2() {
-                if ((this.Table.ChildRelations["FK_Signal_UIKeypadItem2"] == null)) {
+            public UIKeypadItemRow[] GetUIKeypadItemRowsBySignal_UIKeypadItem1() {
+                if ((this.Table.ChildRelations["Signal_UIKeypadItem1"] == null)) {
                     return new UIKeypadItemRow[0];
                 }
                 else {
-                    return ((UIKeypadItemRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Signal_UIKeypadItem2"])));
+                    return ((UIKeypadItemRow[])(base.GetChildRows(this.Table.ChildRelations["Signal_UIKeypadItem1"])));
                 }
             }
             
@@ -110459,12 +110544,12 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UIKeypadItemRow[] GetUIKeypadItemRowsBySignal_UIKeypadItem1() {
-                if ((this.Table.ChildRelations["Signal_UIKeypadItem1"] == null)) {
+            public UIKeypadItemRow[] GetUIKeypadItemRowsByFK_Signal_UIKeypadItem2() {
+                if ((this.Table.ChildRelations["FK_Signal_UIKeypadItem2"] == null)) {
                     return new UIKeypadItemRow[0];
                 }
                 else {
-                    return ((UIKeypadItemRow[])(base.GetChildRows(this.Table.ChildRelations["Signal_UIKeypadItem1"])));
+                    return ((UIKeypadItemRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Signal_UIKeypadItem2"])));
                 }
             }
             
@@ -110523,23 +110608,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalKeyRow LogicalKeyRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalKeyRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalKey_VirtualKey"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDevice_VirtualKey"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalKey_VirtualKey"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDevice_VirtualKey"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalKeyRow LogicalKeyRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDevice_VirtualKey"])));
+                    return ((LogicalKeyRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalKey_VirtualKey"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDevice_VirtualKey"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalKey_VirtualKey"]);
                 }
             }
             
@@ -110658,23 +110743,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalLedRow LogicalLedRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDevice_VirtualLed"])));
+                    return ((LogicalLedRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalLed_VirtualLed"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDevice_VirtualLed"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalLed_VirtualLed"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalLedRow LogicalLedRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalLedRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalLed_VirtualLed"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDevice_VirtualLed"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalLed_VirtualLed"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDevice_VirtualLed"]);
                 }
             }
             
@@ -110953,23 +111038,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalPeripheralRow LogicalPeripheralRow {
+            public LogicalKeyboardReaderRow LogicalKeyboardReaderRow {
                 get {
-                    return ((LogicalPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["LogicalPeripheral_UIKeypad"])));
+                    return ((LogicalKeyboardReaderRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalKeyboardReader_UIKeypad"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["LogicalPeripheral_UIKeypad"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalKeyboardReader_UIKeypad"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalDisplayRow LogicalDisplayRow {
+            public UIKeypadRow UIKeypadRowParent {
                 get {
-                    return ((LogicalDisplayRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalDisplay_UIKeypad"])));
+                    return ((UIKeypadRow)(this.GetParentRow(this.Table.ParentRelations["FK_UIProxy_Keypad_UIProxy_Keypad"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalDisplay_UIKeypad"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_UIProxy_Keypad_UIProxy_Keypad"]);
                 }
             }
             
@@ -110986,23 +111071,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UIKeypadRow UIKeypadRowParent {
+            public LogicalDisplayRow LogicalDisplayRow {
                 get {
-                    return ((UIKeypadRow)(this.GetParentRow(this.Table.ParentRelations["FK_UIProxy_Keypad_UIProxy_Keypad"])));
+                    return ((LogicalDisplayRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalDisplay_UIKeypad"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_UIProxy_Keypad_UIProxy_Keypad"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalDisplay_UIKeypad"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalKeyboardReaderRow LogicalKeyboardReaderRow {
+            public LogicalPeripheralRow LogicalPeripheralRow {
                 get {
-                    return ((LogicalKeyboardReaderRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalKeyboardReader_UIKeypad"])));
+                    return ((LogicalPeripheralRow)(this.GetParentRow(this.Table.ParentRelations["LogicalPeripheral_UIKeypad"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalKeyboardReader_UIKeypad"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["LogicalPeripheral_UIKeypad"]);
                 }
             }
             
@@ -111369,67 +111454,67 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SignalRow SignalRowByFK_Signal_UIKeypadItem2 {
+            public LogicalKeyRow LogicalKeyRow {
                 get {
-                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["FK_Signal_UIKeypadItem2"])));
+                    return ((LogicalKeyRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalKey_UIKeypadItem"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_Signal_UIKeypadItem2"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalKey_UIKeypadItem"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SignalRow SignalRowBySignal_UIKeypadItem {
+            public LogicalLedRow LogicalLedRow {
                 get {
-                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["Signal_UIKeypadItem"])));
+                    return ((LogicalLedRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalLed_UIKeypadItem"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["Signal_UIKeypadItem"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalLed_UIKeypadItem"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public SignalRow SignalRowBySignal_UIKeypadItem1 {
+            public UIProxyRow UIProxyRow {
                 get {
-                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["Signal_UIKeypadItem1"])));
+                    return ((UIProxyRow)(this.GetParentRow(this.Table.ParentRelations["UIKeypad_UIKeypadItem"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["Signal_UIKeypadItem1"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["UIKeypad_UIKeypadItem"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UIProxyRow UIProxyRow {
+            public SignalRow SignalRowBySignal_UIKeypadItem1 {
                 get {
-                    return ((UIProxyRow)(this.GetParentRow(this.Table.ParentRelations["UIKeypad_UIKeypadItem"])));
+                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["Signal_UIKeypadItem1"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["UIKeypad_UIKeypadItem"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["Signal_UIKeypadItem1"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalLedRow LogicalLedRow {
+            public SignalRow SignalRowBySignal_UIKeypadItem {
                 get {
-                    return ((LogicalLedRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalLed_UIKeypadItem"])));
+                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["Signal_UIKeypadItem"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalLed_UIKeypadItem"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["Signal_UIKeypadItem"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalKeyRow LogicalKeyRow {
+            public SignalRow SignalRowByFK_Signal_UIKeypadItem2 {
                 get {
-                    return ((LogicalKeyRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalKey_UIKeypadItem"])));
+                    return ((SignalRow)(this.GetParentRow(this.Table.ParentRelations["FK_Signal_UIKeypadItem2"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalKey_UIKeypadItem"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Signal_UIKeypadItem2"]);
                 }
             }
             
@@ -111686,23 +111771,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UIProxyRow UIProxyRow {
+            public ScheduledItemRow ScheduledItemRow {
                 get {
-                    return ((UIProxyRow)(this.GetParentRow(this.Table.ParentRelations["FK_UIProxy_ScheduledItem_UIProxy"])));
+                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_UIProxy"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_UIProxy_ScheduledItem_UIProxy"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_UIProxy"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ScheduledItemRow ScheduledItemRow {
+            public UIProxyRow UIProxyRow {
                 get {
-                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_UIProxy"])));
+                    return ((UIProxyRow)(this.GetParentRow(this.Table.ParentRelations["FK_UIProxy_ScheduledItem_UIProxy"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_UIProxy"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_UIProxy_ScheduledItem_UIProxy"]);
                 }
             }
             
@@ -112879,23 +112964,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public PartitionRow PartitionRow {
+            public ScheduledItemRow ScheduledItemRow {
                 get {
-                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_ScheduledItem_Partition"])));
+                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Partition"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_ScheduledItem_Partition"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Partition"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ScheduledItemRow ScheduledItemRow {
+            public PartitionRow PartitionRow {
                 get {
-                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Partition"])));
+                    return ((PartitionRow)(this.GetParentRow(this.Table.ParentRelations["FK_Partition_ScheduledItem_Partition"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_ScheduledItem_ScheduledItem_Partition"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Partition_ScheduledItem_Partition"]);
                 }
             }
             
@@ -113019,23 +113104,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public UserGroupRow UserGroupRow {
+            public ScheduledItemRow ScheduledItemRow {
                 get {
-                    return ((UserGroupRow)(this.GetParentRow(this.Table.ParentRelations["UserGroup_UserGroup_ScheduledItem"])));
+                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["ScheduledItem_UserGroup_ScheduledItem"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["UserGroup_UserGroup_ScheduledItem"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["ScheduledItem_UserGroup_ScheduledItem"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public ScheduledItemRow ScheduledItemRow {
+            public UserGroupRow UserGroupRow {
                 get {
-                    return ((ScheduledItemRow)(this.GetParentRow(this.Table.ParentRelations["ScheduledItem_UserGroup_ScheduledItem"])));
+                    return ((UserGroupRow)(this.GetParentRow(this.Table.ParentRelations["UserGroup_UserGroup_ScheduledItem"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["ScheduledItem_UserGroup_ScheduledItem"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["UserGroup_UserGroup_ScheduledItem"]);
                 }
             }
             
@@ -113132,23 +113217,23 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public VirtualDeviceRow VirtualDeviceRow {
+            public LogicalWirelessPanicButtonRow LogicalWirelessPanicButtonRow {
                 get {
-                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDevice_VirtualWirelessPanicButton"])));
+                    return ((LogicalWirelessPanicButtonRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDevice_VirtualWirelessPanicButton"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton"]);
                 }
             }
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
-            public LogicalWirelessPanicButtonRow LogicalWirelessPanicButtonRow {
+            public VirtualDeviceRow VirtualDeviceRow {
                 get {
-                    return ((LogicalWirelessPanicButtonRow)(this.GetParentRow(this.Table.ParentRelations["FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton"])));
+                    return ((VirtualDeviceRow)(this.GetParentRow(this.Table.ParentRelations["FK_VirtualDevice_VirtualWirelessPanicButton"])));
                 }
                 set {
-                    this.SetParentRow(value, this.Table.ParentRelations["FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton"]);
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_VirtualDevice_VirtualWirelessPanicButton"]);
                 }
             }
             
Index: ConfigApp.Data/InternalDataSet.xsd
===================================================================
--- ConfigApp.Data/InternalDataSet.xsd	(revision 3199)
+++ ConfigApp.Data/InternalDataSet.xsd	(working copy)
@@ -1037,6 +1037,7 @@
               <xs:element name="SettingInput4ActivateSirenFlasher" msprop:Generator_ColumnVarNameInTable="columnSettingInput4ActivateSirenFlasher" msprop:Generator_ColumnPropNameInRow="SettingInput4ActivateSirenFlasher" msprop:Generator_ColumnPropNameInTable="SettingInput4ActivateSirenFlasherColumn" msprop:Generator_UserColumnName="SettingInput4ActivateSirenFlasher" type="xs:int" minOccurs="0" />
               <xs:element name="SettingInput3Storage" msprop:Generator_ColumnVarNameInTable="columnSettingInput3Storage" msprop:Generator_ColumnPropNameInRow="SettingInput3Storage" msprop:Generator_ColumnPropNameInTable="SettingInput3StorageColumn" msprop:Generator_UserColumnName="SettingInput3Storage" type="xs:int" minOccurs="0" />
               <xs:element name="SettingInput4SwitchingDevice" msprop:Generator_ColumnVarNameInTable="columnSettingInput4SwitchingDevice" msprop:Generator_ColumnPropNameInRow="SettingInput4SwitchingDevice" msprop:Generator_ColumnPropNameInTable="SettingInput4SwitchingDeviceColumn" msprop:Generator_UserColumnName="SettingInput4SwitchingDevice" type="xs:int" minOccurs="0" />
+              <xs:element name="DoorDatapointNumber" msprop:Generator_ColumnVarNameInTable="columnDoorDatapointNumber" msprop:Generator_ColumnPropNameInRow="DoorDatapointNumber" msprop:Generator_ColumnPropNameInTable="DoorDatapointNumberColumn" msprop:Generator_UserColumnName="DoorDatapointNumber" type="xs:int" minOccurs="0" />
             </xs:sequence>
           </xs:complexType>
         </xs:element>
@@ -1057,6 +1058,7 @@
               <xs:element name="SLDetection" msdata:Caption="SLActive" msprop:Generator_ColumnVarNameInTable="columnSLDetection" msprop:Generator_ColumnPropNameInRow="SLDetection" msprop:Generator_ColumnPropNameInTable="SLDetectionColumn" msprop:Generator_UserColumnName="SLDetection" type="xs:boolean" minOccurs="0" />
               <xs:element name="SPE" msdata:Caption="SLActive" msprop:Generator_ColumnVarNameInTable="columnSPE" msprop:Generator_ColumnPropNameInRow="SPE" msprop:Generator_ColumnPropNameInTable="SPEColumn" msprop:Generator_UserColumnName="SPE" type="xs:boolean" minOccurs="0" />
               <xs:element name="DoorBell" msprop:Generator_ColumnVarNameInTable="columnDoorBell" msprop:Generator_ColumnPropNameInRow="DoorBell" msprop:Generator_ColumnPropNameInTable="DoorBellColumn" msprop:Generator_UserColumnName="DoorBell" type="xs:boolean" minOccurs="0" />
+              <xs:element name="DoorDatapointNumber" msprop:Generator_ColumnVarNameInTable="columnDoorDatapointNumber" msprop:Generator_ColumnPropNameInRow="DoorDatapointNumber" msprop:Generator_ColumnPropNameInTable="DoorDatapointNumberColumn" msprop:Generator_UserColumnName="DoorDatapointNumber" type="xs:int" minOccurs="0" />
             </xs:sequence>
           </xs:complexType>
         </xs:element>
@@ -2273,7 +2275,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="HWBus2SounderFlasherModule" msprop:Generator_TableClassName="HWBus2SounderFlasherModuleDataTable" msprop:Generator_TableVarName="tableHWBus2SounderFlasherModule" msprop:Generator_TablePropName="HWBus2SounderFlasherModule" msprop:Generator_RowDeletingName="HWBus2SounderFlasherModuleRowDeleting" msprop:Generator_RowChangingName="HWBus2SounderFlasherModuleRowChanging" msprop:Generator_RowEvHandlerName="HWBus2SounderFlasherModuleRowChangeEventHandler" msprop:Generator_RowDeletedName="HWBus2SounderFlasherModuleRowDeleted" msprop:Generator_UserTableName="HWBus2SounderFlasherModule" msprop:Generator_RowChangedName="HWBus2SounderFlasherModuleRowChanged" msprop:Generator_RowEvArgName="HWBus2SounderFlasherModuleRowChangeEvent" msprop:Generator_RowClassName="HWBus2SounderFlasherModuleRow">
+        <xs:element name="HWBus2SounderFlasherModule" msprop:Generator_TableClassName="HWBus2SounderFlasherModuleDataTable" msprop:Generator_TableVarName="tableHWBus2SounderFlasherModule" msprop:Generator_RowChangedName="HWBus2SounderFlasherModuleRowChanged" msprop:Generator_TablePropName="HWBus2SounderFlasherModule" msprop:Generator_RowDeletingName="HWBus2SounderFlasherModuleRowDeleting" msprop:Generator_RowChangingName="HWBus2SounderFlasherModuleRowChanging" msprop:Generator_RowEvHandlerName="HWBus2SounderFlasherModuleRowChangeEventHandler" msprop:Generator_RowDeletedName="HWBus2SounderFlasherModuleRowDeleted" msprop:Generator_RowClassName="HWBus2SounderFlasherModuleRow" msprop:Generator_UserTableName="HWBus2SounderFlasherModule" msprop:Generator_RowEvArgName="HWBus2SounderFlasherModuleRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2291,7 +2293,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="HWBus22RelaisInputModule" msprop:Generator_TableClassName="HWBus22RelaisInputModuleDataTable" msprop:Generator_TableVarName="tableHWBus22RelaisInputModule" msprop:Generator_TablePropName="HWBus22RelaisInputModule" msprop:Generator_RowDeletingName="HWBus22RelaisInputModuleRowDeleting" msprop:Generator_RowChangingName="HWBus22RelaisInputModuleRowChanging" msprop:Generator_RowEvHandlerName="HWBus22RelaisInputModuleRowChangeEventHandler" msprop:Generator_RowDeletedName="HWBus22RelaisInputModuleRowDeleted" msprop:Generator_UserTableName="HWBus22RelaisInputModule" msprop:Generator_RowChangedName="HWBus22RelaisInputModuleRowChanged" msprop:Generator_RowEvArgName="HWBus22RelaisInputModuleRowChangeEvent" msprop:Generator_RowClassName="HWBus22RelaisInputModuleRow">
+        <xs:element name="HWBus22RelaisInputModule" msprop:Generator_TableClassName="HWBus22RelaisInputModuleDataTable" msprop:Generator_TableVarName="tableHWBus22RelaisInputModule" msprop:Generator_RowChangedName="HWBus22RelaisInputModuleRowChanged" msprop:Generator_TablePropName="HWBus22RelaisInputModule" msprop:Generator_RowDeletingName="HWBus22RelaisInputModuleRowDeleting" msprop:Generator_RowChangingName="HWBus22RelaisInputModuleRowChanging" msprop:Generator_RowEvHandlerName="HWBus22RelaisInputModuleRowChangeEventHandler" msprop:Generator_RowDeletedName="HWBus22RelaisInputModuleRowDeleted" msprop:Generator_RowClassName="HWBus22RelaisInputModuleRow" msprop:Generator_UserTableName="HWBus22RelaisInputModule" msprop:Generator_RowEvArgName="HWBus22RelaisInputModuleRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2303,7 +2305,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="HWBus2PowerSupplyUnit" msprop:Generator_TableClassName="HWBus2PowerSupplyUnitDataTable" msprop:Generator_TableVarName="tableHWBus2PowerSupplyUnit" msprop:Generator_TablePropName="HWBus2PowerSupplyUnit" msprop:Generator_RowDeletingName="HWBus2PowerSupplyUnitRowDeleting" msprop:Generator_RowChangingName="HWBus2PowerSupplyUnitRowChanging" msprop:Generator_RowEvHandlerName="HWBus2PowerSupplyUnitRowChangeEventHandler" msprop:Generator_RowDeletedName="HWBus2PowerSupplyUnitRowDeleted" msprop:Generator_UserTableName="HWBus2PowerSupplyUnit" msprop:Generator_RowChangedName="HWBus2PowerSupplyUnitRowChanged" msprop:Generator_RowEvArgName="HWBus2PowerSupplyUnitRowChangeEvent" msprop:Generator_RowClassName="HWBus2PowerSupplyUnitRow">
+        <xs:element name="HWBus2PowerSupplyUnit" msprop:Generator_TableClassName="HWBus2PowerSupplyUnitDataTable" msprop:Generator_TableVarName="tableHWBus2PowerSupplyUnit" msprop:Generator_RowChangedName="HWBus2PowerSupplyUnitRowChanged" msprop:Generator_TablePropName="HWBus2PowerSupplyUnit" msprop:Generator_RowDeletingName="HWBus2PowerSupplyUnitRowDeleting" msprop:Generator_RowChangingName="HWBus2PowerSupplyUnitRowChanging" msprop:Generator_RowEvHandlerName="HWBus2PowerSupplyUnitRowChangeEventHandler" msprop:Generator_RowDeletedName="HWBus2PowerSupplyUnitRowDeleted" msprop:Generator_RowClassName="HWBus2PowerSupplyUnitRow" msprop:Generator_UserTableName="HWBus2PowerSupplyUnit" msprop:Generator_RowEvArgName="HWBus2PowerSupplyUnitRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2315,7 +2317,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="Trigger_Macro" msprop:Generator_TableClassName="Trigger_MacroDataTable" msprop:Generator_TableVarName="tableTrigger_Macro" msprop:Generator_TablePropName="Trigger_Macro" msprop:Generator_RowDeletingName="Trigger_MacroRowDeleting" msprop:Generator_RowChangingName="Trigger_MacroRowChanging" msprop:Generator_RowEvHandlerName="Trigger_MacroRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_MacroRowDeleted" msprop:Generator_UserTableName="Trigger_Macro" msprop:Generator_RowChangedName="Trigger_MacroRowChanged" msprop:Generator_RowEvArgName="Trigger_MacroRowChangeEvent" msprop:Generator_RowClassName="Trigger_MacroRow">
+        <xs:element name="Trigger_Macro" msprop:Generator_TableClassName="Trigger_MacroDataTable" msprop:Generator_TableVarName="tableTrigger_Macro" msprop:Generator_RowChangedName="Trigger_MacroRowChanged" msprop:Generator_TablePropName="Trigger_Macro" msprop:Generator_RowDeletingName="Trigger_MacroRowDeleting" msprop:Generator_RowChangingName="Trigger_MacroRowChanging" msprop:Generator_RowEvHandlerName="Trigger_MacroRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_MacroRowDeleted" msprop:Generator_RowClassName="Trigger_MacroRow" msprop:Generator_UserTableName="Trigger_Macro" msprop:Generator_RowEvArgName="Trigger_MacroRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2323,7 +2325,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="Trigger_PartitionMemberOmit" msprop:Generator_TableClassName="Trigger_PartitionMemberOmitDataTable" msprop:Generator_TableVarName="tableTrigger_PartitionMemberOmit" msprop:Generator_TablePropName="Trigger_PartitionMemberOmit" msprop:Generator_RowDeletingName="Trigger_PartitionMemberOmitRowDeleting" msprop:Generator_RowChangingName="Trigger_PartitionMemberOmitRowChanging" msprop:Generator_RowEvHandlerName="Trigger_PartitionMemberOmitRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_PartitionMemberOmitRowDeleted" msprop:Generator_UserTableName="Trigger_PartitionMemberOmit" msprop:Generator_RowChangedName="Trigger_PartitionMemberOmitRowChanged" msprop:Generator_RowEvArgName="Trigger_PartitionMemberOmitRowChangeEvent" msprop:Generator_RowClassName="Trigger_PartitionMemberOmitRow">
+        <xs:element name="Trigger_PartitionMemberOmit" msprop:Generator_TableClassName="Trigger_PartitionMemberOmitDataTable" msprop:Generator_TableVarName="tableTrigger_PartitionMemberOmit" msprop:Generator_RowChangedName="Trigger_PartitionMemberOmitRowChanged" msprop:Generator_TablePropName="Trigger_PartitionMemberOmit" msprop:Generator_RowDeletingName="Trigger_PartitionMemberOmitRowDeleting" msprop:Generator_RowChangingName="Trigger_PartitionMemberOmitRowChanging" msprop:Generator_RowEvHandlerName="Trigger_PartitionMemberOmitRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_PartitionMemberOmitRowDeleted" msprop:Generator_RowClassName="Trigger_PartitionMemberOmitRow" msprop:Generator_UserTableName="Trigger_PartitionMemberOmit" msprop:Generator_RowEvArgName="Trigger_PartitionMemberOmitRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2331,7 +2333,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="LicenseUsage" msprop:Generator_TableClassName="LicenseUsageDataTable" msprop:Generator_TableVarName="tableLicenseUsage" msprop:Generator_TablePropName="LicenseUsage" msprop:Generator_RowDeletingName="LicenseUsageRowDeleting" msprop:Generator_RowChangingName="LicenseUsageRowChanging" msprop:Generator_RowEvHandlerName="LicenseUsageRowChangeEventHandler" msprop:Generator_RowDeletedName="LicenseUsageRowDeleted" msprop:Generator_UserTableName="LicenseUsage" msprop:Generator_RowChangedName="LicenseUsageRowChanged" msprop:Generator_RowEvArgName="LicenseUsageRowChangeEvent" msprop:Generator_RowClassName="LicenseUsageRow">
+        <xs:element name="LicenseUsage" msprop:Generator_TableClassName="LicenseUsageDataTable" msprop:Generator_TableVarName="tableLicenseUsage" msprop:Generator_RowChangedName="LicenseUsageRowChanged" msprop:Generator_TablePropName="LicenseUsage" msprop:Generator_RowDeletingName="LicenseUsageRowDeleting" msprop:Generator_RowChangingName="LicenseUsageRowChanging" msprop:Generator_RowEvHandlerName="LicenseUsageRowChangeEventHandler" msprop:Generator_RowDeletedName="LicenseUsageRowDeleted" msprop:Generator_RowClassName="LicenseUsageRow" msprop:Generator_UserTableName="LicenseUsage" msprop:Generator_RowEvArgName="LicenseUsageRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="Partitions" msprop:Generator_ColumnVarNameInTable="columnPartitions" msprop:Generator_ColumnPropNameInRow="Partitions" msprop:Generator_ColumnPropNameInTable="PartitionsColumn" msprop:Generator_UserColumnName="Partitions" type="xs:int" default="0" minOccurs="0" />
@@ -2345,7 +2347,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="ContactID" msprop:Generator_TableClassName="ContactIDDataTable" msprop:Generator_TableVarName="tableContactID" msprop:Generator_RowChangedName="ContactIDRowChanged" msprop:Generator_TablePropName="ContactID" msprop:Generator_RowDeletingName="ContactIDRowDeleting" msprop:Generator_RowChangingName="ContactIDRowChanging" msprop:Generator_RowEvHandlerName="ContactIDRowChangeEventHandler" msprop:Generator_RowDeletedName="ContactIDRowDeleted" msprop:Generator_RowClassName="ContactIDRow" msprop:Generator_UserTableName="ContactID" msprop:Generator_RowEvArgName="ContactIDRowChangeEvent">
+        <xs:element name="ContactID" msprop:Generator_TableClassName="ContactIDDataTable" msprop:Generator_TableVarName="tableContactID" msprop:Generator_TablePropName="ContactID" msprop:Generator_RowDeletingName="ContactIDRowDeleting" msprop:Generator_RowChangingName="ContactIDRowChanging" msprop:Generator_RowEvHandlerName="ContactIDRowChangeEventHandler" msprop:Generator_RowDeletedName="ContactIDRowDeleted" msprop:Generator_UserTableName="ContactID" msprop:Generator_RowChangedName="ContactIDRowChanged" msprop:Generator_RowEvArgName="ContactIDRowChangeEvent" msprop:Generator_RowClassName="ContactIDRow">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2356,7 +2358,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="ContactIDEvent" msprop:Generator_TableClassName="ContactIDEventDataTable" msprop:Generator_TableVarName="tableContactIDEvent" msprop:Generator_RowChangedName="ContactIDEventRowChanged" msprop:Generator_TablePropName="ContactIDEvent" msprop:Generator_RowDeletingName="ContactIDEventRowDeleting" msprop:Generator_RowChangingName="ContactIDEventRowChanging" msprop:Generator_RowEvHandlerName="ContactIDEventRowChangeEventHandler" msprop:Generator_RowDeletedName="ContactIDEventRowDeleted" msprop:Generator_RowClassName="ContactIDEventRow" msprop:Generator_UserTableName="ContactIDEvent" msprop:Generator_RowEvArgName="ContactIDEventRowChangeEvent">
+        <xs:element name="ContactIDEvent" msprop:Generator_TableClassName="ContactIDEventDataTable" msprop:Generator_TableVarName="tableContactIDEvent" msprop:Generator_TablePropName="ContactIDEvent" msprop:Generator_RowDeletingName="ContactIDEventRowDeleting" msprop:Generator_RowChangingName="ContactIDEventRowChanging" msprop:Generator_RowEvHandlerName="ContactIDEventRowChangeEventHandler" msprop:Generator_RowDeletedName="ContactIDEventRowDeleted" msprop:Generator_UserTableName="ContactIDEvent" msprop:Generator_RowChangedName="ContactIDEventRowChanged" msprop:Generator_RowEvArgName="ContactIDEventRowChangeEvent" msprop:Generator_RowClassName="ContactIDEventRow">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2368,7 +2370,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="Trigger_Counter" msprop:Generator_TableClassName="Trigger_CounterDataTable" msprop:Generator_TableVarName="tableTrigger_Counter" msprop:Generator_TablePropName="Trigger_Counter" msprop:Generator_RowDeletingName="Trigger_CounterRowDeleting" msprop:Generator_RowChangingName="Trigger_CounterRowChanging" msprop:Generator_RowEvHandlerName="Trigger_CounterRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_CounterRowDeleted" msprop:Generator_UserTableName="Trigger_Counter" msprop:Generator_RowChangedName="Trigger_CounterRowChanged" msprop:Generator_RowEvArgName="Trigger_CounterRowChangeEvent" msprop:Generator_RowClassName="Trigger_CounterRow">
+        <xs:element name="Trigger_Counter" msprop:Generator_TableClassName="Trigger_CounterDataTable" msprop:Generator_TableVarName="tableTrigger_Counter" msprop:Generator_RowChangedName="Trigger_CounterRowChanged" msprop:Generator_TablePropName="Trigger_Counter" msprop:Generator_RowDeletingName="Trigger_CounterRowDeleting" msprop:Generator_RowChangingName="Trigger_CounterRowChanging" msprop:Generator_RowEvHandlerName="Trigger_CounterRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_CounterRowDeleted" msprop:Generator_RowClassName="Trigger_CounterRow" msprop:Generator_UserTableName="Trigger_Counter" msprop:Generator_RowEvArgName="Trigger_CounterRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2378,7 +2380,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="Trigger_User" msprop:Generator_TableClassName="Trigger_UserDataTable" msprop:Generator_TableVarName="tableTrigger_User" msprop:Generator_TablePropName="Trigger_User" msprop:Generator_RowDeletingName="Trigger_UserRowDeleting" msprop:Generator_RowChangingName="Trigger_UserRowChanging" msprop:Generator_RowEvHandlerName="Trigger_UserRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_UserRowDeleted" msprop:Generator_UserTableName="Trigger_User" msprop:Generator_RowChangedName="Trigger_UserRowChanged" msprop:Generator_RowEvArgName="Trigger_UserRowChangeEvent" msprop:Generator_RowClassName="Trigger_UserRow">
+        <xs:element name="Trigger_User" msprop:Generator_TableClassName="Trigger_UserDataTable" msprop:Generator_TableVarName="tableTrigger_User" msprop:Generator_RowChangedName="Trigger_UserRowChanged" msprop:Generator_TablePropName="Trigger_User" msprop:Generator_RowDeletingName="Trigger_UserRowDeleting" msprop:Generator_RowChangingName="Trigger_UserRowChanging" msprop:Generator_RowEvHandlerName="Trigger_UserRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_UserRowDeleted" msprop:Generator_RowClassName="Trigger_UserRow" msprop:Generator_UserTableName="Trigger_User" msprop:Generator_RowEvArgName="Trigger_UserRowChangeEvent">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2388,7 +2390,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="Command_ISOMEvent" msprop:Generator_TableClassName="Command_ISOMEventDataTable" msprop:Generator_TableVarName="tableCommand_ISOMEvent" msprop:Generator_RowChangedName="Command_ISOMEventRowChanged" msprop:Generator_TablePropName="Command_ISOMEvent" msprop:Generator_RowDeletingName="Command_ISOMEventRowDeleting" msprop:Generator_RowChangingName="Command_ISOMEventRowChanging" msprop:Generator_RowEvHandlerName="Command_ISOMEventRowChangeEventHandler" msprop:Generator_RowDeletedName="Command_ISOMEventRowDeleted" msprop:Generator_RowClassName="Command_ISOMEventRow" msprop:Generator_UserTableName="Command_ISOMEvent" msprop:Generator_RowEvArgName="Command_ISOMEventRowChangeEvent">
+        <xs:element name="Command_ISOMEvent" msprop:Generator_TableClassName="Command_ISOMEventDataTable" msprop:Generator_TableVarName="tableCommand_ISOMEvent" msprop:Generator_TablePropName="Command_ISOMEvent" msprop:Generator_RowDeletingName="Command_ISOMEventRowDeleting" msprop:Generator_RowChangingName="Command_ISOMEventRowChanging" msprop:Generator_RowEvHandlerName="Command_ISOMEventRowChangeEventHandler" msprop:Generator_RowDeletedName="Command_ISOMEventRowDeleted" msprop:Generator_UserTableName="Command_ISOMEvent" msprop:Generator_RowChangedName="Command_ISOMEventRowChanged" msprop:Generator_RowEvArgName="Command_ISOMEventRowChangeEvent" msprop:Generator_RowClassName="Command_ISOMEventRow">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2396,7 +2398,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="Trigger_PartitionAlarm" msprop:Generator_TableClassName="Trigger_PartitionAlarmDataTable" msprop:Generator_TableVarName="tableTrigger_PartitionAlarm" msprop:Generator_RowChangedName="Trigger_PartitionAlarmRowChanged" msprop:Generator_TablePropName="Trigger_PartitionAlarm" msprop:Generator_RowDeletingName="Trigger_PartitionAlarmRowDeleting" msprop:Generator_RowChangingName="Trigger_PartitionAlarmRowChanging" msprop:Generator_RowEvHandlerName="Trigger_PartitionAlarmRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_PartitionAlarmRowDeleted" msprop:Generator_RowClassName="Trigger_PartitionAlarmRow" msprop:Generator_UserTableName="Trigger_PartitionAlarm" msprop:Generator_RowEvArgName="Trigger_PartitionAlarmRowChangeEvent">
+        <xs:element name="Trigger_PartitionAlarm" msprop:Generator_TableClassName="Trigger_PartitionAlarmDataTable" msprop:Generator_TableVarName="tableTrigger_PartitionAlarm" msprop:Generator_TablePropName="Trigger_PartitionAlarm" msprop:Generator_RowDeletingName="Trigger_PartitionAlarmRowDeleting" msprop:Generator_RowChangingName="Trigger_PartitionAlarmRowChanging" msprop:Generator_RowEvHandlerName="Trigger_PartitionAlarmRowChangeEventHandler" msprop:Generator_RowDeletedName="Trigger_PartitionAlarmRowDeleted" msprop:Generator_UserTableName="Trigger_PartitionAlarm" msprop:Generator_RowChangedName="Trigger_PartitionAlarmRowChanged" msprop:Generator_RowEvArgName="Trigger_PartitionAlarmRowChangeEvent" msprop:Generator_RowClassName="Trigger_PartitionAlarmRow">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="UID" msprop:Generator_ColumnVarNameInTable="columnUID" msprop:Generator_ColumnPropNameInRow="UID" msprop:Generator_ColumnPropNameInTable="UIDColumn" msprop:Generator_UserColumnName="UID" type="xs:unsignedInt" />
@@ -2407,7 +2409,7 @@
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <xs:element name="DatapointNumbers" msprop:Generator_TableClassName="DatapointNumbersDataTable" msprop:Generator_TableVarName="tableDatapointNumbers" msprop:Generator_RowChangedName="DatapointNumbersRowChanged" msprop:Generator_TablePropName="DatapointNumbers" msprop:Generator_RowDeletingName="DatapointNumbersRowDeleting" msprop:Generator_RowChangingName="DatapointNumbersRowChanging" msprop:Generator_RowEvHandlerName="DatapointNumbersRowChangeEventHandler" msprop:Generator_RowDeletedName="DatapointNumbersRowDeleted" msprop:Generator_RowClassName="DatapointNumbersRow" msprop:Generator_UserTableName="DatapointNumbers" msprop:Generator_RowEvArgName="DatapointNumbersRowChangeEvent">
+        <xs:element name="DatapointNumbers" msprop:Generator_TableClassName="DatapointNumbersDataTable" msprop:Generator_TableVarName="tableDatapointNumbers" msprop:Generator_TablePropName="DatapointNumbers" msprop:Generator_RowDeletingName="DatapointNumbersRowDeleting" msprop:Generator_RowChangingName="DatapointNumbersRowChanging" msprop:Generator_RowEvHandlerName="DatapointNumbersRowChangeEventHandler" msprop:Generator_RowDeletedName="DatapointNumbersRowDeleted" msprop:Generator_UserTableName="DatapointNumbers" msprop:Generator_RowChangedName="DatapointNumbersRowChanged" msprop:Generator_RowEvArgName="DatapointNumbersRowChangeEvent" msprop:Generator_RowClassName="DatapointNumbersRow">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="ItemUID" msprop:Generator_ColumnVarNameInTable="columnItemUID" msprop:Generator_ColumnPropNameInRow="ItemUID" msprop:Generator_ColumnPropNameInTable="ItemUIDColumn" msprop:Generator_UserColumnName="ItemUID" type="xs:unsignedInt" minOccurs="0" />
@@ -3181,1051 +3183,1051 @@
       <xs:selector xpath=".//mstns:Trigger_PartitionAlarm" />
       <xs:field xpath="mstns:UID" />
     </xs:unique>
-    <xs:keyref name="FK_Trigger_Trigger_PartitionAlarm" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionAlarm" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionAlarmRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_PartitionAlarm" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_PartitionAlarm" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Trigger_Trigger_PartitionAlarm" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionAlarm" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionAlarmRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_PartitionAlarm" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_PartitionAlarm" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_PartitionAlarm" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_Command_Command_ISOMEvent" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_ISOMEvent" msprop:rel_Generator_ChildPropName="GetCommand_ISOMEventRows" msprop:rel_Generator_UserRelationName="FK_Command_Command_ISOMEvent" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationFK_Command_Command_ISOMEvent" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Command_Command_ISOMEvent" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_ISOMEvent" msprop:rel_Generator_ChildPropName="GetCommand_ISOMEventRows" msprop:rel_Generator_UserRelationName="FK_Command_Command_ISOMEvent" msprop:rel_Generator_RelationVarName="relationFK_Command_Command_ISOMEvent" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Command_ISOMEvent" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_Trigger_Trigger_User" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_User" msprop:rel_Generator_ChildPropName="GetTrigger_UserRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_User" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_User" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Trigger_Trigger_User" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_User" msprop:rel_Generator_ChildPropName="GetTrigger_UserRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_User" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_User" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_User" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_Trigger_Trigger_Counter" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Counter" msprop:rel_Generator_ChildPropName="GetTrigger_CounterRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_Counter" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_Counter" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Trigger_Trigger_Counter" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Counter" msprop:rel_Generator_ChildPropName="GetTrigger_CounterRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_Counter" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_Counter" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_Counter" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_AlarmDevice_ContactIDEvent" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="ContactIDEvent" msprop:rel_Generator_ChildPropName="GetContactIDEventRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_ContactIDEvent" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_ContactIDEvent" msprop:rel_Generator_UserParentTable="AlarmDevice" msprop:rel_Generator_ParentPropName="AlarmDeviceRow">
+    <xs:keyref name="FK_AlarmDevice_ContactIDEvent" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="ContactIDEvent" msprop:rel_Generator_ChildPropName="GetContactIDEventRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_ContactIDEvent" msprop:rel_Generator_ParentPropName="AlarmDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_ContactIDEvent" msprop:rel_Generator_UserParentTable="AlarmDevice">
       <xs:selector xpath=".//mstns:ContactIDEvent" />
       <xs:field xpath="mstns:AlarmDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="FK_AlarmDevice_ContactID" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="ContactID" msprop:rel_Generator_ChildPropName="GetContactIDRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_ContactID" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_ContactID" msprop:rel_Generator_UserParentTable="AlarmDevice" msprop:rel_Generator_ParentPropName="AlarmDeviceRow">
+    <xs:keyref name="FK_AlarmDevice_ContactID" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="ContactID" msprop:rel_Generator_ChildPropName="GetContactIDRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_ContactID" msprop:rel_Generator_ParentPropName="AlarmDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_ContactID" msprop:rel_Generator_UserParentTable="AlarmDevice">
       <xs:selector xpath=".//mstns:ContactID" />
       <xs:field xpath="mstns:AlarmDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Trigger_Trigger_PartitionMemberOmit" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionMemberOmit" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionMemberOmitRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_PartitionMemberOmit" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_PartitionMemberOmit" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Trigger_Trigger_PartitionMemberOmit" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionMemberOmit" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionMemberOmitRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_PartitionMemberOmit" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_PartitionMemberOmit" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_PartitionMemberOmit" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_Trigger_Trigger_Macro" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Macro" msprop:rel_Generator_ChildPropName="GetTrigger_MacroRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_Macro" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_Macro" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Trigger_Trigger_Macro" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Macro" msprop:rel_Generator_ChildPropName="GetTrigger_MacroRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_Macro" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_Macro" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_Macro" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWBus2PowerSupplyUnit" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2PowerSupplyUnit" msprop:rel_Generator_ChildPropName="GetHWBus2PowerSupplyUnitRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2PowerSupplyUnit" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2PowerSupplyUnit" msprop:rel_Generator_UserParentTable="HardwareDevice">
+    <xs:keyref name="FK_HardwareDevice_HWBus2PowerSupplyUnit" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2PowerSupplyUnit" msprop:rel_Generator_ChildPropName="GetHWBus2PowerSupplyUnitRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2PowerSupplyUnit" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2PowerSupplyUnit" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
       <xs:selector xpath=".//mstns:HWBus2PowerSupplyUnit" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWBus22RelaisInputModul" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus22RelaisInputModule" msprop:rel_Generator_ChildPropName="GetHWBus22RelaisInputModuleRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus22RelaisInputModul" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus22RelaisInputModul" msprop:rel_Generator_UserParentTable="HardwareDevice">
+    <xs:keyref name="FK_HardwareDevice_HWBus22RelaisInputModul" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus22RelaisInputModule" msprop:rel_Generator_ChildPropName="GetHWBus22RelaisInputModuleRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus22RelaisInputModul" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus22RelaisInputModul" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
       <xs:selector xpath=".//mstns:HWBus22RelaisInputModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWBus2SounderFlasherModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SounderFlasherModule" msprop:rel_Generator_ChildPropName="GetHWBus2SounderFlasherModuleRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2SounderFlasherModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2SounderFlasherModule" msprop:rel_Generator_UserParentTable="HardwareDevice">
+    <xs:keyref name="FK_HardwareDevice_HWBus2SounderFlasherModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SounderFlasherModule" msprop:rel_Generator_ChildPropName="GetHWBus2SounderFlasherModuleRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2SounderFlasherModule" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2SounderFlasherModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
       <xs:selector xpath=".//mstns:HWBus2SounderFlasherModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Trigger_Trigger_Timer" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Timer" msprop:rel_Generator_ChildPropName="GetTrigger_TimerRows" msprop:rel_Generator_UserRelationName="Trigger_Trigger_Timer" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationTrigger_Trigger_Timer" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Trigger_Trigger_Timer" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Timer" msprop:rel_Generator_ChildPropName="GetTrigger_TimerRows" msprop:rel_Generator_UserRelationName="Trigger_Trigger_Timer" msprop:rel_Generator_RelationVarName="relationTrigger_Trigger_Timer" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_Timer" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Command_Command_Sounder" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_Sounder" msprop:rel_Generator_ChildPropName="GetCommand_SounderRows" msprop:rel_Generator_UserRelationName="Command_Command_Sounder" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationCommand_Command_Sounder" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Command_Command_Sounder" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_Sounder" msprop:rel_Generator_ChildPropName="GetCommand_SounderRows" msprop:rel_Generator_UserRelationName="Command_Command_Sounder" msprop:rel_Generator_RelationVarName="relationCommand_Command_Sounder" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Command_Sounder" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_Trigger_Trigger_UIKey" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_UIKey" msprop:rel_Generator_ChildPropName="GetTrigger_UIKeyRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_UIKey" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_UIKey" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Trigger_Trigger_UIKey" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_UIKey" msprop:rel_Generator_ChildPropName="GetTrigger_UIKeyRows" msprop:rel_Generator_UserRelationName="FK_Trigger_Trigger_UIKey" msprop:rel_Generator_RelationVarName="relationFK_Trigger_Trigger_UIKey" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_UIKey" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2ViewGuardDualMask" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardDualMask" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardDualMaskRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewGuardDualMask" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewGuardDualMask" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
+    <xs:keyref name="HardwareDevice_HWBus2ViewGuardDualMask" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardDualMask" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardDualMaskRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewGuardDualMask" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewGuardDualMask" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:HWBus2ViewGuardDualMask" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2ViewGuardPIRMask" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardPIRMask" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardPIRMaskRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewGuardPIRMask" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewGuardPIRMask" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
+    <xs:keyref name="HardwareDevice_HWBus2ViewGuardPIRMask" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardPIRMask" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardPIRMaskRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewGuardPIRMask" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewGuardPIRMask" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:HWBus2ViewGuardPIRMask" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalWirelessPanicButton" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalWirelessPanicButton" msprop:rel_Generator_ChildPropName="GetLogicalWirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalWirelessPanicButton" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalWirelessPanicButton" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalWirelessPanicButton" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalWirelessPanicButton" msprop:rel_Generator_ChildPropName="GetLogicalWirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalWirelessPanicButton" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalWirelessPanicButton" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalWirelessPanicButton" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_VirtualDevice_VirtualWirelessPanicButton" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPanicButton" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="FK_VirtualDevice_VirtualWirelessPanicButton" msprop:rel_Generator_RelationVarName="relationFK_VirtualDevice_VirtualWirelessPanicButton" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton" refer="LogicalWirelessPanicButton_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPanicButton" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton" msprop:rel_Generator_ParentPropName="LogicalWirelessPanicButtonRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton" msprop:rel_Generator_UserParentTable="LogicalWirelessPanicButton" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualWirelessPanicButton" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalRFPanicButtonUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton" refer="LogicalWirelessPanicButton_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPanicButton" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton" msprop:rel_Generator_RelationVarName="relationFK_LogicalWirelessPanicButton_VirtualWirelessPanicButton" msprop:rel_Generator_UserParentTable="LogicalWirelessPanicButton" msprop:rel_Generator_ParentPropName="LogicalWirelessPanicButtonRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_VirtualDevice_VirtualWirelessPanicButton" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPanicButton" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="FK_VirtualDevice_VirtualWirelessPanicButton" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_VirtualDevice_VirtualWirelessPanicButton" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualWirelessPanicButton" />
-      <xs:field xpath="mstns:LogicalRFPanicButtonUID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="UserGroup_UserGroup_ScheduledItem" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_ScheduledItem" msprop:rel_Generator_ChildPropName="GetUserGroup_ScheduledItemRows" msprop:rel_Generator_UserRelationName="UserGroup_UserGroup_ScheduledItem" msprop:rel_Generator_RelationVarName="relationUserGroup_UserGroup_ScheduledItem" msprop:rel_Generator_UserParentTable="UserGroup" msprop:rel_Generator_ParentPropName="UserGroupRow">
+    <xs:keyref name="ScheduledItem_UserGroup_ScheduledItem" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_ScheduledItem" msprop:rel_Generator_ChildPropName="GetUserGroup_ScheduledItemRows" msprop:rel_Generator_UserRelationName="ScheduledItem_UserGroup_ScheduledItem" msprop:rel_Generator_ParentPropName="ScheduledItemRow" msprop:rel_Generator_RelationVarName="relationScheduledItem_UserGroup_ScheduledItem" msprop:rel_Generator_UserParentTable="ScheduledItem">
       <xs:selector xpath=".//mstns:UserGroup_ScheduledItem" />
+      <xs:field xpath="mstns:ScheduledItemUID" />
+    </xs:keyref>
+    <xs:keyref name="UserGroup_UserGroup_ScheduledItem" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_ScheduledItem" msprop:rel_Generator_ChildPropName="GetUserGroup_ScheduledItemRows" msprop:rel_Generator_UserRelationName="UserGroup_UserGroup_ScheduledItem" msprop:rel_Generator_ParentPropName="UserGroupRow" msprop:rel_Generator_RelationVarName="relationUserGroup_UserGroup_ScheduledItem" msprop:rel_Generator_UserParentTable="UserGroup">
+      <xs:selector xpath=".//mstns:UserGroup_ScheduledItem" />
       <xs:field xpath="mstns:UserGroupUID" />
     </xs:keyref>
-    <xs:keyref name="ScheduledItem_UserGroup_ScheduledItem" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_ScheduledItem" msprop:rel_Generator_ChildPropName="GetUserGroup_ScheduledItemRows" msprop:rel_Generator_UserRelationName="ScheduledItem_UserGroup_ScheduledItem" msprop:rel_Generator_RelationVarName="relationScheduledItem_UserGroup_ScheduledItem" msprop:rel_Generator_UserParentTable="ScheduledItem" msprop:rel_Generator_ParentPropName="ScheduledItemRow">
-      <xs:selector xpath=".//mstns:UserGroup_ScheduledItem" />
+    <xs:keyref name="FK_ScheduledItem_ScheduledItem_Partition" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Partition" msprop:rel_Generator_ChildPropName="GetScheduledItem_PartitionRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_Partition" msprop:rel_Generator_ParentPropName="ScheduledItemRow" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_Partition" msprop:rel_Generator_UserParentTable="ScheduledItem">
+      <xs:selector xpath=".//mstns:ScheduledItem_Partition" />
       <xs:field xpath="mstns:ScheduledItemUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Partition_ScheduledItem_Partition" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Partition" msprop:rel_Generator_ChildPropName="GetScheduledItem_PartitionRows" msprop:rel_Generator_UserRelationName="FK_Partition_ScheduledItem_Partition" msprop:rel_Generator_RelationVarName="relationFK_Partition_ScheduledItem_Partition" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="FK_Partition_ScheduledItem_Partition" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Partition" msprop:rel_Generator_ChildPropName="GetScheduledItem_PartitionRows" msprop:rel_Generator_UserRelationName="FK_Partition_ScheduledItem_Partition" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationFK_Partition_ScheduledItem_Partition" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:ScheduledItem_Partition" />
       <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="FK_ScheduledItem_ScheduledItem_Partition" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Partition" msprop:rel_Generator_ChildPropName="GetScheduledItem_PartitionRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_Partition" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_Partition" msprop:rel_Generator_UserParentTable="ScheduledItem" msprop:rel_Generator_ParentPropName="ScheduledItemRow">
-      <xs:selector xpath=".//mstns:ScheduledItem_Partition" />
-      <xs:field xpath="mstns:ScheduledItemUID" />
-    </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWBus2KeypadLCD" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2KeypadLCD" msprop:rel_Generator_ChildPropName="GetHWBus2KeypadLCDRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2KeypadLCD" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2KeypadLCD" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_HardwareDevice_HWBus2KeypadLCD" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2KeypadLCD" msprop:rel_Generator_ChildPropName="GetHWBus2KeypadLCDRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2KeypadLCD" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2KeypadLCD" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2KeypadLCD" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWBus2KeypadLED" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2KeypadLED" msprop:rel_Generator_ChildPropName="GetHWBus2KeypadLEDRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2KeypadLED" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2KeypadLED" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_HardwareDevice_HWBus2KeypadLED" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2KeypadLED" msprop:rel_Generator_ChildPropName="GetHWBus2KeypadLEDRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWBus2KeypadLED" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWBus2KeypadLED" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2KeypadLED" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_UIProxy_ScheduledItem_UIProxy" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_UIProxy" msprop:rel_Generator_ChildPropName="GetScheduledItem_UIProxyRows" msprop:rel_Generator_UserRelationName="FK_UIProxy_ScheduledItem_UIProxy" msprop:rel_Generator_RelationVarName="relationFK_UIProxy_ScheduledItem_UIProxy" msprop:rel_Generator_UserParentTable="UIProxy" msprop:rel_Generator_ParentPropName="UIProxyRow">
+    <xs:keyref name="FK_ScheduledItem_ScheduledItem_UIProxy" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_UIProxy" msprop:rel_Generator_ChildPropName="GetScheduledItem_UIProxyRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_UIProxy" msprop:rel_Generator_ParentPropName="ScheduledItemRow" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_UIProxy" msprop:rel_Generator_UserParentTable="ScheduledItem">
       <xs:selector xpath=".//mstns:ScheduledItem_UIProxy" />
-      <xs:field xpath="mstns:UIProxyUID" />
+      <xs:field xpath="mstns:ScheduledItemUID" />
     </xs:keyref>
-    <xs:keyref name="FK_ScheduledItem_ScheduledItem_UIProxy" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_UIProxy" msprop:rel_Generator_ChildPropName="GetScheduledItem_UIProxyRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_UIProxy" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_UIProxy" msprop:rel_Generator_UserParentTable="ScheduledItem" msprop:rel_Generator_ParentPropName="ScheduledItemRow">
+    <xs:keyref name="FK_UIProxy_ScheduledItem_UIProxy" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_UIProxy" msprop:rel_Generator_ChildPropName="GetScheduledItem_UIProxyRows" msprop:rel_Generator_UserRelationName="FK_UIProxy_ScheduledItem_UIProxy" msprop:rel_Generator_ParentPropName="UIProxyRow" msprop:rel_Generator_RelationVarName="relationFK_UIProxy_ScheduledItem_UIProxy" msprop:rel_Generator_UserParentTable="UIProxy">
       <xs:selector xpath=".//mstns:ScheduledItem_UIProxy" />
-      <xs:field xpath="mstns:ScheduledItemUID" />
+      <xs:field xpath="mstns:UIProxyUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalDevice_LogicalDisplay" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDisplay" msprop:rel_Generator_ChildPropName="GetLogicalDisplayRows" msprop:rel_Generator_UserRelationName="FK_LogicalDevice_LogicalDisplay" msprop:rel_Generator_RelationVarName="relationFK_LogicalDevice_LogicalDisplay" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow">
+    <xs:keyref name="FK_LogicalDevice_LogicalDisplay" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDisplay" msprop:rel_Generator_ChildPropName="GetLogicalDisplayRows" msprop:rel_Generator_UserRelationName="FK_LogicalDevice_LogicalDisplay" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalDevice_LogicalDisplay" msprop:rel_Generator_UserParentTable="LogicalDevice">
       <xs:selector xpath=".//mstns:LogicalDisplay" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_Signal_UIKeypadItem2" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRowsByFK_Signal_UIKeypadItem2" msprop:rel_Generator_UserRelationName="FK_Signal_UIKeypadItem2" msprop:rel_Generator_RelationVarName="relationFK_Signal_UIKeypadItem2" msprop:rel_Generator_UserParentTable="Signal" msprop:rel_Generator_ParentPropName="SignalRowByFK_Signal_UIKeypadItem2" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_LogicalKey_UIKeypadItem" refer="LogicalKey_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRows" msprop:rel_Generator_UserRelationName="FK_LogicalKey_UIKeypadItem" msprop:rel_Generator_ParentPropName="LogicalKeyRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalKey_UIKeypadItem" msprop:rel_Generator_UserParentTable="LogicalKey" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypadItem" />
-      <xs:field xpath="mstns:GreenLed_SignalUID" />
+      <xs:field xpath="mstns:LogicalKeyUID" />
     </xs:keyref>
-    <xs:keyref name="Signal_UIKeypadItem" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRowsBySignal_UIKeypadItem" msprop:rel_Generator_UserRelationName="Signal_UIKeypadItem" msprop:rel_Generator_RelationVarName="relationSignal_UIKeypadItem" msprop:rel_Generator_UserParentTable="Signal" msprop:rel_Generator_ParentPropName="SignalRowBySignal_UIKeypadItem" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_LogicalLed_UIKeypadItem" refer="LogicalLed_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRows" msprop:rel_Generator_UserRelationName="FK_LogicalLed_UIKeypadItem" msprop:rel_Generator_ParentPropName="LogicalLedRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalLed_UIKeypadItem" msprop:rel_Generator_UserParentTable="LogicalLed" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypadItem" />
-      <xs:field xpath="mstns:RedLed_SignalUID" />
+      <xs:field xpath="mstns:LogicalLedUID" />
     </xs:keyref>
-    <xs:keyref name="Signal_UIKeypadItem1" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRowsBySignal_UIKeypadItem1" msprop:rel_Generator_UserRelationName="Signal_UIKeypadItem1" msprop:rel_Generator_RelationVarName="relationSignal_UIKeypadItem1" msprop:rel_Generator_UserParentTable="Signal" msprop:rel_Generator_ParentPropName="SignalRowBySignal_UIKeypadItem1" msdata:DeleteRule="SetNull">
+    <xs:keyref name="UIKeypad_UIKeypadItem" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRows" msprop:rel_Generator_UserRelationName="UIKeypad_UIKeypadItem" msprop:rel_Generator_ParentPropName="UIProxyRow" msprop:rel_Generator_RelationVarName="relationUIKeypad_UIKeypadItem" msprop:rel_Generator_UserParentTable="UIProxy">
       <xs:selector xpath=".//mstns:UIKeypadItem" />
-      <xs:field xpath="mstns:YellowLed_SignalUID" />
+      <xs:field xpath="mstns:UIKeypadUID" />
     </xs:keyref>
-    <xs:keyref name="UIKeypad_UIKeypadItem" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRows" msprop:rel_Generator_UserRelationName="UIKeypad_UIKeypadItem" msprop:rel_Generator_RelationVarName="relationUIKeypad_UIKeypadItem" msprop:rel_Generator_UserParentTable="UIProxy" msprop:rel_Generator_ParentPropName="UIProxyRow">
+    <xs:keyref name="Signal_UIKeypadItem1" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRowsBySignal_UIKeypadItem1" msprop:rel_Generator_UserRelationName="Signal_UIKeypadItem1" msprop:rel_Generator_ParentPropName="SignalRowBySignal_UIKeypadItem1" msprop:rel_Generator_RelationVarName="relationSignal_UIKeypadItem1" msprop:rel_Generator_UserParentTable="Signal" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypadItem" />
-      <xs:field xpath="mstns:UIKeypadUID" />
+      <xs:field xpath="mstns:YellowLed_SignalUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalLed_UIKeypadItem" refer="LogicalLed_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRows" msprop:rel_Generator_UserRelationName="FK_LogicalLed_UIKeypadItem" msprop:rel_Generator_RelationVarName="relationFK_LogicalLed_UIKeypadItem" msprop:rel_Generator_UserParentTable="LogicalLed" msprop:rel_Generator_ParentPropName="LogicalLedRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="Signal_UIKeypadItem" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRowsBySignal_UIKeypadItem" msprop:rel_Generator_UserRelationName="Signal_UIKeypadItem" msprop:rel_Generator_ParentPropName="SignalRowBySignal_UIKeypadItem" msprop:rel_Generator_RelationVarName="relationSignal_UIKeypadItem" msprop:rel_Generator_UserParentTable="Signal" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypadItem" />
-      <xs:field xpath="mstns:LogicalLedUID" />
+      <xs:field xpath="mstns:RedLed_SignalUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalKey_UIKeypadItem" refer="LogicalKey_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRows" msprop:rel_Generator_UserRelationName="FK_LogicalKey_UIKeypadItem" msprop:rel_Generator_RelationVarName="relationFK_LogicalKey_UIKeypadItem" msprop:rel_Generator_UserParentTable="LogicalKey" msprop:rel_Generator_ParentPropName="LogicalKeyRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_Signal_UIKeypadItem2" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypadItem" msprop:rel_Generator_ChildPropName="GetUIKeypadItemRowsByFK_Signal_UIKeypadItem2" msprop:rel_Generator_UserRelationName="FK_Signal_UIKeypadItem2" msprop:rel_Generator_ParentPropName="SignalRowByFK_Signal_UIKeypadItem2" msprop:rel_Generator_RelationVarName="relationFK_Signal_UIKeypadItem2" msprop:rel_Generator_UserParentTable="Signal" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypadItem" />
-      <xs:field xpath="mstns:LogicalKeyUID" />
+      <xs:field xpath="mstns:GreenLed_SignalUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalPeripheral_UIKeypad" refer="LogicalPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="LogicalPeripheral_UIKeypad" msprop:rel_Generator_RelationVarName="relationLogicalPeripheral_UIKeypad" msprop:rel_Generator_UserParentTable="LogicalPeripheral" msprop:rel_Generator_ParentPropName="LogicalPeripheralRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_LogicalKeyboardReader_UIKeypad" refer="LogicalKeyboardReader_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="FK_LogicalKeyboardReader_UIKeypad" msprop:rel_Generator_ParentPropName="LogicalKeyboardReaderRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalKeyboardReader_UIKeypad" msprop:rel_Generator_UserParentTable="LogicalKeyboardReader" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypad" />
-      <xs:field xpath="mstns:LogicalPeripheralUID" />
+      <xs:field xpath="mstns:LogicalKeyboardReaderUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalDisplay_UIKeypad" refer="LogicalDisplay_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="FK_LogicalDisplay_UIKeypad" msprop:rel_Generator_RelationVarName="relationFK_LogicalDisplay_UIKeypad" msprop:rel_Generator_UserParentTable="LogicalDisplay" msprop:rel_Generator_ParentPropName="LogicalDisplayRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_UIProxy_Keypad_UIProxy_Keypad" refer="UIKeypad_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="FK_UIProxy_Keypad_UIProxy_Keypad" msprop:rel_Generator_RelationVarName="relationFK_UIProxy_Keypad_UIProxy_Keypad" msprop:rel_Generator_UserParentTable="UIKeypad" msprop:rel_Generator_ParentPropName="UIKeypadRowParent" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypad" />
-      <xs:field xpath="mstns:LogicalDisplayUID" />
+      <xs:field xpath="mstns:OwnerKeypadUID" />
     </xs:keyref>
-    <xs:keyref name="UIProxy_UIKeypad" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="UIProxy_UIKeypad" msprop:rel_Generator_RelationVarName="relationUIProxy_UIKeypad" msprop:rel_Generator_UserParentTable="UIProxy" msprop:rel_Generator_ParentPropName="UIProxyRow">
+    <xs:keyref name="UIProxy_UIKeypad" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="UIProxy_UIKeypad" msprop:rel_Generator_ParentPropName="UIProxyRow" msprop:rel_Generator_RelationVarName="relationUIProxy_UIKeypad" msprop:rel_Generator_UserParentTable="UIProxy">
       <xs:selector xpath=".//mstns:UIKeypad" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_UIProxy_Keypad_UIProxy_Keypad" refer="UIKeypad_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="FK_UIProxy_Keypad_UIProxy_Keypad" msprop:rel_Generator_ParentPropName="UIKeypadRowParent" msprop:rel_Generator_RelationVarName="relationFK_UIProxy_Keypad_UIProxy_Keypad" msprop:rel_Generator_UserParentTable="UIKeypad" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_LogicalDisplay_UIKeypad" refer="LogicalDisplay_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="FK_LogicalDisplay_UIKeypad" msprop:rel_Generator_ParentPropName="LogicalDisplayRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalDisplay_UIKeypad" msprop:rel_Generator_UserParentTable="LogicalDisplay" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypad" />
-      <xs:field xpath="mstns:OwnerKeypadUID" />
+      <xs:field xpath="mstns:LogicalDisplayUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalKeyboardReader_UIKeypad" refer="LogicalKeyboardReader_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="FK_LogicalKeyboardReader_UIKeypad" msprop:rel_Generator_RelationVarName="relationFK_LogicalKeyboardReader_UIKeypad" msprop:rel_Generator_UserParentTable="LogicalKeyboardReader" msprop:rel_Generator_ParentPropName="LogicalKeyboardReaderRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalPeripheral_UIKeypad" refer="LogicalPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="UIKeypad" msprop:rel_Generator_ChildPropName="GetUIKeypadRows" msprop:rel_Generator_UserRelationName="LogicalPeripheral_UIKeypad" msprop:rel_Generator_ParentPropName="LogicalPeripheralRow" msprop:rel_Generator_RelationVarName="relationLogicalPeripheral_UIKeypad" msprop:rel_Generator_UserParentTable="LogicalPeripheral" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UIKeypad" />
-      <xs:field xpath="mstns:LogicalKeyboardReaderUID" />
+      <xs:field xpath="mstns:LogicalPeripheralUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalDevice_LogicalLed" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalLed" msprop:rel_Generator_ChildPropName="GetLogicalLedRows" msprop:rel_Generator_UserRelationName="FK_LogicalDevice_LogicalLed" msprop:rel_Generator_RelationVarName="relationFK_LogicalDevice_LogicalLed" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_LogicalDevice_LogicalLed" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalLed" msprop:rel_Generator_ChildPropName="GetLogicalLedRows" msprop:rel_Generator_UserRelationName="FK_LogicalDevice_LogicalLed" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalDevice_LogicalLed" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalLed" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_VirtualDevice_VirtualLed" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualLed" msprop:rel_Generator_ChildPropName="GetVirtualLedRows" msprop:rel_Generator_UserRelationName="FK_VirtualDevice_VirtualLed" msprop:rel_Generator_RelationVarName="relationFK_VirtualDevice_VirtualLed" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_LogicalLed_VirtualLed" refer="LogicalLed_Constraint1" msprop:rel_Generator_UserChildTable="VirtualLed" msprop:rel_Generator_ChildPropName="GetVirtualLedRows" msprop:rel_Generator_UserRelationName="FK_LogicalLed_VirtualLed" msprop:rel_Generator_ParentPropName="LogicalLedRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalLed_VirtualLed" msprop:rel_Generator_UserParentTable="LogicalLed">
       <xs:selector xpath=".//mstns:VirtualLed" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalLedUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalLed_VirtualLed" refer="LogicalLed_Constraint1" msprop:rel_Generator_UserChildTable="VirtualLed" msprop:rel_Generator_ChildPropName="GetVirtualLedRows" msprop:rel_Generator_UserRelationName="FK_LogicalLed_VirtualLed" msprop:rel_Generator_RelationVarName="relationFK_LogicalLed_VirtualLed" msprop:rel_Generator_UserParentTable="LogicalLed" msprop:rel_Generator_ParentPropName="LogicalLedRow">
+    <xs:keyref name="FK_VirtualDevice_VirtualLed" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualLed" msprop:rel_Generator_ChildPropName="GetVirtualLedRows" msprop:rel_Generator_UserRelationName="FK_VirtualDevice_VirtualLed" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_VirtualDevice_VirtualLed" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualLed" />
-      <xs:field xpath="mstns:LogicalLedUID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalDevice_LogicalKey" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalKey" msprop:rel_Generator_ChildPropName="GetLogicalKeyRows" msprop:rel_Generator_UserRelationName="FK_LogicalDevice_LogicalKey" msprop:rel_Generator_RelationVarName="relationFK_LogicalDevice_LogicalKey" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_LogicalDevice_LogicalKey" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalKey" msprop:rel_Generator_ChildPropName="GetLogicalKeyRows" msprop:rel_Generator_UserRelationName="FK_LogicalDevice_LogicalKey" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalDevice_LogicalKey" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalKey" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalKey_VirtualKey" refer="LogicalKey_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKey" msprop:rel_Generator_ChildPropName="GetVirtualKeyRows" msprop:rel_Generator_UserRelationName="FK_LogicalKey_VirtualKey" msprop:rel_Generator_RelationVarName="relationFK_LogicalKey_VirtualKey" msprop:rel_Generator_UserParentTable="LogicalKey" msprop:rel_Generator_ParentPropName="LogicalKeyRow">
+    <xs:keyref name="FK_VirtualDevice_VirtualKey" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKey" msprop:rel_Generator_ChildPropName="GetVirtualKeyRows" msprop:rel_Generator_UserRelationName="FK_VirtualDevice_VirtualKey" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_VirtualDevice_VirtualKey" msprop:rel_Generator_UserParentTable="VirtualDevice">
       <xs:selector xpath=".//mstns:VirtualKey" />
-      <xs:field xpath="mstns:LogicalKeyUID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_VirtualDevice_VirtualKey" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKey" msprop:rel_Generator_ChildPropName="GetVirtualKeyRows" msprop:rel_Generator_UserRelationName="FK_VirtualDevice_VirtualKey" msprop:rel_Generator_RelationVarName="relationFK_VirtualDevice_VirtualKey" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
+    <xs:keyref name="FK_LogicalKey_VirtualKey" refer="LogicalKey_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKey" msprop:rel_Generator_ChildPropName="GetVirtualKeyRows" msprop:rel_Generator_UserRelationName="FK_LogicalKey_VirtualKey" msprop:rel_Generator_ParentPropName="LogicalKeyRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalKey_VirtualKey" msprop:rel_Generator_UserParentTable="LogicalKey">
       <xs:selector xpath=".//mstns:VirtualKey" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalKeyUID" />
     </xs:keyref>
-    <xs:keyref name="FK_ScheduledItem_ScheduledItem_AP" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_AP" msprop:rel_Generator_ChildPropName="GetScheduledItem_APRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_AP" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_AP" msprop:rel_Generator_UserParentTable="ScheduledItem" msprop:rel_Generator_ParentPropName="ScheduledItemRow">
+    <xs:keyref name="FK_AccessPoint_ScheduledItem_AP" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_AP" msprop:rel_Generator_ChildPropName="GetScheduledItem_APRows" msprop:rel_Generator_UserRelationName="FK_AccessPoint_ScheduledItem_AP" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationFK_AccessPoint_ScheduledItem_AP" msprop:rel_Generator_UserParentTable="AccessPoint">
       <xs:selector xpath=".//mstns:ScheduledItem_AP" />
-      <xs:field xpath="mstns:ScheduledItemUID" />
+      <xs:field xpath="mstns:AccessPointUID" />
     </xs:keyref>
-    <xs:keyref name="FK_AccessPoint_ScheduledItem_AP" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_AP" msprop:rel_Generator_ChildPropName="GetScheduledItem_APRows" msprop:rel_Generator_UserRelationName="FK_AccessPoint_ScheduledItem_AP" msprop:rel_Generator_RelationVarName="relationFK_AccessPoint_ScheduledItem_AP" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow">
+    <xs:keyref name="FK_ScheduledItem_ScheduledItem_AP" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_AP" msprop:rel_Generator_ChildPropName="GetScheduledItem_APRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_AP" msprop:rel_Generator_ParentPropName="ScheduledItemRow" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_AP" msprop:rel_Generator_UserParentTable="ScheduledItem">
       <xs:selector xpath=".//mstns:ScheduledItem_AP" />
-      <xs:field xpath="mstns:AccessPointUID" />
+      <xs:field xpath="mstns:ScheduledItemUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Partition_SoundingFaultTypes" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="SoundingFaultTypes" msprop:rel_Generator_ChildPropName="GetSoundingFaultTypesRows" msprop:rel_Generator_UserRelationName="FK_Partition_SoundingFaultTypes" msprop:rel_Generator_RelationVarName="relationFK_Partition_SoundingFaultTypes" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="FK_Partition_SoundingFaultTypes" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="SoundingFaultTypes" msprop:rel_Generator_ChildPropName="GetSoundingFaultTypesRows" msprop:rel_Generator_UserRelationName="FK_Partition_SoundingFaultTypes" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationFK_Partition_SoundingFaultTypes" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:SoundingFaultTypes" />
       <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2ViewguardDual" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardDual" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardDualRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewguardDual" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewguardDual" msprop:rel_Generator_UserParentTable="HardwareDevice">
+    <xs:keyref name="HardwareDevice_HWBus2ViewguardDual" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardDual" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardDualRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewguardDual" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewguardDual" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
       <xs:selector xpath=".//mstns:HWBus2ViewGuardDual" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_ScheduledItem_ScheduledItem_Door" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Door" msprop:rel_Generator_ChildPropName="GetScheduledItem_DoorRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_Door" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_Door" msprop:rel_Generator_UserParentTable="ScheduledItem" msprop:rel_Generator_ParentPropName="ScheduledItemRow">
+    <xs:keyref name="FK_VirtualDoor_ScheduledItem_Door" refer="VirtualDoor_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Door" msprop:rel_Generator_ChildPropName="GetScheduledItem_DoorRows" msprop:rel_Generator_UserRelationName="FK_VirtualDoor_ScheduledItem_Door" msprop:rel_Generator_ParentPropName="VirtualDoorRow" msprop:rel_Generator_RelationVarName="relationFK_VirtualDoor_ScheduledItem_Door" msprop:rel_Generator_UserParentTable="VirtualDoor">
       <xs:selector xpath=".//mstns:ScheduledItem_Door" />
-      <xs:field xpath="mstns:ScheduledItemUID" />
+      <xs:field xpath="mstns:DoorUID" />
     </xs:keyref>
-    <xs:keyref name="FK_VirtualDoor_ScheduledItem_Door" refer="VirtualDoor_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Door" msprop:rel_Generator_ChildPropName="GetScheduledItem_DoorRows" msprop:rel_Generator_UserRelationName="FK_VirtualDoor_ScheduledItem_Door" msprop:rel_Generator_RelationVarName="relationFK_VirtualDoor_ScheduledItem_Door" msprop:rel_Generator_UserParentTable="VirtualDoor" msprop:rel_Generator_ParentPropName="VirtualDoorRow">
+    <xs:keyref name="FK_ScheduledItem_ScheduledItem_Door" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_Door" msprop:rel_Generator_ChildPropName="GetScheduledItem_DoorRows" msprop:rel_Generator_UserRelationName="FK_ScheduledItem_ScheduledItem_Door" msprop:rel_Generator_ParentPropName="ScheduledItemRow" msprop:rel_Generator_RelationVarName="relationFK_ScheduledItem_ScheduledItem_Door" msprop:rel_Generator_UserParentTable="ScheduledItem">
       <xs:selector xpath=".//mstns:ScheduledItem_Door" />
-      <xs:field xpath="mstns:DoorUID" />
+      <xs:field xpath="mstns:ScheduledItemUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualDoor" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDoor" msprop:rel_Generator_ChildPropName="GetVirtualDoorRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualDoor" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualDoor" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
+    <xs:keyref name="DetectorGroup_VirtualDoor" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDoor" msprop:rel_Generator_ChildPropName="GetVirtualDoorRows" msprop:rel_Generator_UserRelationName="DetectorGroup_VirtualDoor" msprop:rel_Generator_ParentPropName="PartitionMemberRow" msprop:rel_Generator_RelationVarName="relationDetectorGroup_VirtualDoor" msprop:rel_Generator_UserParentTable="PartitionMember" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualDoor" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:SecondaryOwner" />
     </xs:keyref>
-    <xs:keyref name="DetectorGroup_VirtualDoor" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDoor" msprop:rel_Generator_ChildPropName="GetVirtualDoorRows" msprop:rel_Generator_UserRelationName="DetectorGroup_VirtualDoor" msprop:rel_Generator_RelationVarName="relationDetectorGroup_VirtualDoor" msprop:rel_Generator_UserParentTable="PartitionMember" msprop:rel_Generator_ParentPropName="PartitionMemberRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="VirtualDevice_VirtualDoor" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDoor" msprop:rel_Generator_ChildPropName="GetVirtualDoorRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualDoor" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualDoor" msprop:rel_Generator_UserParentTable="VirtualDevice">
       <xs:selector xpath=".//mstns:VirtualDoor" />
-      <xs:field xpath="mstns:SecondaryOwner" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualPIR" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPIR" msprop:rel_Generator_ChildPropName="GetVirtualPIRRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualPIR" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualPIR" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
+    <xs:keyref name="VirtualDevice_VirtualPIR" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPIR" msprop:rel_Generator_ChildPropName="GetVirtualPIRRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualPIR" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualPIR" msprop:rel_Generator_UserParentTable="VirtualDevice">
       <xs:selector xpath=".//mstns:VirtualPIR" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualSounder_Partition_LocalSounder" refer="VirtualSounder_Constraint1" msprop:rel_Generator_UserChildTable="Partition_LocalSounder" msprop:rel_Generator_ChildPropName="GetPartition_LocalSounderRows" msprop:rel_Generator_UserRelationName="VirtualSounder_Partition_LocalSounder" msprop:rel_Generator_RelationVarName="relationVirtualSounder_Partition_LocalSounder" msprop:rel_Generator_UserParentTable="VirtualSounder" msprop:rel_Generator_ParentPropName="VirtualSounderRow">
+    <xs:keyref name="Partition_Partition_LocalSounder" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="Partition_LocalSounder" msprop:rel_Generator_ChildPropName="GetPartition_LocalSounderRows" msprop:rel_Generator_UserRelationName="Partition_Partition_LocalSounder" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationPartition_Partition_LocalSounder" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:Partition_LocalSounder" />
-      <xs:field xpath="mstns:LocalSounderUID" />
+      <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="Partition_Partition_LocalSounder" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="Partition_LocalSounder" msprop:rel_Generator_ChildPropName="GetPartition_LocalSounderRows" msprop:rel_Generator_UserRelationName="Partition_Partition_LocalSounder" msprop:rel_Generator_RelationVarName="relationPartition_Partition_LocalSounder" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="VirtualSounder_Partition_LocalSounder" refer="VirtualSounder_Constraint1" msprop:rel_Generator_UserChildTable="Partition_LocalSounder" msprop:rel_Generator_ChildPropName="GetPartition_LocalSounderRows" msprop:rel_Generator_UserRelationName="VirtualSounder_Partition_LocalSounder" msprop:rel_Generator_ParentPropName="VirtualSounderRow" msprop:rel_Generator_RelationVarName="relationVirtualSounder_Partition_LocalSounder" msprop:rel_Generator_UserParentTable="VirtualSounder">
       <xs:selector xpath=".//mstns:Partition_LocalSounder" />
-      <xs:field xpath="mstns:PartitionUID" />
+      <xs:field xpath="mstns:LocalSounderUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Partition_StoredFaultTypes" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="StoredFaultTypes" msprop:rel_Generator_ChildPropName="GetStoredFaultTypesRows" msprop:rel_Generator_UserRelationName="FK_Partition_StoredFaultTypes" msprop:rel_Generator_RelationVarName="relationFK_Partition_StoredFaultTypes" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="FK_Partition_StoredFaultTypes" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="StoredFaultTypes" msprop:rel_Generator_ChildPropName="GetStoredFaultTypesRows" msprop:rel_Generator_UserRelationName="FK_Partition_StoredFaultTypes" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationFK_Partition_StoredFaultTypes" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:StoredFaultTypes" />
       <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Partition_PartitionDependency" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionDependency" msprop:rel_Generator_ChildPropName="GetPartitionDependencyRows" msprop:rel_Generator_UserRelationName="FK_Partition_PartitionDependency" msprop:rel_Generator_RelationVarName="relationFK_Partition_PartitionDependency" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="FK_Partition_PartitionDependency1" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionDependency" msprop:rel_Generator_ChildPropName="GetPartitionDependencyRowsByFK_Partition_PartitionDependency1" msprop:rel_Generator_UserRelationName="FK_Partition_PartitionDependency1" msprop:rel_Generator_ParentPropName="PartitionRowByFK_Partition_PartitionDependency1" msprop:rel_Generator_RelationVarName="relationFK_Partition_PartitionDependency1" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:PartitionDependency" />
-      <xs:field xpath="mstns:ParentPartitionUID" />
+      <xs:field xpath="mstns:ChildPartitionUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Partition_PartitionDependency1" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionDependency" msprop:rel_Generator_ChildPropName="GetPartitionDependencyRowsByFK_Partition_PartitionDependency1" msprop:rel_Generator_UserRelationName="FK_Partition_PartitionDependency1" msprop:rel_Generator_RelationVarName="relationFK_Partition_PartitionDependency1" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRowByFK_Partition_PartitionDependency1">
+    <xs:keyref name="FK_Partition_PartitionDependency" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionDependency" msprop:rel_Generator_ChildPropName="GetPartitionDependencyRows" msprop:rel_Generator_UserRelationName="FK_Partition_PartitionDependency" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationFK_Partition_PartitionDependency" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:PartitionDependency" />
-      <xs:field xpath="mstns:ChildPartitionUID" />
+      <xs:field xpath="mstns:ParentPartitionUID" />
     </xs:keyref>
-    <xs:keyref name="FK_UIProxy_UIProxy_Partition" refer="UITouchCenter_Constraint1" msprop:rel_Generator_UserChildTable="UITouchCenter_Partition" msprop:rel_Generator_ChildPropName="GetUITouchCenter_PartitionRows" msprop:rel_Generator_UserRelationName="FK_UIProxy_UIProxy_Partition" msprop:rel_Generator_RelationVarName="relationFK_UIProxy_UIProxy_Partition" msprop:rel_Generator_UserParentTable="UITouchCenter" msprop:rel_Generator_ParentPropName="UIProxy_TouchCenterRow">
+    <xs:keyref name="FK_UIProxy_UIProxy_Partition" refer="UITouchCenter_Constraint1" msprop:rel_Generator_UserChildTable="UITouchCenter_Partition" msprop:rel_Generator_ChildPropName="GetUITouchCenter_PartitionRows" msprop:rel_Generator_UserRelationName="FK_UIProxy_UIProxy_Partition" msprop:rel_Generator_ParentPropName="UIProxy_TouchCenterRow" msprop:rel_Generator_RelationVarName="relationFK_UIProxy_UIProxy_Partition" msprop:rel_Generator_UserParentTable="UITouchCenter">
       <xs:selector xpath=".//mstns:UITouchCenter_Partition" />
       <xs:field xpath="mstns:UIProxyUID" />
     </xs:keyref>
-    <xs:keyref name="UIProxy_UITouchCenter" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="UITouchCenter" msprop:rel_Generator_ChildPropName="GetUITouchCenterRows" msprop:rel_Generator_UserRelationName="UIProxy_UITouchCenter" msprop:rel_Generator_RelationVarName="relationUIProxy_UITouchCenter" msprop:rel_Generator_UserParentTable="UIProxy" msprop:rel_Generator_ParentPropName="UIProxyRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalSmartUI_UIProxyTouchCenter" refer="LogicalSmartUI_Constraint1" msprop:rel_Generator_UserChildTable="UITouchCenter" msprop:rel_Generator_ChildPropName="GetUITouchCenterRows" msprop:rel_Generator_UserRelationName="LogicalSmartUI_UIProxyTouchCenter" msprop:rel_Generator_ParentPropName="LogicalSmartUIRow" msprop:rel_Generator_RelationVarName="relationLogicalSmartUI_UIProxyTouchCenter" msprop:rel_Generator_UserParentTable="LogicalSmartUI" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:UITouchCenter" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalSmartUI_UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalSmartUI_UIProxyTouchCenter" refer="LogicalSmartUI_Constraint1" msprop:rel_Generator_UserChildTable="UITouchCenter" msprop:rel_Generator_ChildPropName="GetUITouchCenterRows" msprop:rel_Generator_UserRelationName="LogicalSmartUI_UIProxyTouchCenter" msprop:rel_Generator_RelationVarName="relationLogicalSmartUI_UIProxyTouchCenter" msprop:rel_Generator_UserParentTable="LogicalSmartUI" msprop:rel_Generator_ParentPropName="LogicalSmartUIRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="UIProxy_UITouchCenter" refer="UIProxy_Constraint1" msprop:rel_Generator_UserChildTable="UITouchCenter" msprop:rel_Generator_ChildPropName="GetUITouchCenterRows" msprop:rel_Generator_UserRelationName="UIProxy_UITouchCenter" msprop:rel_Generator_ParentPropName="UIProxyRow" msprop:rel_Generator_RelationVarName="relationUIProxy_UITouchCenter" msprop:rel_Generator_UserParentTable="UIProxy" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:UITouchCenter" />
-      <xs:field xpath="mstns:LogicalSmartUI_UID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_UIProxy" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="UIProxy" msprop:rel_Generator_ChildPropName="GetUIProxyRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_UIProxy" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_UIProxy" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
+    <xs:keyref name="FK_HardwareDevice_UIProxy" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="UIProxy" msprop:rel_Generator_ChildPropName="GetUIProxyRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_UIProxy" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_UIProxy" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:UIProxy" />
       <xs:field xpath="mstns:HardwareDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWAnalogInput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWAnalogInput" msprop:rel_Generator_ChildPropName="GetHWAnalogInputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWAnalogInput" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWAnalogInput" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_HardwareDevice_HWAnalogInput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWAnalogInput" msprop:rel_Generator_ChildPropName="GetHWAnalogInputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWAnalogInput" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWAnalogInput" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWAnalogInput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWSPIOutput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSPIOutput" msprop:rel_Generator_ChildPropName="GetHWSPIOutputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWSPIOutput" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWSPIOutput" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_HardwareDevice_HWSPIOutput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSPIOutput" msprop:rel_Generator_ChildPropName="GetHWSPIOutputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWSPIOutput" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWSPIOutput" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSPIOutput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWSPIInput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSPIInput" msprop:rel_Generator_ChildPropName="GetHWSPIInputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWSPIInput" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWSPIInput" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_HardwareDevice_HWSPIInput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSPIInput" msprop:rel_Generator_ChildPropName="GetHWSPIInputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWSPIInput" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWSPIInput" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSPIInput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWGPIOOutput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWGPIOOutput" msprop:rel_Generator_ChildPropName="GetHWGPIOOutputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWGPIOOutput" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWGPIOOutput" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_HardwareDevice_HWGPIOOutput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWGPIOOutput" msprop:rel_Generator_ChildPropName="GetHWGPIOOutputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWGPIOOutput" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWGPIOOutput" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWGPIOOutput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_HWGPIOInput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWGPIOInput" msprop:rel_Generator_ChildPropName="GetHWGPIOInputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWGPIOInput" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWGPIOInput" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_HardwareDevice_HWGPIOInput" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWGPIOInput" msprop:rel_Generator_ChildPropName="GetHWGPIOInputRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_HWGPIOInput" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_HWGPIOInput" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWGPIOInput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualCarbonMonoxide" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCarbonMonoxide" msprop:rel_Generator_ChildPropName="GetVirtualCarbonMonoxideRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualCarbonMonoxide" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualCarbonMonoxide" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalCarbonMonoxide_VirtualCarbonMonoxide" refer="LogicalCarbonMonoxide_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCarbonMonoxide" msprop:rel_Generator_ChildPropName="GetVirtualCarbonMonoxideRows" msprop:rel_Generator_UserRelationName="LogicalCarbonMonoxide_VirtualCarbonMonoxide" msprop:rel_Generator_ParentPropName="LogicalCarbonMonoxideRow" msprop:rel_Generator_RelationVarName="relationLogicalCarbonMonoxide_VirtualCarbonMonoxide" msprop:rel_Generator_UserParentTable="LogicalCarbonMonoxide" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualCarbonMonoxide" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalCarbonMonoxideUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalCarbonMonoxide_VirtualCarbonMonoxide" refer="LogicalCarbonMonoxide_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCarbonMonoxide" msprop:rel_Generator_ChildPropName="GetVirtualCarbonMonoxideRows" msprop:rel_Generator_UserRelationName="LogicalCarbonMonoxide_VirtualCarbonMonoxide" msprop:rel_Generator_RelationVarName="relationLogicalCarbonMonoxide_VirtualCarbonMonoxide" msprop:rel_Generator_UserParentTable="LogicalCarbonMonoxide" msprop:rel_Generator_ParentPropName="LogicalCarbonMonoxideRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualCarbonMonoxide" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCarbonMonoxide" msprop:rel_Generator_ChildPropName="GetVirtualCarbonMonoxideRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualCarbonMonoxide" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualCarbonMonoxide" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualCarbonMonoxide" />
-      <xs:field xpath="mstns:LogicalCarbonMonoxideUID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalCarbonMonoxide" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalCarbonMonoxide" msprop:rel_Generator_ChildPropName="GetLogicalCarbonMonoxideRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalCarbonMonoxide" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalCarbonMonoxide" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalCarbonMonoxide" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalCarbonMonoxide" msprop:rel_Generator_ChildPropName="GetLogicalCarbonMonoxideRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalCarbonMonoxide" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalCarbonMonoxide" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalCarbonMonoxide" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualWirelessPeripheral" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPeripheralRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWirelessPeripheral" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWirelessPeripheral" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalWirelessPeripheral_VirtualWirelessPeripheral" refer="LogicalWirelessPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalWirelessPeripheral_VirtualWirelessPeripheral" msprop:rel_Generator_ParentPropName="LogicalWirelessPeripheralRow" msprop:rel_Generator_RelationVarName="relationLogicalWirelessPeripheral_VirtualWirelessPeripheral" msprop:rel_Generator_UserParentTable="LogicalWirelessPeripheral" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualWirelessPeripheral" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalWirelessPeripheralUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalWirelessPeripheral_VirtualWirelessPeripheral" refer="LogicalWirelessPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalWirelessPeripheral_VirtualWirelessPeripheral" msprop:rel_Generator_RelationVarName="relationLogicalWirelessPeripheral_VirtualWirelessPeripheral" msprop:rel_Generator_UserParentTable="LogicalWirelessPeripheral" msprop:rel_Generator_ParentPropName="LogicalWirelessPeripheralRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualWirelessPeripheral" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualWirelessPeripheralRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWirelessPeripheral" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWirelessPeripheral" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualWirelessPeripheral" />
-      <xs:field xpath="mstns:LogicalWirelessPeripheralUID" />
-    </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualWirelessMaster" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessMaster" msprop:rel_Generator_ChildPropName="GetVirtualWirelessMasterRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWirelessMaster" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWirelessMaster" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
-      <xs:selector xpath=".//mstns:VirtualWirelessMaster" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalWirelessMaster_VirtualWirelessMaster" refer="LogicalWirelessMaster_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessMaster" msprop:rel_Generator_ChildPropName="GetVirtualWirelessMasterRows" msprop:rel_Generator_UserRelationName="LogicalWirelessMaster_VirtualWirelessMaster" msprop:rel_Generator_RelationVarName="relationLogicalWirelessMaster_VirtualWirelessMaster" msprop:rel_Generator_UserParentTable="LogicalWirelessMaster" msprop:rel_Generator_ParentPropName="LogicalWirelessMasterRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalWirelessMaster_VirtualWirelessMaster" refer="LogicalWirelessMaster_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessMaster" msprop:rel_Generator_ChildPropName="GetVirtualWirelessMasterRows" msprop:rel_Generator_UserRelationName="LogicalWirelessMaster_VirtualWirelessMaster" msprop:rel_Generator_ParentPropName="LogicalWirelessMasterRow" msprop:rel_Generator_RelationVarName="relationLogicalWirelessMaster_VirtualWirelessMaster" msprop:rel_Generator_UserParentTable="LogicalWirelessMaster" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualWirelessMaster" />
       <xs:field xpath="mstns:LogicalWirelessMasterUID" />
     </xs:keyref>
-    <xs:keyref name="Trigger_Trigger_SingleEvent" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_SingleEvent" msprop:rel_Generator_ChildPropName="GetTrigger_SingleEventRows" msprop:rel_Generator_UserRelationName="Trigger_Trigger_SingleEvent" msprop:rel_Generator_RelationVarName="relationTrigger_Trigger_SingleEvent" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualWirelessMaster" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWirelessMaster" msprop:rel_Generator_ChildPropName="GetVirtualWirelessMasterRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWirelessMaster" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWirelessMaster" msprop:rel_Generator_UserParentTable="VirtualDevice">
+      <xs:selector xpath=".//mstns:VirtualWirelessMaster" />
+      <xs:field xpath="mstns:UID" />
+    </xs:keyref>
+    <xs:keyref name="Trigger_Trigger_SingleEvent" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_SingleEvent" msprop:rel_Generator_ChildPropName="GetTrigger_SingleEventRows" msprop:rel_Generator_UserRelationName="Trigger_Trigger_SingleEvent" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationTrigger_Trigger_SingleEvent" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_SingleEvent" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Trigger_SimpleTrigger" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Simple" msprop:rel_Generator_ChildPropName="GetTrigger_SimpleRows" msprop:rel_Generator_UserRelationName="Trigger_SimpleTrigger" msprop:rel_Generator_RelationVarName="relationTrigger_SimpleTrigger" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Trigger_SimpleTrigger" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_Simple" msprop:rel_Generator_ChildPropName="GetTrigger_SimpleRows" msprop:rel_Generator_UserRelationName="Trigger_SimpleTrigger" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationTrigger_SimpleTrigger" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_Simple" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWSerialDS9500" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS9500" msprop:rel_Generator_ChildPropName="GetHWSerialDS9500Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS9500" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS9500" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWSerialDS9500" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS9500" msprop:rel_Generator_ChildPropName="GetHWSerialDS9500Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS9500" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS9500" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSerialDS9500" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWSerialDS7600" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS7600" msprop:rel_Generator_ChildPropName="GetHWSerialDS7600Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS7600" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS7600" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWSerialDS7600" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS7600" msprop:rel_Generator_ChildPropName="GetHWSerialDS7600Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS7600" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS7600" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSerialDS7600" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWSerialDS6750" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS6750" msprop:rel_Generator_ChildPropName="GetHWSerialDS6750Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS6750" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS6750" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWSerialDS6750" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS6750" msprop:rel_Generator_ChildPropName="GetHWSerialDS6750Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS6750" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS6750" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSerialDS6750" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWSerialDS6700" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS6700" msprop:rel_Generator_ChildPropName="GetHWSerialDS6700Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS6700" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS6700" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWSerialDS6700" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS6700" msprop:rel_Generator_ChildPropName="GetHWSerialDS6700Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWSerialDS6700" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWSerialDS6700" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSerialDS6700" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_AlarmDevice_Channel" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="Channel" msprop:rel_Generator_ChildPropName="GetChannelRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_Channel" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_Channel" msprop:rel_Generator_UserParentTable="AlarmDevice" msprop:rel_Generator_ParentPropName="AlarmDeviceRow">
+    <xs:keyref name="FK_AlarmDevice_Channel" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="Channel" msprop:rel_Generator_ChildPropName="GetChannelRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_Channel" msprop:rel_Generator_ParentPropName="AlarmDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_Channel" msprop:rel_Generator_UserParentTable="AlarmDevice">
       <xs:selector xpath=".//mstns:Channel" />
       <xs:field xpath="mstns:AlarmDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Partition_AlarmDevice_FaultPartition" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice_FaultPartition" msprop:rel_Generator_ChildPropName="GetAlarmDevice_FaultPartitionRows" msprop:rel_Generator_UserRelationName="FK_Partition_AlarmDevice_FaultPartition" msprop:rel_Generator_RelationVarName="relationFK_Partition_AlarmDevice_FaultPartition" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="FK_AlarmDevice_AlarmDevice_FaultPartition" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice_FaultPartition" msprop:rel_Generator_ChildPropName="GetAlarmDevice_FaultPartitionRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_AlarmDevice_FaultPartition" msprop:rel_Generator_ParentPropName="AlarmDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_AlarmDevice_FaultPartition" msprop:rel_Generator_UserParentTable="AlarmDevice">
       <xs:selector xpath=".//mstns:AlarmDevice_FaultPartition" />
-      <xs:field xpath="mstns:PartitionUID" />
+      <xs:field xpath="mstns:AlarmDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="FK_AlarmDevice_AlarmDevice_FaultPartition" refer="AlarmDevice_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice_FaultPartition" msprop:rel_Generator_ChildPropName="GetAlarmDevice_FaultPartitionRows" msprop:rel_Generator_UserRelationName="FK_AlarmDevice_AlarmDevice_FaultPartition" msprop:rel_Generator_RelationVarName="relationFK_AlarmDevice_AlarmDevice_FaultPartition" msprop:rel_Generator_UserParentTable="AlarmDevice" msprop:rel_Generator_ParentPropName="AlarmDeviceRow">
+    <xs:keyref name="FK_Partition_AlarmDevice_FaultPartition" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice_FaultPartition" msprop:rel_Generator_ChildPropName="GetAlarmDevice_FaultPartitionRows" msprop:rel_Generator_UserRelationName="FK_Partition_AlarmDevice_FaultPartition" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationFK_Partition_AlarmDevice_FaultPartition" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:AlarmDevice_FaultPartition" />
-      <xs:field xpath="mstns:AlarmDeviceUID" />
+      <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="FK_VirtualDSDevice_AlarmDevice" refer="VirtualDSDevice_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice" msprop:rel_Generator_ChildPropName="GetAlarmDeviceRows" msprop:rel_Generator_UserRelationName="FK_VirtualDSDevice_AlarmDevice" msprop:rel_Generator_ParentPropName="VirtualDSDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_VirtualDSDevice_AlarmDevice" msprop:rel_Generator_UserParentTable="VirtualDSDevice">
+    <xs:keyref name="FK_Partition_AlarmDevice" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice" msprop:rel_Generator_ChildPropName="GetAlarmDeviceRows" msprop:rel_Generator_UserRelationName="FK_Partition_AlarmDevice" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationFK_Partition_AlarmDevice" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:AlarmDevice" />
-      <xs:field xpath="mstns:VirtualDSDeviceUID" />
+      <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="FK_Partition_AlarmDevice" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice" msprop:rel_Generator_ChildPropName="GetAlarmDeviceRows" msprop:rel_Generator_UserRelationName="FK_Partition_AlarmDevice" msprop:rel_Generator_RelationVarName="relationFK_Partition_AlarmDevice" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="FK_VirtualDSDevice_AlarmDevice" refer="VirtualDSDevice_Constraint1" msprop:rel_Generator_UserChildTable="AlarmDevice" msprop:rel_Generator_ChildPropName="GetAlarmDeviceRows" msprop:rel_Generator_UserRelationName="FK_VirtualDSDevice_AlarmDevice" msprop:rel_Generator_RelationVarName="relationFK_VirtualDSDevice_AlarmDevice" msprop:rel_Generator_UserParentTable="VirtualDSDevice" msprop:rel_Generator_ParentPropName="VirtualDSDeviceRow">
       <xs:selector xpath=".//mstns:AlarmDevice" />
-      <xs:field xpath="mstns:PartitionUID" />
+      <xs:field xpath="mstns:VirtualDSDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalDSAlarmReporting" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDSAlarmReporting" msprop:rel_Generator_ChildPropName="GetLogicalDSAlarmReportingRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalDSAlarmReporting" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalDSAlarmReporting" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalDSAlarmReporting" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDSAlarmReporting" msprop:rel_Generator_ChildPropName="GetLogicalDSAlarmReportingRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalDSAlarmReporting" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalDSAlarmReporting" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalDSAlarmReporting" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualDSDevice" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDSDevice" msprop:rel_Generator_ChildPropName="GetVirtualDSDeviceRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualDSDevice" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualDSDevice" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
+    <xs:keyref name="LogicalDSAlarmReporting_VirtualDSDevice" refer="LogicalDSAlarmReporting_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDSDevice" msprop:rel_Generator_ChildPropName="GetVirtualDSDeviceRows" msprop:rel_Generator_UserRelationName="LogicalDSAlarmReporting_VirtualDSDevice" msprop:rel_Generator_ParentPropName="LogicalDSAlarmReportingRow" msprop:rel_Generator_RelationVarName="relationLogicalDSAlarmReporting_VirtualDSDevice" msprop:rel_Generator_UserParentTable="LogicalDSAlarmReporting" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualDSDevice" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalDSAlarmReportingUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDSAlarmReporting_VirtualDSDevice" refer="LogicalDSAlarmReporting_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDSDevice" msprop:rel_Generator_ChildPropName="GetVirtualDSDeviceRows" msprop:rel_Generator_UserRelationName="LogicalDSAlarmReporting_VirtualDSDevice" msprop:rel_Generator_RelationVarName="relationLogicalDSAlarmReporting_VirtualDSDevice" msprop:rel_Generator_UserParentTable="LogicalDSAlarmReporting" msprop:rel_Generator_ParentPropName="LogicalDSAlarmReportingRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualDSDevice" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDSDevice" msprop:rel_Generator_ChildPropName="GetVirtualDSDeviceRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualDSDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualDSDevice" msprop:rel_Generator_UserParentTable="VirtualDevice">
       <xs:selector xpath=".//mstns:VirtualDSDevice" />
-      <xs:field xpath="mstns:LogicalDSAlarmReportingUID" />
-    </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualFlasher" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualFlasher" msprop:rel_Generator_ChildPropName="GetVirtualFlasherRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualFlasher" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualFlasher" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualFlasher" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualFlasher" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualFlasher" msprop:rel_Generator_ChildPropName="GetVirtualFlasherRows" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualFlasher" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualFlasher" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRow">
+    <xs:keyref name="LogicalOutput_VirtualFlasher" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualFlasher" msprop:rel_Generator_ChildPropName="GetVirtualFlasherRows" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualFlasher" msprop:rel_Generator_ParentPropName="LogicalOutputRow" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualFlasher" msprop:rel_Generator_UserParentTable="LogicalOutput">
       <xs:selector xpath=".//mstns:VirtualFlasher" />
       <xs:field xpath="mstns:LogicalOutputUID" />
     </xs:keyref>
-    <xs:keyref name="UserGroup_User_UserGroup" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="User_UserGroup" msprop:rel_Generator_ChildPropName="GetUser_UserGroupRows" msprop:rel_Generator_UserRelationName="UserGroup_User_UserGroup" msprop:rel_Generator_RelationVarName="relationUserGroup_User_UserGroup" msprop:rel_Generator_UserParentTable="UserGroup" msprop:rel_Generator_ParentPropName="UserGroupRow">
-      <xs:selector xpath=".//mstns:User_UserGroup" />
-      <xs:field xpath="mstns:UserGroupUID" />
+    <xs:keyref name="VirtualDevice_VirtualFlasher" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualFlasher" msprop:rel_Generator_ChildPropName="GetVirtualFlasherRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualFlasher" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualFlasher" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualFlasher" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="User_User_UserGroup" refer="User_Constraint1" msprop:rel_Generator_UserChildTable="User_UserGroup" msprop:rel_Generator_ChildPropName="GetUser_UserGroupRows" msprop:rel_Generator_UserRelationName="User_User_UserGroup" msprop:rel_Generator_RelationVarName="relationUser_User_UserGroup" msprop:rel_Generator_UserParentTable="User" msprop:rel_Generator_ParentPropName="UserRow">
+    <xs:keyref name="User_User_UserGroup" refer="User_Constraint1" msprop:rel_Generator_UserChildTable="User_UserGroup" msprop:rel_Generator_ChildPropName="GetUser_UserGroupRows" msprop:rel_Generator_UserRelationName="User_User_UserGroup" msprop:rel_Generator_ParentPropName="UserRow" msprop:rel_Generator_RelationVarName="relationUser_User_UserGroup" msprop:rel_Generator_UserParentTable="User">
       <xs:selector xpath=".//mstns:User_UserGroup" />
       <xs:field xpath="mstns:UserUID" />
     </xs:keyref>
-    <xs:keyref name="FK_TimeSchedule_UserGroup_TimeSchedule" refer="TimeSchedule_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_TimeSchedule" msprop:rel_Generator_ChildPropName="GetUserGroup_TimeScheduleRows" msprop:rel_Generator_UserRelationName="FK_TimeSchedule_UserGroup_TimeSchedule" msprop:rel_Generator_RelationVarName="relationFK_TimeSchedule_UserGroup_TimeSchedule" msprop:rel_Generator_UserParentTable="TimeSchedule" msprop:rel_Generator_ParentPropName="TimeScheduleRow">
-      <xs:selector xpath=".//mstns:UserGroup_TimeSchedule" />
-      <xs:field xpath="mstns:TimeScheduleUID" />
+    <xs:keyref name="UserGroup_User_UserGroup" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="User_UserGroup" msprop:rel_Generator_ChildPropName="GetUser_UserGroupRows" msprop:rel_Generator_UserRelationName="UserGroup_User_UserGroup" msprop:rel_Generator_ParentPropName="UserGroupRow" msprop:rel_Generator_RelationVarName="relationUserGroup_User_UserGroup" msprop:rel_Generator_UserParentTable="UserGroup">
+      <xs:selector xpath=".//mstns:User_UserGroup" />
+      <xs:field xpath="mstns:UserGroupUID" />
     </xs:keyref>
-    <xs:keyref name="FK_RTZ_UserGroup_TimeSchedule" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_TimeSchedule" msprop:rel_Generator_ChildPropName="GetUserGroup_TimeScheduleRows" msprop:rel_Generator_UserRelationName="FK_RTZ_UserGroup_TimeSchedule" msprop:rel_Generator_RelationVarName="relationFK_RTZ_UserGroup_TimeSchedule" msprop:rel_Generator_UserParentTable="UserGroup" msprop:rel_Generator_ParentPropName="UserGroupRow">
+    <xs:keyref name="FK_RTZ_UserGroup_TimeSchedule" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_TimeSchedule" msprop:rel_Generator_ChildPropName="GetUserGroup_TimeScheduleRows" msprop:rel_Generator_UserRelationName="FK_RTZ_UserGroup_TimeSchedule" msprop:rel_Generator_ParentPropName="UserGroupRow" msprop:rel_Generator_RelationVarName="relationFK_RTZ_UserGroup_TimeSchedule" msprop:rel_Generator_UserParentTable="UserGroup">
       <xs:selector xpath=".//mstns:UserGroup_TimeSchedule" />
       <xs:field xpath="mstns:UserGroupUID" />
     </xs:keyref>
-    <xs:keyref name="FK_TimeSchedule_TimePeriod" refer="TimeSchedule_Constraint1" msprop:rel_Generator_UserChildTable="TimePeriod" msprop:rel_Generator_ChildPropName="GetTimePeriodRows" msprop:rel_Generator_UserRelationName="FK_TimeSchedule_TimePeriod" msprop:rel_Generator_RelationVarName="relationFK_TimeSchedule_TimePeriod" msprop:rel_Generator_UserParentTable="TimeSchedule" msprop:rel_Generator_ParentPropName="TimeScheduleRow">
+    <xs:keyref name="FK_TimeSchedule_UserGroup_TimeSchedule" refer="TimeSchedule_Constraint1" msprop:rel_Generator_UserChildTable="UserGroup_TimeSchedule" msprop:rel_Generator_ChildPropName="GetUserGroup_TimeScheduleRows" msprop:rel_Generator_UserRelationName="FK_TimeSchedule_UserGroup_TimeSchedule" msprop:rel_Generator_ParentPropName="TimeScheduleRow" msprop:rel_Generator_RelationVarName="relationFK_TimeSchedule_UserGroup_TimeSchedule" msprop:rel_Generator_UserParentTable="TimeSchedule">
+      <xs:selector xpath=".//mstns:UserGroup_TimeSchedule" />
+      <xs:field xpath="mstns:TimeScheduleUID" />
+    </xs:keyref>
+    <xs:keyref name="FK_TimeSchedule_TimePeriod" refer="TimeSchedule_Constraint1" msprop:rel_Generator_UserChildTable="TimePeriod" msprop:rel_Generator_ChildPropName="GetTimePeriodRows" msprop:rel_Generator_UserRelationName="FK_TimeSchedule_TimePeriod" msprop:rel_Generator_ParentPropName="TimeScheduleRow" msprop:rel_Generator_RelationVarName="relationFK_TimeSchedule_TimePeriod" msprop:rel_Generator_UserParentTable="TimeSchedule">
       <xs:selector xpath=".//mstns:TimePeriod" />
       <xs:field xpath="mstns:TimeScheduleUID" />
     </xs:keyref>
-    <xs:keyref name="UserGroup_DatePeriod" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="DatePeriod" msprop:rel_Generator_ChildPropName="GetDatePeriodRows" msprop:rel_Generator_UserRelationName="UserGroup_DatePeriod" msprop:rel_Generator_RelationVarName="relationUserGroup_DatePeriod" msprop:rel_Generator_UserParentTable="UserGroup" msprop:rel_Generator_ParentPropName="UserGroupRow">
+    <xs:keyref name="UserGroup_DatePeriod" refer="UserGroup_Constraint1" msprop:rel_Generator_UserChildTable="DatePeriod" msprop:rel_Generator_ChildPropName="GetDatePeriodRows" msprop:rel_Generator_UserRelationName="UserGroup_DatePeriod" msprop:rel_Generator_ParentPropName="UserGroupRow" msprop:rel_Generator_RelationVarName="relationUserGroup_DatePeriod" msprop:rel_Generator_UserParentTable="UserGroup">
       <xs:selector xpath=".//mstns:DatePeriod" />
       <xs:field xpath="mstns:UserGroupUID" />
     </xs:keyref>
-    <xs:keyref name="AccessPoint_ScheduledItem_AccessPoint" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_APGroup" msprop:rel_Generator_ChildPropName="GetScheduledItem_APGroupRows" msprop:rel_Generator_UserRelationName="AccessPoint_ScheduledItem_AccessPoint" msprop:rel_Generator_RelationVarName="relationAccessPoint_ScheduledItem_AccessPoint" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow">
+    <xs:keyref name="FK_AccessPointGroup_AccessPointGroup_AccessPoint" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_APGroup" msprop:rel_Generator_ChildPropName="GetScheduledItem_AccessPointRows" msprop:rel_Generator_UserRelationName="FK_AccessPointGroup_AccessPointGroup_AccessPoint" msprop:rel_Generator_ParentPropName="ScheduledItemRow" msprop:rel_Generator_RelationVarName="relationFK_AccessPointGroup_AccessPointGroup_AccessPoint" msprop:rel_Generator_UserParentTable="ScheduledItem">
       <xs:selector xpath=".//mstns:ScheduledItem_APGroup" />
-      <xs:field xpath="mstns:AccessPointUID" />
+      <xs:field xpath="mstns:ScheduledItemUID" />
     </xs:keyref>
-    <xs:keyref name="FK_AccessPointGroup_AccessPointGroup_AccessPoint" refer="ScheduledItem_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_APGroup" msprop:rel_Generator_ChildPropName="GetScheduledItem_AccessPointRows" msprop:rel_Generator_UserRelationName="FK_AccessPointGroup_AccessPointGroup_AccessPoint" msprop:rel_Generator_RelationVarName="relationFK_AccessPointGroup_AccessPointGroup_AccessPoint" msprop:rel_Generator_UserParentTable="ScheduledItem" msprop:rel_Generator_ParentPropName="ScheduledItemRow">
+    <xs:keyref name="AccessPoint_ScheduledItem_AccessPoint" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="ScheduledItem_APGroup" msprop:rel_Generator_ChildPropName="GetScheduledItem_APGroupRows" msprop:rel_Generator_UserRelationName="AccessPoint_ScheduledItem_AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationAccessPoint_ScheduledItem_AccessPoint" msprop:rel_Generator_UserParentTable="AccessPoint">
       <xs:selector xpath=".//mstns:ScheduledItem_APGroup" />
-      <xs:field xpath="mstns:ScheduledItemUID" />
+      <xs:field xpath="mstns:AccessPointUID" />
     </xs:keyref>
-    <xs:keyref name="Partition_UnsetPreventionAlarmType" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="UnsetPreventionAlarmType" msprop:rel_Generator_ChildPropName="GetUnsetPreventionAlarmTypeRows" msprop:rel_Generator_UserRelationName="Partition_UnsetPreventionAlarmType" msprop:rel_Generator_RelationVarName="relationPartition_UnsetPreventionAlarmType" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="Partition_UnsetPreventionAlarmType" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="UnsetPreventionAlarmType" msprop:rel_Generator_ChildPropName="GetUnsetPreventionAlarmTypeRows" msprop:rel_Generator_UserRelationName="Partition_UnsetPreventionAlarmType" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationPartition_UnsetPreventionAlarmType" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:UnsetPreventionAlarmType" />
       <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2WirelessPanicButtonController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessPanicButtonController" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessPanicButtonControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2WirelessPanicButtonController" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2WirelessPanicButtonController" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2WirelessPanicButtonController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessPanicButtonController" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessPanicButtonControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2WirelessPanicButtonController" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2WirelessPanicButtonController" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2WirelessPanicButtonController" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalWirelessMaster" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalWirelessMaster" msprop:rel_Generator_ChildPropName="GetLogicalWirelessMasterRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalWirelessMaster" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalWirelessMaster" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow">
+    <xs:keyref name="LogicalDevice_LogicalWirelessMaster" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalWirelessMaster" msprop:rel_Generator_ChildPropName="GetLogicalWirelessMasterRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalWirelessMaster" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalWirelessMaster" msprop:rel_Generator_UserParentTable="LogicalDevice">
       <xs:selector xpath=".//mstns:LogicalWirelessMaster" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalWirelessPeripheral" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalWirelessPeripheral" msprop:rel_Generator_ChildPropName="GetLogicalWirelessPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalWirelessPeripheral" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalWirelessPeripheral" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalWirelessPeripheral" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalWirelessPeripheral" msprop:rel_Generator_ChildPropName="GetLogicalWirelessPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalWirelessPeripheral" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalWirelessPeripheral" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalWirelessPeripheral" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" refer="VirtualPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralPartitionMemberFaultTypeRows" msprop:rel_Generator_UserRelationName="VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_RelationVarName="relationVirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_UserParentTable="VirtualPeripheral" msprop:rel_Generator_ParentPropName="VirtualPeripheralRow">
+    <xs:keyref name="PartitionMember_VirtualPeripheralPartitionMemberFaultType" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralPartitionMemberFaultTypeRows" msprop:rel_Generator_UserRelationName="PartitionMember_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_ParentPropName="PartitionMemberRow" msprop:rel_Generator_RelationVarName="relationPartitionMember_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_UserParentTable="PartitionMember">
       <xs:selector xpath=".//mstns:VirtualPeripheralPartitionMemberFaultType" />
-      <xs:field xpath="mstns:VirtualPeripheralUID" />
+      <xs:field xpath="mstns:PartitionMemberUID" />
     </xs:keyref>
-    <xs:keyref name="PartitionMember_VirtualPeripheralPartitionMemberFaultType" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralPartitionMemberFaultTypeRows" msprop:rel_Generator_UserRelationName="PartitionMember_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_RelationVarName="relationPartitionMember_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_UserParentTable="PartitionMember" msprop:rel_Generator_ParentPropName="PartitionMemberRow">
+    <xs:keyref name="VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" refer="VirtualPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralPartitionMemberFaultTypeRows" msprop:rel_Generator_UserRelationName="VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_ParentPropName="VirtualPeripheralRow" msprop:rel_Generator_RelationVarName="relationVirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" msprop:rel_Generator_UserParentTable="VirtualPeripheral">
       <xs:selector xpath=".//mstns:VirtualPeripheralPartitionMemberFaultType" />
-      <xs:field xpath="mstns:PartitionMemberUID" />
+      <xs:field xpath="mstns:VirtualPeripheralUID" />
     </xs:keyref>
-    <xs:keyref name="Partition_PartitionFaultType" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionFaultType" msprop:rel_Generator_ChildPropName="GetPartitionFaultTypeRows" msprop:rel_Generator_UserRelationName="Partition_PartitionFaultType" msprop:rel_Generator_RelationVarName="relationPartition_PartitionFaultType" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="Partition_PartitionFaultType" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionFaultType" msprop:rel_Generator_ChildPropName="GetPartitionFaultTypeRows" msprop:rel_Generator_UserRelationName="Partition_PartitionFaultType" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationPartition_PartitionFaultType" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:PartitionFaultType" />
       <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="Command_Command_MacroDelay" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_MacroDelay" msprop:rel_Generator_ChildPropName="GetCommand_MacroDelayRows" msprop:rel_Generator_UserRelationName="Command_Command_MacroDelay" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationCommand_Command_MacroDelay" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Command_Command_MacroDelay" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_MacroDelay" msprop:rel_Generator_ChildPropName="GetCommand_MacroDelayRows" msprop:rel_Generator_UserRelationName="Command_Command_MacroDelay" msprop:rel_Generator_RelationVarName="relationCommand_Command_MacroDelay" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Command_MacroDelay" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Command_Command_OutputPulseOn" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_OutputPulseOn" msprop:rel_Generator_ChildPropName="GetCommand_OutputPulseOnRows" msprop:rel_Generator_UserRelationName="Command_Command_OutputPulseOn" msprop:rel_Generator_RelationVarName="relationCommand_Command_OutputPulseOn" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Command_Command_OutputPulseOn" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_OutputPulseOn" msprop:rel_Generator_ChildPropName="GetCommand_OutputPulseOnRows" msprop:rel_Generator_UserRelationName="Command_Command_OutputPulseOn" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationCommand_Command_OutputPulseOn" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Command_OutputPulseOn" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Command_Command_PartitionMemberOmit" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_PartitionMemberOmit" msprop:rel_Generator_ChildPropName="GetCommand_PartitionMemberOmitRows" msprop:rel_Generator_UserRelationName="Command_Command_PartitionMemberOmit" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationCommand_Command_PartitionMemberOmit" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Command_Command_PartitionMemberOmit" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_PartitionMemberOmit" msprop:rel_Generator_ChildPropName="GetCommand_PartitionMemberOmitRows" msprop:rel_Generator_UserRelationName="Command_Command_PartitionMemberOmit" msprop:rel_Generator_RelationVarName="relationCommand_Command_PartitionMemberOmit" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Command_PartitionMemberOmit" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Command_Command_PartitionClearAlarmType" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_PartitionClearAlarmType" msprop:rel_Generator_ChildPropName="GetCommand_PartitionClearAlarmTypeRows" msprop:rel_Generator_UserRelationName="Command_Command_PartitionClearAlarmType" msprop:rel_Generator_RelationVarName="relationCommand_Command_PartitionClearAlarmType" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Command_Command_PartitionClearAlarmType" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_PartitionClearAlarmType" msprop:rel_Generator_ChildPropName="GetCommand_PartitionClearAlarmTypeRows" msprop:rel_Generator_UserRelationName="Command_Command_PartitionClearAlarmType" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationCommand_Command_PartitionClearAlarmType" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Command_PartitionClearAlarmType" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Command_Command_PartitionSetState" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_PartitionSetState" msprop:rel_Generator_ChildPropName="GetCommand_PartitionSetStateRows" msprop:rel_Generator_UserRelationName="Command_Command_PartitionSetState" msprop:rel_Generator_RelationVarName="relationCommand_Command_PartitionSetState" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Command_Command_PartitionSetState" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Command_PartitionSetState" msprop:rel_Generator_ChildPropName="GetCommand_PartitionSetStateRows" msprop:rel_Generator_UserRelationName="Command_Command_PartitionSetState" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationCommand_Command_PartitionSetState" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Command_PartitionSetState" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Trigger_PartitionTrigger_SetState" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionSetState" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionSetStateRows" msprop:rel_Generator_UserRelationName="Trigger_PartitionTrigger_SetState" msprop:rel_Generator_RelationVarName="relationTrigger_PartitionTrigger_SetState" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Trigger_PartitionTrigger_SetState" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionSetState" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionSetStateRows" msprop:rel_Generator_UserRelationName="Trigger_PartitionTrigger_SetState" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationTrigger_PartitionTrigger_SetState" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_PartitionSetState" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Trigger_PartitionTrigger_ReadyState" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionReadySetState" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionReadySetStateRows" msprop:rel_Generator_UserRelationName="Trigger_PartitionTrigger_ReadyState" msprop:rel_Generator_RelationVarName="relationTrigger_PartitionTrigger_ReadyState" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Trigger_PartitionTrigger_ReadyState" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Trigger_PartitionReadySetState" msprop:rel_Generator_ChildPropName="GetTrigger_PartitionReadySetStateRows" msprop:rel_Generator_UserRelationName="Trigger_PartitionTrigger_ReadyState" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationTrigger_PartitionTrigger_ReadyState" msprop:rel_Generator_UserParentTable="Trigger" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Trigger_PartitionReadySetState" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="PMCollection_PMCollectionExitRoute" refer="PMCollection_Constraint1" msprop:rel_Generator_UserChildTable="PMCollectionExitRoute" msprop:rel_Generator_ChildPropName="GetPMCollectionExitRouteRows" msprop:rel_Generator_UserRelationName="PMCollection_PMCollectionExitRoute" msprop:rel_Generator_RelationVarName="relationPMCollection_PMCollectionExitRoute" msprop:rel_Generator_UserParentTable="PMCollection" msprop:rel_Generator_ParentPropName="PMCollectionRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="PMCollection_PMCollectionExitRoute" refer="PMCollection_Constraint1" msprop:rel_Generator_UserChildTable="PMCollectionExitRoute" msprop:rel_Generator_ChildPropName="GetPMCollectionExitRouteRows" msprop:rel_Generator_UserRelationName="PMCollection_PMCollectionExitRoute" msprop:rel_Generator_ParentPropName="PMCollectionRow" msprop:rel_Generator_RelationVarName="relationPMCollection_PMCollectionExitRoute" msprop:rel_Generator_UserParentTable="PMCollection" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:PMCollectionExitRoute" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="PMCollection_PMCollectionEntryRoute" refer="PMCollection_Constraint1" msprop:rel_Generator_UserChildTable="PMCollectionEntryRoute" msprop:rel_Generator_ChildPropName="GetPMCollectionEntryRouteRows" msprop:rel_Generator_UserRelationName="PMCollection_PMCollectionEntryRoute" msprop:rel_Generator_RelationVarName="relationPMCollection_PMCollectionEntryRoute" msprop:rel_Generator_UserParentTable="PMCollection" msprop:rel_Generator_ParentPropName="PMCollectionRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="PMCollection_PMCollectionEntryRoute" refer="PMCollection_Constraint1" msprop:rel_Generator_UserChildTable="PMCollectionEntryRoute" msprop:rel_Generator_ChildPropName="GetPMCollectionEntryRouteRows" msprop:rel_Generator_UserRelationName="PMCollection_PMCollectionEntryRoute" msprop:rel_Generator_ParentPropName="PMCollectionRow" msprop:rel_Generator_RelationVarName="relationPMCollection_PMCollectionEntryRoute" msprop:rel_Generator_UserParentTable="PMCollection" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:PMCollectionEntryRoute" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="PMCollection_PMCollectionDependecy" refer="PMCollection_Constraint1" msprop:rel_Generator_UserChildTable="PMCollectionDependency" msprop:rel_Generator_ChildPropName="GetPMCollectionDependencyRows" msprop:rel_Generator_UserRelationName="PMCollection_PMCollectionDependecy" msprop:rel_Generator_RelationVarName="relationPMCollection_PMCollectionDependecy" msprop:rel_Generator_UserParentTable="PMCollection" msprop:rel_Generator_ParentPropName="PMCollectionRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="PMCollection_PMCollectionDependecy" refer="PMCollection_Constraint1" msprop:rel_Generator_UserChildTable="PMCollectionDependency" msprop:rel_Generator_ChildPropName="GetPMCollectionDependencyRows" msprop:rel_Generator_UserRelationName="PMCollection_PMCollectionDependecy" msprop:rel_Generator_ParentPropName="PMCollectionRow" msprop:rel_Generator_RelationVarName="relationPMCollection_PMCollectionDependecy" msprop:rel_Generator_UserParentTable="PMCollection" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:PMCollectionDependency" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Partition_PMCollection" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PMCollection" msprop:rel_Generator_ChildPropName="GetPMCollectionRows" msprop:rel_Generator_UserRelationName="Partition_PMCollection" msprop:rel_Generator_RelationVarName="relationPartition_PMCollection" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="Partition_PMCollection" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PMCollection" msprop:rel_Generator_ChildPropName="GetPMCollectionRows" msprop:rel_Generator_UserRelationName="Partition_PMCollection" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationPartition_PMCollection" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:PMCollection" />
       <xs:field xpath="mstns:Owner" />
     </xs:keyref>
-    <xs:keyref name="Partition_PartitionMember" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionMember" msprop:rel_Generator_ChildPropName="GetPartitionMemberRows" msprop:rel_Generator_UserRelationName="Partition_PartitionMember" msprop:rel_Generator_RelationVarName="relationPartition_PartitionMember" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="Partition_PartitionMember" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="PartitionMember" msprop:rel_Generator_ChildPropName="GetPartitionMemberRows" msprop:rel_Generator_UserRelationName="Partition_PartitionMember" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationPartition_PartitionMember" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:PartitionMember" />
       <xs:field xpath="mstns:Owner" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2BusController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2BusController" msprop:rel_Generator_ChildPropName="GetHWBus2BusControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2BusController" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2BusController" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2BusController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2BusController" msprop:rel_Generator_ChildPropName="GetHWBus2BusControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2BusController" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2BusController" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2BusController" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWIBusEAGrundModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWIBusEAGrundModule" msprop:rel_Generator_ChildPropName="GetHWIBusEAGrundModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIBusEAGrundModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIBusEAGrundModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWIBusEAGrundModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWIBusEAGrundModule" msprop:rel_Generator_ChildPropName="GetHWIBusEAGrundModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIBusEAGrundModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIBusEAGrundModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWIBusEAGrundModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus264DGDisplayTerminal" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus264DGDisplayTerminal" msprop:rel_Generator_ChildPropName="GetHWBus264DGDisplayTerminalRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus264DGDisplayTerminal" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus264DGDisplayTerminal" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus264DGDisplayTerminal" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus264DGDisplayTerminal" msprop:rel_Generator_ChildPropName="GetHWBus264DGDisplayTerminalRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus264DGDisplayTerminal" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus264DGDisplayTerminal" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus264DGDisplayTerminal" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWIB2DS7700Module" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS7700" msprop:rel_Generator_ChildPropName="GetHWSerialDS7700Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIB2DS7700Module" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIB2DS7700Module" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWIB2DS7700Module" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS7700" msprop:rel_Generator_ChildPropName="GetHWSerialDS7700Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIB2DS7700Module" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIB2DS7700Module" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSerialDS7700" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWIB2DS6600Module" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS6600" msprop:rel_Generator_ChildPropName="GetHWSerialDS6600Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIB2DS6600Module" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIB2DS6600Module" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWIB2DS6600Module" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialDS6600" msprop:rel_Generator_ChildPropName="GetHWSerialDS6600Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIB2DS6600Module" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIB2DS6600Module" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSerialDS6600" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWIB2SirenModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SirenModule" msprop:rel_Generator_ChildPropName="GetHWBus2SirenModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIB2SirenModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIB2SirenModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWIB2SirenModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SirenModule" msprop:rel_Generator_ChildPropName="GetHWBus2SirenModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIB2SirenModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIB2SirenModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2SirenModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2WirelessRFPanicButton" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessPanicButton" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2WirelessRFPanicButton" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2WirelessRFPanicButton" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2WirelessRFPanicButton" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessPanicButton" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessPanicButtonRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2WirelessRFPanicButton" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2WirelessRFPanicButton" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2WirelessPanicButton" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2RFViewguardPIR" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessViewguard" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessViewguardRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RFViewguardPIR" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RFViewguardPIR" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2RFViewguardPIR" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessViewguard" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessViewguardRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RFViewguardPIR" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RFViewguardPIR" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2WirelessViewguard" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2RFSmokeDetectorBase" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessSmokeDetector" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessSmokeDetectorRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RFSmokeDetectorBase" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RFSmokeDetectorBase" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2RFSmokeDetectorBase" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessSmokeDetector" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessSmokeDetectorRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RFSmokeDetectorBase" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RFSmokeDetectorBase" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2WirelessSmokeDetector" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2RF4IOWirelessModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Wireless4IOModule" msprop:rel_Generator_ChildPropName="GetHWBus2Wireless4IOModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RF4IOWirelessModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RF4IOWirelessModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2RF4IOWirelessModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Wireless4IOModule" msprop:rel_Generator_ChildPropName="GetHWBus2Wireless4IOModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RF4IOWirelessModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RF4IOWirelessModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2Wireless4IOModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2RFBus2WirelessMaster" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessMaster" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessMasterRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RFBus2WirelessMaster" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RFBus2WirelessMaster" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2RFBus2WirelessMaster" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2WirelessMaster" msprop:rel_Generator_ChildPropName="GetHWBus2WirelessMasterRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2RFBus2WirelessMaster" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2RFBus2WirelessMaster" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2WirelessMaster" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_Bus2TouchCenter" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2GraphicsKeypad" msprop:rel_Generator_ChildPropName="GetHWBus2GraphicsKeypadRows" msprop:rel_Generator_UserRelationName="HardwareDevice_Bus2TouchCenter" msprop:rel_Generator_RelationVarName="relationHardwareDevice_Bus2TouchCenter" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_Bus2TouchCenter" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2GraphicsKeypad" msprop:rel_Generator_ChildPropName="GetHWBus2GraphicsKeypadRows" msprop:rel_Generator_UserRelationName="HardwareDevice_Bus2TouchCenter" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_Bus2TouchCenter" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2GraphicsKeypad" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWModulBusKeyboardReader" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWModulBusKeyboardReader" msprop:rel_Generator_ChildPropName="GetHWModulBusKeyboardReaderRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWModulBusKeyboardReader" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWModulBusKeyboardReader" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWModulBusKeyboardReader" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWModulBusKeyboardReader" msprop:rel_Generator_ChildPropName="GetHWModulBusKeyboardReaderRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWModulBusKeyboardReader" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWModulBusKeyboardReader" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWModulBusKeyboardReader" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWModulBusKeyboard" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWModulBusReader" msprop:rel_Generator_ChildPropName="GetHWModulBusReaderRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWModulBusKeyboard" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWModulBusKeyboard" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWModulBusKeyboard" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWModulBusReader" msprop:rel_Generator_ChildPropName="GetHWModulBusReaderRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWModulBusKeyboard" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWModulBusKeyboard" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWModulBusReader" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2IdentKey3" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Identkey3" msprop:rel_Generator_ChildPropName="GetHWBus2Identkey3Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2IdentKey3" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2IdentKey3" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2IdentKey3" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Identkey3" msprop:rel_Generator_ChildPropName="GetHWBus2Identkey3Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2IdentKey3" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2IdentKey3" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2Identkey3" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2IdentKey2" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Identkey2" msprop:rel_Generator_ChildPropName="GetHWBus2Identkey2Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2IdentKey2" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2IdentKey2" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2IdentKey2" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Identkey2" msprop:rel_Generator_ChildPropName="GetHWBus2Identkey2Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2IdentKey2" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2IdentKey2" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2Identkey2" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2DoorGuard" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2DoorGuard" msprop:rel_Generator_ChildPropName="GetHWBus2DoorGuardRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2DoorGuard" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2DoorGuard" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2DoorGuard" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2DoorGuard" msprop:rel_Generator_ChildPropName="GetHWBus2DoorGuardRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2DoorGuard" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2DoorGuard" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2DoorGuard" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2DoorControllerModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2DoorControllerModule" msprop:rel_Generator_ChildPropName="GetHWBus2DoorControllerModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2DoorControllerModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2DoorControllerModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
+    <xs:keyref name="HardwareDevice_HWBus2DoorControllerModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2DoorControllerModule" msprop:rel_Generator_ChildPropName="GetHWBus2DoorControllerModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2DoorControllerModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2DoorControllerModule" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:HWBus2DoorControllerModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2Identloc" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Identloc" msprop:rel_Generator_ChildPropName="GetHWBus2IdentlocRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2Identloc" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2Identloc" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2Identloc" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2Identloc" msprop:rel_Generator_ChildPropName="GetHWBus2IdentlocRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2Identloc" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2Identloc" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2Identloc" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2SmokeDetector" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SmokeDetector" msprop:rel_Generator_ChildPropName="GetHWBus2SmokeDetectorRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2SmokeDetector" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2SmokeDetector" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2SmokeDetector" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SmokeDetector" msprop:rel_Generator_ChildPropName="GetHWBus2SmokeDetectorRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2SmokeDetector" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2SmokeDetector" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2SmokeDetector" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2ViewguardPIR" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardPIR" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardPIRRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewguardPIR" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewguardPIR" msprop:rel_Generator_UserParentTable="HardwareDevice">
+    <xs:keyref name="HardwareDevice_HWBus2ViewguardPIR" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2ViewGuardPIR" msprop:rel_Generator_ChildPropName="GetHWBus2ViewGuardPIRRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2ViewguardPIR" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2ViewguardPIR" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
       <xs:selector xpath=".//mstns:HWBus2ViewGuardPIR" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2SCM3000" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SCM3000" msprop:rel_Generator_ChildPropName="GetHWBus2SCM3000Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2SCM3000" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2SCM3000" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2SCM3000" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2SCM3000" msprop:rel_Generator_ChildPropName="GetHWBus2SCM3000Rows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2SCM3000" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2SCM3000" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2SCM3000" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus25OutputModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus25OutputModule" msprop:rel_Generator_ChildPropName="GetHWBus25OutputModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus25OutputModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus25OutputModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus25OutputModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus25OutputModule" msprop:rel_Generator_ChildPropName="GetHWBus25OutputModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus25OutputModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus25OutputModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus25OutputModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus25InputModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus25InputModule" msprop:rel_Generator_ChildPropName="GetHWBus25InputModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus25InputModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus25InputModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus25InputModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus25InputModule" msprop:rel_Generator_ChildPropName="GetHWBus25InputModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus25InputModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus25InputModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus25InputModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2MiniModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2MiniModule" msprop:rel_Generator_ChildPropName="GetHWBus2MiniModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2MiniModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2MiniModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2MiniModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2MiniModule" msprop:rel_Generator_ChildPropName="GetHWBus2MiniModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2MiniModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2MiniModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2MiniModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus2DuoModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2DuoModule" msprop:rel_Generator_ChildPropName="GetHWBus2DuoModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2DuoModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2DuoModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus2DuoModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus2DuoModule" msprop:rel_Generator_ChildPropName="GetHWBus2DuoModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus2DuoModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus2DuoModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus2DuoModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus210DGOperatingUnit" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus210DGDisablingUnit" msprop:rel_Generator_ChildPropName="GetHWBus210DGDisablingUnitRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus210DGOperatingUnit" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus210DGOperatingUnit" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus210DGOperatingUnit" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus210DGDisablingUnit" msprop:rel_Generator_ChildPropName="GetHWBus210DGDisablingUnitRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus210DGOperatingUnit" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus210DGOperatingUnit" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus210DGDisablingUnit" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWBus216DGDisplayModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus216DGDisablingDisplayModule" msprop:rel_Generator_ChildPropName="GetHWBus216DGDisablingDisplayModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus216DGDisplayModule" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus216DGDisplayModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWBus216DGDisplayModule" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWBus216DGDisablingDisplayModule" msprop:rel_Generator_ChildPropName="GetHWBus216DGDisablingDisplayModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWBus216DGDisplayModule" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWBus216DGDisplayModule" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWBus216DGDisablingDisplayModule" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWRS232PortController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialBusController" msprop:rel_Generator_ChildPropName="GetHWSerialBusControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWRS232PortController" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWRS232PortController" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWRS232PortController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWSerialBusController" msprop:rel_Generator_ChildPropName="GetHWSerialBusControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWRS232PortController" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWRS232PortController" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWSerialBusController" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWIBusBus2Module" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWIBusBus2Module" msprop:rel_Generator_ChildPropName="GetHWIBusBus2ModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIBusBus2Module" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIBusBus2Module" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWIBusBus2Module" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWIBusBus2Module" msprop:rel_Generator_ChildPropName="GetHWIBusBus2ModuleRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIBusBus2Module" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIBusBus2Module" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWIBusBus2Module" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HWIBusBusController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWIBusBusController" msprop:rel_Generator_ChildPropName="GetHWIBusBusControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIBusBusController" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIBusBusController" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="HardwareDevice_HWIBusBusController" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HWIBusBusController" msprop:rel_Generator_ChildPropName="GetHWIBusBusControllerRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HWIBusBusController" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HWIBusBusController" msprop:rel_Generator_UserParentTable="HardwareDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:HWIBusBusController" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_APTurnstile" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="APTurnstile" msprop:rel_Generator_ChildPropName="GetAPTurnstileRows" msprop:rel_Generator_UserRelationName="LogicalInput_APTurnstile" msprop:rel_Generator_RelationVarName="relationLogicalInput_APTurnstile" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalOutput_APTurnstile" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="APTurnstile" msprop:rel_Generator_ChildPropName="GetAPTurnstileRows" msprop:rel_Generator_UserRelationName="LogicalOutput_APTurnstile" msprop:rel_Generator_ParentPropName="LogicalOutputRow" msprop:rel_Generator_RelationVarName="relationLogicalOutput_APTurnstile" msprop:rel_Generator_UserParentTable="LogicalOutput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:APTurnstile" />
-      <xs:field xpath="mstns:LatchContactInputUID" />
+      <xs:field xpath="mstns:OpenerRelayOutputUID" />
     </xs:keyref>
-    <xs:keyref name="AccessPoint_APTurnstile" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="APTurnstile" msprop:rel_Generator_ChildPropName="GetAPTurnstileRows" msprop:rel_Generator_UserRelationName="AccessPoint_APTurnstile" msprop:rel_Generator_RelationVarName="relationAccessPoint_APTurnstile" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow">
+    <xs:keyref name="AccessPoint_APTurnstile" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="APTurnstile" msprop:rel_Generator_ChildPropName="GetAPTurnstileRows" msprop:rel_Generator_UserRelationName="AccessPoint_APTurnstile" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationAccessPoint_APTurnstile" msprop:rel_Generator_UserParentTable="AccessPoint">
       <xs:selector xpath=".//mstns:APTurnstile" />
       <xs:field xpath="mstns:AccessPointUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_APTurnstile" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="APTurnstile" msprop:rel_Generator_ChildPropName="GetAPTurnstileRows" msprop:rel_Generator_UserRelationName="LogicalOutput_APTurnstile" msprop:rel_Generator_RelationVarName="relationLogicalOutput_APTurnstile" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalInput_APTurnstile" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="APTurnstile" msprop:rel_Generator_ChildPropName="GetAPTurnstileRows" msprop:rel_Generator_UserRelationName="LogicalInput_APTurnstile" msprop:rel_Generator_ParentPropName="LogicalInputRow" msprop:rel_Generator_RelationVarName="relationLogicalInput_APTurnstile" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:APTurnstile" />
-      <xs:field xpath="mstns:OpenerRelayOutputUID" />
+      <xs:field xpath="mstns:LatchContactInputUID" />
     </xs:keyref>
-    <xs:keyref name="SignalingGroup_SignalingGroup_Flasher" refer="SignalingGroup_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Flasher" msprop:rel_Generator_ChildPropName="GetSignalingGroup_FlasherRows" msprop:rel_Generator_UserRelationName="SignalingGroup_SignalingGroup_Flasher" msprop:rel_Generator_RelationVarName="relationSignalingGroup_SignalingGroup_Flasher" msprop:rel_Generator_UserParentTable="SignalingGroup" msprop:rel_Generator_ParentPropName="SignalingGroupRow">
+    <xs:keyref name="VirtualFlasher_SignalingGroup_Flasher" refer="VirtualFlasher_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Flasher" msprop:rel_Generator_ChildPropName="GetSignalingGroup_FlasherRows" msprop:rel_Generator_UserRelationName="VirtualFlasher_SignalingGroup_Flasher" msprop:rel_Generator_ParentPropName="VirtualFlasherRow" msprop:rel_Generator_RelationVarName="relationVirtualFlasher_SignalingGroup_Flasher" msprop:rel_Generator_UserParentTable="VirtualFlasher">
       <xs:selector xpath=".//mstns:SignalingGroup_Flasher" />
-      <xs:field xpath="mstns:SignalingGroupUID" />
+      <xs:field xpath="mstns:FlasherUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualFlasher_SignalingGroup_Flasher" refer="VirtualFlasher_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Flasher" msprop:rel_Generator_ChildPropName="GetSignalingGroup_FlasherRows" msprop:rel_Generator_UserRelationName="VirtualFlasher_SignalingGroup_Flasher" msprop:rel_Generator_RelationVarName="relationVirtualFlasher_SignalingGroup_Flasher" msprop:rel_Generator_UserParentTable="VirtualFlasher" msprop:rel_Generator_ParentPropName="VirtualFlasherRow">
+    <xs:keyref name="SignalingGroup_SignalingGroup_Flasher" refer="SignalingGroup_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Flasher" msprop:rel_Generator_ChildPropName="GetSignalingGroup_FlasherRows" msprop:rel_Generator_UserRelationName="SignalingGroup_SignalingGroup_Flasher" msprop:rel_Generator_ParentPropName="SignalingGroupRow" msprop:rel_Generator_RelationVarName="relationSignalingGroup_SignalingGroup_Flasher" msprop:rel_Generator_UserParentTable="SignalingGroup">
       <xs:selector xpath=".//mstns:SignalingGroup_Flasher" />
-      <xs:field xpath="mstns:FlasherUID" />
+      <xs:field xpath="mstns:SignalingGroupUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_SignalingGroup_Sounder" refer="VirtualSounder_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Sounder" msprop:rel_Generator_ChildPropName="GetSignalingGroup_SounderRows" msprop:rel_Generator_UserRelationName="VirtualDevice_SignalingGroup_Sounder" msprop:rel_Generator_RelationVarName="relationVirtualDevice_SignalingGroup_Sounder" msprop:rel_Generator_UserParentTable="VirtualSounder" msprop:rel_Generator_ParentPropName="VirtualSounderRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="SignalingGroup_SignalingGroup_Siren" refer="SignalingGroup_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Sounder" msprop:rel_Generator_ChildPropName="GetSignalingGroup_SounderRows" msprop:rel_Generator_UserRelationName="SignalingGroup_SignalingGroup_Siren" msprop:rel_Generator_ParentPropName="SignalingGroupRow" msprop:rel_Generator_RelationVarName="relationSignalingGroup_SignalingGroup_Siren" msprop:rel_Generator_UserParentTable="SignalingGroup">
       <xs:selector xpath=".//mstns:SignalingGroup_Sounder" />
-      <xs:field xpath="mstns:SounderUID" />
+      <xs:field xpath="mstns:SignalingGroupUID" />
     </xs:keyref>
-    <xs:keyref name="SignalingGroup_SignalingGroup_Siren" refer="SignalingGroup_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Sounder" msprop:rel_Generator_ChildPropName="GetSignalingGroup_SounderRows" msprop:rel_Generator_UserRelationName="SignalingGroup_SignalingGroup_Siren" msprop:rel_Generator_RelationVarName="relationSignalingGroup_SignalingGroup_Siren" msprop:rel_Generator_UserParentTable="SignalingGroup" msprop:rel_Generator_ParentPropName="SignalingGroupRow">
+    <xs:keyref name="VirtualDevice_SignalingGroup_Sounder" refer="VirtualSounder_Constraint1" msprop:rel_Generator_UserChildTable="SignalingGroup_Sounder" msprop:rel_Generator_ChildPropName="GetSignalingGroup_SounderRows" msprop:rel_Generator_UserRelationName="VirtualDevice_SignalingGroup_Sounder" msprop:rel_Generator_ParentPropName="VirtualSounderRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_SignalingGroup_Sounder" msprop:rel_Generator_UserParentTable="VirtualSounder" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:SignalingGroup_Sounder" />
-      <xs:field xpath="mstns:SignalingGroupUID" />
+      <xs:field xpath="mstns:SounderUID" />
     </xs:keyref>
-    <xs:keyref name="SignalingGroup_Partition_SignalingGroup" refer="SignalingGroup_Constraint1" msprop:rel_Generator_UserChildTable="Partition_SignalingGroup" msprop:rel_Generator_ChildPropName="GetPartition_SignalingGroupRows" msprop:rel_Generator_UserRelationName="SignalingGroup_Partition_SignalingGroup" msprop:rel_Generator_RelationVarName="relationSignalingGroup_Partition_SignalingGroup" msprop:rel_Generator_UserParentTable="SignalingGroup" msprop:rel_Generator_ParentPropName="SignalingGroupRow">
+    <xs:keyref name="Partition_Partition_SignalingGroup" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="Partition_SignalingGroup" msprop:rel_Generator_ChildPropName="GetPartition_SignalingGroupRows" msprop:rel_Generator_UserRelationName="Partition_Partition_SignalingGroup" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationPartition_Partition_SignalingGroup" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:Partition_SignalingGroup" />
-      <xs:field xpath="mstns:SignalingGroupUID" />
+      <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="Partition_Partition_SignalingGroup" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="Partition_SignalingGroup" msprop:rel_Generator_ChildPropName="GetPartition_SignalingGroupRows" msprop:rel_Generator_UserRelationName="Partition_Partition_SignalingGroup" msprop:rel_Generator_RelationVarName="relationPartition_Partition_SignalingGroup" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="SignalingGroup_Partition_SignalingGroup" refer="SignalingGroup_Constraint1" msprop:rel_Generator_UserChildTable="Partition_SignalingGroup" msprop:rel_Generator_ChildPropName="GetPartition_SignalingGroupRows" msprop:rel_Generator_UserRelationName="SignalingGroup_Partition_SignalingGroup" msprop:rel_Generator_ParentPropName="SignalingGroupRow" msprop:rel_Generator_RelationVarName="relationSignalingGroup_Partition_SignalingGroup" msprop:rel_Generator_UserParentTable="SignalingGroup">
       <xs:selector xpath=".//mstns:Partition_SignalingGroup" />
-      <xs:field xpath="mstns:PartitionUID" />
+      <xs:field xpath="mstns:SignalingGroupUID" />
     </xs:keyref>
-    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle1" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle1" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle1" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle1" msprop:rel_Generator_UserParentTable="SounderTemplate" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle1" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle2" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle2" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle2" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle2" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle2" msprop:rel_Generator_UserParentTable="SounderTemplate" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:ExternalSounderStyle" />
-      <xs:field xpath="mstns:PanicAlarmSounderTemplateUID" />
+      <xs:field xpath="mstns:IntruderAlarmSounderTemplateUID" />
     </xs:keyref>
-    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle" msprop:rel_Generator_UserParentTable="SounderTemplate" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle3" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle3" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle3" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle3" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle3" msprop:rel_Generator_UserParentTable="SounderTemplate" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:ExternalSounderStyle" />
-      <xs:field xpath="mstns:FireAlarmSounderTemplateUID" />
+      <xs:field xpath="mstns:TamperAlarmSounderTemplateUID" />
     </xs:keyref>
-    <xs:keyref name="Partition_ExternalSounderStyle" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRows" msprop:rel_Generator_UserRelationName="Partition_ExternalSounderStyle" msprop:rel_Generator_RelationVarName="relationPartition_ExternalSounderStyle" msprop:rel_Generator_UserParentTable="Partition" msprop:rel_Generator_ParentPropName="PartitionRow">
+    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle4" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle4" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle4" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle4" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle4" msprop:rel_Generator_UserParentTable="SounderTemplate" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:ExternalSounderStyle" />
-      <xs:field xpath="mstns:PartitionUID" />
+      <xs:field xpath="mstns:TechnicalAlarmSounderTemplateUID" />
     </xs:keyref>
-    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle4" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle4" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle4" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle4" msprop:rel_Generator_UserParentTable="SounderTemplate" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle4" msdata:DeleteRule="SetNull">
+    <xs:keyref name="Partition_ExternalSounderStyle" refer="Partition_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRows" msprop:rel_Generator_UserRelationName="Partition_ExternalSounderStyle" msprop:rel_Generator_ParentPropName="PartitionRow" msprop:rel_Generator_RelationVarName="relationPartition_ExternalSounderStyle" msprop:rel_Generator_UserParentTable="Partition">
       <xs:selector xpath=".//mstns:ExternalSounderStyle" />
-      <xs:field xpath="mstns:TechnicalAlarmSounderTemplateUID" />
+      <xs:field xpath="mstns:PartitionUID" />
     </xs:keyref>
-    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle3" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle3" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle3" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle3" msprop:rel_Generator_UserParentTable="SounderTemplate" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle3" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle" msprop:rel_Generator_UserParentTable="SounderTemplate" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:ExternalSounderStyle" />
-      <xs:field xpath="mstns:TamperAlarmSounderTemplateUID" />
+      <xs:field xpath="mstns:FireAlarmSounderTemplateUID" />
     </xs:keyref>
-    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle2" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle2" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle2" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle2" msprop:rel_Generator_UserParentTable="SounderTemplate" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle2" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_SounderTemplate_ExternalSounderStyle1" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="ExternalSounderStyle" msprop:rel_Generator_ChildPropName="GetExternalSounderStyleRowsByFK_SounderTemplate_ExternalSounderStyle1" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_ExternalSounderStyle1" msprop:rel_Generator_ParentPropName="SounderTemplateRowByFK_SounderTemplate_ExternalSounderStyle1" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_ExternalSounderStyle1" msprop:rel_Generator_UserParentTable="SounderTemplate" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:ExternalSounderStyle" />
-      <xs:field xpath="mstns:IntruderAlarmSounderTemplateUID" />
+      <xs:field xpath="mstns:PanicAlarmSounderTemplateUID" />
     </xs:keyref>
-    <xs:keyref name="FK_AccessPoint_AccessPoint_User" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="AccessPoint_User" msprop:rel_Generator_ChildPropName="GetAccessPoint_UserRows" msprop:rel_Generator_UserRelationName="FK_AccessPoint_AccessPoint_User" msprop:rel_Generator_RelationVarName="relationFK_AccessPoint_AccessPoint_User" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow">
+    <xs:keyref name="FK_User_AccessPoint_User" refer="User_Constraint1" msprop:rel_Generator_UserChildTable="AccessPoint_User" msprop:rel_Generator_ChildPropName="GetAccessPoint_UserRows" msprop:rel_Generator_UserRelationName="FK_User_AccessPoint_User" msprop:rel_Generator_ParentPropName="UserRow" msprop:rel_Generator_RelationVarName="relationFK_User_AccessPoint_User" msprop:rel_Generator_UserParentTable="User">
       <xs:selector xpath=".//mstns:AccessPoint_User" />
-      <xs:field xpath="mstns:AccessPointUID" />
+      <xs:field xpath="mstns:UserUID" />
     </xs:keyref>
-    <xs:keyref name="FK_User_AccessPoint_User" refer="User_Constraint1" msprop:rel_Generator_UserChildTable="AccessPoint_User" msprop:rel_Generator_ChildPropName="GetAccessPoint_UserRows" msprop:rel_Generator_UserRelationName="FK_User_AccessPoint_User" msprop:rel_Generator_RelationVarName="relationFK_User_AccessPoint_User" msprop:rel_Generator_UserParentTable="User" msprop:rel_Generator_ParentPropName="UserRow">
+    <xs:keyref name="FK_AccessPoint_AccessPoint_User" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="AccessPoint_User" msprop:rel_Generator_ChildPropName="GetAccessPoint_UserRows" msprop:rel_Generator_UserRelationName="FK_AccessPoint_AccessPoint_User" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationFK_AccessPoint_AccessPoint_User" msprop:rel_Generator_UserParentTable="AccessPoint">
       <xs:selector xpath=".//mstns:AccessPoint_User" />
-      <xs:field xpath="mstns:UserUID" />
+      <xs:field xpath="mstns:AccessPointUID" />
     </xs:keyref>
-    <xs:keyref name="AccessPoint_APMacro" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="APMacro" msprop:rel_Generator_ChildPropName="GetAPMacroRows" msprop:rel_Generator_UserRelationName="AccessPoint_APMacro" msprop:rel_Generator_RelationVarName="relationAccessPoint_APMacro" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow">
+    <xs:keyref name="AccessPoint_APMacro" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="APMacro" msprop:rel_Generator_ChildPropName="GetAPMacroRows" msprop:rel_Generator_UserRelationName="AccessPoint_APMacro" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationAccessPoint_APMacro" msprop:rel_Generator_UserParentTable="AccessPoint">
       <xs:selector xpath=".//mstns:APMacro" />
       <xs:field xpath="mstns:AccessPointUID" />
     </xs:keyref>
-    <xs:keyref name="AccessPoint_APQuickMacro" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="APQuickMacro" msprop:rel_Generator_ChildPropName="GetAPQuickMacroRows" msprop:rel_Generator_UserRelationName="AccessPoint_APQuickMacro" msprop:rel_Generator_RelationVarName="relationAccessPoint_APQuickMacro" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow">
+    <xs:keyref name="AccessPoint_APQuickMacro" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="APQuickMacro" msprop:rel_Generator_ChildPropName="GetAPQuickMacroRows" msprop:rel_Generator_UserRelationName="AccessPoint_APQuickMacro" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationAccessPoint_APQuickMacro" msprop:rel_Generator_UserParentTable="AccessPoint">
       <xs:selector xpath=".//mstns:APQuickMacro" />
       <xs:field xpath="mstns:AccessPointUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalAccessPoint" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalAccessPoint" msprop:rel_Generator_ChildPropName="GetLogicalAccessPointRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalAccessPoint" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalAccessPoint" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow">
+    <xs:keyref name="LogicalDevice_LogicalAccessPoint" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalAccessPoint" msprop:rel_Generator_ChildPropName="GetLogicalAccessPointRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalAccessPoint" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalAccessPoint" msprop:rel_Generator_UserParentTable="LogicalDevice">
       <xs:selector xpath=".//mstns:LogicalAccessPoint" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalSmartUI" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSmartUI" msprop:rel_Generator_ChildPropName="GetLogicalSmartUIRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSmartUI" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSmartUI" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow">
+    <xs:keyref name="LogicalDevice_LogicalSmartUI" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSmartUI" msprop:rel_Generator_ChildPropName="GetLogicalSmartUIRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSmartUI" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSmartUI" msprop:rel_Generator_UserParentTable="LogicalDevice">
       <xs:selector xpath=".//mstns:LogicalSmartUI" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalInstallServices" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalInstallService" msprop:rel_Generator_ChildPropName="GetLogicalInstallServiceRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalInstallServices" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalInstallServices" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalInstallServices" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalInstallService" msprop:rel_Generator_ChildPropName="GetLogicalInstallServiceRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalInstallServices" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalInstallServices" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalInstallService" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_WirelessMaster" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="WirelessMaster" msprop:rel_Generator_ChildPropName="GetWirelessMasterRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_WirelessMaster" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_WirelessMaster" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
+    <xs:keyref name="FK_HardwareDevice_WirelessMaster1" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="WirelessMaster" msprop:rel_Generator_ChildPropName="GetWirelessMasterRowsByFK_HardwareDevice_WirelessMaster1" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_WirelessMaster1" msprop:rel_Generator_ParentPropName="HardwareDeviceRowByFK_HardwareDevice_WirelessMaster1" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_WirelessMaster1" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:WirelessMaster" />
-      <xs:field xpath="mstns:DeviceUID" />
+      <xs:field xpath="mstns:MasterUID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_WirelessMaster1" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="WirelessMaster" msprop:rel_Generator_ChildPropName="GetWirelessMasterRowsByFK_HardwareDevice_WirelessMaster1" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_WirelessMaster1" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_WirelessMaster1" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRowByFK_HardwareDevice_WirelessMaster1">
+    <xs:keyref name="FK_HardwareDevice_WirelessMaster" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="WirelessMaster" msprop:rel_Generator_ChildPropName="GetWirelessMasterRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_WirelessMaster" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_WirelessMaster" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:WirelessMaster" />
-      <xs:field xpath="mstns:MasterUID" />
+      <xs:field xpath="mstns:DeviceUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalReader" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalReader" msprop:rel_Generator_ChildPropName="GetLogicalReaderRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalReader" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalReader" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalReader" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalReader" msprop:rel_Generator_ChildPropName="GetLogicalReaderRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalReader" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalReader" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalReader" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalKeyboardReader" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalKeyboardReader" msprop:rel_Generator_ChildPropName="GetLogicalKeyboardReaderRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalKeyboardReader" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalKeyboardReader" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalKeyboardReader" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalKeyboardReader" msprop:rel_Generator_ChildPropName="GetLogicalKeyboardReaderRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalKeyboardReader" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalKeyboardReader" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalKeyboardReader" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalKeyboard" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalKeyboard" msprop:rel_Generator_ChildPropName="GetLogicalKeyboardRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalKeyboard" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalKeyboard" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalKeyboard" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalKeyboard" msprop:rel_Generator_ChildPropName="GetLogicalKeyboardRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalKeyboard" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalKeyboard" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalKeyboard" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualTemperature" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualTemperature" msprop:rel_Generator_ChildPropName="GetVirtualTemperatureRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualTemperature" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualTemperature" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalTemperature_VirtualTemperature" refer="LogicalTemperature_Constraint1" msprop:rel_Generator_UserChildTable="VirtualTemperature" msprop:rel_Generator_ChildPropName="GetVirtualTemperatureRows" msprop:rel_Generator_UserRelationName="LogicalTemperature_VirtualTemperature" msprop:rel_Generator_ParentPropName="LogicalTemperatureRow" msprop:rel_Generator_RelationVarName="relationLogicalTemperature_VirtualTemperature" msprop:rel_Generator_UserParentTable="LogicalTemperature" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualTemperature" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalTemperatureUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalTemperature_VirtualTemperature" refer="LogicalTemperature_Constraint1" msprop:rel_Generator_UserChildTable="VirtualTemperature" msprop:rel_Generator_ChildPropName="GetVirtualTemperatureRows" msprop:rel_Generator_UserRelationName="LogicalTemperature_VirtualTemperature" msprop:rel_Generator_RelationVarName="relationLogicalTemperature_VirtualTemperature" msprop:rel_Generator_UserParentTable="LogicalTemperature" msprop:rel_Generator_ParentPropName="LogicalTemperatureRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualTemperature" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualTemperature" msprop:rel_Generator_ChildPropName="GetVirtualTemperatureRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualTemperature" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualTemperature" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualTemperature" />
-      <xs:field xpath="mstns:LogicalTemperatureUID" />
-    </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualSmokeDetector" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSmokeDetector" msprop:rel_Generator_ChildPropName="GetVirtualSmokeDetectorRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualSmokeDetector" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualSmokeDetector" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
-      <xs:selector xpath=".//mstns:VirtualSmokeDetector" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalSmokeDetector_VirtualSmokeDetector" refer="LogicalSmokeDetector_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSmokeDetector" msprop:rel_Generator_ChildPropName="GetVirtualSmokeDetectorRows" msprop:rel_Generator_UserRelationName="LogicalSmokeDetector_VirtualSmokeDetector" msprop:rel_Generator_RelationVarName="relationLogicalSmokeDetector_VirtualSmokeDetector" msprop:rel_Generator_UserParentTable="LogicalSmokeDetector" msprop:rel_Generator_ParentPropName="LogicalSmokeDetectorRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalSmokeDetector_VirtualSmokeDetector" refer="LogicalSmokeDetector_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSmokeDetector" msprop:rel_Generator_ChildPropName="GetVirtualSmokeDetectorRows" msprop:rel_Generator_UserRelationName="LogicalSmokeDetector_VirtualSmokeDetector" msprop:rel_Generator_ParentPropName="LogicalSmokeDetectorRow" msprop:rel_Generator_RelationVarName="relationLogicalSmokeDetector_VirtualSmokeDetector" msprop:rel_Generator_UserParentTable="LogicalSmokeDetector" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualSmokeDetector" />
       <xs:field xpath="mstns:LogicalSmokeDetectorUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualPeripheral" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualPeripheral" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualPeripheral" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualPeripheral" />
+    <xs:keyref name="VirtualDevice_VirtualSmokeDetector" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSmokeDetector" msprop:rel_Generator_ChildPropName="GetVirtualSmokeDetectorRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualSmokeDetector" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualSmokeDetector" msprop:rel_Generator_UserParentTable="VirtualDevice">
+      <xs:selector xpath=".//mstns:VirtualSmokeDetector" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalPeripheral_VirtualPeripheral" refer="LogicalPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalPeripheral_VirtualPeripheral" msprop:rel_Generator_RelationVarName="relationLogicalPeripheral_VirtualPeripheral" msprop:rel_Generator_UserParentTable="LogicalPeripheral" msprop:rel_Generator_ParentPropName="LogicalPeripheralRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalPeripheral_VirtualPeripheral" refer="LogicalPeripheral_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalPeripheral_VirtualPeripheral" msprop:rel_Generator_ParentPropName="LogicalPeripheralRow" msprop:rel_Generator_RelationVarName="relationLogicalPeripheral_VirtualPeripheral" msprop:rel_Generator_UserParentTable="LogicalPeripheral" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualPeripheral" />
       <xs:field xpath="mstns:LogicalPeripheralUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalTemperature" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalTemperature" msprop:rel_Generator_ChildPropName="GetLogicalTemperatureRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalTemperature" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalTemperature" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualPeripheral" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualPeripheral" msprop:rel_Generator_ChildPropName="GetVirtualPeripheralRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualPeripheral" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualPeripheral" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualPeripheral" />
+      <xs:field xpath="mstns:UID" />
+    </xs:keyref>
+    <xs:keyref name="LogicalDevice_LogicalTemperature" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalTemperature" msprop:rel_Generator_ChildPropName="GetLogicalTemperatureRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalTemperature" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalTemperature" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalTemperature" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalSmokeDetector" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSmokeDetector" msprop:rel_Generator_ChildPropName="GetLogicalSmokeDetectorRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSmokeDetector" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSmokeDetector" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalSmokeDetector" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSmokeDetector" msprop:rel_Generator_ChildPropName="GetLogicalSmokeDetectorRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSmokeDetector" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSmokeDetector" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalSmokeDetector" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalPeripheral" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalPeripheral" msprop:rel_Generator_ChildPropName="GetLogicalPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalPeripheral" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalPeripheral" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalPeripheral" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalPeripheral" msprop:rel_Generator_ChildPropName="GetLogicalPeripheralRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalPeripheral" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalPeripheral" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalPeripheral" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWindow" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWindow" msprop:rel_Generator_ChildPropName="GetVirtualWindowRowsByLogicalInput_VirtualWindow" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWindow" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWindow" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWindow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="VirtualDevice_VirtualWindow" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWindow" msprop:rel_Generator_ChildPropName="GetVirtualWindowRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWindow" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWindow" msprop:rel_Generator_UserParentTable="VirtualDevice">
       <xs:selector xpath=".//mstns:VirtualWindow" />
-      <xs:field xpath="mstns:AlarmInputUID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWindow1" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWindow" msprop:rel_Generator_ChildPropName="GetVirtualWindowRowsByLogicalInput_VirtualWindow1" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWindow1" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWindow1" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWindow1" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalInput_VirtualWindow1" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWindow" msprop:rel_Generator_ChildPropName="GetVirtualWindowRowsByLogicalInput_VirtualWindow1" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWindow1" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWindow1" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWindow1" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualWindow" />
       <xs:field xpath="mstns:TamperInputUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualWindow" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWindow" msprop:rel_Generator_ChildPropName="GetVirtualWindowRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWindow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWindow" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
+    <xs:keyref name="LogicalInput_VirtualWindow" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualWindow" msprop:rel_Generator_ChildPropName="GetVirtualWindowRowsByLogicalInput_VirtualWindow" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWindow" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWindow" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWindow" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualWindow" />
+      <xs:field xpath="mstns:AlarmInputUID" />
+    </xs:keyref>
+    <xs:keyref name="VirtualDevice_VirtualRelay" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualRelay" msprop:rel_Generator_ChildPropName="GetVirtualRelayRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualRelay" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualRelay" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualRelay" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualRelay" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualRelay" msprop:rel_Generator_ChildPropName="GetVirtualRelayRows" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualRelay" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualRelay" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRow">
+    <xs:keyref name="LogicalOutput_VirtualRelay" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualRelay" msprop:rel_Generator_ChildPropName="GetVirtualRelayRows" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualRelay" msprop:rel_Generator_ParentPropName="LogicalOutputRow" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualRelay" msprop:rel_Generator_UserParentTable="LogicalOutput">
       <xs:selector xpath=".//mstns:VirtualRelay" />
       <xs:field xpath="mstns:LogicalOutputUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualRelay" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualRelay" msprop:rel_Generator_ChildPropName="GetVirtualRelayRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualRelay" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualRelay" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualRelay" />
-      <xs:field xpath="mstns:UID" />
-    </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualKeySwitch" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeySwitch" msprop:rel_Generator_ChildPropName="GetVirtualKeySwitchRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualKeySwitch" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualKeySwitch" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow">
+    <xs:keyref name="LogicalInput_VirtualKeySwitch" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeySwitch" msprop:rel_Generator_ChildPropName="GetVirtualKeySwitchRows" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualKeySwitch" msprop:rel_Generator_ParentPropName="LogicalInputRow" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualKeySwitch" msprop:rel_Generator_UserParentTable="LogicalInput">
       <xs:selector xpath=".//mstns:VirtualKeySwitch" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalInputUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualKeySwitch" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeySwitch" msprop:rel_Generator_ChildPropName="GetVirtualKeySwitchRows" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualKeySwitch" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualKeySwitch" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRow">
+    <xs:keyref name="VirtualDevice_VirtualKeySwitch" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeySwitch" msprop:rel_Generator_ChildPropName="GetVirtualKeySwitchRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualKeySwitch" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualKeySwitch" msprop:rel_Generator_UserParentTable="VirtualDevice">
       <xs:selector xpath=".//mstns:VirtualKeySwitch" />
-      <xs:field xpath="mstns:LogicalInputUID" />
-    </xs:keyref>
-    <xs:keyref name="VirtualUserInterface_VirtualKeyboardReader" refer="VirtualUserInterface_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboardReader" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardReaderRows" msprop:rel_Generator_UserRelationName="VirtualUserInterface_VirtualKeyboardReader" msprop:rel_Generator_RelationVarName="relationVirtualUserInterface_VirtualKeyboardReader" msprop:rel_Generator_UserParentTable="VirtualUserInterface" msprop:rel_Generator_ParentPropName="VirtualUserInterfaceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualKeyboardReader" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalKeyboardReader_VirtualKeyboardReader" refer="LogicalKeyboardReader_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboardReader" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardReaderRows" msprop:rel_Generator_UserRelationName="LogicalKeyboardReader_VirtualKeyboardReader" msprop:rel_Generator_RelationVarName="relationLogicalKeyboardReader_VirtualKeyboardReader" msprop:rel_Generator_UserParentTable="LogicalKeyboardReader" msprop:rel_Generator_ParentPropName="LogicalKeyboardReaderRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalKeyboardReader_VirtualKeyboardReader" refer="LogicalKeyboardReader_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboardReader" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardReaderRows" msprop:rel_Generator_UserRelationName="LogicalKeyboardReader_VirtualKeyboardReader" msprop:rel_Generator_ParentPropName="LogicalKeyboardReaderRow" msprop:rel_Generator_RelationVarName="relationLogicalKeyboardReader_VirtualKeyboardReader" msprop:rel_Generator_UserParentTable="LogicalKeyboardReader" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualKeyboardReader" />
       <xs:field xpath="mstns:LogicalKeyboardReaderUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualUserInterface_VirtualKeyboard" refer="VirtualUserInterface_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboard" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardRows" msprop:rel_Generator_UserRelationName="VirtualUserInterface_VirtualKeyboard" msprop:rel_Generator_RelationVarName="relationVirtualUserInterface_VirtualKeyboard" msprop:rel_Generator_UserParentTable="VirtualUserInterface" msprop:rel_Generator_ParentPropName="VirtualUserInterfaceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualKeyboard" />
+    <xs:keyref name="VirtualUserInterface_VirtualKeyboardReader" refer="VirtualUserInterface_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboardReader" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardReaderRows" msprop:rel_Generator_UserRelationName="VirtualUserInterface_VirtualKeyboardReader" msprop:rel_Generator_ParentPropName="VirtualUserInterfaceRow" msprop:rel_Generator_RelationVarName="relationVirtualUserInterface_VirtualKeyboardReader" msprop:rel_Generator_UserParentTable="VirtualUserInterface" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualKeyboardReader" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalKeyboard_VirtualKeyboard" refer="LogicalKeyboard_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboard" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardRows" msprop:rel_Generator_UserRelationName="LogicalKeyboard_VirtualKeyboard" msprop:rel_Generator_RelationVarName="relationLogicalKeyboard_VirtualKeyboard" msprop:rel_Generator_UserParentTable="LogicalKeyboard" msprop:rel_Generator_ParentPropName="LogicalKeyboardRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalKeyboard_VirtualKeyboard" refer="LogicalKeyboard_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboard" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardRows" msprop:rel_Generator_UserRelationName="LogicalKeyboard_VirtualKeyboard" msprop:rel_Generator_ParentPropName="LogicalKeyboardRow" msprop:rel_Generator_RelationVarName="relationLogicalKeyboard_VirtualKeyboard" msprop:rel_Generator_UserParentTable="LogicalKeyboard" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualKeyboard" />
       <xs:field xpath="mstns:LogicalKeyboardUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualUserInterface_VirtualReader" refer="VirtualUserInterface_Constraint1" msprop:rel_Generator_UserChildTable="VirtualReader" msprop:rel_Generator_ChildPropName="GetVirtualReaderRows" msprop:rel_Generator_UserRelationName="VirtualUserInterface_VirtualReader" msprop:rel_Generator_RelationVarName="relationVirtualUserInterface_VirtualReader" msprop:rel_Generator_UserParentTable="VirtualUserInterface" msprop:rel_Generator_ParentPropName="VirtualUserInterfaceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualReader" />
+    <xs:keyref name="VirtualUserInterface_VirtualKeyboard" refer="VirtualUserInterface_Constraint1" msprop:rel_Generator_UserChildTable="VirtualKeyboard" msprop:rel_Generator_ChildPropName="GetVirtualKeyboardRows" msprop:rel_Generator_UserRelationName="VirtualUserInterface_VirtualKeyboard" msprop:rel_Generator_ParentPropName="VirtualUserInterfaceRow" msprop:rel_Generator_RelationVarName="relationVirtualUserInterface_VirtualKeyboard" msprop:rel_Generator_UserParentTable="VirtualUserInterface" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualKeyboard" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalReader_VirtualReader" refer="LogicalReader_Constraint1" msprop:rel_Generator_UserChildTable="VirtualReader" msprop:rel_Generator_ChildPropName="GetVirtualReaderRows" msprop:rel_Generator_UserRelationName="LogicalReader_VirtualReader" msprop:rel_Generator_RelationVarName="relationLogicalReader_VirtualReader" msprop:rel_Generator_UserParentTable="LogicalReader" msprop:rel_Generator_ParentPropName="LogicalReaderRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalReader_VirtualReader" refer="LogicalReader_Constraint1" msprop:rel_Generator_UserChildTable="VirtualReader" msprop:rel_Generator_ChildPropName="GetVirtualReaderRows" msprop:rel_Generator_UserRelationName="LogicalReader_VirtualReader" msprop:rel_Generator_ParentPropName="LogicalReaderRow" msprop:rel_Generator_RelationVarName="relationLogicalReader_VirtualReader" msprop:rel_Generator_UserParentTable="LogicalReader" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualReader" />
       <xs:field xpath="mstns:LogicalReaderUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalSMS_VirtualSMS" refer="LogicalSMS_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSMS" msprop:rel_Generator_ChildPropName="GetVirtualSMSRows" msprop:rel_Generator_UserRelationName="LogicalSMS_VirtualSMS" msprop:rel_Generator_RelationVarName="relationLogicalSMS_VirtualSMS" msprop:rel_Generator_UserParentTable="LogicalSMS" msprop:rel_Generator_ParentPropName="LogicalSMSRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualUserInterface_VirtualReader" refer="VirtualUserInterface_Constraint1" msprop:rel_Generator_UserChildTable="VirtualReader" msprop:rel_Generator_ChildPropName="GetVirtualReaderRows" msprop:rel_Generator_UserRelationName="VirtualUserInterface_VirtualReader" msprop:rel_Generator_ParentPropName="VirtualUserInterfaceRow" msprop:rel_Generator_RelationVarName="relationVirtualUserInterface_VirtualReader" msprop:rel_Generator_UserParentTable="VirtualUserInterface" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualReader" />
+      <xs:field xpath="mstns:UID" />
+    </xs:keyref>
+    <xs:keyref name="VirtualDevice_VirtualSMS" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSMS" msprop:rel_Generator_ChildPropName="GetVirtualSMSRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualSMS" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualSMS" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualSMS" />
+      <xs:field xpath="mstns:UID" />
+    </xs:keyref>
+    <xs:keyref name="LogicalSMS_VirtualSMS" refer="LogicalSMS_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSMS" msprop:rel_Generator_ChildPropName="GetVirtualSMSRows" msprop:rel_Generator_UserRelationName="LogicalSMS_VirtualSMS" msprop:rel_Generator_ParentPropName="LogicalSMSRow" msprop:rel_Generator_RelationVarName="relationLogicalSMS_VirtualSMS" msprop:rel_Generator_UserParentTable="LogicalSMS" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualSMS" />
       <xs:field xpath="mstns:LogicalSMSUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualSMS" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSMS" msprop:rel_Generator_ChildPropName="GetVirtualSMSRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualSMS" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualSMS" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualSMS" />
+    <xs:keyref name="VirtualDevice_VirtualCamera" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCamera" msprop:rel_Generator_ChildPropName="GetVirtualCameraRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualCamera" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualCamera" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualCamera" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalCamera_VirtualCamera" refer="LogicalCamera_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCamera" msprop:rel_Generator_ChildPropName="GetVirtualCameraRows" msprop:rel_Generator_UserRelationName="LogicalCamera_VirtualCamera" msprop:rel_Generator_RelationVarName="relationLogicalCamera_VirtualCamera" msprop:rel_Generator_UserParentTable="LogicalCamera" msprop:rel_Generator_ParentPropName="LogicalCameraRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalCamera_VirtualCamera" refer="LogicalCamera_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCamera" msprop:rel_Generator_ChildPropName="GetVirtualCameraRows" msprop:rel_Generator_UserRelationName="LogicalCamera_VirtualCamera" msprop:rel_Generator_ParentPropName="LogicalCameraRow" msprop:rel_Generator_RelationVarName="relationLogicalCamera_VirtualCamera" msprop:rel_Generator_UserParentTable="LogicalCamera" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualCamera" />
       <xs:field xpath="mstns:LogicalCameraUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualCamera" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualCamera" msprop:rel_Generator_ChildPropName="GetVirtualCameraRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualCamera" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualCamera" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualCamera" />
+    <xs:keyref name="VirtualDevice_VirtualEmail" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualEmail" msprop:rel_Generator_ChildPropName="GetVirtualEmailRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualEmail" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualEmail" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualEmail" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalEmail_VirtualEmail" refer="LogicalEmail_Constraint1" msprop:rel_Generator_UserChildTable="VirtualEmail" msprop:rel_Generator_ChildPropName="GetVirtualEmailRows" msprop:rel_Generator_UserRelationName="LogicalEmail_VirtualEmail" msprop:rel_Generator_RelationVarName="relationLogicalEmail_VirtualEmail" msprop:rel_Generator_UserParentTable="LogicalEmail" msprop:rel_Generator_ParentPropName="LogicalEmailRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalEmail_VirtualEmail" refer="LogicalEmail_Constraint1" msprop:rel_Generator_UserChildTable="VirtualEmail" msprop:rel_Generator_ChildPropName="GetVirtualEmailRows" msprop:rel_Generator_UserRelationName="LogicalEmail_VirtualEmail" msprop:rel_Generator_ParentPropName="LogicalEmailRow" msprop:rel_Generator_RelationVarName="relationLogicalEmail_VirtualEmail" msprop:rel_Generator_UserParentTable="LogicalEmail" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualEmail" />
       <xs:field xpath="mstns:LogicalEmailUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualEmail" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualEmail" msprop:rel_Generator_ChildPropName="GetVirtualEmailRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualEmail" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualEmail" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualEmail" />
+    <xs:keyref name="VirtualDevice_VirtualSounder" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSounder" msprop:rel_Generator_ChildPropName="GetVirtualSounderRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualSounder" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualSounder" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualSounder" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalSounder_VirtualSounder" refer="LogicalSounder_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSounder" msprop:rel_Generator_ChildPropName="GetVirtualSounderRows" msprop:rel_Generator_UserRelationName="LogicalSounder_VirtualSounder" msprop:rel_Generator_RelationVarName="relationLogicalSounder_VirtualSounder" msprop:rel_Generator_UserParentTable="LogicalSounder" msprop:rel_Generator_ParentPropName="LogicalSounderRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalSounder_VirtualSounder" refer="LogicalSounder_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSounder" msprop:rel_Generator_ChildPropName="GetVirtualSounderRows" msprop:rel_Generator_UserRelationName="LogicalSounder_VirtualSounder" msprop:rel_Generator_ParentPropName="LogicalSounderRow" msprop:rel_Generator_RelationVarName="relationLogicalSounder_VirtualSounder" msprop:rel_Generator_UserParentTable="LogicalSounder" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualSounder" />
       <xs:field xpath="mstns:LogicalSirenUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualSounder" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualSounder" msprop:rel_Generator_ChildPropName="GetVirtualSounderRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualSounder" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualSounder" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualSounder" />
-      <xs:field xpath="mstns:UID" />
-    </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualWiredDoor" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWiredDoor" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWiredDoor" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDoor_VirtualHardwiredDoor" refer="VirtualDoor_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRows" msprop:rel_Generator_UserRelationName="VirtualDoor_VirtualHardwiredDoor" msprop:rel_Generator_ParentPropName="VirtualDoorRow" msprop:rel_Generator_RelationVarName="relationVirtualDoor_VirtualHardwiredDoor" msprop:rel_Generator_UserParentTable="VirtualDoor">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWiredDoor1" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor1" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredDoor1" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredDoor1" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredDoor1" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalInput_VirtualWiredDoor2" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor2" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredDoor2" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredDoor2" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredDoor2" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
-      <xs:field xpath="mstns:LatchContactUID" />
+      <xs:field xpath="mstns:BoltContactUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWiredDoor" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredDoor" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredDoor" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredDoor" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalOutput_VirtualWiredDoor" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor" msprop:rel_Generator_UserParentTable="LogicalOutput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
-      <xs:field xpath="mstns:StateContactUID" />
+      <xs:field xpath="mstns:OpenerRelayUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualWiredDoor6" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor6" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor6" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor6" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor6">
+    <xs:keyref name="LogicalOutput_VirtualWiredDoor1" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor1" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor1" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor1" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor1" msprop:rel_Generator_UserParentTable="LogicalOutput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
-      <xs:field xpath="mstns:EscapeRelayUID" />
+      <xs:field xpath="mstns:PrealarmRelayUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualWiredDoor2" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor2" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor2" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor2" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor2" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalOutput_VirtualWiredDoor2" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor2" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor2" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor2" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor2" msprop:rel_Generator_UserParentTable="LogicalOutput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
       <xs:field xpath="mstns:LockRelayUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualWiredDoor1" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor1" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor1" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor1" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor1" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalOutput_VirtualWiredDoor6" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor6" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor6" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor6" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor6" msprop:rel_Generator_UserParentTable="LogicalOutput">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
-      <xs:field xpath="mstns:PrealarmRelayUID" />
+      <xs:field xpath="mstns:EscapeRelayUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualWiredDoor" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalOutput_VirtualWiredDoor" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredDoor" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredDoor" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredDoor" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalInput_VirtualWiredDoor" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredDoor" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredDoor" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredDoor" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
-      <xs:field xpath="mstns:OpenerRelayUID" />
+      <xs:field xpath="mstns:StateContactUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWiredDoor2" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor2" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredDoor2" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredDoor2" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredDoor2" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalInput_VirtualWiredDoor1" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRowsByLogicalInput_VirtualWiredDoor1" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredDoor1" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredDoor1" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredDoor1" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
-      <xs:field xpath="mstns:BoltContactUID" />
+      <xs:field xpath="mstns:LatchContactUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDoor_VirtualHardwiredDoor" refer="VirtualDoor_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRows" msprop:rel_Generator_UserRelationName="VirtualDoor_VirtualHardwiredDoor" msprop:rel_Generator_RelationVarName="relationVirtualDoor_VirtualHardwiredDoor" msprop:rel_Generator_UserParentTable="VirtualDoor" msprop:rel_Generator_ParentPropName="VirtualDoorRow">
+    <xs:keyref name="VirtualDevice_VirtualWiredDoor" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredDoor" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredDoorRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualWiredDoor" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualWiredDoor" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualHardwiredDoor" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWiredPIR" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredPIR" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredPIR" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredPIR" msdata:DeleteRule="SetNull">
+    <xs:keyref name="VirtualPIR_VirtualHardwiredPIR" refer="VirtualPIR_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRows" msprop:rel_Generator_UserRelationName="VirtualPIR_VirtualHardwiredPIR" msprop:rel_Generator_ParentPropName="VirtualPIRRow" msprop:rel_Generator_RelationVarName="relationVirtualPIR_VirtualHardwiredPIR" msprop:rel_Generator_UserParentTable="VirtualPIR">
       <xs:selector xpath=".//mstns:VirtualHardwiredPIR" />
-      <xs:field xpath="mstns:AlarmInputUID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWiredPIR1" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR1" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredPIR1" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredPIR1" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredPIR1" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalOutput_VirtualWiredPIR2" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR2" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredPIR2" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredPIR2" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredPIR2" msprop:rel_Generator_UserParentTable="LogicalOutput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredPIR" />
-      <xs:field xpath="mstns:TamperInputUID" />
+      <xs:field xpath="mstns:WalkTestOutputUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualWiredPIR2" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR2" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredPIR2" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredPIR2" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredPIR2" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalOutput_VirtualWiredPIR1" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR1" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredPIR1" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredPIR1" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredPIR1" msprop:rel_Generator_UserParentTable="LogicalOutput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredPIR" />
-      <xs:field xpath="mstns:FaultInputUID" />
+      <xs:field xpath="mstns:SetOutputUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualWiredPIR1" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR1" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredPIR1" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredPIR1" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredPIR1" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalInput_VirtualWiredPIR2" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR2" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredPIR2" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredPIR2" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredPIR2" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredPIR" />
-      <xs:field xpath="mstns:SetOutputUID" />
+      <xs:field xpath="mstns:FaultInputUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualWiredPIR2" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalOutput_VirtualWiredPIR2" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualWiredPIR2" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualWiredPIR2" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRowByLogicalOutput_VirtualWiredPIR2" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalInput_VirtualWiredPIR1" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR1" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredPIR1" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredPIR1" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredPIR1" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredPIR" />
-      <xs:field xpath="mstns:WalkTestOutputUID" />
+      <xs:field xpath="mstns:TamperInputUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualPIR_VirtualHardwiredPIR" refer="VirtualPIR_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRows" msprop:rel_Generator_UserRelationName="VirtualPIR_VirtualHardwiredPIR" msprop:rel_Generator_RelationVarName="relationVirtualPIR_VirtualHardwiredPIR" msprop:rel_Generator_UserParentTable="VirtualPIR" msprop:rel_Generator_ParentPropName="VirtualPIRRow">
+    <xs:keyref name="LogicalInput_VirtualWiredPIR" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualHardwiredPIR" msprop:rel_Generator_ChildPropName="GetVirtualHardwiredPIRRowsByLogicalInput_VirtualWiredPIR" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualWiredPIR" msprop:rel_Generator_ParentPropName="LogicalInputRowByLogicalInput_VirtualWiredPIR" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualWiredPIR" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualHardwiredPIR" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:AlarmInputUID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_HardwareDevice" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HardwareDevice" msprop:rel_Generator_ChildPropName="GetHardwareDeviceRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HardwareDevice" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HardwareDevice" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRowParent">
+    <xs:keyref name="CatalogueData_HardwareDevice" refer="CatalogueData_Constraint1" msprop:rel_Generator_UserChildTable="HardwareDevice" msprop:rel_Generator_ChildPropName="GetHardwareDeviceRows" msprop:rel_Generator_UserRelationName="CatalogueData_HardwareDevice" msprop:rel_Generator_ParentPropName="CatalogueDataRow" msprop:rel_Generator_RelationVarName="relationCatalogueData_HardwareDevice" msprop:rel_Generator_UserParentTable="CatalogueData" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:HardwareDevice" />
-      <xs:field xpath="mstns:ParentDeviceUID" />
+      <xs:field xpath="mstns:Type" />
     </xs:keyref>
-    <xs:keyref name="CatalogueData_HardwareDevice" refer="CatalogueData_Constraint1" msprop:rel_Generator_UserChildTable="HardwareDevice" msprop:rel_Generator_ChildPropName="GetHardwareDeviceRows" msprop:rel_Generator_UserRelationName="CatalogueData_HardwareDevice" msprop:rel_Generator_RelationVarName="relationCatalogueData_HardwareDevice" msprop:rel_Generator_UserParentTable="CatalogueData" msprop:rel_Generator_ParentPropName="CatalogueDataRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="HardwareDevice_HardwareDevice" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="HardwareDevice" msprop:rel_Generator_ChildPropName="GetHardwareDeviceRows" msprop:rel_Generator_UserRelationName="HardwareDevice_HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRowParent" msprop:rel_Generator_RelationVarName="relationHardwareDevice_HardwareDevice" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:HardwareDevice" />
-      <xs:field xpath="mstns:Type" />
+      <xs:field xpath="mstns:ParentDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="HardwareDevice_LogicalDevice" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDevice" msprop:rel_Generator_ChildPropName="GetLogicalDeviceRows" msprop:rel_Generator_UserRelationName="HardwareDevice_LogicalDevice" msprop:rel_Generator_RelationVarName="relationHardwareDevice_LogicalDevice" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
+    <xs:keyref name="HardwareDevice_LogicalDevice" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDevice" msprop:rel_Generator_ChildPropName="GetLogicalDeviceRows" msprop:rel_Generator_UserRelationName="HardwareDevice_LogicalDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationHardwareDevice_LogicalDevice" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:LogicalDevice" />
       <xs:field xpath="mstns:HardwareDeviceUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_VirtualDevice" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDevice" msprop:rel_Generator_ChildPropName="GetVirtualDeviceRows" msprop:rel_Generator_UserRelationName="LogicalDevice_VirtualDevice" msprop:rel_Generator_RelationVarName="relationLogicalDevice_VirtualDevice" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow">
+    <xs:keyref name="PartitionMember_VirtualDevice" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDevice" msprop:rel_Generator_ChildPropName="GetVirtualDeviceRows" msprop:rel_Generator_UserRelationName="PartitionMember_VirtualDevice" msprop:rel_Generator_ParentPropName="PartitionMemberRow" msprop:rel_Generator_RelationVarName="relationPartitionMember_VirtualDevice" msprop:rel_Generator_UserParentTable="PartitionMember" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualDevice" />
-      <xs:field xpath="mstns:HWUID" />
+      <xs:field xpath="mstns:Owner" />
     </xs:keyref>
-    <xs:keyref name="PartitionMember_VirtualDevice" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDevice" msprop:rel_Generator_ChildPropName="GetVirtualDeviceRows" msprop:rel_Generator_UserRelationName="PartitionMember_VirtualDevice" msprop:rel_Generator_RelationVarName="relationPartitionMember_VirtualDevice" msprop:rel_Generator_UserParentTable="PartitionMember" msprop:rel_Generator_ParentPropName="PartitionMemberRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalDevice_VirtualDevice" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualDevice" msprop:rel_Generator_ChildPropName="GetVirtualDeviceRows" msprop:rel_Generator_UserRelationName="LogicalDevice_VirtualDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_VirtualDevice" msprop:rel_Generator_UserParentTable="LogicalDevice">
       <xs:selector xpath=".//mstns:VirtualDevice" />
-      <xs:field xpath="mstns:Owner" />
+      <xs:field xpath="mstns:HWUID" />
     </xs:keyref>
-    <xs:keyref name="Floor_Room" refer="Floor_Constraint1" msprop:rel_Generator_UserChildTable="Room" msprop:rel_Generator_ChildPropName="GetRoomRows" msprop:rel_Generator_UserRelationName="Floor_Room" msprop:rel_Generator_RelationVarName="relationFloor_Room" msprop:rel_Generator_UserParentTable="Floor" msprop:rel_Generator_ParentPropName="FloorRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Floor_Room" refer="Floor_Constraint1" msprop:rel_Generator_UserChildTable="Room" msprop:rel_Generator_ChildPropName="GetRoomRows" msprop:rel_Generator_UserRelationName="Floor_Room" msprop:rel_Generator_ParentPropName="FloorRow" msprop:rel_Generator_RelationVarName="relationFloor_Room" msprop:rel_Generator_UserParentTable="Floor" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Room" />
       <xs:field xpath="mstns:Floor_UID" />
     </xs:keyref>
-    <xs:keyref name="Building_Floor" refer="Building_Constraint1" msprop:rel_Generator_UserChildTable="Floor" msprop:rel_Generator_ChildPropName="GetFloorRows" msprop:rel_Generator_UserRelationName="Building_Floor" msprop:rel_Generator_RelationVarName="relationBuilding_Floor" msprop:rel_Generator_UserParentTable="Building" msprop:rel_Generator_ParentPropName="BuildingRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Building_Floor" refer="Building_Constraint1" msprop:rel_Generator_UserChildTable="Floor" msprop:rel_Generator_ChildPropName="GetFloorRows" msprop:rel_Generator_UserRelationName="Building_Floor" msprop:rel_Generator_ParentPropName="BuildingRow" msprop:rel_Generator_RelationVarName="relationBuilding_Floor" msprop:rel_Generator_UserParentTable="Building" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Floor" />
       <xs:field xpath="mstns:Building_UID" />
     </xs:keyref>
-    <xs:keyref name="Object_Building" refer="Object_Constraint1" msprop:rel_Generator_UserChildTable="Building" msprop:rel_Generator_ChildPropName="GetBuildingRows" msprop:rel_Generator_UserRelationName="Object_Building" msprop:rel_Generator_RelationVarName="relationObject_Building" msprop:rel_Generator_UserParentTable="Object" msprop:rel_Generator_ParentPropName="ObjectRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Object_Building" refer="Object_Constraint1" msprop:rel_Generator_UserChildTable="Building" msprop:rel_Generator_ChildPropName="GetBuildingRows" msprop:rel_Generator_UserRelationName="Object_Building" msprop:rel_Generator_ParentPropName="ObjectRow" msprop:rel_Generator_RelationVarName="relationObject_Building" msprop:rel_Generator_UserParentTable="Object" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Building" />
       <xs:field xpath="mstns:Object_UID" />
     </xs:keyref>
-    <xs:keyref name="Command_ActionList_Command" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Action_Command" msprop:rel_Generator_ChildPropName="GetAction_CommandRows" msprop:rel_Generator_UserRelationName="Command_ActionList_Command" msprop:rel_Generator_RelationVarName="relationCommand_ActionList_Command" msprop:rel_Generator_UserParentTable="Command" msprop:rel_Generator_ParentPropName="CommandRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="ActionList_ActionList_Command" refer="Action_Constraint1" msprop:rel_Generator_UserChildTable="Action_Command" msprop:rel_Generator_ChildPropName="GetAction_CommandRows" msprop:rel_Generator_UserRelationName="ActionList_ActionList_Command" msprop:rel_Generator_ParentPropName="ActionRow" msprop:rel_Generator_RelationVarName="relationActionList_ActionList_Command" msprop:rel_Generator_UserParentTable="Action" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Action_Command" />
-      <xs:field xpath="mstns:Command_UID" />
+      <xs:field xpath="mstns:Action_UID" />
     </xs:keyref>
-    <xs:keyref name="ActionList_ActionList_Command" refer="Action_Constraint1" msprop:rel_Generator_UserChildTable="Action_Command" msprop:rel_Generator_ChildPropName="GetAction_CommandRows" msprop:rel_Generator_UserRelationName="ActionList_ActionList_Command" msprop:rel_Generator_RelationVarName="relationActionList_ActionList_Command" msprop:rel_Generator_UserParentTable="Action" msprop:rel_Generator_ParentPropName="ActionRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="Command_ActionList_Command" refer="Command_Constraint1" msprop:rel_Generator_UserChildTable="Action_Command" msprop:rel_Generator_ChildPropName="GetAction_CommandRows" msprop:rel_Generator_UserRelationName="Command_ActionList_Command" msprop:rel_Generator_ParentPropName="CommandRow" msprop:rel_Generator_RelationVarName="relationCommand_ActionList_Command" msprop:rel_Generator_UserParentTable="Command" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:Action_Command" />
-      <xs:field xpath="mstns:Action_UID" />
+      <xs:field xpath="mstns:Command_UID" />
     </xs:keyref>
-    <xs:keyref name="AccessPoint_FaultTries" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="FailAttempt" msprop:rel_Generator_ChildPropName="GetFailAttemptRows" msprop:rel_Generator_UserRelationName="AccessPoint_FaultTries" msprop:rel_Generator_RelationVarName="relationAccessPoint_FaultTries" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="AccessPoint_FaultTries" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="FailAttempt" msprop:rel_Generator_ChildPropName="GetFailAttemptRows" msprop:rel_Generator_UserRelationName="AccessPoint_FaultTries" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationAccessPoint_FaultTries" msprop:rel_Generator_UserParentTable="AccessPoint" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:FailAttempt" />
       <xs:field xpath="mstns:AccessPoint_UID" />
     </xs:keyref>
-    <xs:keyref name="AccessPoint_MultiplePersonAccess" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="MultiplePersonAccess" msprop:rel_Generator_ChildPropName="GetMultiplePersonAccessRows" msprop:rel_Generator_UserRelationName="AccessPoint_MultiplePersonAccess" msprop:rel_Generator_RelationVarName="relationAccessPoint_MultiplePersonAccess" msprop:rel_Generator_UserParentTable="AccessPoint" msprop:rel_Generator_ParentPropName="AccessPointRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="AccessPoint_MultiplePersonAccess" refer="AccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="MultiplePersonAccess" msprop:rel_Generator_ChildPropName="GetMultiplePersonAccessRows" msprop:rel_Generator_UserRelationName="AccessPoint_MultiplePersonAccess" msprop:rel_Generator_ParentPropName="AccessPointRow" msprop:rel_Generator_RelationVarName="relationAccessPoint_MultiplePersonAccess" msprop:rel_Generator_UserParentTable="AccessPoint" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:MultiplePersonAccess" />
       <xs:field xpath="mstns:AccessPoint_UID" />
     </xs:keyref>
-    <xs:keyref name="FK_HardwareDevice_Port" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="Port" msprop:rel_Generator_ChildPropName="GetPortRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_Port" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_Port" msprop:rel_Generator_UserParentTable="HardwareDevice" msprop:rel_Generator_ParentPropName="HardwareDeviceRow">
+    <xs:keyref name="FK_HardwareDevice_Port" refer="HardwareDevice_Constraint1" msprop:rel_Generator_UserChildTable="Port" msprop:rel_Generator_ChildPropName="GetPortRows" msprop:rel_Generator_UserRelationName="FK_HardwareDevice_Port" msprop:rel_Generator_ParentPropName="HardwareDeviceRow" msprop:rel_Generator_RelationVarName="relationFK_HardwareDevice_Port" msprop:rel_Generator_UserParentTable="HardwareDevice">
       <xs:selector xpath=".//mstns:Port" />
       <xs:field xpath="mstns:ControllerUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalDoor" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDoor" msprop:rel_Generator_ChildPropName="GetLogicalDoorRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalDoor" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalDoor" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalDoor" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalDoor" msprop:rel_Generator_ChildPropName="GetLogicalDoorRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalDoor" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalDoor" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalDoor" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalCamera" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalCamera" msprop:rel_Generator_ChildPropName="GetLogicalCameraRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalCamera" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalCamera" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalCamera" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalCamera" msprop:rel_Generator_ChildPropName="GetLogicalCameraRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalCamera" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalCamera" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalCamera" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Trigger_Expression" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Expression" msprop:rel_Generator_ChildPropName="GetExpressionRows" msprop:rel_Generator_UserRelationName="Trigger_Expression" msprop:rel_Generator_RelationVarName="relationTrigger_Expression" msprop:rel_Generator_UserParentTable="Trigger" msprop:rel_Generator_ParentPropName="TriggerRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="Trigger_Expression" refer="Trigger_Constraint1" msprop:rel_Generator_UserChildTable="Expression" msprop:rel_Generator_ChildPropName="GetExpressionRows" msprop:rel_Generator_UserRelationName="Trigger_Expression" msprop:rel_Generator_ParentPropName="TriggerRow" msprop:rel_Generator_RelationVarName="relationTrigger_Expression" msprop:rel_Generator_UserParentTable="Trigger" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:Expression" />
       <xs:field xpath="mstns:TriggerUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalSMS" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSMS" msprop:rel_Generator_ChildPropName="GetLogicalSMSRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSMS" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSMS" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalSMS" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSMS" msprop:rel_Generator_ChildPropName="GetLogicalSMSRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSMS" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSMS" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalSMS" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalEmail" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalEmail" msprop:rel_Generator_ChildPropName="GetLogicalEmailRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalEmail" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalEmail" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalEmail" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalEmail" msprop:rel_Generator_ChildPropName="GetLogicalEmailRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalEmail" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalEmail" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalEmail" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalSiren" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSounder" msprop:rel_Generator_ChildPropName="GetLogicalSirenRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSounder" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSounder" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:RelationName="LogicalDevice_LogicalSounder" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalSiren" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalSounder" msprop:rel_Generator_ChildPropName="GetLogicalSirenRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalSounder" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalSounder" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:RelationName="LogicalDevice_LogicalSounder" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalSounder" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalOutput" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalOutput" msprop:rel_Generator_ChildPropName="GetLogicalOutputRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalOutput" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalOutput" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalOutput" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalOutput" msprop:rel_Generator_ChildPropName="GetLogicalOutputRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalOutput" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalOutput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalInput" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalInput" msprop:rel_Generator_ChildPropName="GetLogicalInputRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalInput" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalInput" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalInput" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalInput" msprop:rel_Generator_ChildPropName="GetLogicalInputRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalInput" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalInput" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalInput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDevice_LogicalPIR" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalPIR" msprop:rel_Generator_ChildPropName="GetLogicalPIRRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalPIR" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalPIR" msprop:rel_Generator_UserParentTable="LogicalDevice" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalDevice_LogicalPIR" refer="LogicalDevice_Constraint1" msprop:rel_Generator_UserChildTable="LogicalPIR" msprop:rel_Generator_ChildPropName="GetLogicalPIRRows" msprop:rel_Generator_UserRelationName="LogicalDevice_LogicalPIR" msprop:rel_Generator_ParentPropName="LogicalDeviceRow" msprop:rel_Generator_RelationVarName="relationLogicalDevice_LogicalPIR" msprop:rel_Generator_UserParentTable="LogicalDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:LogicalPIR" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="Condition_Macro" refer="Condition_Constraint1" msprop:rel_Generator_UserChildTable="Macro" msprop:rel_Generator_ChildPropName="GetMacroRows" msprop:rel_Generator_UserRelationName="Condition_Macro" msprop:rel_Generator_RelationVarName="relationCondition_Macro" msprop:rel_Generator_UserParentTable="Condition" msprop:rel_Generator_ParentPropName="ConditionRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="ActionOn_Macro" refer="Action_Constraint1" msprop:rel_Generator_UserChildTable="Macro" msprop:rel_Generator_ChildPropName="GetMacroRowsByActionOn_Macro" msprop:rel_Generator_UserRelationName="ActionOn_Macro" msprop:rel_Generator_ParentPropName="ActionRowByActionOn_Macro" msprop:rel_Generator_RelationVarName="relationActionOn_Macro" msprop:rel_Generator_UserParentTable="Action" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:Macro" />
-      <xs:field xpath="mstns:ConditionUID" />
+      <xs:field xpath="mstns:ActionOnUID" />
     </xs:keyref>
-    <xs:keyref name="ActionOff_Macro" refer="Action_Constraint1" msprop:rel_Generator_UserChildTable="Macro" msprop:rel_Generator_ChildPropName="GetMacroRowsByActionOff_Macro" msprop:rel_Generator_UserRelationName="ActionOff_Macro" msprop:rel_Generator_RelationVarName="relationActionOff_Macro" msprop:rel_Generator_UserParentTable="Action" msprop:rel_Generator_ParentPropName="ActionRowByActionOff_Macro" msdata:DeleteRule="SetNull">
+    <xs:keyref name="ActionOff_Macro" refer="Action_Constraint1" msprop:rel_Generator_UserChildTable="Macro" msprop:rel_Generator_ChildPropName="GetMacroRowsByActionOff_Macro" msprop:rel_Generator_UserRelationName="ActionOff_Macro" msprop:rel_Generator_ParentPropName="ActionRowByActionOff_Macro" msprop:rel_Generator_RelationVarName="relationActionOff_Macro" msprop:rel_Generator_UserParentTable="Action" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:Macro" />
       <xs:field xpath="mstns:ActionOffUID" />
     </xs:keyref>
-    <xs:keyref name="ActionOn_Macro" refer="Action_Constraint1" msprop:rel_Generator_UserChildTable="Macro" msprop:rel_Generator_ChildPropName="GetMacroRowsByActionOn_Macro" msprop:rel_Generator_UserRelationName="ActionOn_Macro" msprop:rel_Generator_RelationVarName="relationActionOn_Macro" msprop:rel_Generator_UserParentTable="Action" msprop:rel_Generator_ParentPropName="ActionRowByActionOn_Macro" msdata:DeleteRule="SetNull">
+    <xs:keyref name="Condition_Macro" refer="Condition_Constraint1" msprop:rel_Generator_UserChildTable="Macro" msprop:rel_Generator_ChildPropName="GetMacroRows" msprop:rel_Generator_UserRelationName="Condition_Macro" msprop:rel_Generator_ParentPropName="ConditionRow" msprop:rel_Generator_RelationVarName="relationCondition_Macro" msprop:rel_Generator_UserParentTable="Condition" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:Macro" />
-      <xs:field xpath="mstns:ActionOnUID" />
+      <xs:field xpath="mstns:ConditionUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalDoor_VirtualBusDoor" refer="LogicalDoor_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusDoor" msprop:rel_Generator_ChildPropName="GetVirtualBusDoorRows" msprop:rel_Generator_UserRelationName="LogicalDoor_VirtualBusDoor" msprop:rel_Generator_RelationVarName="relationLogicalDoor_VirtualBusDoor" msprop:rel_Generator_UserParentTable="LogicalDoor" msprop:rel_Generator_ParentPropName="LogicalDoorRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDoor_VirtualBusDoor" refer="VirtualDoor_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusDoor" msprop:rel_Generator_ChildPropName="GetVirtualBusDoorRows" msprop:rel_Generator_UserRelationName="VirtualDoor_VirtualBusDoor" msprop:rel_Generator_ParentPropName="VirtualDoorRow" msprop:rel_Generator_RelationVarName="relationVirtualDoor_VirtualBusDoor" msprop:rel_Generator_UserParentTable="VirtualDoor">
       <xs:selector xpath=".//mstns:VirtualBusDoor" />
-      <xs:field xpath="mstns:LogicalDoorUID" />
+      <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDoor_VirtualBusDoor" refer="VirtualDoor_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusDoor" msprop:rel_Generator_ChildPropName="GetVirtualBusDoorRows" msprop:rel_Generator_UserRelationName="VirtualDoor_VirtualBusDoor" msprop:rel_Generator_RelationVarName="relationVirtualDoor_VirtualBusDoor" msprop:rel_Generator_UserParentTable="VirtualDoor" msprop:rel_Generator_ParentPropName="VirtualDoorRow">
+    <xs:keyref name="LogicalDoor_VirtualBusDoor" refer="LogicalDoor_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusDoor" msprop:rel_Generator_ChildPropName="GetVirtualBusDoorRows" msprop:rel_Generator_UserRelationName="LogicalDoor_VirtualBusDoor" msprop:rel_Generator_ParentPropName="LogicalDoorRow" msprop:rel_Generator_RelationVarName="relationLogicalDoor_VirtualBusDoor" msprop:rel_Generator_UserParentTable="LogicalDoor" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualBusDoor" />
-      <xs:field xpath="mstns:UID" />
+      <xs:field xpath="mstns:LogicalDoorUID" />
     </xs:keyref>
-    <xs:keyref name="FK_LogicalAccessPoint_AccessPoint" refer="LogicalAccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="AccessPoint" msprop:rel_Generator_ChildPropName="GetAccessPointRows" msprop:rel_Generator_UserRelationName="FK_LogicalAccessPoint_AccessPoint" msprop:rel_Generator_RelationVarName="relationFK_LogicalAccessPoint_AccessPoint" msprop:rel_Generator_UserParentTable="LogicalAccessPoint" msprop:rel_Generator_ParentPropName="LogicalAccessPointRow">
+    <xs:keyref name="FK_LogicalAccessPoint_AccessPoint" refer="LogicalAccessPoint_Constraint1" msprop:rel_Generator_UserChildTable="AccessPoint" msprop:rel_Generator_ChildPropName="GetAccessPointRows" msprop:rel_Generator_UserRelationName="FK_LogicalAccessPoint_AccessPoint" msprop:rel_Generator_ParentPropName="LogicalAccessPointRow" msprop:rel_Generator_RelationVarName="relationFK_LogicalAccessPoint_AccessPoint" msprop:rel_Generator_UserParentTable="LogicalAccessPoint">
       <xs:selector xpath=".//mstns:AccessPoint" />
       <xs:field xpath="mstns:LogicalAccessPointUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualUserInterface" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualUserInterface" msprop:rel_Generator_ChildPropName="GetVirtualUserInterfaceRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualUserInterface" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualUserInterface" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualUserInterface" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualUserInterface" msprop:rel_Generator_ChildPropName="GetVirtualUserInterfaceRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualUserInterface" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualUserInterface" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualUserInterface" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalOutput_VirtualOutput" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualOutput" msprop:rel_Generator_ChildPropName="GetVirtualOutputRows" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualOutput" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualOutput" msprop:rel_Generator_UserParentTable="LogicalOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="FK_Signal_VirtualOutput" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="VirtualOutput" msprop:rel_Generator_ChildPropName="GetVirtualOutputRows" msprop:rel_Generator_UserRelationName="FK_Signal_VirtualOutput" msprop:rel_Generator_ParentPropName="SignalRow" msprop:rel_Generator_RelationVarName="relationFK_Signal_VirtualOutput" msprop:rel_Generator_UserParentTable="Signal" msdata:AcceptRejectRule="Cascade" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:VirtualOutput" />
-      <xs:field xpath="mstns:LogicalOutputUID" />
+      <xs:field xpath="mstns:SignalUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualOutput" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualOutput" msprop:rel_Generator_ChildPropName="GetVirtualOutputRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualOutput" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualOutput" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualOutput" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualOutput" msprop:rel_Generator_ChildPropName="GetVirtualOutputRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualOutput" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualOutput" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualOutput" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_Signal_VirtualOutput" refer="Signal_Constraint1" msprop:rel_Generator_UserChildTable="VirtualOutput" msprop:rel_Generator_ChildPropName="GetVirtualOutputRows" msprop:rel_Generator_UserRelationName="FK_Signal_VirtualOutput" msprop:rel_Generator_RelationVarName="relationFK_Signal_VirtualOutput" msprop:rel_Generator_UserParentTable="Signal" msprop:rel_Generator_ParentPropName="SignalRow" msdata:AcceptRejectRule="Cascade" msdata:DeleteRule="SetNull">
+    <xs:keyref name="LogicalOutput_VirtualOutput" refer="LogicalOutput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualOutput" msprop:rel_Generator_ChildPropName="GetVirtualOutputRows" msprop:rel_Generator_UserRelationName="LogicalOutput_VirtualOutput" msprop:rel_Generator_ParentPropName="LogicalOutputRow" msprop:rel_Generator_RelationVarName="relationLogicalOutput_VirtualOutput" msprop:rel_Generator_UserParentTable="LogicalOutput" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualOutput" />
-      <xs:field xpath="mstns:SignalUID" />
+      <xs:field xpath="mstns:LogicalOutputUID" />
     </xs:keyref>
-    <xs:keyref name="LogicalInput_VirtualInput" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualInput" msprop:rel_Generator_ChildPropName="GetVirtualInputRows" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualInput" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualInput" msprop:rel_Generator_UserParentTable="LogicalInput" msprop:rel_Generator_ParentPropName="LogicalInputRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="VirtualDevice_VirtualInput" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualInput" msprop:rel_Generator_ChildPropName="GetVirtualInputRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualInput" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualInput" msprop:rel_Generator_UserParentTable="VirtualDevice" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualInput" />
+      <xs:field xpath="mstns:UID" />
+    </xs:keyref>
+    <xs:keyref name="LogicalInput_VirtualInput" refer="LogicalInput_Constraint1" msprop:rel_Generator_UserChildTable="VirtualInput" msprop:rel_Generator_ChildPropName="GetVirtualInputRows" msprop:rel_Generator_UserRelationName="LogicalInput_VirtualInput" msprop:rel_Generator_ParentPropName="LogicalInputRow" msprop:rel_Generator_RelationVarName="relationLogicalInput_VirtualInput" msprop:rel_Generator_UserParentTable="LogicalInput" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:VirtualInput" />
       <xs:field xpath="mstns:LogicalInputUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualDevice_VirtualInput" refer="VirtualDevice_Constraint1" msprop:rel_Generator_UserChildTable="VirtualInput" msprop:rel_Generator_ChildPropName="GetVirtualInputRows" msprop:rel_Generator_UserRelationName="VirtualDevice_VirtualInput" msprop:rel_Generator_RelationVarName="relationVirtualDevice_VirtualInput" msprop:rel_Generator_UserParentTable="VirtualDevice" msprop:rel_Generator_ParentPropName="VirtualDeviceRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:VirtualInput" />
+    <xs:keyref name="VirtualPIR_VirtualBusPIR" refer="VirtualPIR_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusPIR" msprop:rel_Generator_ChildPropName="GetVirtualBusPIRRows" msprop:rel_Generator_UserRelationName="VirtualPIR_VirtualBusPIR" msprop:rel_Generator_ParentPropName="VirtualPIRRow" msprop:rel_Generator_RelationVarName="relationVirtualPIR_VirtualBusPIR" msprop:rel_Generator_UserParentTable="VirtualPIR">
+      <xs:selector xpath=".//mstns:VirtualBusPIR" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="LogicalPIR_VirtualBusPIR" refer="LogicalPIR_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusPIR" msprop:rel_Generator_ChildPropName="GetVirtualBusPIRRows" msprop:rel_Generator_UserRelationName="LogicalPIR_VirtualBusPIR" msprop:rel_Generator_RelationVarName="relationLogicalPIR_VirtualBusPIR" msprop:rel_Generator_UserParentTable="LogicalPIR" msprop:rel_Generator_ParentPropName="LogicalPIRRow" msdata:AcceptRejectRule="Cascade">
+    <xs:keyref name="LogicalPIR_VirtualBusPIR" refer="LogicalPIR_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusPIR" msprop:rel_Generator_ChildPropName="GetVirtualBusPIRRows" msprop:rel_Generator_UserRelationName="LogicalPIR_VirtualBusPIR" msprop:rel_Generator_ParentPropName="LogicalPIRRow" msprop:rel_Generator_RelationVarName="relationLogicalPIR_VirtualBusPIR" msprop:rel_Generator_UserParentTable="LogicalPIR" msdata:AcceptRejectRule="Cascade">
       <xs:selector xpath=".//mstns:VirtualBusPIR" />
       <xs:field xpath="mstns:LogicalPIRUID" />
     </xs:keyref>
-    <xs:keyref name="VirtualPIR_VirtualBusPIR" refer="VirtualPIR_Constraint1" msprop:rel_Generator_UserChildTable="VirtualBusPIR" msprop:rel_Generator_ChildPropName="GetVirtualBusPIRRows" msprop:rel_Generator_UserRelationName="VirtualPIR_VirtualBusPIR" msprop:rel_Generator_RelationVarName="relationVirtualPIR_VirtualBusPIR" msprop:rel_Generator_UserParentTable="VirtualPIR" msprop:rel_Generator_ParentPropName="VirtualPIRRow">
-      <xs:selector xpath=".//mstns:VirtualBusPIR" />
+    <xs:keyref name="PartitionMember_DetectorGroup" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="DetectorGroup" msprop:rel_Generator_ChildPropName="GetDetectorGroupRows" msprop:rel_Generator_UserRelationName="PartitionMember_DetectorGroup" msprop:rel_Generator_ParentPropName="PartitionMemberRow" msprop:rel_Generator_RelationVarName="relationPartitionMember_DetectorGroup" msprop:rel_Generator_UserParentTable="PartitionMember" msdata:AcceptRejectRule="Cascade">
+      <xs:selector xpath=".//mstns:DetectorGroup" />
       <xs:field xpath="mstns:UID" />
     </xs:keyref>
-    <xs:keyref name="FK_SounderTemplate_DetectorGroup" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="DetectorGroup" msprop:rel_Generator_ChildPropName="GetDetectorGroupRows" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_DetectorGroup" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_DetectorGroup" msprop:rel_Generator_UserParentTable="SounderTemplate" msprop:rel_Generator_ParentPropName="SounderTemplateRow" msdata:DeleteRule="SetNull">
+    <xs:keyref name="FK_SounderTemplate_DetectorGroup" refer="SounderTemplate_Constraint1" msprop:rel_Generator_UserChildTable="DetectorGroup" msprop:rel_Generator_ChildPropName="GetDetectorGroupRows" msprop:rel_Generator_UserRelationName="FK_SounderTemplate_DetectorGroup" msprop:rel_Generator_ParentPropName="SounderTemplateRow" msprop:rel_Generator_RelationVarName="relationFK_SounderTemplate_DetectorGroup" msprop:rel_Generator_UserParentTable="SounderTemplate" msdata:DeleteRule="SetNull">
       <xs:selector xpath=".//mstns:DetectorGroup" />
       <xs:field xpath="mstns:SounderTemplateUID" />
     </xs:keyref>
-    <xs:keyref name="PartitionMember_DetectorGroup" refer="PartitionMember_Constraint1" msprop:rel_Generator_UserChildTable="DetectorGroup" msprop:rel_Generator_ChildPropName="GetDetectorGroupRows" msprop:rel_Generator_UserRelationName="PartitionMember_DetectorGroup" msprop:rel_Generator_RelationVarName="relationPartitionMember_DetectorGroup" msprop:rel_Generator_UserParentTable="PartitionMember" msprop:rel_Generator_ParentPropName="PartitionMemberRow" msdata:AcceptRejectRule="Cascade">
-      <xs:selector xpath=".//mstns:DetectorGroup" />
-      <xs:field xpath="mstns:UID" />
-    </xs:keyref>
   </xs:element>
   <xs:annotation>
     <xs:appinfo>
-      <msdata:Relationship name="PartitionMember_PMCollection_PartitionMember" msdata:parent="PartitionMember" msdata:child="PMCollection_PartitionMember" msdata:parentkey="UID" msdata:childkey="PartitionMemberUID" msprop:Generator_UserChildTable="PMCollection_PartitionMember" msprop:Generator_ChildPropName="GetPMCollection_PartitionMemberRows" msprop:Generator_UserRelationName="PartitionMember_PMCollection_PartitionMember" msprop:Generator_RelationVarName="relationPartitionMember_PMCollection_PartitionMember" msprop:Generator_UserParentTable="PartitionMember" msprop:Generator_ParentPropName="PartitionMemberRow" />
-      <msdata:Relationship name="PMCollection_PMCollection_PartitionMember" msdata:parent="PMCollection" msdata:child="PMCollection_PartitionMember" msdata:parentkey="UID" msdata:childkey="PMCollectionUID" msprop:Generator_UserChildTable="PMCollection_PartitionMember" msprop:Generator_ChildPropName="GetPMCollection_PartitionMemberRows" msprop:Generator_UserRelationName="PMCollection_PMCollection_PartitionMember" msprop:Generator_RelationVarName="relationPMCollection_PMCollection_PartitionMember" msprop:Generator_UserParentTable="PMCollection" msprop:Generator_ParentPropName="PMCollectionRow" />
-      <msdata:Relationship name="Expression_Condition" msdata:parent="Expression" msdata:child="Condition" msdata:parentkey="ExpressionUID" msdata:childkey="ExpressionRootUID" msprop:Generator_UserChildTable="Condition" msprop:Generator_ChildPropName="GetConditionRows" msprop:Generator_UserRelationName="Expression_Condition" msprop:Generator_RelationVarName="relationExpression_Condition" msprop:Generator_UserParentTable="Expression" msprop:Generator_ParentPropName="ExpressionRow" />
-      <msdata:Relationship name="Room_HardwareDevice" msdata:parent="Room" msdata:child="HardwareDevice" msdata:parentkey="UID" msdata:childkey="RoomUID" msprop:Generator_UserChildTable="HardwareDevice" msprop:Generator_ChildPropName="GetHardwareDeviceRows" msprop:Generator_UserRelationName="Room_HardwareDevice" msprop:Generator_RelationVarName="relationRoom_HardwareDevice" msprop:Generator_UserParentTable="Room" msprop:Generator_ParentPropName="RoomRow" />
-      <msdata:Relationship name="VirtualPeripheral_VirtualDevice" msdata:parent="VirtualPeripheral" msdata:child="VirtualDevice" msdata:parentkey="UID" msdata:childkey="VirtualPeripheralUID" msprop:Generator_UserChildTable="VirtualDevice" msprop:Generator_ChildPropName="GetVirtualDeviceRows" msprop:Generator_UserRelationName="VirtualPeripheral_VirtualDevice" msprop:Generator_RelationVarName="relationVirtualPeripheral_VirtualDevice" msprop:Generator_UserParentTable="VirtualPeripheral" msprop:Generator_ParentPropName="VirtualPeripheralRow" />
-      <msdata:Relationship name="PartitionMember_AccessPoint" msdata:parent="PartitionMember" msdata:child="AccessPoint" msdata:parentkey="UID" msdata:childkey="UID" msprop:Generator_UserChildTable="AccessPoint" msprop:Generator_ChildPropName="GetAccessPointRows" msprop:Generator_UserRelationName="PartitionMember_AccessPoint" msprop:Generator_RelationVarName="relationPartitionMember_AccessPoint" msprop:Generator_UserParentTable="PartitionMember" msprop:Generator_ParentPropName="PartitionMemberRow" />
+      <msdata:Relationship name="PartitionMember_PMCollection_PartitionMember" msdata:parent="PartitionMember" msdata:child="PMCollection_PartitionMember" msdata:parentkey="UID" msdata:childkey="PartitionMemberUID" msprop:Generator_UserChildTable="PMCollection_PartitionMember" msprop:Generator_ChildPropName="GetPMCollection_PartitionMemberRows" msprop:Generator_UserRelationName="PartitionMember_PMCollection_PartitionMember" msprop:Generator_ParentPropName="PartitionMemberRow" msprop:Generator_RelationVarName="relationPartitionMember_PMCollection_PartitionMember" msprop:Generator_UserParentTable="PartitionMember" />
+      <msdata:Relationship name="PMCollection_PMCollection_PartitionMember" msdata:parent="PMCollection" msdata:child="PMCollection_PartitionMember" msdata:parentkey="UID" msdata:childkey="PMCollectionUID" msprop:Generator_UserChildTable="PMCollection_PartitionMember" msprop:Generator_ChildPropName="GetPMCollection_PartitionMemberRows" msprop:Generator_UserRelationName="PMCollection_PMCollection_PartitionMember" msprop:Generator_ParentPropName="PMCollectionRow" msprop:Generator_RelationVarName="relationPMCollection_PMCollection_PartitionMember" msprop:Generator_UserParentTable="PMCollection" />
+      <msdata:Relationship name="Expression_Condition" msdata:parent="Expression" msdata:child="Condition" msdata:parentkey="ExpressionUID" msdata:childkey="ExpressionRootUID" msprop:Generator_UserChildTable="Condition" msprop:Generator_ChildPropName="GetConditionRows" msprop:Generator_UserRelationName="Expression_Condition" msprop:Generator_ParentPropName="ExpressionRow" msprop:Generator_RelationVarName="relationExpression_Condition" msprop:Generator_UserParentTable="Expression" />
+      <msdata:Relationship name="Room_HardwareDevice" msdata:parent="Room" msdata:child="HardwareDevice" msdata:parentkey="UID" msdata:childkey="RoomUID" msprop:Generator_UserChildTable="HardwareDevice" msprop:Generator_ChildPropName="GetHardwareDeviceRows" msprop:Generator_UserRelationName="Room_HardwareDevice" msprop:Generator_ParentPropName="RoomRow" msprop:Generator_RelationVarName="relationRoom_HardwareDevice" msprop:Generator_UserParentTable="Room" />
+      <msdata:Relationship name="VirtualPeripheral_VirtualDevice" msdata:parent="VirtualPeripheral" msdata:child="VirtualDevice" msdata:parentkey="UID" msdata:childkey="VirtualPeripheralUID" msprop:Generator_UserChildTable="VirtualDevice" msprop:Generator_ChildPropName="GetVirtualDeviceRows" msprop:Generator_UserRelationName="VirtualPeripheral_VirtualDevice" msprop:Generator_ParentPropName="VirtualPeripheralRow" msprop:Generator_RelationVarName="relationVirtualPeripheral_VirtualDevice" msprop:Generator_UserParentTable="VirtualPeripheral" />
+      <msdata:Relationship name="PartitionMember_AccessPoint" msdata:parent="PartitionMember" msdata:child="AccessPoint" msdata:parentkey="UID" msdata:childkey="UID" msprop:Generator_UserChildTable="AccessPoint" msprop:Generator_ChildPropName="GetAccessPointRows" msprop:Generator_UserRelationName="PartitionMember_AccessPoint" msprop:Generator_ParentPropName="PartitionMemberRow" msprop:Generator_RelationVarName="relationPartitionMember_AccessPoint" msprop:Generator_UserParentTable="PartitionMember" />
     </xs:appinfo>
   </xs:annotation>
 </xs:schema>
\ No newline at end of file
Index: ConfigApp.Data/InternalDataSet.xss
===================================================================
--- ConfigApp.Data/InternalDataSet.xss	(revision 3199)
+++ ConfigApp.Data/InternalDataSet.xss	(working copy)
@@ -4,226 +4,214 @@
      Changes to this file may cause incorrect behavior and will be lost if
      the code is regenerated.
 </autogenerated>-->
-<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-37" ViewPortY="1318" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
+<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="1327" ViewPortY="542" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
   <Shapes>
-    <Shape ID="DesignTable:Panel" ZOrder="245" X="1282" Y="536" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="22" SplitterPosition="121" />
-    <Shape ID="DesignTable:DetectorGroup" ZOrder="2" X="-1008" Y="912" Height="315" Width="185" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="311" />
-    <Shape ID="DesignTable:VirtualBusPIR" ZOrder="108" X="663" Y="192" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:VirtualInput" ZOrder="191" X="656" Y="506" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
+    <Shape ID="DesignTable:Panel" ZOrder="249" X="1282" Y="536" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="22" SplitterPosition="121" />
+    <Shape ID="DesignTable:DetectorGroup" ZOrder="6" X="-1008" Y="912" Height="315" Width="185" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="311" />
+    <Shape ID="DesignTable:VirtualBusPIR" ZOrder="112" X="663" Y="192" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:VirtualInput" ZOrder="195" X="656" Y="506" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
     <Shape ID="DesignTable:VirtualOutput" ZOrder="416" X="662" Y="1000" Height="162" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" />
-    <Shape ID="DesignTable:VirtualUserInterface" ZOrder="204" X="347" Y="2561" Height="68" Width="182" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:AccessPoint" ZOrder="239" X="-395" Y="588" Height="467" Width="184" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="463" />
-    <Shape ID="DesignTable:VirtualBusDoor" ZOrder="227" X="662" Y="1458" Height="163" Width="155" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
-    <Shape ID="DesignTable:Trigger" ZOrder="146" X="1955" Y="2014" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:Condition" ZOrder="143" X="1495" Y="2024" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:Command" ZOrder="145" X="1603" Y="2170" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:Macro" ZOrder="1" X="1274" Y="1869" Height="163" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
-    <Shape ID="DesignTable:Action" ZOrder="142" X="1355" Y="2194" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:LogicalPIR" ZOrder="186" X="959" Y="177" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:VirtualUserInterface" ZOrder="208" X="347" Y="2561" Height="68" Width="182" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:AccessPoint" ZOrder="243" X="-395" Y="588" Height="467" Width="184" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="463" />
+    <Shape ID="DesignTable:VirtualBusDoor" ZOrder="231" X="662" Y="1458" Height="163" Width="155" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
+    <Shape ID="DesignTable:Trigger" ZOrder="150" X="1955" Y="2014" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:Condition" ZOrder="147" X="1495" Y="2024" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:Command" ZOrder="149" X="1603" Y="2170" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:Macro" ZOrder="5" X="1274" Y="1869" Height="163" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
+    <Shape ID="DesignTable:Action" ZOrder="146" X="1355" Y="2194" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:LogicalPIR" ZOrder="190" X="959" Y="177" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
     <Shape ID="DesignTable:LogicalInput" ZOrder="464" X="956" Y="652" Height="113" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" />
-    <Shape ID="DesignTable:LogicalOutput" ZOrder="158" X="957" Y="999" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:LogicalSounder" ZOrder="189" X="975" Y="381" Height="68" Width="155" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalEmail" ZOrder="184" X="961" Y="-9" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalSMS" ZOrder="157" X="974" Y="1620" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:Partition" ZOrder="4" X="30" Y="-338" Height="676" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="22" SplitterPosition="672" />
-    <Shape ID="DesignTable:Expression" ZOrder="144" X="1715" Y="2012" Height="125" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:LogicalCamera" ZOrder="185" X="963" Y="90" Height="68" Width="151" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalDoor" ZOrder="187" X="964" Y="262" Height="106" Width="168" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:Port" ZOrder="138" X="1525" Y="1535" Height="277" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
-    <Shape ID="DesignTable:MultiplePersonAccess" ZOrder="215" X="-129" Y="738" Height="87" Width="192" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:FailAttempt" ZOrder="266" X="-120" Y="891" Height="164" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="160" />
-    <Shape ID="DesignTable:Action_Command" ZOrder="141" X="1453" Y="2345" Height="87" Width="168" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:Object" ZOrder="130" X="1289" Y="772" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:Building" ZOrder="131" X="1287" Y="932" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:Floor" ZOrder="132" X="1472" Y="931" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
-    <Shape ID="DesignTable:Room" ZOrder="133" X="1690" Y="929" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
-    <Shape ID="DesignTable:VirtualDevice" ZOrder="89" X="-140" Y="1357" Height="219" Width="151" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
-    <Shape ID="DesignTable:LogicalDevice" ZOrder="267" X="1294" Y="1275" Height="219" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
-    <Shape ID="DesignTable:UID" ZOrder="244" X="1276" Y="361" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:HardwareDevice" ZOrder="139" X="1951" Y="1213" Height="505" Width="169" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="501" />
-    <Shape ID="DesignTable:VirtualHardwiredPIR" ZOrder="56" X="664" Y="710" Height="258" Width="186" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
-    <Shape ID="DesignTable:VirtualHardwiredDoor" ZOrder="82" X="664" Y="1172" Height="277" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
-    <Shape ID="DesignTable:VirtualSounder" ZOrder="190" X="663" Y="340" Height="106" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualEmail" ZOrder="159" X="664" Y="-25" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualCamera" ZOrder="88" X="665" Y="83" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualSMS" ZOrder="193" X="665" Y="1627" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualReader" ZOrder="147" X="676" Y="2667" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualKeyboard" ZOrder="151" X="674" Y="2412" Height="106" Width="160" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualKeyboardReader" ZOrder="200" X="675" Y="2541" Height="106" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualKeySwitch" ZOrder="168" X="435" Y="806" Height="106" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualRelay" ZOrder="81" X="430" Y="1415" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualWindow" ZOrder="167" X="412" Y="621" Height="106" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:LogicalPeripheral" ZOrder="253" X="970" Y="1702" Height="86" Width="166" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
-    <Shape ID="DesignTable:LogicalSmokeDetector" ZOrder="155" X="976" Y="1800" Height="68" Width="167" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalTemperature" ZOrder="149" X="977" Y="1887" Height="68" Width="166" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:VirtualPeripheral" ZOrder="229" X="366" Y="1604" Height="903" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="918" />
-    <Shape ID="DesignTable:VirtualSmokeDetector" ZOrder="226" X="664" Y="1743" Height="163" Width="191" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
-    <Shape ID="DesignTable:VirtualTemperature" ZOrder="194" X="669" Y="1926" Height="106" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:LogicalKeyboard" ZOrder="196" X="954" Y="2425" Height="68" Width="162" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalKeyboardReader" ZOrder="198" X="949" Y="2537" Height="68" Width="203" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalReader" ZOrder="197" X="961" Y="2655" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:CatalogueData" ZOrder="134" X="1526" Y="1279" Height="239" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
+    <Shape ID="DesignTable:LogicalOutput" ZOrder="162" X="957" Y="999" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:LogicalSounder" ZOrder="193" X="975" Y="381" Height="68" Width="155" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalEmail" ZOrder="188" X="961" Y="-9" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalSMS" ZOrder="161" X="974" Y="1620" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:Partition" ZOrder="8" X="30" Y="-338" Height="676" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="22" SplitterPosition="672" />
+    <Shape ID="DesignTable:Expression" ZOrder="148" X="1715" Y="2012" Height="125" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:LogicalCamera" ZOrder="189" X="963" Y="90" Height="68" Width="151" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalDoor" ZOrder="191" X="964" Y="262" Height="106" Width="168" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:Port" ZOrder="142" X="1525" Y="1535" Height="277" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
+    <Shape ID="DesignTable:MultiplePersonAccess" ZOrder="219" X="-129" Y="738" Height="87" Width="192" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:FailAttempt" ZOrder="270" X="-120" Y="891" Height="164" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="160" />
+    <Shape ID="DesignTable:Action_Command" ZOrder="145" X="1453" Y="2345" Height="87" Width="168" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:Object" ZOrder="134" X="1289" Y="772" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:Building" ZOrder="135" X="1287" Y="932" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:Floor" ZOrder="136" X="1472" Y="931" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
+    <Shape ID="DesignTable:Room" ZOrder="137" X="1690" Y="929" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
+    <Shape ID="DesignTable:VirtualDevice" ZOrder="93" X="-140" Y="1357" Height="219" Width="151" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
+    <Shape ID="DesignTable:LogicalDevice" ZOrder="271" X="1294" Y="1275" Height="219" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
+    <Shape ID="DesignTable:UID" ZOrder="248" X="1276" Y="361" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:HardwareDevice" ZOrder="143" X="1951" Y="1213" Height="505" Width="169" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="501" />
+    <Shape ID="DesignTable:VirtualHardwiredPIR" ZOrder="60" X="664" Y="710" Height="258" Width="186" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
+    <Shape ID="DesignTable:VirtualHardwiredDoor" ZOrder="86" X="664" Y="1172" Height="277" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
+    <Shape ID="DesignTable:VirtualSounder" ZOrder="194" X="663" Y="340" Height="106" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualEmail" ZOrder="163" X="664" Y="-25" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualCamera" ZOrder="92" X="665" Y="83" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualSMS" ZOrder="197" X="665" Y="1627" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualReader" ZOrder="151" X="676" Y="2667" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualKeyboard" ZOrder="155" X="674" Y="2412" Height="106" Width="160" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualKeyboardReader" ZOrder="204" X="675" Y="2541" Height="106" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualKeySwitch" ZOrder="172" X="435" Y="806" Height="106" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualRelay" ZOrder="85" X="430" Y="1415" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualWindow" ZOrder="171" X="412" Y="621" Height="106" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:LogicalPeripheral" ZOrder="257" X="970" Y="1702" Height="86" Width="166" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
+    <Shape ID="DesignTable:LogicalSmokeDetector" ZOrder="159" X="976" Y="1800" Height="68" Width="167" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalTemperature" ZOrder="153" X="977" Y="1887" Height="68" Width="166" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:VirtualPeripheral" ZOrder="233" X="366" Y="1604" Height="903" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="918" />
+    <Shape ID="DesignTable:VirtualSmokeDetector" ZOrder="230" X="664" Y="1743" Height="163" Width="191" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
+    <Shape ID="DesignTable:VirtualTemperature" ZOrder="198" X="669" Y="1926" Height="106" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:LogicalKeyboard" ZOrder="200" X="954" Y="2425" Height="68" Width="162" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalKeyboardReader" ZOrder="202" X="949" Y="2537" Height="68" Width="203" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalReader" ZOrder="201" X="961" Y="2655" Height="68" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:CatalogueData" ZOrder="138" X="1526" Y="1279" Height="239" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
     <Shape ID="DesignTable:WirelessMaster" ZOrder="407" X="1702" Y="1484" Height="87" Width="154" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:LogicalInstallService" ZOrder="148" X="974" Y="1983" Height="68" Width="172" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalSmartUI" ZOrder="323" X="958" Y="3040" Height="68" Width="154" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalAccessPoint" ZOrder="188" X="952" Y="487" Height="125" Width="176" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:APQuickMacro" ZOrder="216" X="-111" Y="638" Height="87" Width="152" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:APMacro" ZOrder="214" X="80" Y="630" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:AccessPoint_User" ZOrder="124" X="-428" Y="1603" Height="87" Width="166" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:ExternalSounderStyle" ZOrder="48" X="-1018" Y="63" Height="239" Width="241" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
-    <Shape ID="DesignTable:SignalingGroup" ZOrder="72" X="-947" Y="1272" Height="125" Width="156" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:Partition_SignalingGroup" ZOrder="33" X="-794" Y="-249" Height="87" Width="212" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:SignalingGroup_Sounder" ZOrder="87" X="-715" Y="1250" Height="87" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="74" SplitterPosition="83" />
-    <Shape ID="DesignTable:SignalingGroup_Flasher" ZOrder="357" X="-711" Y="1150" Height="87" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:APTurnstile" ZOrder="223" X="62" Y="902" Height="144" Width="169" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
-    <Shape ID="DesignTable:HWIBusBusController" ZOrder="336" X="2232" Y="464" Height="106" Width="192" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:HWIBusBus2Module" ZOrder="334" X="2236" Y="682" Height="48" Width="185" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
-    <Shape ID="DesignTable:HWSerialBusController" ZOrder="332" X="2230" Y="936" Height="125" Width="199" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:HWBus216DGDisablingDisplayModule" ZOrder="268" X="2501" Y="73" Height="48" Width="289" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:HWBus210DGDisablingUnit" ZOrder="342" X="2526" Y="-6" Height="48" Width="227" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
-    <Shape ID="DesignTable:HWBus2DuoModule" ZOrder="345" X="2532" Y="365" Height="143" Width="184" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
-    <Shape ID="DesignTable:HWBus2MiniModule" ZOrder="349" X="2553" Y="1763" Height="49" Width="186" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
+    <Shape ID="DesignTable:LogicalInstallService" ZOrder="152" X="974" Y="1983" Height="68" Width="172" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalSmartUI" ZOrder="327" X="958" Y="3040" Height="68" Width="154" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalAccessPoint" ZOrder="192" X="952" Y="487" Height="125" Width="176" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:APQuickMacro" ZOrder="220" X="-111" Y="638" Height="87" Width="152" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:APMacro" ZOrder="218" X="80" Y="630" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:AccessPoint_User" ZOrder="128" X="-428" Y="1603" Height="87" Width="166" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:ExternalSounderStyle" ZOrder="52" X="-1018" Y="63" Height="239" Width="241" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
+    <Shape ID="DesignTable:SignalingGroup" ZOrder="76" X="-947" Y="1272" Height="125" Width="156" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:Partition_SignalingGroup" ZOrder="37" X="-794" Y="-249" Height="87" Width="212" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:SignalingGroup_Sounder" ZOrder="91" X="-715" Y="1250" Height="87" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="74" SplitterPosition="83" />
+    <Shape ID="DesignTable:SignalingGroup_Flasher" ZOrder="358" X="-711" Y="1150" Height="87" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:APTurnstile" ZOrder="227" X="62" Y="902" Height="144" Width="169" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
+    <Shape ID="DesignTable:HWIBusBusController" ZOrder="3" X="2232" Y="464" Height="106" Width="192" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:HWIBusBus2Module" ZOrder="338" X="2236" Y="682" Height="48" Width="185" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
+    <Shape ID="DesignTable:HWSerialBusController" ZOrder="336" X="2230" Y="936" Height="125" Width="199" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:HWBus216DGDisablingDisplayModule" ZOrder="272" X="2501" Y="73" Height="48" Width="289" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:HWBus210DGDisablingUnit" ZOrder="345" X="2526" Y="-6" Height="48" Width="227" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
+    <Shape ID="DesignTable:HWBus2DuoModule" ZOrder="348" X="2532" Y="365" Height="143" Width="184" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
+    <Shape ID="DesignTable:HWBus2MiniModule" ZOrder="351" X="2553" Y="1763" Height="49" Width="186" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
     <Shape ID="DesignTable:HWBus25InputModule" ZOrder="423" X="2538" Y="975" Height="68" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:HWBus25OutputModule" ZOrder="254" X="2540" Y="1055" Height="68" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:HWBus2SCM3000" ZOrder="356" X="2546" Y="1848" Height="163" Width="170" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
-    <Shape ID="DesignTable:HWBus2ViewGuardPIR" ZOrder="272" X="2500" Y="2224" Height="257" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
+    <Shape ID="DesignTable:HWBus25OutputModule" ZOrder="258" X="2540" Y="1055" Height="68" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:HWBus2SCM3000" ZOrder="357" X="2546" Y="1848" Height="163" Width="170" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
+    <Shape ID="DesignTable:HWBus2ViewGuardPIR" ZOrder="276" X="2500" Y="2224" Height="257" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
     <Shape ID="DesignTable:HWBus2SmokeDetector" ZOrder="422" X="2538" Y="892" Height="68" Width="205" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:HWBus2Identloc" ZOrder="350" X="2560" Y="1676" Height="48" Width="163" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
-    <Shape ID="DesignTable:HWBus2DoorControllerModule" ZOrder="348" X="2531" Y="803" Height="67" Width="248" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
-    <Shape ID="DesignTable:HWBus2DoorGuard" ZOrder="346" X="2529" Y="542" Height="238" Width="259" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="234" />
-    <Shape ID="DesignTable:HWBus2Identkey2" ZOrder="256" X="2538" Y="1136" Height="67" Width="173" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
-    <Shape ID="DesignTable:HWBus2Identkey3" ZOrder="351" X="2554" Y="1518" Height="143" Width="173" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
+    <Shape ID="DesignTable:HWBus2Identloc" ZOrder="352" X="2560" Y="1676" Height="48" Width="163" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
+    <Shape ID="DesignTable:HWBus2DoorControllerModule" ZOrder="350" X="2531" Y="803" Height="67" Width="248" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
+    <Shape ID="DesignTable:HWBus2DoorGuard" ZOrder="1" X="2529" Y="542" Height="257" Width="259" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
+    <Shape ID="DesignTable:HWBus2Identkey2" ZOrder="260" X="2538" Y="1136" Height="67" Width="173" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
+    <Shape ID="DesignTable:HWBus2Identkey3" ZOrder="2" X="2554" Y="1518" Height="162" Width="173" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" />
     <Shape ID="DesignTable:HWModulBusReader" ZOrder="460" X="2887" Y="-219" Height="124" Width="187" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
     <Shape ID="DesignTable:HWModulBusKeyboardReader" ZOrder="448" X="2884" Y="-61" Height="124" Width="243" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
-    <Shape ID="DesignTable:HWBus2GraphicsKeypad" ZOrder="344" X="2526" Y="273" Height="48" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
-    <Shape ID="DesignTable:HWBus2WirelessMaster" ZOrder="263" X="2886" Y="275" Height="86" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
-    <Shape ID="DesignTable:HWBus2Wireless4IOModule" ZOrder="330" X="2883" Y="386" Height="86" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
-    <Shape ID="DesignTable:HWBus2WirelessSmokeDetector" ZOrder="329" X="2880" Y="740" Height="106" Width="254" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:HWBus2WirelessViewguard" ZOrder="271" X="2890" Y="75" Height="181" Width="267" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="177" />
-    <Shape ID="DesignTable:HWBus2WirelessPanicButton" ZOrder="331" X="2880" Y="595" Height="112" Width="232" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="108" />
+    <Shape ID="DesignTable:HWBus2GraphicsKeypad" ZOrder="347" X="2526" Y="273" Height="48" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
+    <Shape ID="DesignTable:HWBus2WirelessMaster" ZOrder="267" X="2886" Y="275" Height="86" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
+    <Shape ID="DesignTable:HWBus2Wireless4IOModule" ZOrder="334" X="2883" Y="386" Height="86" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
+    <Shape ID="DesignTable:HWBus2WirelessSmokeDetector" ZOrder="333" X="2880" Y="740" Height="106" Width="254" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:HWBus2WirelessViewguard" ZOrder="275" X="2890" Y="75" Height="181" Width="267" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="177" />
+    <Shape ID="DesignTable:HWBus2WirelessPanicButton" ZOrder="335" X="2880" Y="595" Height="112" Width="232" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="108" />
     <Shape ID="DesignTable:HWBus2SirenModule" ZOrder="459" X="2546" Y="2042" Height="144" Width="190" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
-    <Shape ID="DesignTable:HWSerialDS6600" ZOrder="352" X="2904" Y="1395" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
-    <Shape ID="DesignTable:HWSerialDS7700" ZOrder="354" X="2911" Y="1686" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
-    <Shape ID="DesignTable:HWBus264DGDisplayTerminal" ZOrder="343" X="2526" Y="184" Height="61" Width="237" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="57" />
-    <Shape ID="DesignTable:HWIBusEAGrundModule" ZOrder="335" X="2234" Y="588" Height="68" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:HWBus2BusController" ZOrder="333" X="2236" Y="790" Height="125" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:RemoteApplication" ZOrder="246" X="1490" Y="126" Height="220" Width="178" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
-    <Shape ID="DesignTable:Storage" ZOrder="247" X="1702" Y="129" Height="163" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
-    <Shape ID="DesignTable:PartitionMember" ZOrder="43" X="-696" Y="761" Height="372" Width="183" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="368" />
-    <Shape ID="DesignTable:PMCollection" ZOrder="65" X="-682" Y="567" Height="164" Width="151" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="160" />
-    <Shape ID="DesignTable:PMCollectionDependency" ZOrder="325" X="-1008" Y="516" Height="106" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:PMCollectionEntryRoute" ZOrder="324" X="-1006" Y="630" Height="49" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
-    <Shape ID="DesignTable:PMCollectionExitRoute" ZOrder="66" X="-1006" Y="726" Height="49" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
-    <Shape ID="DesignTable:PMCollection_PartitionMember" ZOrder="68" X="-1009" Y="790" Height="106" Width="248" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:Trigger_PartitionReadySetState" ZOrder="12" X="2200" Y="2240" Height="87" Width="190" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:Trigger_PartitionSetState" ZOrder="11" X="2202" Y="2340" Height="68" Width="212" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:HWSerialDS6600" ZOrder="353" X="2904" Y="1395" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
+    <Shape ID="DesignTable:HWSerialDS7700" ZOrder="355" X="2911" Y="1686" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
+    <Shape ID="DesignTable:HWBus264DGDisplayTerminal" ZOrder="346" X="2526" Y="184" Height="61" Width="237" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="57" />
+    <Shape ID="DesignTable:HWIBusEAGrundModule" ZOrder="339" X="2234" Y="588" Height="68" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:HWBus2BusController" ZOrder="337" X="2236" Y="790" Height="125" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:RemoteApplication" ZOrder="250" X="1490" Y="126" Height="220" Width="178" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
+    <Shape ID="DesignTable:Storage" ZOrder="251" X="1702" Y="129" Height="163" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
+    <Shape ID="DesignTable:PartitionMember" ZOrder="47" X="-696" Y="761" Height="372" Width="183" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="368" />
+    <Shape ID="DesignTable:PMCollection" ZOrder="69" X="-682" Y="567" Height="164" Width="151" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="160" />
+    <Shape ID="DesignTable:PMCollectionDependency" ZOrder="329" X="-1008" Y="516" Height="106" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:PMCollectionEntryRoute" ZOrder="328" X="-1006" Y="630" Height="49" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
+    <Shape ID="DesignTable:PMCollectionExitRoute" ZOrder="70" X="-1006" Y="726" Height="49" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
+    <Shape ID="DesignTable:PMCollection_PartitionMember" ZOrder="72" X="-1009" Y="790" Height="106" Width="248" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:Trigger_PartitionReadySetState" ZOrder="16" X="2200" Y="2240" Height="87" Width="190" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:Trigger_PartitionSetState" ZOrder="15" X="2202" Y="2340" Height="68" Width="212" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
     <Shape ID="DesignTable:Command_PartitionSetState" ZOrder="418" X="1486" Y="2554" Height="68" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:Command_PartitionClearAlarmType" ZOrder="286" X="1487" Y="2463" Height="68" Width="274" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:Command_PartitionMemberOmit" ZOrder="279" X="1487" Y="2647" Height="68" Width="259" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:Command_OutputPulseOn" ZOrder="252" X="1877" Y="2475" Height="201" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
+    <Shape ID="DesignTable:Command_PartitionClearAlarmType" ZOrder="290" X="1487" Y="2463" Height="68" Width="274" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:Command_PartitionMemberOmit" ZOrder="283" X="1487" Y="2647" Height="68" Width="259" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:Command_OutputPulseOn" ZOrder="256" X="1877" Y="2475" Height="201" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
     <Shape ID="DesignTable:Command_MacroDelay" ZOrder="408" X="1882" Y="2184" Height="68" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:PartitionFaultType" ZOrder="34" X="-507" Y="-249" Height="87" Width="173" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:VirtualPeripheralPartitionMemberFaultType" ZOrder="79" X="-975" Y="2236" Height="257" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
-    <Shape ID="DesignTable:LogicalWirelessPeripheral" ZOrder="311" X="965" Y="2181" Height="68" Width="181" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:LogicalWirelessMaster" ZOrder="152" X="974" Y="2072" Height="68" Width="165" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:PartitionFaultType" ZOrder="38" X="-507" Y="-249" Height="87" Width="173" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:VirtualPeripheralPartitionMemberFaultType" ZOrder="83" X="-975" Y="2236" Height="257" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
+    <Shape ID="DesignTable:LogicalWirelessPeripheral" ZOrder="315" X="965" Y="2181" Height="68" Width="181" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:LogicalWirelessMaster" ZOrder="156" X="974" Y="2072" Height="68" Width="165" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
     <Shape ID="DesignTable:HWBus2WirelessPanicButtonController" ZOrder="380" X="2881" Y="506" Height="49" Width="294" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
-    <Shape ID="DesignTable:UnsetPreventionAlarmType" ZOrder="222" X="-283" Y="-249" Height="87" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:ScheduledItem_APGroup" ZOrder="126" X="-728" Y="1454" Height="182" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
-    <Shape ID="DesignTable:ScheduledItem" ZOrder="78" X="-697" Y="1747" Height="125" Width="152" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:DatePeriod" ZOrder="360" X="-978" Y="2048" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:TimePeriod" ZOrder="212" X="-2" Y="1957" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:UserGroup_TimeSchedule" ZOrder="359" X="-478" Y="1791" Height="87" Width="175" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:TimeSchedule" ZOrder="364" X="-225" Y="1736" Height="239" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
-    <Shape ID="DesignTable:User" ZOrder="211" X="-224" Y="2027" Height="239" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
-    <Shape ID="DesignTable:Holiday" ZOrder="213" X="-18" Y="1724" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:User_UserGroup" ZOrder="274" X="-473" Y="1947" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualFlasher" ZOrder="250" X="448" Y="1059" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:UnsetPreventionAlarmType" ZOrder="226" X="-283" Y="-249" Height="87" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:ScheduledItem_APGroup" ZOrder="130" X="-728" Y="1454" Height="182" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
+    <Shape ID="DesignTable:ScheduledItem" ZOrder="82" X="-697" Y="1747" Height="125" Width="152" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:DatePeriod" ZOrder="361" X="-978" Y="2048" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:TimePeriod" ZOrder="216" X="-2" Y="1957" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:UserGroup_TimeSchedule" ZOrder="360" X="-478" Y="1791" Height="87" Width="175" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:TimeSchedule" ZOrder="365" X="-225" Y="1736" Height="239" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
+    <Shape ID="DesignTable:User" ZOrder="215" X="-224" Y="2027" Height="239" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
+    <Shape ID="DesignTable:Holiday" ZOrder="217" X="-18" Y="1724" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:User_UserGroup" ZOrder="278" X="-473" Y="1947" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualFlasher" ZOrder="254" X="448" Y="1059" Height="87" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
     <Shape ID="DesignTable:VirtualDSDevice" ZOrder="430" X="666" Y="-138" Height="106" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
     <Shape ID="DesignTable:LogicalDSAlarmReporting" ZOrder="429" X="930" Y="-120" Height="68" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:AlarmDevice" ZOrder="40" X="-1015" Y="-152" Height="182" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
-    <Shape ID="DesignTable:AlarmDevice_FaultPartition" ZOrder="225" X="-795" Y="-148" Height="87" Width="224" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:Channel" ZOrder="74" X="-703" Y="-42" Height="200" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
-    <Shape ID="DesignTable:HWSerialDS6700" ZOrder="353" X="2906" Y="1500" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
+    <Shape ID="DesignTable:AlarmDevice" ZOrder="44" X="-1015" Y="-152" Height="182" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
+    <Shape ID="DesignTable:AlarmDevice_FaultPartition" ZOrder="229" X="-795" Y="-148" Height="87" Width="224" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:Channel" ZOrder="78" X="-703" Y="-42" Height="200" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
+    <Shape ID="DesignTable:HWSerialDS6700" ZOrder="354" X="2906" Y="1500" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
     <Shape ID="DesignTable:HWSerialDS6750" ZOrder="379" X="2916" Y="1603" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
-    <Shape ID="DesignTable:HWSerialDS7600" ZOrder="355" X="2914" Y="1769" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
+    <Shape ID="DesignTable:HWSerialDS7600" ZOrder="356" X="2914" Y="1769" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
     <Shape ID="DesignTable:HWSerialDS9500" ZOrder="378" X="2915" Y="1850" Height="48" Width="164" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
-    <Shape ID="DesignTable:Trigger_Simple" ZOrder="14" X="2200" Y="1996" Height="125" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:Trigger_SingleEvent" ZOrder="13" X="2200" Y="2134" Height="87" Width="181" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:VirtualWirelessMaster" ZOrder="195" X="665" Y="2055" Height="106" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:VirtualWirelessPeripheral" ZOrder="228" X="671" Y="2182" Height="125" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:Trigger_Simple" ZOrder="18" X="2200" Y="1996" Height="125" Width="153" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:Trigger_SingleEvent" ZOrder="17" X="2200" Y="2134" Height="87" Width="181" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:VirtualWirelessMaster" ZOrder="199" X="665" Y="2055" Height="106" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:VirtualWirelessPeripheral" ZOrder="232" X="671" Y="2182" Height="125" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
     <Shape ID="DesignTable:LogicalCarbonMonoxide" ZOrder="432" X="943" Y="-252" Height="68" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
     <Shape ID="DesignTable:VirtualCarbonMonoxide" ZOrder="431" X="666" Y="-251" Height="106" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:SounderTemplate" ZOrder="73" X="-1002" Y="324" Height="182" Width="192" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
-    <Shape ID="DesignTable:HWGPIOInput" ZOrder="340" X="2249" Y="-16" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
-    <Shape ID="DesignTable:HWGPIOOutput" ZOrder="341" X="2241" Y="-143" Height="67" Width="159" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
-    <Shape ID="DesignTable:HWSPIInput" ZOrder="338" X="2248" Y="191" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
-    <Shape ID="DesignTable:HWSPIOutput" ZOrder="339" X="2246" Y="89" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
-    <Shape ID="DesignTable:HWAnalogInput" ZOrder="337" X="2245" Y="278" Height="162" Width="160" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" />
-    <Shape ID="DesignTable:UIProxy" ZOrder="243" X="-245" Y="2485" Height="105" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
-    <Shape ID="DesignTable:UITouchCenter" ZOrder="251" X="-3" Y="2217" Height="283" Width="155" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="279" />
-    <Shape ID="DesignTable:UITouchCenter_Partition" ZOrder="327" X="2" Y="2091" Height="106" Width="181" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:GeneralSettings" ZOrder="249" X="1280" Y="119" Height="238" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
-    <Shape ID="DesignTable:PartitionDependency" ZOrder="299" X="280" Y="-342" Height="87" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:StoredFaultTypes" ZOrder="217" X="-273" Y="-112" Height="410" Width="172" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="406" />
-    <Shape ID="DesignTable:Partition_LocalSounder" ZOrder="46" X="-271" Y="307" Height="87" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:VirtualPIR" ZOrder="164" X="315" Y="202" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
-    <Shape ID="DesignTable:VirtualDoor" ZOrder="237" X="425" Y="1159" Height="238" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="234" />
-    <Shape ID="DesignTable:ScheduledItem_Door" ZOrder="125" X="-728" Y="1645" Height="87" Width="186" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:HWBus2ViewGuardDual" ZOrder="75" X="2502" Y="2528" Height="257" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
-    <Shape ID="DesignTable:ConfigInfo" ZOrder="248" X="1281" Y="-55" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
-    <Shape ID="DesignTable:SoundingFaultTypes" ZOrder="63" X="-508" Y="-109" Height="505" Width="184" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="501" />
-    <Shape ID="DesignTable:ScheduledItem_AP" ZOrder="83" X="-729" Y="1344" Height="106" Width="174" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:Signal" ZOrder="287" X="1290" Y="2435" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
-    <Shape ID="DesignTable:VirtualKey" ZOrder="322" X="679" Y="2794" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
-    <Shape ID="DesignTable:LogicalKey" ZOrder="321" X="958" Y="2790" Height="48" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
-    <Shape ID="DesignTable:VirtualLed" ZOrder="320" X="676" Y="2882" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
-    <Shape ID="DesignTable:LogicalLed" ZOrder="319" X="959" Y="2871" Height="48" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
-    <Shape ID="DesignTable:UIKeypad" ZOrder="269" X="-13" Y="2637" Height="257" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
+    <Shape ID="DesignTable:SounderTemplate" ZOrder="77" X="-1002" Y="324" Height="182" Width="192" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
+    <Shape ID="DesignTable:HWGPIOInput" ZOrder="343" X="2249" Y="-16" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
+    <Shape ID="DesignTable:HWGPIOOutput" ZOrder="344" X="2241" Y="-143" Height="67" Width="159" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
+    <Shape ID="DesignTable:HWSPIInput" ZOrder="341" X="2248" Y="191" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
+    <Shape ID="DesignTable:HWSPIOutput" ZOrder="342" X="2246" Y="89" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
+    <Shape ID="DesignTable:HWAnalogInput" ZOrder="340" X="2245" Y="278" Height="162" Width="160" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" />
+    <Shape ID="DesignTable:UIProxy" ZOrder="247" X="-245" Y="2485" Height="105" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
+    <Shape ID="DesignTable:UITouchCenter" ZOrder="255" X="-3" Y="2217" Height="283" Width="155" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="279" />
+    <Shape ID="DesignTable:UITouchCenter_Partition" ZOrder="331" X="2" Y="2091" Height="106" Width="181" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:GeneralSettings" ZOrder="253" X="1280" Y="119" Height="238" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
+    <Shape ID="DesignTable:PartitionDependency" ZOrder="303" X="280" Y="-342" Height="87" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:StoredFaultTypes" ZOrder="221" X="-273" Y="-112" Height="410" Width="172" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="406" />
+    <Shape ID="DesignTable:Partition_LocalSounder" ZOrder="50" X="-271" Y="307" Height="87" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:VirtualPIR" ZOrder="168" X="315" Y="202" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
+    <Shape ID="DesignTable:VirtualDoor" ZOrder="241" X="425" Y="1159" Height="238" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="234" />
+    <Shape ID="DesignTable:ScheduledItem_Door" ZOrder="129" X="-728" Y="1645" Height="87" Width="186" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:HWBus2ViewGuardDual" ZOrder="79" X="2502" Y="2528" Height="257" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
+    <Shape ID="DesignTable:ConfigInfo" ZOrder="252" X="1281" Y="-55" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
+    <Shape ID="DesignTable:SoundingFaultTypes" ZOrder="67" X="-508" Y="-109" Height="505" Width="184" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="501" />
+    <Shape ID="DesignTable:ScheduledItem_AP" ZOrder="87" X="-729" Y="1344" Height="106" Width="174" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:Signal" ZOrder="291" X="1290" Y="2435" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
+    <Shape ID="DesignTable:VirtualKey" ZOrder="326" X="679" Y="2794" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
+    <Shape ID="DesignTable:LogicalKey" ZOrder="325" X="958" Y="2790" Height="48" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
+    <Shape ID="DesignTable:VirtualLed" ZOrder="324" X="676" Y="2882" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
+    <Shape ID="DesignTable:LogicalLed" ZOrder="323" X="959" Y="2871" Height="48" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="44" />
+    <Shape ID="DesignTable:UIKeypad" ZOrder="273" X="-13" Y="2637" Height="257" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
     <Shape ID="DesignTable:UIKeypadItem" ZOrder="392" X="-247" Y="2637" Height="276" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="272" />
-    <Shape ID="DesignTable:LogicalDisplay" ZOrder="318" X="961" Y="2943" Height="49" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
-    <Shape ID="DesignTable:ScheduledItem_UIProxy" ZOrder="358" X="-970" Y="1788" Height="86" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
-    <Shape ID="DesignTable:HWBus2KeypadLED" ZOrder="308" X="2538" Y="-352" Height="143" Width="181" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
-    <Shape ID="DesignTable:HWBus2KeypadLCD" ZOrder="307" X="2531" Y="-208" Height="200" Width="182" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="196" />
-    <Shape ID="DesignTable:UserGroup" ZOrder="77" X="-1361" Y="1213" Height="960" Width="237" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="956" />
-    <Shape ID="DesignTable:ScheduledItem_Partition" ZOrder="362" X="-971" Y="1649" Height="86" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
-    <Shape ID="DesignTable:UserGroup_ScheduledItem" ZOrder="328" X="-978" Y="1895" Height="124" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
-    <Shape ID="DesignTable:VirtualWirelessPanicButton" ZOrder="314" X="667" Y="2321" Height="67" Width="224" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
-    <Shape ID="DesignTable:LogicalWirelessPanicButton" ZOrder="313" X="954" Y="2327" Height="67" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
-    <Shape ID="DesignTable:HWBus2ViewGuardPIRMask" ZOrder="236" X="2806" Y="2222" Height="231" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="227" />
-    <Shape ID="DesignTable:HWBus2ViewGuardDualMask" ZOrder="281" X="2806" Y="2526" Height="277" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
-    <Shape ID="DesignTable:Trigger_UIKey" ZOrder="10" X="2203" Y="2419" Height="68" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:Command_Sounder" ZOrder="140" X="1883" Y="2287" Height="87" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
-    <Shape ID="DesignTable:Trigger_Timer" ZOrder="38" X="2204" Y="2500" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
-    <Shape ID="DesignTable:HWBus2SounderFlasherModule" ZOrder="262" X="2174" Y="1704" Height="258" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
-    <Shape ID="DesignTable:HWBus22RelaisInputModule" ZOrder="261" X="2177" Y="1512" Height="143" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
-    <Shape ID="DesignTable:HWBus2PowerSupplyUnit" ZOrder="258" X="2884" Y="878" Height="143" Width="217" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
-    <Shape ID="DesignTable:Trigger_Macro" ZOrder="9" X="2205" Y="2699" Height="68" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:Trigger_PartitionMemberOmit" ZOrder="37" X="2205" Y="2615" Height="67" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
-    <Shape ID="DesignTable:LicenseUsage" ZOrder="76" X="-514" Y="2551" Height="181" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="177" />
-    <Shape ID="DesignTable:ContactID" ZOrder="45" X="-703" Y="180" Height="124" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
-    <Shape ID="DesignTable:ContactIDEvent" ZOrder="44" X="-707" Y="319" Height="143" Width="156" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
-    <Shape ID="DesignTable:Trigger_Counter" ZOrder="8" X="2206" Y="2781" Height="105" Width="160" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
-    <Shape ID="DesignTable:Trigger_User" ZOrder="36" X="2207" Y="2895" Height="105" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
-    <Shape ID="DesignTable:Command_ISOMEvent" ZOrder="35" X="1879" Y="2703" Height="68" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
-    <Shape ID="DesignTable:Trigger_PartitionAlarm" ZOrder="7" X="2207" Y="3017" Height="124" Width="199" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
-    <Shape ID="DesignTable:DatapointNumbers" ZOrder="3" X="1908" Y="130" Height="124" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
+    <Shape ID="DesignTable:LogicalDisplay" ZOrder="322" X="961" Y="2943" Height="49" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="45" />
+    <Shape ID="DesignTable:ScheduledItem_UIProxy" ZOrder="359" X="-970" Y="1788" Height="86" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
+    <Shape ID="DesignTable:HWBus2KeypadLED" ZOrder="312" X="2538" Y="-352" Height="143" Width="181" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
+    <Shape ID="DesignTable:HWBus2KeypadLCD" ZOrder="311" X="2531" Y="-208" Height="200" Width="182" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="196" />
+    <Shape ID="DesignTable:UserGroup" ZOrder="81" X="-1361" Y="1213" Height="960" Width="237" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="956" />
+    <Shape ID="DesignTable:ScheduledItem_Partition" ZOrder="363" X="-971" Y="1649" Height="86" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
+    <Shape ID="DesignTable:UserGroup_ScheduledItem" ZOrder="332" X="-978" Y="1895" Height="124" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
+    <Shape ID="DesignTable:VirtualWirelessPanicButton" ZOrder="318" X="667" Y="2321" Height="67" Width="224" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
+    <Shape ID="DesignTable:LogicalWirelessPanicButton" ZOrder="317" X="954" Y="2327" Height="67" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
+    <Shape ID="DesignTable:HWBus2ViewGuardPIRMask" ZOrder="240" X="2806" Y="2222" Height="231" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="227" />
+    <Shape ID="DesignTable:HWBus2ViewGuardDualMask" ZOrder="285" X="2806" Y="2526" Height="277" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
+    <Shape ID="DesignTable:Trigger_UIKey" ZOrder="14" X="2203" Y="2419" Height="68" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:Command_Sounder" ZOrder="144" X="1883" Y="2287" Height="87" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
+    <Shape ID="DesignTable:Trigger_Timer" ZOrder="42" X="2204" Y="2500" Height="106" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
+    <Shape ID="DesignTable:HWBus2SounderFlasherModule" ZOrder="266" X="2174" Y="1704" Height="258" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
+    <Shape ID="DesignTable:HWBus22RelaisInputModule" ZOrder="265" X="2177" Y="1512" Height="143" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
+    <Shape ID="DesignTable:HWBus2PowerSupplyUnit" ZOrder="262" X="2884" Y="878" Height="143" Width="217" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
+    <Shape ID="DesignTable:Trigger_Macro" ZOrder="13" X="2205" Y="2699" Height="68" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:Trigger_PartitionMemberOmit" ZOrder="41" X="2205" Y="2615" Height="67" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
+    <Shape ID="DesignTable:LicenseUsage" ZOrder="80" X="-514" Y="2551" Height="181" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="177" />
+    <Shape ID="DesignTable:ContactID" ZOrder="49" X="-703" Y="180" Height="124" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
+    <Shape ID="DesignTable:ContactIDEvent" ZOrder="48" X="-707" Y="319" Height="143" Width="156" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
+    <Shape ID="DesignTable:Trigger_Counter" ZOrder="12" X="2206" Y="2781" Height="105" Width="160" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
+    <Shape ID="DesignTable:Trigger_User" ZOrder="40" X="2207" Y="2895" Height="105" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
+    <Shape ID="DesignTable:Command_ISOMEvent" ZOrder="39" X="1879" Y="2703" Height="68" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
+    <Shape ID="DesignTable:Trigger_PartitionAlarm" ZOrder="11" X="2207" Y="3017" Height="124" Width="199" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
+    <Shape ID="DesignTable:DatapointNumbers" ZOrder="7" X="1908" Y="130" Height="124" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
   </Shapes>
   <Connectors>
-    <Connector ID="DesignRelation:PartitionMember_DetectorGroup" ZOrder="315" LineWidth="11">
+    <Connector ID="DesignRelation:FK_SounderTemplate_DetectorGroup" ZOrder="66" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-696</X>
-          <Y>1000</Y>
-        </Point>
-        <Point>
-          <X>-823</X>
-          <Y>1000</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
-    <Connector ID="DesignRelation:FK_SounderTemplate_DetectorGroup" ZOrder="62" LineWidth="11">
-      <RoutePoints>
-        <Point>
           <X>-1002</X>
           <Y>324</Y>
         </Point>
@@ -241,19 +229,19 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualPIR_VirtualBusPIR" ZOrder="106" LineWidth="11">
+    <Connector ID="DesignRelation:PartitionMember_DetectorGroup" ZOrder="319" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>465</X>
-          <Y>229</Y>
+          <X>-696</X>
+          <Y>1000</Y>
         </Point>
         <Point>
-          <X>663</X>
-          <Y>229</Y>
+          <X>-823</X>
+          <Y>1000</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalPIR_VirtualBusPIR" ZOrder="107" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalPIR_VirtualBusPIR" ZOrder="111" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>959</X>
@@ -273,27 +261,19 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualInput" ZOrder="410" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualPIR_VirtualBusPIR" ZOrder="110" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>11</X>
-          <Y>1375</Y>
+          <X>465</X>
+          <Y>229</Y>
         </Point>
         <Point>
-          <X>252</X>
-          <Y>1375</Y>
+          <X>663</X>
+          <Y>229</Y>
         </Point>
-        <Point>
-          <X>252</X>
-          <Y>519</Y>
-        </Point>
-        <Point>
-          <X>656</X>
-          <Y>519</Y>
-        </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualInput" ZOrder="161" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualInput" ZOrder="165" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>956</X>
@@ -313,31 +293,35 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Signal_VirtualOutput" ZOrder="273" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualInput" ZOrder="410" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>1290</X>
-          <Y>2435</Y>
+          <X>11</X>
+          <Y>1375</Y>
         </Point>
         <Point>
-          <X>1262</X>
-          <Y>2435</Y>
+          <X>252</X>
+          <Y>1375</Y>
         </Point>
         <Point>
-          <X>1262</X>
-          <Y>1462</Y>
+          <X>252</X>
+          <Y>519</Y>
         </Point>
         <Point>
-          <X>1044</X>
-          <Y>1462</Y>
+          <X>656</X>
+          <Y>519</Y>
         </Point>
+      </RoutePoints>
+    </Connector>
+    <Connector ID="DesignRelation:LogicalOutput_VirtualOutput" ZOrder="108" LineWidth="11">
+      <RoutePoints>
         <Point>
-          <X>1044</X>
-          <Y>1162</Y>
+          <X>957</X>
+          <Y>1050</Y>
         </Point>
         <Point>
           <X>812</X>
-          <Y>1162</Y>
+          <Y>1050</Y>
         </Point>
       </RoutePoints>
     </Connector>
@@ -361,19 +345,35 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualOutput" ZOrder="104" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Signal_VirtualOutput" ZOrder="277" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>957</X>
-          <Y>1050</Y>
+          <X>1290</X>
+          <Y>2435</Y>
         </Point>
         <Point>
+          <X>1262</X>
+          <Y>2435</Y>
+        </Point>
+        <Point>
+          <X>1262</X>
+          <Y>1462</Y>
+        </Point>
+        <Point>
+          <X>1044</X>
+          <Y>1462</Y>
+        </Point>
+        <Point>
+          <X>1044</X>
+          <Y>1162</Y>
+        </Point>
+        <Point>
           <X>812</X>
-          <Y>1050</Y>
+          <Y>1162</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualUserInterface" ZOrder="96" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualUserInterface" ZOrder="100" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -393,7 +393,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_LogicalAccessPoint_AccessPoint" ZOrder="192" LineWidth="11">
+    <Connector ID="DesignRelation:FK_LogicalAccessPoint_AccessPoint" ZOrder="196" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>952</X>
@@ -413,29 +413,9 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDoor_VirtualBusDoor" ZOrder="298" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalDoor_VirtualBusDoor" ZOrder="174" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>575</X>
-          <Y>1195</Y>
-        </Point>
-        <Point>
-          <X>621</X>
-          <Y>1195</Y>
-        </Point>
-        <Point>
-          <X>621</X>
-          <Y>1488</Y>
-        </Point>
-        <Point>
-          <X>662</X>
-          <Y>1488</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
-    <Connector ID="DesignRelation:LogicalDoor_VirtualBusDoor" ZOrder="170" LineWidth="11">
-      <RoutePoints>
-        <Point>
           <X>964</X>
           <Y>262</Y>
         </Point>
@@ -453,31 +433,43 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:ActionOn_Macro" ZOrder="419" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDoor_VirtualBusDoor" ZOrder="302" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>1355</X>
-          <Y>2212</Y>
+          <X>575</X>
+          <Y>1195</Y>
         </Point>
         <Point>
-          <X>1291</X>
-          <Y>2212</Y>
+          <X>621</X>
+          <Y>1195</Y>
         </Point>
         <Point>
-          <X>1291</X>
-          <Y>2098</Y>
+          <X>621</X>
+          <Y>1488</Y>
         </Point>
         <Point>
-          <X>1459</X>
-          <Y>2098</Y>
+          <X>662</X>
+          <Y>1488</Y>
         </Point>
+      </RoutePoints>
+    </Connector>
+    <Connector ID="DesignRelation:Condition_Macro" ZOrder="425" LineWidth="11">
+      <RoutePoints>
         <Point>
-          <X>1459</X>
-          <Y>1979</Y>
+          <X>1495</X>
+          <Y>2024</Y>
         </Point>
         <Point>
+          <X>1473</X>
+          <Y>2024</Y>
+        </Point>
+        <Point>
+          <X>1473</X>
+          <Y>1883</Y>
+        </Point>
+        <Point>
           <X>1424</X>
-          <Y>1979</Y>
+          <Y>1883</Y>
         </Point>
       </RoutePoints>
     </Connector>
@@ -509,23 +501,31 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Condition_Macro" ZOrder="425" LineWidth="11">
+    <Connector ID="DesignRelation:ActionOn_Macro" ZOrder="419" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>1495</X>
-          <Y>2024</Y>
+          <X>1355</X>
+          <Y>2212</Y>
         </Point>
         <Point>
-          <X>1473</X>
-          <Y>2024</Y>
+          <X>1291</X>
+          <Y>2212</Y>
         </Point>
         <Point>
-          <X>1473</X>
-          <Y>1883</Y>
+          <X>1291</X>
+          <Y>2098</Y>
         </Point>
         <Point>
+          <X>1459</X>
+          <Y>2098</Y>
+        </Point>
+        <Point>
+          <X>1459</X>
+          <Y>1979</Y>
+        </Point>
+        <Point>
           <X>1424</X>
-          <Y>1883</Y>
+          <Y>1979</Y>
         </Point>
       </RoutePoints>
     </Connector>
@@ -589,7 +589,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalDevice_LogicalSounder" ZOrder="275" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalDevice_LogicalSounder" ZOrder="279" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1294</X>
@@ -649,7 +649,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Trigger_Expression" ZOrder="264" LineWidth="11">
+    <Connector ID="DesignRelation:Trigger_Expression" ZOrder="268" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1955</X>
@@ -709,7 +709,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_HardwareDevice_Port" ZOrder="137" LineWidth="11">
+    <Connector ID="DesignRelation:FK_HardwareDevice_Port" ZOrder="141" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1951</X>
@@ -729,7 +729,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:AccessPoint_MultiplePersonAccess" ZOrder="291" LineWidth="11">
+    <Connector ID="DesignRelation:AccessPoint_MultiplePersonAccess" ZOrder="295" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-211</X>
@@ -749,7 +749,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:AccessPoint_FaultTries" ZOrder="290" LineWidth="11">
+    <Connector ID="DesignRelation:AccessPoint_FaultTries" ZOrder="294" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-211</X>
@@ -769,29 +769,9 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:ActionList_ActionList_Command" ZOrder="305" LineWidth="11">
+    <Connector ID="DesignRelation:Command_ActionList_Command" ZOrder="310" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>1355</X>
-          <Y>2229</Y>
-        </Point>
-        <Point>
-          <X>1319</X>
-          <Y>2229</Y>
-        </Point>
-        <Point>
-          <X>1319</X>
-          <Y>2402</Y>
-        </Point>
-        <Point>
-          <X>1453</X>
-          <Y>2402</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
-    <Connector ID="DesignRelation:Command_ActionList_Command" ZOrder="306" LineWidth="11">
-      <RoutePoints>
-        <Point>
           <X>1603</X>
           <Y>2210</Y>
         </Point>
@@ -817,9 +797,29 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Object_Building" ZOrder="301" LineWidth="11">
+    <Connector ID="DesignRelation:ActionList_ActionList_Command" ZOrder="309" LineWidth="11">
       <RoutePoints>
         <Point>
+          <X>1355</X>
+          <Y>2229</Y>
+        </Point>
+        <Point>
+          <X>1319</X>
+          <Y>2229</Y>
+        </Point>
+        <Point>
+          <X>1319</X>
+          <Y>2402</Y>
+        </Point>
+        <Point>
+          <X>1453</X>
+          <Y>2402</Y>
+        </Point>
+      </RoutePoints>
+    </Connector>
+    <Connector ID="DesignRelation:Object_Building" ZOrder="305" LineWidth="11">
+      <RoutePoints>
+        <Point>
           <X>1289</X>
           <Y>805</Y>
         </Point>
@@ -877,29 +877,9 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:PartitionMember_VirtualDevice" ZOrder="240" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalDevice_VirtualDevice" ZOrder="84" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-513</X>
-          <Y>933</Y>
-        </Point>
-        <Point>
-          <X>-441</X>
-          <Y>933</Y>
-        </Point>
-        <Point>
-          <X>-441</X>
-          <Y>1408</Y>
-        </Point>
-        <Point>
-          <X>-140</X>
-          <Y>1408</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
-    <Connector ID="DesignRelation:LogicalDevice_VirtualDevice" ZOrder="80" LineWidth="11">
-      <RoutePoints>
-        <Point>
           <X>1294</X>
           <Y>1494</Y>
         </Point>
@@ -921,47 +901,47 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:HardwareDevice_LogicalDevice" ZOrder="304" LineWidth="11">
+    <Connector ID="DesignRelation:PartitionMember_VirtualDevice" ZOrder="244" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>1951</X>
-          <Y>1247</Y>
+          <X>-513</X>
+          <Y>933</Y>
         </Point>
         <Point>
-          <X>1472</X>
-          <Y>1247</Y>
+          <X>-441</X>
+          <Y>933</Y>
         </Point>
         <Point>
-          <X>1472</X>
-          <Y>1322</Y>
+          <X>-441</X>
+          <Y>1408</Y>
         </Point>
         <Point>
-          <X>1444</X>
-          <Y>1322</Y>
+          <X>-140</X>
+          <Y>1408</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:CatalogueData_HardwareDevice" ZOrder="303" LineWidth="11">
+    <Connector ID="DesignRelation:HardwareDevice_LogicalDevice" ZOrder="308" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>1676</X>
-          <Y>1331</Y>
+          <X>1951</X>
+          <Y>1247</Y>
         </Point>
         <Point>
-          <X>1730</X>
-          <Y>1331</Y>
+          <X>1472</X>
+          <Y>1247</Y>
         </Point>
         <Point>
-          <X>1730</X>
-          <Y>1281</Y>
+          <X>1472</X>
+          <Y>1322</Y>
         </Point>
         <Point>
-          <X>1951</X>
-          <Y>1281</Y>
+          <X>1444</X>
+          <Y>1322</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:HardwareDevice_HardwareDevice" ZOrder="280" LineWidth="11">
+    <Connector ID="DesignRelation:HardwareDevice_HardwareDevice" ZOrder="284" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1951</X>
@@ -981,59 +961,59 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualPIR_VirtualHardwiredPIR" ZOrder="55" LineWidth="11">
+    <Connector ID="DesignRelation:CatalogueData_HardwareDevice" ZOrder="307" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>465</X>
-          <Y>240</Y>
+          <X>1676</X>
+          <Y>1331</Y>
         </Point>
         <Point>
-          <X>609</X>
-          <Y>240</Y>
+          <X>1730</X>
+          <Y>1331</Y>
         </Point>
         <Point>
-          <X>609</X>
-          <Y>718</Y>
+          <X>1730</X>
+          <Y>1281</Y>
         </Point>
         <Point>
-          <X>664</X>
-          <Y>718</Y>
+          <X>1951</X>
+          <Y>1281</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredPIR2" ZOrder="182" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualWiredPIR" ZOrder="182" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>998</X>
-          <Y>999</Y>
+          <X>986</X>
+          <Y>765</Y>
         </Point>
         <Point>
-          <X>998</X>
-          <Y>897</Y>
+          <X>986</X>
+          <Y>820</Y>
         </Point>
         <Point>
           <X>850</X>
-          <Y>897</Y>
+          <Y>820</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredPIR1" ZOrder="181" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualWiredPIR1" ZOrder="183" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>1009</X>
-          <Y>999</Y>
+          <X>1002</X>
+          <Y>765</Y>
         </Point>
         <Point>
-          <X>1009</X>
-          <Y>878</Y>
+          <X>1002</X>
+          <Y>840</Y>
         </Point>
         <Point>
           <X>850</X>
-          <Y>878</Y>
+          <Y>840</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWiredPIR2" ZOrder="180" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualWiredPIR2" ZOrder="184" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1015</X>
@@ -1049,103 +1029,127 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWiredPIR1" ZOrder="179" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredPIR1" ZOrder="185" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>1002</X>
-          <Y>765</Y>
+          <X>1009</X>
+          <Y>999</Y>
         </Point>
         <Point>
-          <X>1002</X>
-          <Y>840</Y>
+          <X>1009</X>
+          <Y>878</Y>
         </Point>
         <Point>
           <X>850</X>
-          <Y>840</Y>
+          <Y>878</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWiredPIR" ZOrder="178" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredPIR2" ZOrder="186" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>986</X>
-          <Y>765</Y>
+          <X>998</X>
+          <Y>999</Y>
         </Point>
         <Point>
-          <X>986</X>
-          <Y>820</Y>
+          <X>998</X>
+          <Y>897</Y>
         </Point>
         <Point>
           <X>850</X>
-          <Y>820</Y>
+          <Y>897</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDoor_VirtualHardwiredDoor" ZOrder="297" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualPIR_VirtualHardwiredPIR" ZOrder="59" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>575</X>
-          <Y>1181</Y>
+          <X>465</X>
+          <Y>240</Y>
         </Point>
         <Point>
+          <X>609</X>
+          <Y>240</Y>
+        </Point>
+        <Point>
+          <X>609</X>
+          <Y>718</Y>
+        </Point>
+        <Point>
           <X>664</X>
-          <Y>1181</Y>
+          <Y>718</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWiredDoor2" ZOrder="177" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualWiredDoor" ZOrder="286" LineWidth="11">
       <RoutePoints>
         <Point>
+          <X>11</X>
+          <Y>1376</Y>
+        </Point>
+        <Point>
+          <X>664</X>
+          <Y>1376</Y>
+        </Point>
+      </RoutePoints>
+    </Connector>
+    <Connector ID="DesignRelation:LogicalInput_VirtualWiredDoor1" ZOrder="180" LineWidth="11">
+      <RoutePoints>
+        <Point>
           <X>956</X>
-          <Y>749</Y>
+          <Y>741</Y>
         </Point>
         <Point>
-          <X>887</X>
-          <Y>749</Y>
+          <X>879</X>
+          <Y>741</Y>
         </Point>
         <Point>
-          <X>887</X>
-          <Y>1263</Y>
+          <X>879</X>
+          <Y>1246</Y>
         </Point>
         <Point>
           <X>859</X>
-          <Y>1263</Y>
+          <Y>1246</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor" ZOrder="171" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualWiredDoor" ZOrder="179" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>977</X>
-          <Y>1105</Y>
+          <X>956</X>
+          <Y>729</Y>
         </Point>
         <Point>
-          <X>977</X>
-          <Y>1340</Y>
+          <X>871</X>
+          <Y>729</Y>
         </Point>
         <Point>
+          <X>871</X>
+          <Y>1228</Y>
+        </Point>
+        <Point>
           <X>859</X>
-          <Y>1340</Y>
+          <Y>1228</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor1" ZOrder="172" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor6" ZOrder="178" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>989</X>
+          <X>1012</X>
           <Y>1105</Y>
         </Point>
         <Point>
-          <X>989</X>
-          <Y>1358</Y>
+          <X>1012</X>
+          <Y>1397</Y>
         </Point>
         <Point>
           <X>859</X>
-          <Y>1358</Y>
+          <Y>1397</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor2" ZOrder="173" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor2" ZOrder="177" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1001</X>
@@ -1161,77 +1165,85 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor6" ZOrder="174" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor1" ZOrder="176" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>1012</X>
+          <X>989</X>
           <Y>1105</Y>
         </Point>
         <Point>
-          <X>1012</X>
-          <Y>1397</Y>
+          <X>989</X>
+          <Y>1358</Y>
         </Point>
         <Point>
           <X>859</X>
-          <Y>1397</Y>
+          <Y>1358</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWiredDoor" ZOrder="175" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualWiredDoor" ZOrder="175" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>956</X>
-          <Y>729</Y>
+          <X>977</X>
+          <Y>1105</Y>
         </Point>
         <Point>
-          <X>871</X>
-          <Y>729</Y>
+          <X>977</X>
+          <Y>1340</Y>
         </Point>
         <Point>
-          <X>871</X>
-          <Y>1228</Y>
-        </Point>
-        <Point>
           <X>859</X>
-          <Y>1228</Y>
+          <Y>1340</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWiredDoor1" ZOrder="176" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualWiredDoor2" ZOrder="181" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>956</X>
-          <Y>741</Y>
+          <Y>749</Y>
         </Point>
         <Point>
-          <X>879</X>
-          <Y>741</Y>
+          <X>887</X>
+          <Y>749</Y>
         </Point>
         <Point>
-          <X>879</X>
-          <Y>1246</Y>
+          <X>887</X>
+          <Y>1263</Y>
         </Point>
         <Point>
           <X>859</X>
-          <Y>1246</Y>
+          <Y>1263</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualWiredDoor" ZOrder="282" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDoor_VirtualHardwiredDoor" ZOrder="301" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>11</X>
-          <Y>1376</Y>
+          <X>575</X>
+          <Y>1181</Y>
         </Point>
         <Point>
           <X>664</X>
-          <Y>1376</Y>
+          <Y>1181</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualSounder" ZOrder="91" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalSounder_VirtualSounder" ZOrder="164" LineWidth="11">
       <RoutePoints>
         <Point>
+          <X>975</X>
+          <Y>398</Y>
+        </Point>
+        <Point>
+          <X>816</X>
+          <Y>398</Y>
+        </Point>
+      </RoutePoints>
+    </Connector>
+    <Connector ID="DesignRelation:VirtualDevice_VirtualSounder" ZOrder="95" LineWidth="11">
+      <RoutePoints>
+        <Point>
           <X>11</X>
           <Y>1391</Y>
         </Point>
@@ -1249,16 +1261,24 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalSounder_VirtualSounder" ZOrder="160" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalEmail_VirtualEmail" ZOrder="466" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>975</X>
-          <Y>398</Y>
+          <X>961</X>
+          <Y>-3</Y>
         </Point>
         <Point>
-          <X>816</X>
-          <Y>398</Y>
+          <X>918</X>
+          <Y>-3</Y>
         </Point>
+        <Point>
+          <X>918</X>
+          <Y>12</Y>
+        </Point>
+        <Point>
+          <X>814</X>
+          <Y>12</Y>
+        </Point>
       </RoutePoints>
     </Connector>
     <Connector ID="DesignRelation:VirtualDevice_VirtualEmail" ZOrder="409" LineWidth="11">
@@ -1281,24 +1301,16 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalEmail_VirtualEmail" ZOrder="466" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalCamera_VirtualCamera" ZOrder="465" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>961</X>
-          <Y>-3</Y>
+          <X>963</X>
+          <Y>124</Y>
         </Point>
         <Point>
-          <X>918</X>
-          <Y>-3</Y>
+          <X>815</X>
+          <Y>124</Y>
         </Point>
-        <Point>
-          <X>918</X>
-          <Y>12</Y>
-        </Point>
-        <Point>
-          <X>814</X>
-          <Y>12</Y>
-        </Point>
       </RoutePoints>
     </Connector>
     <Connector ID="DesignRelation:VirtualDevice_VirtualCamera" ZOrder="411" LineWidth="11">
@@ -1321,19 +1333,19 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalCamera_VirtualCamera" ZOrder="465" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalSMS_VirtualSMS" ZOrder="160" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>963</X>
-          <Y>124</Y>
+          <X>974</X>
+          <Y>1681</Y>
         </Point>
         <Point>
           <X>815</X>
-          <Y>124</Y>
+          <Y>1681</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualSMS" ZOrder="101" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualSMS" ZOrder="105" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -1361,19 +1373,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalSMS_VirtualSMS" ZOrder="156" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualUserInterface_VirtualReader" ZOrder="207" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>974</X>
-          <Y>1681</Y>
+          <X>529</X>
+          <Y>2591</Y>
         </Point>
         <Point>
-          <X>815</X>
-          <Y>1681</Y>
+          <X>631</X>
+          <Y>2591</Y>
         </Point>
+        <Point>
+          <X>631</X>
+          <Y>2704</Y>
+        </Point>
+        <Point>
+          <X>676</X>
+          <Y>2704</Y>
+        </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalReader_VirtualReader" ZOrder="285" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalReader_VirtualReader" ZOrder="289" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>961</X>
@@ -1393,27 +1413,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualUserInterface_VirtualReader" ZOrder="203" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualUserInterface_VirtualKeyboard" ZOrder="205" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>529</X>
-          <Y>2591</Y>
+          <Y>2575</Y>
         </Point>
         <Point>
-          <X>631</X>
-          <Y>2591</Y>
+          <X>627</X>
+          <Y>2575</Y>
         </Point>
         <Point>
-          <X>631</X>
-          <Y>2704</Y>
+          <X>627</X>
+          <Y>2451</Y>
         </Point>
         <Point>
-          <X>676</X>
-          <Y>2704</Y>
+          <X>674</X>
+          <Y>2451</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalKeyboard_VirtualKeyboard" ZOrder="276" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalKeyboard_VirtualKeyboard" ZOrder="280" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>954</X>
@@ -1425,27 +1445,19 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualUserInterface_VirtualKeyboard" ZOrder="201" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualUserInterface_VirtualKeyboardReader" ZOrder="206" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>529</X>
-          <Y>2575</Y>
+          <Y>2584</Y>
         </Point>
         <Point>
-          <X>627</X>
-          <Y>2575</Y>
+          <X>675</X>
+          <Y>2584</Y>
         </Point>
-        <Point>
-          <X>627</X>
-          <Y>2451</Y>
-        </Point>
-        <Point>
-          <X>674</X>
-          <Y>2451</Y>
-        </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalKeyboardReader_VirtualKeyboardReader" ZOrder="199" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalKeyboardReader_VirtualKeyboardReader" ZOrder="203" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>949</X>
@@ -1457,19 +1469,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualUserInterface_VirtualKeyboardReader" ZOrder="202" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualKeySwitch" ZOrder="414" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>529</X>
-          <Y>2584</Y>
+          <X>11</X>
+          <Y>1375</Y>
         </Point>
         <Point>
-          <X>675</X>
-          <Y>2584</Y>
+          <X>252</X>
+          <Y>1375</Y>
         </Point>
+        <Point>
+          <X>252</X>
+          <Y>806</Y>
+        </Point>
+        <Point>
+          <X>435</X>
+          <Y>806</Y>
+        </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualKeySwitch" ZOrder="169" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualKeySwitch" ZOrder="173" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>956</X>
@@ -1489,27 +1509,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualKeySwitch" ZOrder="414" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualRelay" ZOrder="417" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>11</X>
-          <Y>1375</Y>
+          <X>957</X>
+          <Y>1032</Y>
         </Point>
         <Point>
-          <X>252</X>
-          <Y>1375</Y>
+          <X>938</X>
+          <Y>1032</Y>
         </Point>
         <Point>
-          <X>252</X>
-          <Y>806</Y>
+          <X>938</X>
+          <Y>1445</Y>
         </Point>
         <Point>
-          <X>435</X>
-          <Y>806</Y>
+          <X>580</X>
+          <Y>1445</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualRelay" ZOrder="92" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualRelay" ZOrder="96" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -1529,23 +1549,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualRelay" ZOrder="417" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalInput_VirtualWindow" ZOrder="169" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>957</X>
-          <Y>1032</Y>
+          <X>956</X>
+          <Y>678</Y>
         </Point>
         <Point>
-          <X>938</X>
-          <Y>1032</Y>
+          <X>565</X>
+          <Y>678</Y>
         </Point>
+      </RoutePoints>
+    </Connector>
+    <Connector ID="DesignRelation:LogicalInput_VirtualWindow1" ZOrder="170" LineWidth="11">
+      <RoutePoints>
         <Point>
-          <X>938</X>
-          <Y>1445</Y>
+          <X>956</X>
+          <Y>700</Y>
         </Point>
         <Point>
-          <X>580</X>
-          <Y>1445</Y>
+          <X>565</X>
+          <Y>700</Y>
         </Point>
       </RoutePoints>
     </Connector>
@@ -1569,30 +1593,6 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWindow1" ZOrder="166" LineWidth="11">
-      <RoutePoints>
-        <Point>
-          <X>956</X>
-          <Y>700</Y>
-        </Point>
-        <Point>
-          <X>565</X>
-          <Y>700</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
-    <Connector ID="DesignRelation:LogicalInput_VirtualWindow" ZOrder="165" LineWidth="11">
-      <RoutePoints>
-        <Point>
-          <X>956</X>
-          <Y>678</Y>
-        </Point>
-        <Point>
-          <X>565</X>
-          <Y>678</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
     <Connector ID="DesignRelation:LogicalDevice_LogicalPeripheral" ZOrder="391" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -1653,6 +1653,26 @@
         </Point>
       </RoutePoints>
     </Connector>
+    <Connector ID="DesignRelation:VirtualDevice_VirtualPeripheral" ZOrder="102" LineWidth="11">
+      <RoutePoints>
+        <Point>
+          <X>11</X>
+          <Y>1392</Y>
+        </Point>
+        <Point>
+          <X>252</X>
+          <Y>1392</Y>
+        </Point>
+        <Point>
+          <X>252</X>
+          <Y>1648</Y>
+        </Point>
+        <Point>
+          <X>366</X>
+          <Y>1648</Y>
+        </Point>
+      </RoutePoints>
+    </Connector>
     <Connector ID="DesignRelation:LogicalPeripheral_VirtualPeripheral" ZOrder="463" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -1665,27 +1685,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualPeripheral" ZOrder="98" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualSmokeDetector" ZOrder="103" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
-          <Y>1392</Y>
+          <Y>1394</Y>
         </Point>
         <Point>
           <X>252</X>
-          <Y>1392</Y>
+          <Y>1394</Y>
         </Point>
         <Point>
           <X>252</X>
-          <Y>1648</Y>
+          <Y>1752</Y>
         </Point>
         <Point>
-          <X>366</X>
-          <Y>1648</Y>
+          <X>664</X>
+          <Y>1752</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalSmokeDetector_VirtualSmokeDetector" ZOrder="154" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalSmokeDetector_VirtualSmokeDetector" ZOrder="158" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>976</X>
@@ -1705,27 +1725,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualSmokeDetector" ZOrder="99" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualTemperature" ZOrder="101" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
-          <Y>1394</Y>
+          <Y>1395</Y>
         </Point>
         <Point>
           <X>252</X>
-          <Y>1394</Y>
+          <Y>1395</Y>
         </Point>
         <Point>
           <X>252</X>
-          <Y>1752</Y>
+          <Y>1926</Y>
         </Point>
         <Point>
-          <X>664</X>
-          <Y>1752</Y>
+          <X>669</X>
+          <Y>1926</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalTemperature_VirtualTemperature" ZOrder="270" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalTemperature_VirtualTemperature" ZOrder="274" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>977</X>
@@ -1745,26 +1765,6 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualTemperature" ZOrder="97" LineWidth="11">
-      <RoutePoints>
-        <Point>
-          <X>11</X>
-          <Y>1395</Y>
-        </Point>
-        <Point>
-          <X>252</X>
-          <Y>1395</Y>
-        </Point>
-        <Point>
-          <X>252</X>
-          <Y>1926</Y>
-        </Point>
-        <Point>
-          <X>669</X>
-          <Y>1926</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
     <Connector ID="DesignRelation:LogicalDevice_LogicalKeyboard" ZOrder="384" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -1825,7 +1825,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_HardwareDevice_WirelessMaster1" ZOrder="135" LineWidth="11">
+    <Connector ID="DesignRelation:FK_HardwareDevice_WirelessMaster" ZOrder="140" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1951</X>
@@ -1832,20 +1832,20 @@
           <Y>1246</Y>
         </Point>
         <Point>
-          <X>1917</X>
+          <X>1927</X>
           <Y>1246</Y>
         </Point>
         <Point>
-          <X>1917</X>
-          <Y>1535</Y>
+          <X>1927</X>
+          <Y>1557</Y>
         </Point>
         <Point>
           <X>1856</X>
-          <Y>1535</Y>
+          <Y>1557</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_HardwareDevice_WirelessMaster" ZOrder="136" LineWidth="11">
+    <Connector ID="DesignRelation:FK_HardwareDevice_WirelessMaster1" ZOrder="139" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1951</X>
@@ -1852,16 +1852,16 @@
           <Y>1246</Y>
         </Point>
         <Point>
-          <X>1927</X>
+          <X>1917</X>
           <Y>1246</Y>
         </Point>
         <Point>
-          <X>1927</X>
-          <Y>1557</Y>
+          <X>1917</X>
+          <Y>1535</Y>
         </Point>
         <Point>
           <X>1856</X>
-          <Y>1557</Y>
+          <Y>1535</Y>
         </Point>
       </RoutePoints>
     </Connector>
@@ -1885,7 +1885,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalDevice_LogicalSmartUI" ZOrder="317" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalDevice_LogicalSmartUI" ZOrder="321" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1294</X>
@@ -1925,7 +1925,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:AccessPoint_APQuickMacro" ZOrder="292" LineWidth="11">
+    <Connector ID="DesignRelation:AccessPoint_APQuickMacro" ZOrder="296" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-211</X>
@@ -1945,7 +1945,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:AccessPoint_APMacro" ZOrder="293" LineWidth="11">
+    <Connector ID="DesignRelation:AccessPoint_APMacro" ZOrder="297" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-211</X>
@@ -1973,29 +1973,9 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_User_AccessPoint_User" ZOrder="122" LineWidth="11">
+    <Connector ID="DesignRelation:FK_AccessPoint_AccessPoint_User" ZOrder="125" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-224</X>
-          <Y>2027</Y>
-        </Point>
-        <Point>
-          <X>-244</X>
-          <Y>2027</Y>
-        </Point>
-        <Point>
-          <X>-244</X>
-          <Y>1681</Y>
-        </Point>
-        <Point>
-          <X>-262</X>
-          <Y>1681</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
-    <Connector ID="DesignRelation:FK_AccessPoint_AccessPoint_User" ZOrder="121" LineWidth="11">
-      <RoutePoints>
-        <Point>
           <X>-395</X>
           <Y>845</Y>
         </Point>
@@ -2021,27 +2001,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle2" ZOrder="52" LineWidth="11">
+    <Connector ID="DesignRelation:FK_User_AccessPoint_User" ZOrder="126" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-810</X>
-          <Y>324</Y>
+          <X>-224</X>
+          <Y>2027</Y>
         </Point>
         <Point>
-          <X>-755</X>
-          <Y>324</Y>
+          <X>-244</X>
+          <Y>2027</Y>
         </Point>
         <Point>
-          <X>-755</X>
-          <Y>206</Y>
+          <X>-244</X>
+          <Y>1681</Y>
         </Point>
         <Point>
-          <X>-777</X>
-          <Y>206</Y>
+          <X>-262</X>
+          <Y>1681</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle3" ZOrder="53" LineWidth="11">
+    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle1" ZOrder="55" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-810</X>
@@ -2048,20 +2028,20 @@
           <Y>324</Y>
         </Point>
         <Point>
-          <X>-760</X>
+          <X>-749</X>
           <Y>324</Y>
         </Point>
         <Point>
-          <X>-760</X>
-          <Y>243</Y>
+          <X>-749</X>
+          <Y>177</Y>
         </Point>
         <Point>
           <X>-777</X>
-          <Y>243</Y>
+          <Y>177</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle4" ZOrder="296" LineWidth="11">
+    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle" ZOrder="54" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-810</X>
@@ -2068,20 +2048,20 @@
           <Y>324</Y>
         </Point>
         <Point>
-          <X>-765</X>
+          <X>-744</X>
           <Y>324</Y>
         </Point>
         <Point>
-          <X>-765</X>
-          <Y>274</Y>
+          <X>-744</X>
+          <Y>140</Y>
         </Point>
         <Point>
           <X>-777</X>
-          <Y>274</Y>
+          <Y>140</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Partition_ExternalSounderStyle" ZOrder="49" LineWidth="11">
+    <Connector ID="DesignRelation:Partition_ExternalSounderStyle" ZOrder="53" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -2117,7 +2097,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle" ZOrder="50" LineWidth="11">
+    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle4" ZOrder="300" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-810</X>
@@ -2124,20 +2104,20 @@
           <Y>324</Y>
         </Point>
         <Point>
-          <X>-744</X>
+          <X>-765</X>
           <Y>324</Y>
         </Point>
         <Point>
-          <X>-744</X>
-          <Y>140</Y>
+          <X>-765</X>
+          <Y>274</Y>
         </Point>
         <Point>
           <X>-777</X>
-          <Y>140</Y>
+          <Y>274</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle1" ZOrder="51" LineWidth="11">
+    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle3" ZOrder="57" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-810</X>
@@ -2144,40 +2124,40 @@
           <Y>324</Y>
         </Point>
         <Point>
-          <X>-749</X>
+          <X>-760</X>
           <Y>324</Y>
         </Point>
         <Point>
-          <X>-749</X>
-          <Y>177</Y>
+          <X>-760</X>
+          <Y>243</Y>
         </Point>
         <Point>
           <X>-777</X>
-          <Y>177</Y>
+          <Y>243</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Partition_Partition_SignalingGroup" ZOrder="220" LineWidth="11">
+    <Connector ID="DesignRelation:FK_SounderTemplate_ExternalSounderStyle2" ZOrder="56" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>30</X>
-          <Y>-132</Y>
+          <X>-810</X>
+          <Y>324</Y>
         </Point>
         <Point>
-          <X>-539</X>
-          <Y>-132</Y>
+          <X>-755</X>
+          <Y>324</Y>
         </Point>
         <Point>
-          <X>-539</X>
-          <Y>-196</Y>
+          <X>-755</X>
+          <Y>206</Y>
         </Point>
         <Point>
-          <X>-582</X>
-          <Y>-196</Y>
+          <X>-777</X>
+          <Y>206</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:SignalingGroup_Partition_SignalingGroup" ZOrder="300" LineWidth="11">
+    <Connector ID="DesignRelation:SignalingGroup_Partition_SignalingGroup" ZOrder="304" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-947</X>
@@ -2197,19 +2177,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:SignalingGroup_SignalingGroup_Siren" ZOrder="70" LineWidth="11">
+    <Connector ID="DesignRelation:Partition_Partition_SignalingGroup" ZOrder="224" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-791</X>
-          <Y>1307</Y>
+          <X>30</X>
+          <Y>-132</Y>
         </Point>
         <Point>
-          <X>-715</X>
-          <Y>1307</Y>
+          <X>-539</X>
+          <Y>-132</Y>
         </Point>
+        <Point>
+          <X>-539</X>
+          <Y>-196</Y>
+        </Point>
+        <Point>
+          <X>-582</X>
+          <Y>-196</Y>
+        </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_SignalingGroup_Sounder" ZOrder="86" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_SignalingGroup_Sounder" ZOrder="90" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>663</X>
@@ -2237,27 +2225,19 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualFlasher_SignalingGroup_Flasher" ZOrder="294" LineWidth="11">
+    <Connector ID="DesignRelation:SignalingGroup_SignalingGroup_Siren" ZOrder="74" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>448</X>
-          <Y>1066</Y>
+          <X>-791</X>
+          <Y>1307</Y>
         </Point>
         <Point>
-          <X>-476</X>
-          <Y>1066</Y>
+          <X>-715</X>
+          <Y>1307</Y>
         </Point>
-        <Point>
-          <X>-476</X>
-          <Y>1223</Y>
-        </Point>
-        <Point>
-          <X>-509</X>
-          <Y>1223</Y>
-        </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:SignalingGroup_SignalingGroup_Flasher" ZOrder="71" LineWidth="11">
+    <Connector ID="DesignRelation:SignalingGroup_SignalingGroup_Flasher" ZOrder="75" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-791</X>
@@ -2277,39 +2257,51 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_APTurnstile" ZOrder="163" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualFlasher_SignalingGroup_Flasher" ZOrder="298" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>975</X>
-          <Y>999</Y>
+          <X>448</X>
+          <Y>1066</Y>
         </Point>
         <Point>
-          <X>975</X>
-          <Y>983</Y>
+          <X>-476</X>
+          <Y>1066</Y>
         </Point>
         <Point>
-          <X>631</X>
-          <Y>983</Y>
+          <X>-476</X>
+          <Y>1223</Y>
         </Point>
         <Point>
-          <X>631</X>
-          <Y>997</Y>
+          <X>-509</X>
+          <Y>1223</Y>
         </Point>
+      </RoutePoints>
+    </Connector>
+    <Connector ID="DesignRelation:LogicalInput_APTurnstile" ZOrder="166" LineWidth="11">
+      <RoutePoints>
         <Point>
-          <X>296</X>
-          <Y>997</Y>
+          <X>956</X>
+          <Y>765</Y>
         </Point>
         <Point>
-          <X>296</X>
+          <X>956</X>
           <Y>975</Y>
         </Point>
         <Point>
-          <X>231</X>
+          <X>338</X>
           <Y>975</Y>
         </Point>
+        <Point>
+          <X>338</X>
+          <Y>1003</Y>
+        </Point>
+        <Point>
+          <X>231</X>
+          <Y>1003</Y>
+        </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:AccessPoint_APTurnstile" ZOrder="265" LineWidth="11">
+    <Connector ID="DesignRelation:AccessPoint_APTurnstile" ZOrder="269" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-211</X>
@@ -2337,27 +2329,35 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalInput_APTurnstile" ZOrder="162" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_APTurnstile" ZOrder="167" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>956</X>
-          <Y>765</Y>
+          <X>975</X>
+          <Y>999</Y>
         </Point>
         <Point>
-          <X>956</X>
-          <Y>975</Y>
+          <X>975</X>
+          <Y>983</Y>
         </Point>
         <Point>
-          <X>338</X>
-          <Y>975</Y>
+          <X>631</X>
+          <Y>983</Y>
         </Point>
         <Point>
-          <X>338</X>
-          <Y>1003</Y>
+          <X>631</X>
+          <Y>997</Y>
         </Point>
         <Point>
+          <X>296</X>
+          <Y>997</Y>
+        </Point>
+        <Point>
+          <X>296</X>
+          <Y>975</Y>
+        </Point>
+        <Point>
           <X>231</X>
-          <Y>1003</Y>
+          <Y>975</Y>
         </Point>
       </RoutePoints>
     </Connector>
@@ -2541,7 +2541,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:HardwareDevice_HWBus2SCM3000" ZOrder="234" LineWidth="11">
+    <Connector ID="DesignRelation:HardwareDevice_HWBus2SCM3000" ZOrder="238" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2120</X>
@@ -2561,7 +2561,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:HardwareDevice_HWBus2ViewguardPIR" ZOrder="232" LineWidth="11">
+    <Connector ID="DesignRelation:HardwareDevice_HWBus2ViewguardPIR" ZOrder="236" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2120</X>
@@ -2621,7 +2621,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:HardwareDevice_HWBus2DoorControllerModule" ZOrder="347" LineWidth="11">
+    <Connector ID="DesignRelation:HardwareDevice_HWBus2DoorControllerModule" ZOrder="349" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2120</X>
@@ -2641,7 +2641,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:HardwareDevice_HWBus2DoorGuard" ZOrder="369" LineWidth="11">
+    <Connector ID="DesignRelation:HardwareDevice_HWBus2DoorGuard" ZOrder="4" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2120</X>
@@ -2661,7 +2661,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:HardwareDevice_HWBus2IdentKey2" ZOrder="255" LineWidth="11">
+    <Connector ID="DesignRelation:HardwareDevice_HWBus2IdentKey2" ZOrder="259" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2120</X>
@@ -2821,7 +2821,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:HardwareDevice_HWBus2RFViewguardPIR" ZOrder="278" LineWidth="11">
+    <Connector ID="DesignRelation:HardwareDevice_HWBus2RFViewguardPIR" ZOrder="282" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2120</X>
@@ -2861,7 +2861,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:HardwareDevice_HWIB2SirenModule" ZOrder="235" LineWidth="11">
+    <Connector ID="DesignRelation:HardwareDevice_HWIB2SirenModule" ZOrder="239" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2120</X>
@@ -2981,7 +2981,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Partition_PartitionMember" ZOrder="127" LineWidth="11">
+    <Connector ID="DesignRelation:Partition_PartitionMember" ZOrder="131" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -3009,7 +3009,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Partition_PMCollection" ZOrder="64" LineWidth="11">
+    <Connector ID="DesignRelation:Partition_PMCollection" ZOrder="68" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -3037,7 +3037,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:PMCollection_PMCollectionDependecy" ZOrder="59" LineWidth="11">
+    <Connector ID="DesignRelation:PMCollection_PMCollectionDependecy" ZOrder="63" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-682</X>
@@ -3057,7 +3057,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:PMCollection_PMCollectionEntryRoute" ZOrder="61" LineWidth="11">
+    <Connector ID="DesignRelation:PMCollection_PMCollectionEntryRoute" ZOrder="65" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-682</X>
@@ -3077,7 +3077,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:PMCollection_PMCollectionExitRoute" ZOrder="60" LineWidth="11">
+    <Connector ID="DesignRelation:PMCollection_PMCollectionExitRoute" ZOrder="64" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-682</X>
@@ -3097,7 +3097,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Trigger_PartitionTrigger_ReadyState" ZOrder="28" LineWidth="11">
+    <Connector ID="DesignRelation:Trigger_PartitionTrigger_ReadyState" ZOrder="32" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -3117,7 +3117,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Trigger_PartitionTrigger_SetState" ZOrder="27" LineWidth="11">
+    <Connector ID="DesignRelation:Trigger_PartitionTrigger_SetState" ZOrder="31" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -3137,7 +3137,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Command_Command_PartitionSetState" ZOrder="17" LineWidth="11">
+    <Connector ID="DesignRelation:Command_Command_PartitionSetState" ZOrder="21" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1753</X>
@@ -3157,7 +3157,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Command_Command_PartitionClearAlarmType" ZOrder="18" LineWidth="11">
+    <Connector ID="DesignRelation:Command_Command_PartitionClearAlarmType" ZOrder="22" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1753</X>
@@ -3177,7 +3177,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Command_Command_PartitionMemberOmit" ZOrder="16" LineWidth="11">
+    <Connector ID="DesignRelation:Command_Command_PartitionMemberOmit" ZOrder="20" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1753</X>
@@ -3197,7 +3197,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Command_Command_OutputPulseOn" ZOrder="19" LineWidth="11">
+    <Connector ID="DesignRelation:Command_Command_OutputPulseOn" ZOrder="23" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1753</X>
@@ -3217,7 +3217,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Command_Command_MacroDelay" ZOrder="21" LineWidth="11">
+    <Connector ID="DesignRelation:Command_Command_MacroDelay" ZOrder="25" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1753</X>
@@ -3237,7 +3237,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Partition_PartitionFaultType" ZOrder="218" LineWidth="11">
+    <Connector ID="DesignRelation:Partition_PartitionFaultType" ZOrder="222" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -3257,9 +3257,29 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:PartitionMember_VirtualPeripheralPartitionMemberFaultType" ZOrder="69" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" ZOrder="214" LineWidth="11">
       <RoutePoints>
         <Point>
+          <X>366</X>
+          <Y>1667</Y>
+        </Point>
+        <Point>
+          <X>-49</X>
+          <Y>1667</Y>
+        </Point>
+        <Point>
+          <X>-49</X>
+          <Y>2297</Y>
+        </Point>
+        <Point>
+          <X>-675</X>
+          <Y>2297</Y>
+        </Point>
+      </RoutePoints>
+    </Connector>
+    <Connector ID="DesignRelation:PartitionMember_VirtualPeripheralPartitionMemberFaultType" ZOrder="73" LineWidth="11">
+      <RoutePoints>
+        <Point>
           <X>-696</X>
           <Y>933</Y>
         </Point>
@@ -3285,29 +3305,9 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualPeripheral_VirtualPeripheralPartitionMemberFaultType" ZOrder="210" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalDevice_LogicalWirelessPeripheral" ZOrder="330" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>366</X>
-          <Y>1667</Y>
-        </Point>
-        <Point>
-          <X>-49</X>
-          <Y>1667</Y>
-        </Point>
-        <Point>
-          <X>-49</X>
-          <Y>2297</Y>
-        </Point>
-        <Point>
-          <X>-675</X>
-          <Y>2297</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
-    <Connector ID="DesignRelation:LogicalDevice_LogicalWirelessPeripheral" ZOrder="326" LineWidth="11">
-      <RoutePoints>
-        <Point>
           <X>1294</X>
           <Y>1324</Y>
         </Point>
@@ -3365,7 +3365,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Partition_UnsetPreventionAlarmType" ZOrder="219" LineWidth="11">
+    <Connector ID="DesignRelation:Partition_UnsetPreventionAlarmType" ZOrder="223" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -3385,43 +3385,43 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_AccessPointGroup_AccessPointGroup_AccessPoint" ZOrder="366" LineWidth="11">
+    <Connector ID="DesignRelation:AccessPoint_ScheduledItem_AccessPoint" ZOrder="421" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-697</X>
-          <Y>1747</Y>
+          <X>-378</X>
+          <Y>1055</Y>
         </Point>
         <Point>
-          <X>-765</X>
-          <Y>1747</Y>
-        </Point>
-        <Point>
-          <X>-765</X>
+          <X>-378</X>
           <Y>1461</Y>
         </Point>
         <Point>
-          <X>-728</X>
+          <X>-519</X>
           <Y>1461</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:AccessPoint_ScheduledItem_AccessPoint" ZOrder="421" LineWidth="11">
+    <Connector ID="DesignRelation:FK_AccessPointGroup_AccessPointGroup_AccessPoint" ZOrder="367" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-378</X>
-          <Y>1055</Y>
+          <X>-697</X>
+          <Y>1747</Y>
         </Point>
         <Point>
-          <X>-378</X>
+          <X>-765</X>
+          <Y>1747</Y>
+        </Point>
+        <Point>
+          <X>-765</X>
           <Y>1461</Y>
         </Point>
         <Point>
-          <X>-519</X>
+          <X>-728</X>
           <Y>1461</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:UserGroup_DatePeriod" ZOrder="115" LineWidth="11">
+    <Connector ID="DesignRelation:UserGroup_DatePeriod" ZOrder="119" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-1124</X>
@@ -3433,7 +3433,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_TimeSchedule_TimePeriod" ZOrder="363" LineWidth="11">
+    <Connector ID="DesignRelation:FK_TimeSchedule_TimePeriod" ZOrder="364" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-92</X>
@@ -3449,9 +3449,29 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_RTZ_UserGroup_TimeSchedule" ZOrder="120" LineWidth="11">
+    <Connector ID="DesignRelation:FK_TimeSchedule_UserGroup_TimeSchedule" ZOrder="362" LineWidth="11">
       <RoutePoints>
         <Point>
+          <X>-225</X>
+          <Y>1772</Y>
+        </Point>
+        <Point>
+          <X>-277</X>
+          <Y>1772</Y>
+        </Point>
+        <Point>
+          <X>-277</X>
+          <Y>1868</Y>
+        </Point>
+        <Point>
+          <X>-303</X>
+          <Y>1868</Y>
+        </Point>
+      </RoutePoints>
+    </Connector>
+    <Connector ID="DesignRelation:FK_RTZ_UserGroup_TimeSchedule" ZOrder="124" LineWidth="11">
+      <RoutePoints>
+        <Point>
           <X>-1124</X>
           <Y>1889</Y>
         </Point>
@@ -3469,27 +3489,19 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_TimeSchedule_UserGroup_TimeSchedule" ZOrder="361" LineWidth="11">
+    <Connector ID="DesignRelation:UserGroup_User_UserGroup" ZOrder="122" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-225</X>
-          <Y>1772</Y>
+          <X>-1124</X>
+          <Y>2028</Y>
         </Point>
         <Point>
-          <X>-277</X>
-          <Y>1772</Y>
+          <X>-473</X>
+          <Y>2028</Y>
         </Point>
-        <Point>
-          <X>-277</X>
-          <Y>1868</Y>
-        </Point>
-        <Point>
-          <X>-303</X>
-          <Y>1868</Y>
-        </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:User_User_UserGroup" ZOrder="119" LineWidth="11">
+    <Connector ID="DesignRelation:User_User_UserGroup" ZOrder="123" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-224</X>
@@ -3509,19 +3521,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:UserGroup_User_UserGroup" ZOrder="118" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualFlasher" ZOrder="415" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-1124</X>
-          <Y>2028</Y>
+          <X>11</X>
+          <Y>1375</Y>
         </Point>
         <Point>
-          <X>-473</X>
-          <Y>2028</Y>
+          <X>252</X>
+          <Y>1375</Y>
         </Point>
+        <Point>
+          <X>252</X>
+          <Y>1059</Y>
+        </Point>
+        <Point>
+          <X>448</X>
+          <Y>1059</Y>
+        </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalOutput_VirtualFlasher" ZOrder="105" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalOutput_VirtualFlasher" ZOrder="109" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>957</X>
@@ -3545,7 +3565,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualFlasher" ZOrder="415" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualDSDevice" ZOrder="406" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -3557,11 +3577,11 @@
         </Point>
         <Point>
           <X>252</X>
-          <Y>1059</Y>
+          <Y>-134</Y>
         </Point>
         <Point>
-          <X>448</X>
-          <Y>1059</Y>
+          <X>666</X>
+          <Y>-134</Y>
         </Point>
       </RoutePoints>
     </Connector>
@@ -3577,26 +3597,6 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualDSDevice" ZOrder="406" LineWidth="11">
-      <RoutePoints>
-        <Point>
-          <X>11</X>
-          <Y>1375</Y>
-        </Point>
-        <Point>
-          <X>252</X>
-          <Y>1375</Y>
-        </Point>
-        <Point>
-          <X>252</X>
-          <Y>-134</Y>
-        </Point>
-        <Point>
-          <X>666</X>
-          <Y>-134</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
     <Connector ID="DesignRelation:LogicalDevice_LogicalDSAlarmReporting" ZOrder="403" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -3617,29 +3617,9 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Partition_AlarmDevice" ZOrder="31" LineWidth="11">
+    <Connector ID="DesignRelation:FK_VirtualDSDevice_AlarmDevice" ZOrder="36" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>30</X>
-          <Y>-333</Y>
-        </Point>
-        <Point>
-          <X>-1057</X>
-          <Y>-333</Y>
-        </Point>
-        <Point>
-          <X>-1057</X>
-          <Y>-38</Y>
-        </Point>
-        <Point>
-          <X>-1015</X>
-          <Y>-38</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
-    <Connector ID="DesignRelation:FK_VirtualDSDevice_AlarmDevice" ZOrder="32" LineWidth="11">
-      <RoutePoints>
-        <Point>
           <X>666</X>
           <Y>-138</Y>
         </Point>
@@ -3665,27 +3645,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_AlarmDevice_AlarmDevice_FaultPartition" ZOrder="57" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Partition_AlarmDevice" ZOrder="35" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-865</X>
-          <Y>-122</Y>
+          <X>30</X>
+          <Y>-333</Y>
         </Point>
         <Point>
-          <X>-816</X>
-          <Y>-122</Y>
+          <X>-1057</X>
+          <Y>-333</Y>
         </Point>
         <Point>
-          <X>-816</X>
-          <Y>-95</Y>
+          <X>-1057</X>
+          <Y>-38</Y>
         </Point>
         <Point>
-          <X>-795</X>
-          <Y>-95</Y>
+          <X>-1015</X>
+          <Y>-38</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Partition_AlarmDevice_FaultPartition" ZOrder="221" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Partition_AlarmDevice_FaultPartition" ZOrder="225" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -3705,10 +3685,30 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_AlarmDevice_Channel" ZOrder="47" LineWidth="11">
+    <Connector ID="DesignRelation:FK_AlarmDevice_AlarmDevice_FaultPartition" ZOrder="61" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-865</X>
+          <Y>-122</Y>
+        </Point>
+        <Point>
+          <X>-816</X>
+          <Y>-122</Y>
+        </Point>
+        <Point>
+          <X>-816</X>
+          <Y>-95</Y>
+        </Point>
+        <Point>
+          <X>-795</X>
+          <Y>-95</Y>
+        </Point>
+      </RoutePoints>
+    </Connector>
+    <Connector ID="DesignRelation:FK_AlarmDevice_Channel" ZOrder="51" LineWidth="11">
+      <RoutePoints>
+        <Point>
+          <X>-865</X>
           <Y>-115</Y>
         </Point>
         <Point>
@@ -3805,7 +3805,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Trigger_SimpleTrigger" ZOrder="30" LineWidth="11">
+    <Connector ID="DesignRelation:Trigger_SimpleTrigger" ZOrder="34" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -3817,7 +3817,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Trigger_Trigger_SingleEvent" ZOrder="29" LineWidth="11">
+    <Connector ID="DesignRelation:Trigger_Trigger_SingleEvent" ZOrder="33" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -3837,21 +3837,9 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalWirelessMaster_VirtualWirelessMaster" ZOrder="153" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualWirelessMaster" ZOrder="98" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>974</X>
-          <Y>2111</Y>
-        </Point>
-        <Point>
-          <X>859</X>
-          <Y>2111</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualWirelessMaster" ZOrder="94" LineWidth="11">
-      <RoutePoints>
-        <Point>
           <X>11</X>
           <Y>1395</Y>
         </Point>
@@ -3869,27 +3857,19 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalWirelessPeripheral_VirtualWirelessPeripheral" ZOrder="316" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalWirelessMaster_VirtualWirelessMaster" ZOrder="157" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>965</X>
-          <Y>2212</Y>
+          <X>974</X>
+          <Y>2111</Y>
         </Point>
         <Point>
-          <X>929</X>
-          <Y>2212</Y>
+          <X>859</X>
+          <Y>2111</Y>
         </Point>
-        <Point>
-          <X>929</X>
-          <Y>2234</Y>
-        </Point>
-        <Point>
-          <X>882</X>
-          <Y>2234</Y>
-        </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualWirelessPeripheral" ZOrder="95" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualWirelessPeripheral" ZOrder="99" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -3909,6 +3889,26 @@
         </Point>
       </RoutePoints>
     </Connector>
+    <Connector ID="DesignRelation:LogicalWirelessPeripheral_VirtualWirelessPeripheral" ZOrder="320" LineWidth="11">
+      <RoutePoints>
+        <Point>
+          <X>965</X>
+          <Y>2212</Y>
+        </Point>
+        <Point>
+          <X>929</X>
+          <Y>2212</Y>
+        </Point>
+        <Point>
+          <X>929</X>
+          <Y>2234</Y>
+        </Point>
+        <Point>
+          <X>882</X>
+          <Y>2234</Y>
+        </Point>
+      </RoutePoints>
+    </Connector>
     <Connector ID="DesignRelation:LogicalDevice_LogicalCarbonMonoxide" ZOrder="404" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -3929,18 +3929,6 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalCarbonMonoxide_VirtualCarbonMonoxide" ZOrder="461" LineWidth="11">
-      <RoutePoints>
-        <Point>
-          <X>943</X>
-          <Y>-234</Y>
-        </Point>
-        <Point>
-          <X>872</X>
-          <Y>-234</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
     <Connector ID="DesignRelation:VirtualDevice_VirtualCarbonMonoxide" ZOrder="405" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -3961,6 +3949,18 @@
         </Point>
       </RoutePoints>
     </Connector>
+    <Connector ID="DesignRelation:LogicalCarbonMonoxide_VirtualCarbonMonoxide" ZOrder="461" LineWidth="11">
+      <RoutePoints>
+        <Point>
+          <X>943</X>
+          <Y>-234</Y>
+        </Point>
+        <Point>
+          <X>872</X>
+          <Y>-234</Y>
+        </Point>
+      </RoutePoints>
+    </Connector>
     <Connector ID="DesignRelation:FK_HardwareDevice_HWGPIOInput" ZOrder="454" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -4061,7 +4061,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_HardwareDevice_UIProxy" ZOrder="150" LineWidth="11">
+    <Connector ID="DesignRelation:FK_HardwareDevice_UIProxy" ZOrder="154" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1951</X>
@@ -4093,9 +4093,25 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalSmartUI_UIProxyTouchCenter" ZOrder="242" LineWidth="11">
+    <Connector ID="DesignRelation:UIProxy_UITouchCenter" ZOrder="393" LineWidth="11">
       <RoutePoints>
         <Point>
+          <X>-112</X>
+          <Y>2485</Y>
+        </Point>
+        <Point>
+          <X>-112</X>
+          <Y>2369</Y>
+        </Point>
+        <Point>
+          <X>-3</X>
+          <Y>2369</Y>
+        </Point>
+      </RoutePoints>
+    </Connector>
+    <Connector ID="DesignRelation:LogicalSmartUI_UIProxyTouchCenter" ZOrder="246" LineWidth="11">
+      <RoutePoints>
+        <Point>
           <X>958</X>
           <Y>3060</Y>
         </Point>
@@ -4113,22 +4129,6 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:UIProxy_UITouchCenter" ZOrder="393" LineWidth="11">
-      <RoutePoints>
-        <Point>
-          <X>-112</X>
-          <Y>2485</Y>
-        </Point>
-        <Point>
-          <X>-112</X>
-          <Y>2369</Y>
-        </Point>
-        <Point>
-          <X>-3</X>
-          <Y>2369</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
     <Connector ID="DesignRelation:FK_UIProxy_UIProxy_Partition" ZOrder="394" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -4149,31 +4149,31 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Partition_PartitionDependency1" ZOrder="224" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Partition_PartitionDependency" ZOrder="187" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>224</X>
-          <Y>-285</Y>
+          <Y>-270</Y>
         </Point>
         <Point>
           <X>280</X>
-          <Y>-285</Y>
+          <Y>-270</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Partition_PartitionDependency" ZOrder="183" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Partition_PartitionDependency1" ZOrder="228" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>224</X>
-          <Y>-270</Y>
+          <Y>-285</Y>
         </Point>
         <Point>
           <X>280</X>
-          <Y>-270</Y>
+          <Y>-285</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Partition_StoredFaultTypes" ZOrder="129" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Partition_StoredFaultTypes" ZOrder="133" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -4193,9 +4193,29 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Partition_Partition_LocalSounder" ZOrder="288" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualSounder_Partition_LocalSounder" ZOrder="293" LineWidth="11">
       <RoutePoints>
         <Point>
+          <X>663</X>
+          <Y>383</Y>
+        </Point>
+        <Point>
+          <X>-40</X>
+          <Y>383</Y>
+        </Point>
+        <Point>
+          <X>-40</X>
+          <Y>375</Y>
+        </Point>
+        <Point>
+          <X>-91</X>
+          <Y>375</Y>
+        </Point>
+      </RoutePoints>
+    </Connector>
+    <Connector ID="DesignRelation:Partition_Partition_LocalSounder" ZOrder="292" LineWidth="11">
+      <RoutePoints>
+        <Point>
           <X>30</X>
           <Y>-103</Y>
         </Point>
@@ -4213,27 +4233,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualSounder_Partition_LocalSounder" ZOrder="289" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualPIR" ZOrder="58" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>663</X>
-          <Y>383</Y>
+          <X>11</X>
+          <Y>1375</Y>
         </Point>
         <Point>
-          <X>-40</X>
-          <Y>383</Y>
+          <X>252</X>
+          <Y>1375</Y>
         </Point>
         <Point>
-          <X>-40</X>
-          <Y>375</Y>
+          <X>252</X>
+          <Y>202</Y>
         </Point>
         <Point>
-          <X>-91</X>
-          <Y>375</Y>
+          <X>315</X>
+          <Y>202</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualPIR" ZOrder="54" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualDevice_VirtualDoor" ZOrder="412" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -4245,15 +4265,15 @@
         </Point>
         <Point>
           <X>252</X>
-          <Y>202</Y>
+          <Y>1159</Y>
         </Point>
         <Point>
-          <X>315</X>
-          <Y>202</Y>
+          <X>425</X>
+          <Y>1159</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:DetectorGroup_VirtualDoor" ZOrder="295" LineWidth="11">
+    <Connector ID="DesignRelation:DetectorGroup_VirtualDoor" ZOrder="299" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-513</X>
@@ -4273,27 +4293,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualDevice_VirtualDoor" ZOrder="412" LineWidth="11">
+    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_Door" ZOrder="127" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>11</X>
-          <Y>1375</Y>
+          <X>-697</X>
+          <Y>1747</Y>
         </Point>
         <Point>
-          <X>252</X>
-          <Y>1375</Y>
+          <X>-757</X>
+          <Y>1747</Y>
         </Point>
         <Point>
-          <X>252</X>
-          <Y>1159</Y>
+          <X>-757</X>
+          <Y>1697</Y>
         </Point>
         <Point>
-          <X>425</X>
-          <Y>1159</Y>
+          <X>-728</X>
+          <Y>1697</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_VirtualDoor_ScheduledItem_Door" ZOrder="90" LineWidth="11">
+    <Connector ID="DesignRelation:FK_VirtualDoor_ScheduledItem_Door" ZOrder="94" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>425</X>
@@ -4321,29 +4341,9 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_Door" ZOrder="123" LineWidth="11">
+    <Connector ID="DesignRelation:HardwareDevice_HWBus2ViewguardDual" ZOrder="237" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-697</X>
-          <Y>1747</Y>
-        </Point>
-        <Point>
-          <X>-757</X>
-          <Y>1747</Y>
-        </Point>
-        <Point>
-          <X>-757</X>
-          <Y>1697</Y>
-        </Point>
-        <Point>
-          <X>-728</X>
-          <Y>1697</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
-    <Connector ID="DesignRelation:HardwareDevice_HWBus2ViewguardDual" ZOrder="233" LineWidth="11">
-      <RoutePoints>
-        <Point>
           <X>2120</X>
           <Y>1398</Y>
         </Point>
@@ -4361,7 +4361,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Partition_SoundingFaultTypes" ZOrder="128" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Partition_SoundingFaultTypes" ZOrder="132" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>30</X>
@@ -4381,9 +4381,29 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_AccessPoint_ScheduledItem_AP" ZOrder="85" LineWidth="11">
+    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_AP" ZOrder="88" LineWidth="11">
       <RoutePoints>
         <Point>
+          <X>-697</X>
+          <Y>1747</Y>
+        </Point>
+        <Point>
+          <X>-773</X>
+          <Y>1747</Y>
+        </Point>
+        <Point>
+          <X>-773</X>
+          <Y>1399</Y>
+        </Point>
+        <Point>
+          <X>-729</X>
+          <Y>1399</Y>
+        </Point>
+      </RoutePoints>
+    </Connector>
+    <Connector ID="DesignRelation:FK_AccessPoint_ScheduledItem_AP" ZOrder="89" LineWidth="11">
+      <RoutePoints>
+        <Point>
           <X>-395</X>
           <Y>845</Y>
         </Point>
@@ -4401,27 +4421,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_AP" ZOrder="84" LineWidth="11">
+    <Connector ID="DesignRelation:FK_LogicalKey_VirtualKey" ZOrder="288" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-697</X>
-          <Y>1747</Y>
+          <X>958</X>
+          <Y>2825</Y>
         </Point>
         <Point>
-          <X>-773</X>
-          <Y>1747</Y>
+          <X>883</X>
+          <Y>2825</Y>
         </Point>
         <Point>
-          <X>-773</X>
-          <Y>1399</Y>
+          <X>883</X>
+          <Y>2846</Y>
         </Point>
         <Point>
-          <X>-729</X>
-          <Y>1399</Y>
+          <X>829</X>
+          <Y>2846</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_VirtualDevice_VirtualKey" ZOrder="93" LineWidth="11">
+    <Connector ID="DesignRelation:FK_VirtualDevice_VirtualKey" ZOrder="97" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -4441,26 +4461,6 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_LogicalKey_VirtualKey" ZOrder="284" LineWidth="11">
-      <RoutePoints>
-        <Point>
-          <X>958</X>
-          <Y>2825</Y>
-        </Point>
-        <Point>
-          <X>883</X>
-          <Y>2825</Y>
-        </Point>
-        <Point>
-          <X>883</X>
-          <Y>2846</Y>
-        </Point>
-        <Point>
-          <X>829</X>
-          <Y>2846</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
     <Connector ID="DesignRelation:FK_LogicalDevice_LogicalKey" ZOrder="386" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -4481,43 +4481,43 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_LogicalLed_VirtualLed" ZOrder="283" LineWidth="11">
+    <Connector ID="DesignRelation:FK_VirtualDevice_VirtualLed" ZOrder="104" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>959</X>
-          <Y>2904</Y>
+          <X>11</X>
+          <Y>1397</Y>
         </Point>
         <Point>
-          <X>904</X>
-          <Y>2904</Y>
+          <X>252</X>
+          <Y>1397</Y>
         </Point>
         <Point>
-          <X>904</X>
-          <Y>2927</Y>
+          <X>252</X>
+          <Y>2899</Y>
         </Point>
         <Point>
-          <X>826</X>
-          <Y>2927</Y>
+          <X>676</X>
+          <Y>2899</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_VirtualDevice_VirtualLed" ZOrder="100" LineWidth="11">
+    <Connector ID="DesignRelation:FK_LogicalLed_VirtualLed" ZOrder="287" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>11</X>
-          <Y>1397</Y>
+          <X>959</X>
+          <Y>2904</Y>
         </Point>
         <Point>
-          <X>252</X>
-          <Y>1397</Y>
+          <X>904</X>
+          <Y>2904</Y>
         </Point>
         <Point>
-          <X>252</X>
-          <Y>2899</Y>
+          <X>904</X>
+          <Y>2927</Y>
         </Point>
         <Point>
-          <X>676</X>
-          <Y>2899</Y>
+          <X>826</X>
+          <Y>2927</Y>
         </Point>
       </RoutePoints>
     </Connector>
@@ -4541,63 +4541,55 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_LogicalKeyboardReader_UIKeypad" ZOrder="110" LineWidth="11">
+    <Connector ID="DesignRelation:LogicalPeripheral_UIKeypad" ZOrder="113" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>949</X>
-          <Y>2572</Y>
+          <X>970</X>
+          <Y>1743</Y>
         </Point>
         <Point>
-          <X>928</X>
-          <Y>2572</Y>
+          <X>913</X>
+          <Y>1743</Y>
         </Point>
         <Point>
-          <X>928</X>
-          <Y>2660</Y>
+          <X>913</X>
+          <Y>2652</Y>
         </Point>
         <Point>
-          <X>543</X>
-          <Y>2660</Y>
+          <X>228</X>
+          <Y>2652</Y>
         </Point>
         <Point>
-          <X>543</X>
-          <Y>2691</Y>
+          <X>228</X>
+          <Y>2711</Y>
         </Point>
         <Point>
           <X>175</X>
-          <Y>2691</Y>
+          <Y>2711</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_UIProxy_Keypad_UIProxy_Keypad" ZOrder="114" LineWidth="11">
+    <Connector ID="DesignRelation:FK_LogicalDisplay_UIKeypad" ZOrder="117" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-13</X>
-          <Y>2663</Y>
+          <X>961</X>
+          <Y>2957</Y>
         </Point>
         <Point>
-          <X>-27</X>
-          <Y>2663</Y>
+          <X>233</X>
+          <Y>2957</Y>
         </Point>
         <Point>
-          <X>-27</X>
-          <Y>2626</Y>
+          <X>233</X>
+          <Y>2727</Y>
         </Point>
         <Point>
-          <X>197</X>
-          <Y>2626</Y>
-        </Point>
-        <Point>
-          <X>197</X>
-          <Y>2747</Y>
-        </Point>
-        <Point>
           <X>175</X>
-          <Y>2747</Y>
+          <Y>2727</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:UIProxy_UIKeypad" ZOrder="277" LineWidth="11">
+    <Connector ID="DesignRelation:UIProxy_UIKeypad" ZOrder="281" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-95</X>
@@ -4617,133 +4609,121 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_LogicalDisplay_UIKeypad" ZOrder="113" LineWidth="11">
+    <Connector ID="DesignRelation:FK_UIProxy_Keypad_UIProxy_Keypad" ZOrder="118" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>961</X>
-          <Y>2957</Y>
+          <X>-13</X>
+          <Y>2663</Y>
         </Point>
         <Point>
-          <X>233</X>
-          <Y>2957</Y>
+          <X>-27</X>
+          <Y>2663</Y>
         </Point>
         <Point>
-          <X>233</X>
-          <Y>2727</Y>
+          <X>-27</X>
+          <Y>2626</Y>
         </Point>
         <Point>
+          <X>197</X>
+          <Y>2626</Y>
+        </Point>
+        <Point>
+          <X>197</X>
+          <Y>2747</Y>
+        </Point>
+        <Point>
           <X>175</X>
-          <Y>2727</Y>
+          <Y>2747</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalPeripheral_UIKeypad" ZOrder="109" LineWidth="11">
+    <Connector ID="DesignRelation:FK_LogicalKeyboardReader_UIKeypad" ZOrder="114" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>970</X>
-          <Y>1743</Y>
+          <X>949</X>
+          <Y>2572</Y>
         </Point>
         <Point>
-          <X>913</X>
-          <Y>1743</Y>
+          <X>928</X>
+          <Y>2572</Y>
         </Point>
         <Point>
-          <X>913</X>
-          <Y>2652</Y>
+          <X>928</X>
+          <Y>2660</Y>
         </Point>
         <Point>
-          <X>228</X>
-          <Y>2652</Y>
+          <X>543</X>
+          <Y>2660</Y>
         </Point>
         <Point>
-          <X>228</X>
-          <Y>2711</Y>
+          <X>543</X>
+          <Y>2691</Y>
         </Point>
         <Point>
           <X>175</X>
-          <Y>2711</Y>
+          <Y>2691</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_LogicalKey_UIKeypadItem" ZOrder="111" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Signal_UIKeypadItem2" ZOrder="212" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>958</X>
-          <Y>2825</Y>
+          <X>1290</X>
+          <Y>2468</Y>
         </Point>
         <Point>
-          <X>884</X>
-          <Y>2825</Y>
+          <X>1248</X>
+          <Y>2468</Y>
         </Point>
         <Point>
-          <X>884</X>
-          <Y>2973</Y>
+          <X>1248</X>
+          <Y>3027</Y>
         </Point>
         <Point>
-          <X>-22</X>
-          <Y>2973</Y>
+          <X>-71</X>
+          <Y>3027</Y>
         </Point>
         <Point>
-          <X>-22</X>
-          <Y>2729</Y>
+          <X>-71</X>
+          <Y>2903</Y>
         </Point>
         <Point>
           <X>-97</X>
-          <Y>2729</Y>
+          <Y>2903</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_LogicalLed_UIKeypadItem" ZOrder="112" LineWidth="11">
+    <Connector ID="DesignRelation:Signal_UIKeypadItem" ZOrder="210" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>959</X>
-          <Y>2904</Y>
+          <X>1290</X>
+          <Y>2447</Y>
         </Point>
         <Point>
-          <X>907</X>
-          <Y>2904</Y>
+          <X>1228</X>
+          <Y>2447</Y>
         </Point>
         <Point>
-          <X>907</X>
-          <Y>2988</Y>
+          <X>1228</X>
+          <Y>3004</Y>
         </Point>
         <Point>
-          <X>-39</X>
-          <Y>2988</Y>
+          <X>-48</X>
+          <Y>3004</Y>
         </Point>
         <Point>
-          <X>-39</X>
-          <Y>2750</Y>
+          <X>-48</X>
+          <Y>2866</Y>
         </Point>
         <Point>
           <X>-97</X>
-          <Y>2750</Y>
+          <Y>2866</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:UIKeypad_UIKeypadItem" ZOrder="205" LineWidth="11">
+    <Connector ID="DesignRelation:Signal_UIKeypadItem1" ZOrder="211" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-95</X>
-          <Y>2508</Y>
-        </Point>
-        <Point>
-          <X>-63</X>
-          <Y>2508</Y>
-        </Point>
-        <Point>
-          <X>-63</X>
-          <Y>2693</Y>
-        </Point>
-        <Point>
-          <X>-97</X>
-          <Y>2693</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
-    <Connector ID="DesignRelation:Signal_UIKeypadItem1" ZOrder="207" LineWidth="11">
-      <RoutePoints>
-        <Point>
           <X>1290</X>
           <Y>2458</Y>
         </Point>
@@ -4769,63 +4749,83 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Signal_UIKeypadItem" ZOrder="206" LineWidth="11">
+    <Connector ID="DesignRelation:UIKeypad_UIKeypadItem" ZOrder="209" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>1290</X>
-          <Y>2447</Y>
+          <X>-95</X>
+          <Y>2508</Y>
         </Point>
         <Point>
-          <X>1228</X>
-          <Y>2447</Y>
+          <X>-63</X>
+          <Y>2508</Y>
         </Point>
         <Point>
-          <X>1228</X>
-          <Y>3004</Y>
+          <X>-63</X>
+          <Y>2693</Y>
         </Point>
         <Point>
-          <X>-48</X>
-          <Y>3004</Y>
+          <X>-97</X>
+          <Y>2693</Y>
         </Point>
+      </RoutePoints>
+    </Connector>
+    <Connector ID="DesignRelation:FK_LogicalLed_UIKeypadItem" ZOrder="116" LineWidth="11">
+      <RoutePoints>
         <Point>
-          <X>-48</X>
-          <Y>2866</Y>
+          <X>959</X>
+          <Y>2904</Y>
         </Point>
         <Point>
+          <X>907</X>
+          <Y>2904</Y>
+        </Point>
+        <Point>
+          <X>907</X>
+          <Y>2988</Y>
+        </Point>
+        <Point>
+          <X>-39</X>
+          <Y>2988</Y>
+        </Point>
+        <Point>
+          <X>-39</X>
+          <Y>2750</Y>
+        </Point>
+        <Point>
           <X>-97</X>
-          <Y>2866</Y>
+          <Y>2750</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Signal_UIKeypadItem2" ZOrder="208" LineWidth="11">
+    <Connector ID="DesignRelation:FK_LogicalKey_UIKeypadItem" ZOrder="115" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>1290</X>
-          <Y>2468</Y>
+          <X>958</X>
+          <Y>2825</Y>
         </Point>
         <Point>
-          <X>1248</X>
-          <Y>2468</Y>
+          <X>884</X>
+          <Y>2825</Y>
         </Point>
         <Point>
-          <X>1248</X>
-          <Y>3027</Y>
+          <X>884</X>
+          <Y>2973</Y>
         </Point>
         <Point>
-          <X>-71</X>
-          <Y>3027</Y>
+          <X>-22</X>
+          <Y>2973</Y>
         </Point>
         <Point>
-          <X>-71</X>
-          <Y>2903</Y>
+          <X>-22</X>
+          <Y>2729</Y>
         </Point>
         <Point>
           <X>-97</X>
-          <Y>2903</Y>
+          <Y>2729</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_LogicalDevice_LogicalDisplay" ZOrder="309" LineWidth="11">
+    <Connector ID="DesignRelation:FK_LogicalDevice_LogicalDisplay" ZOrder="313" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1294</X>
@@ -4845,55 +4845,55 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_UIProxy" ZOrder="241" LineWidth="11">
+    <Connector ID="DesignRelation:FK_UIProxy_ScheduledItem_UIProxy" ZOrder="213" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-697</X>
-          <Y>1781</Y>
+          <X>-245</X>
+          <Y>2525</Y>
         </Point>
         <Point>
+          <X>-509</X>
+          <Y>2525</Y>
+        </Point>
+        <Point>
+          <X>-509</X>
+          <Y>2198</Y>
+        </Point>
+        <Point>
           <X>-997</X>
-          <Y>1781</Y>
+          <Y>2198</Y>
         </Point>
         <Point>
           <X>-997</X>
-          <Y>1843</Y>
+          <Y>1864</Y>
         </Point>
         <Point>
           <X>-970</X>
-          <Y>1843</Y>
+          <Y>1864</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_UIProxy_ScheduledItem_UIProxy" ZOrder="209" LineWidth="11">
+    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_UIProxy" ZOrder="245" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-245</X>
-          <Y>2525</Y>
+          <X>-697</X>
+          <Y>1781</Y>
         </Point>
         <Point>
-          <X>-509</X>
-          <Y>2525</Y>
-        </Point>
-        <Point>
-          <X>-509</X>
-          <Y>2198</Y>
-        </Point>
-        <Point>
           <X>-997</X>
-          <Y>2198</Y>
+          <Y>1781</Y>
         </Point>
         <Point>
           <X>-997</X>
-          <Y>1864</Y>
+          <Y>1843</Y>
         </Point>
         <Point>
           <X>-970</X>
-          <Y>1864</Y>
+          <Y>1843</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_HardwareDevice_HWBus2KeypadLED" ZOrder="367" LineWidth="11">
+    <Connector ID="DesignRelation:FK_HardwareDevice_HWBus2KeypadLED" ZOrder="368" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2120</X>
@@ -4913,7 +4913,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_HardwareDevice_HWBus2KeypadLCD" ZOrder="368" LineWidth="11">
+    <Connector ID="DesignRelation:FK_HardwareDevice_HWBus2KeypadLCD" ZOrder="369" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2120</X>
@@ -4933,29 +4933,9 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_Partition" ZOrder="365" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Partition_ScheduledItem_Partition" ZOrder="46" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>-697</X>
-          <Y>1773</Y>
-        </Point>
-        <Point>
-          <X>-999</X>
-          <Y>1773</Y>
-        </Point>
-        <Point>
-          <X>-999</X>
-          <Y>1702</Y>
-        </Point>
-        <Point>
-          <X>-971</X>
-          <Y>1702</Y>
-        </Point>
-      </RoutePoints>
-    </Connector>
-    <Connector ID="DesignRelation:FK_Partition_ScheduledItem_Partition" ZOrder="42" LineWidth="11">
-      <RoutePoints>
-        <Point>
           <X>30</X>
           <Y>-81</Y>
         </Point>
@@ -4981,27 +4961,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:ScheduledItem_UserGroup_ScheduledItem" ZOrder="116" LineWidth="11">
+    <Connector ID="DesignRelation:FK_ScheduledItem_ScheduledItem_Partition" ZOrder="366" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-697</X>
-          <Y>1787</Y>
+          <Y>1773</Y>
         </Point>
         <Point>
-          <X>-739</X>
-          <Y>1787</Y>
+          <X>-999</X>
+          <Y>1773</Y>
         </Point>
         <Point>
-          <X>-739</X>
-          <Y>1971</Y>
+          <X>-999</X>
+          <Y>1702</Y>
         </Point>
         <Point>
-          <X>-758</X>
-          <Y>1971</Y>
+          <X>-971</X>
+          <Y>1702</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:UserGroup_UserGroup_ScheduledItem" ZOrder="117" LineWidth="11">
+    <Connector ID="DesignRelation:UserGroup_UserGroup_ScheduledItem" ZOrder="121" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-1124</X>
@@ -5013,27 +4993,27 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton" ZOrder="312" LineWidth="11">
+    <Connector ID="DesignRelation:ScheduledItem_UserGroup_ScheduledItem" ZOrder="120" LineWidth="11">
       <RoutePoints>
         <Point>
-          <X>954</X>
-          <Y>2352</Y>
+          <X>-697</X>
+          <Y>1787</Y>
         </Point>
         <Point>
-          <X>932</X>
-          <Y>2352</Y>
+          <X>-739</X>
+          <Y>1787</Y>
         </Point>
         <Point>
-          <X>932</X>
-          <Y>2377</Y>
+          <X>-739</X>
+          <Y>1971</Y>
         </Point>
         <Point>
-          <X>891</X>
-          <Y>2377</Y>
+          <X>-758</X>
+          <Y>1971</Y>
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_VirtualDevice_VirtualWirelessPanicButton" ZOrder="102" LineWidth="11">
+    <Connector ID="DesignRelation:FK_VirtualDevice_VirtualWirelessPanicButton" ZOrder="106" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>11</X>
@@ -5053,9 +5033,29 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:LogicalDevice_LogicalWirelessPanicButton" ZOrder="310" LineWidth="11">
+    <Connector ID="DesignRelation:FK_LogicalWirelessPanicButton_VirtualWirelessPanicButton" ZOrder="316" LineWidth="11">
       <RoutePoints>
         <Point>
+          <X>954</X>
+          <Y>2352</Y>
+        </Point>
+        <Point>
+          <X>932</X>
+          <Y>2352</Y>
+        </Point>
+        <Point>
+          <X>932</X>
+          <Y>2377</Y>
+        </Point>
+        <Point>
+          <X>891</X>
+          <Y>2377</Y>
+        </Point>
+      </RoutePoints>
+    </Connector>
+    <Connector ID="DesignRelation:LogicalDevice_LogicalWirelessPanicButton" ZOrder="314" LineWidth="11">
+      <RoutePoints>
+        <Point>
           <X>1294</X>
           <Y>1314</Y>
         </Point>
@@ -5073,7 +5073,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:HardwareDevice_HWBus2ViewGuardPIRMask" ZOrder="231" LineWidth="11">
+    <Connector ID="DesignRelation:HardwareDevice_HWBus2ViewGuardPIRMask" ZOrder="235" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2120</X>
@@ -5093,7 +5093,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:HardwareDevice_HWBus2ViewGuardDualMask" ZOrder="230" LineWidth="11">
+    <Connector ID="DesignRelation:HardwareDevice_HWBus2ViewGuardDualMask" ZOrder="234" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2120</X>
@@ -5113,7 +5113,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Trigger_Trigger_UIKey" ZOrder="26" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Trigger_Trigger_UIKey" ZOrder="30" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -5133,7 +5133,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Command_Command_Sounder" ZOrder="20" LineWidth="11">
+    <Connector ID="DesignRelation:Command_Command_Sounder" ZOrder="24" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1753</X>
@@ -5153,7 +5153,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Trigger_Trigger_Timer" ZOrder="25" LineWidth="11">
+    <Connector ID="DesignRelation:Trigger_Trigger_Timer" ZOrder="29" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -5173,7 +5173,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_HardwareDevice_HWBus2SounderFlasherModule" ZOrder="260" LineWidth="11">
+    <Connector ID="DesignRelation:FK_HardwareDevice_HWBus2SounderFlasherModule" ZOrder="264" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2120</X>
@@ -5193,7 +5193,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_HardwareDevice_HWBus22RelaisInputModul" ZOrder="259" LineWidth="11">
+    <Connector ID="DesignRelation:FK_HardwareDevice_HWBus22RelaisInputModul" ZOrder="263" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2120</X>
@@ -5213,7 +5213,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_HardwareDevice_HWBus2PowerSupplyUnit" ZOrder="257" LineWidth="11">
+    <Connector ID="DesignRelation:FK_HardwareDevice_HWBus2PowerSupplyUnit" ZOrder="261" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2120</X>
@@ -5233,7 +5233,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Trigger_Trigger_Macro" ZOrder="23" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Trigger_Trigger_Macro" ZOrder="27" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -5253,7 +5253,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Trigger_Trigger_PartitionMemberOmit" ZOrder="24" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Trigger_Trigger_PartitionMemberOmit" ZOrder="28" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -5273,7 +5273,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_AlarmDevice_ContactID" ZOrder="41" LineWidth="11">
+    <Connector ID="DesignRelation:FK_AlarmDevice_ContactID" ZOrder="45" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-865</X>
@@ -5301,7 +5301,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_AlarmDevice_ContactIDEvent" ZOrder="39" LineWidth="11">
+    <Connector ID="DesignRelation:FK_AlarmDevice_ContactIDEvent" ZOrder="43" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-865</X>
@@ -5329,7 +5329,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Trigger_Trigger_Counter" ZOrder="22" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Trigger_Trigger_Counter" ZOrder="26" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -5349,7 +5349,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Trigger_Trigger_User" ZOrder="6" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Trigger_Trigger_User" ZOrder="10" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -5369,7 +5369,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Command_Command_ISOMEvent" ZOrder="15" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Command_Command_ISOMEvent" ZOrder="19" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1753</X>
@@ -5389,7 +5389,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:FK_Trigger_Trigger_PartitionAlarm" ZOrder="5" LineWidth="11">
+    <Connector ID="DesignRelation:FK_Trigger_Trigger_PartitionAlarm" ZOrder="9" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>2105</X>
@@ -5409,7 +5409,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:PartitionMember_PMCollection_PartitionMember" ZOrder="67" LineWidth="11">
+    <Connector ID="DesignRelation:PartitionMember_PMCollection_PartitionMember" ZOrder="71" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-696</X>
@@ -5429,7 +5429,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:PMCollection_PMCollection_PartitionMember" ZOrder="58" LineWidth="11">
+    <Connector ID="DesignRelation:PMCollection_PMCollection_PartitionMember" ZOrder="62" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-682</X>
@@ -5469,7 +5469,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:Room_HardwareDevice" ZOrder="302" LineWidth="11">
+    <Connector ID="DesignRelation:Room_HardwareDevice" ZOrder="306" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>1840</X>
@@ -5489,7 +5489,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:VirtualPeripheral_VirtualDevice" ZOrder="103" LineWidth="11">
+    <Connector ID="DesignRelation:VirtualPeripheral_VirtualDevice" ZOrder="107" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>366</X>
@@ -5513,7 +5513,7 @@
         </Point>
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:PartitionMember_AccessPoint" ZOrder="238" LineWidth="11">
+    <Connector ID="DesignRelation:PartitionMember_AccessPoint" ZOrder="242" LineWidth="11">
       <RoutePoints>
         <Point>
           <X>-513</X>
Index: ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2DoorGuardDetail.cs
===================================================================
--- ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2DoorGuardDetail.cs	(revision 3199)
+++ ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2DoorGuardDetail.cs	(working copy)
@@ -1,15 +1,8 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Drawing;
+using Honeywell.MBEMEA.ConfigApp.Data;
+using Honeywell.MBEMEA.ConfigApp.Logic;
+using System;
 using System.Data;
-using System.Text;
-using System.Windows.Forms;
-using Honeywell.MBEMEA.ConfigApp.Data;
-using Honeywell.MBEMEA.ConfigApp.Logic;
-using Honeywell.MBEMEA.ConfigApp.Templates;
-using DevExpress.XtraEditors;
-using System.Diagnostics;
+using System.Linq;
 
 namespace Honeywell.MBEMEA.ConfigApp.Views.Hardware.HardwareTreeDetails.HardwareDevices
 {
@@ -80,5 +73,61 @@
    }
   }
 
+  private void MainBindingSource_CurrentChanged(object sender, EventArgs e)
+  {
+      var currView = MainBindingSource.Current as DataRowView;
+      if (currView != null)
+      {
+          var currRow = currView.Row as InternalDataSet.HWBus2Identkey3Row;
+          if (currRow != null && currRow.IsDoorDatapointNumberNull())
+          {
+              int val = (int)spinEditDatapointNumber.Properties.MinValue;
+              while (
+                  InternalDataStore.DataSet.HWBus2Identkey3.Count(
+                      p => !p.IsDoorDatapointNumberNull() && p.DoorDatapointNumber == val) > 0 &&
+                  InternalDataStore.DataSet.HWBus2DoorGuard.Count(
+                      p => !p.IsDoorDatapointNumberNull() && p.DoorDatapointNumber == val) > 0 &&
+                  val <= spinEditDatapointNumber.Properties.MaxValue)
+              {
+                  val++;
+              }
+              currRow.DoorDatapointNumber = val;
+              currRow.AcceptChanges();
+          }
+      }
+  }
+
+  private void spinEditDatapointNumber_Leave(object sender, EventArgs e)
+  {
+      if (spinEditDatapointNumber.EditValue == null)
+          return;
+
+      int val = (int)spinEditDatapointNumber.Value;
+      if (InternalDataStore.DataSet.HWBus2DoorGuard.Count(p => p.DoorDatapointNumber == val) +
+          InternalDataStore.DataSet.HWBus2Identkey3.Count(p => p.DoorDatapointNumber == val) == 1)
+      {
+          // If value is unique, do not do anything else
+          return;
+      }
+
+      bool modified = true;
+      val = (int)spinEditDatapointNumber.Properties.MinValue;
+      while ((InternalDataStore.DataSet.Macro.Count(p => p.DatapointNumber == val) +
+              InternalDataStore.DataSet.HWBus2Identkey3.Count(p => p.DoorDatapointNumber == val) > 0) &&
+             val <= spinEditDatapointNumber.Properties.MaxValue)
+      {
+          val++;
+      }
+      if (val > spinEditDatapointNumber.Properties.MaxValue)
+      {
+          // Do not modify if out of range
+          modified = false;
+      }
+      if (modified)
+      {
+          spinEditDatapointNumber.Value = val;
+      }
+  }
+
  }
 }
Index: ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2DoorGuardDetail.Designer.cs
===================================================================
--- ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2DoorGuardDetail.Designer.cs	(revision 3199)
+++ ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2DoorGuardDetail.Designer.cs	(working copy)
@@ -28,118 +28,124 @@
         /// </summary>
         private void InitializeComponent()
         {
-   System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Bus2DoorGuardDetail));
-   this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
-   this.checkEditCoverContact = new DevExpress.XtraEditors.CheckEdit();
-   this.checkEditCommFailure = new DevExpress.XtraEditors.CheckEdit();
-   this.comboBoxCoverContact = new DevExpress.XtraEditors.ImageComboBoxEdit();
-   this.comboBoxCommFailure = new DevExpress.XtraEditors.ImageComboBoxEdit();
-   this.TypeTextEdit = new DevExpress.XtraEditors.TextEdit();
-   this.RoomPopUp = new Honeywell.MBEMEA.ConfigApp.CustomControls.FacilityPopUp();
-   this.terminationResistorEditor1 = new Honeywell.MBEMEA.ConfigApp.CustomControls.TerminationResistorEditor();
-   this.comboBoxEditAddress = new DevExpress.XtraEditors.ComboBoxEdit();
-   this.textEdit1 = new DevExpress.XtraEditors.TextEdit();
-   this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
-   this.tabbedControlGroup1 = new DevExpress.XtraLayout.TabbedControlGroup();
-   this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
-   this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
-   this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
-   this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
-   this.RoomLayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
-   this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup();
-   this.layoutControlItemCommFailureOld = new DevExpress.XtraLayout.LayoutControlItem();
-   this.layoutControlItemCoverContactOld = new DevExpress.XtraLayout.LayoutControlItem();
-   this.layoutControlItemCommFailure = new DevExpress.XtraLayout.LayoutControlItem();
-   this.layoutControlItemCoverContact = new DevExpress.XtraLayout.LayoutControlItem();
-   this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
-   this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
-   ((System.ComponentModel.ISupportInitialize)(this.HardwareDeviceBindingSource)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.VirtualPeripheralBindingSource)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.RightPanel)).BeginInit();
-   this.RightPanel.SuspendLayout();
-   ((System.ComponentModel.ISupportInitialize)(this.MainBindingSource)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
-   this.layoutControl1.SuspendLayout();
-   ((System.ComponentModel.ISupportInitialize)(this.checkEditCoverContact.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.checkEditCommFailure.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.comboBoxCoverContact.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.comboBoxCommFailure.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.TypeTextEdit.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.RoomPopUp.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.comboBoxEditAddress.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.textEdit1.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup1)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.RoomLayoutControlItem)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailureOld)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContactOld)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailure)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContact)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
-   this.SuspendLayout();
-   // 
-   // RightPanel
-   // 
-   this.RightPanel.Controls.Add(this.layoutControl1);
-   resources.ApplyResources(this.RightPanel, "RightPanel");
-   // 
-   // MainBindingSource
-   // 
-   this.MainBindingSource.DataMember = "HWBus2DoorGuard";
-   this.MainBindingSource.Position = -1;
-   // 
-   // layoutControl1
-   // 
-   this.layoutControl1.AllowCustomizationMenu = false;
-   this.layoutControl1.Controls.Add(this.checkEditCoverContact);
-   this.layoutControl1.Controls.Add(this.checkEditCommFailure);
-   this.layoutControl1.Controls.Add(this.comboBoxCoverContact);
-   this.layoutControl1.Controls.Add(this.comboBoxCommFailure);
-   this.layoutControl1.Controls.Add(this.TypeTextEdit);
-   this.layoutControl1.Controls.Add(this.RoomPopUp);
-   this.layoutControl1.Controls.Add(this.terminationResistorEditor1);
-   this.layoutControl1.Controls.Add(this.comboBoxEditAddress);
-   this.layoutControl1.Controls.Add(this.textEdit1);
-   resources.ApplyResources(this.layoutControl1, "layoutControl1");
-   this.layoutControl1.Name = "layoutControl1";
-   this.layoutControl1.Root = this.layoutControlGroup1;
-   // 
-   // checkEditCoverContact
-   // 
-   this.checkEditCoverContact.AutoSizeInLayoutControl = true;
-   this.checkEditCoverContact.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCoverContact", true));
-   resources.ApplyResources(this.checkEditCoverContact, "checkEditCoverContact");
-   this.checkEditCoverContact.Name = "checkEditCoverContact";
-   this.checkEditCoverContact.Properties.Caption = resources.GetString("checkEditCoverContact.Properties.Caption");
-   this.checkEditCoverContact.Properties.ValueChecked = "feAlways";
-   this.checkEditCoverContact.Properties.ValueUnchecked = "feNone";
-   this.checkEditCoverContact.StyleController = this.layoutControl1;
-   // 
-   // checkEditCommFailure
-   // 
-   this.checkEditCommFailure.AutoSizeInLayoutControl = true;
-   this.checkEditCommFailure.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCommFailure", true));
-   resources.ApplyResources(this.checkEditCommFailure, "checkEditCommFailure");
-   this.checkEditCommFailure.Name = "checkEditCommFailure";
-   this.checkEditCommFailure.Properties.Caption = resources.GetString("checkEditCommFailure.Properties.Caption");
-   this.checkEditCommFailure.Properties.ValueChecked = "feAlways";
-   this.checkEditCommFailure.Properties.ValueUnchecked = "feNone";
-   this.checkEditCommFailure.StyleController = this.layoutControl1;
-   // 
-   // comboBoxCoverContact
-   // 
-   this.comboBoxCoverContact.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCoverContact", true));
-   resources.ApplyResources(this.comboBoxCoverContact, "comboBoxCoverContact");
-   this.comboBoxCoverContact.Name = "comboBoxCoverContact";
-   this.comboBoxCoverContact.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Bus2DoorGuardDetail));
+            this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            this.checkEditCoverContact = new DevExpress.XtraEditors.CheckEdit();
+            this.checkEditCommFailure = new DevExpress.XtraEditors.CheckEdit();
+            this.comboBoxCoverContact = new DevExpress.XtraEditors.ImageComboBoxEdit();
+            this.comboBoxCommFailure = new DevExpress.XtraEditors.ImageComboBoxEdit();
+            this.TypeTextEdit = new DevExpress.XtraEditors.TextEdit();
+            this.RoomPopUp = new Honeywell.MBEMEA.ConfigApp.CustomControls.FacilityPopUp();
+            this.terminationResistorEditor1 = new Honeywell.MBEMEA.ConfigApp.CustomControls.TerminationResistorEditor();
+            this.comboBoxEditAddress = new DevExpress.XtraEditors.ComboBoxEdit();
+            this.textEdit1 = new DevExpress.XtraEditors.TextEdit();
+            this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.tabbedControlGroup1 = new DevExpress.XtraLayout.TabbedControlGroup();
+            this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.RoomLayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.layoutControlItemCommFailureOld = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItemCoverContactOld = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItemCommFailure = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItemCoverContact = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
+            this.spinEditDatapointNumber = new DevExpress.XtraEditors.SpinEdit();
+            this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
+            ((System.ComponentModel.ISupportInitialize)(this.HardwareDeviceBindingSource)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.VirtualPeripheralBindingSource)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.RightPanel)).BeginInit();
+            this.RightPanel.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.MainBindingSource)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
+            this.layoutControl1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.checkEditCoverContact.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.checkEditCommFailure.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.comboBoxCoverContact.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.comboBoxCommFailure.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.TypeTextEdit.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.RoomPopUp.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.comboBoxEditAddress.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.textEdit1.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.RoomLayoutControlItem)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailureOld)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContactOld)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailure)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContact)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.spinEditDatapointNumber.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // RightPanel
+            // 
+            this.RightPanel.Controls.Add(this.layoutControl1);
+            resources.ApplyResources(this.RightPanel, "RightPanel");
+            // 
+            // MainBindingSource
+            // 
+            this.MainBindingSource.DataMember = "HWBus2DoorGuard";
+            this.MainBindingSource.Position = -1;
+            this.MainBindingSource.CurrentChanged += new System.EventHandler(this.MainBindingSource_CurrentChanged);
+            // 
+            // layoutControl1
+            // 
+            this.layoutControl1.AllowCustomizationMenu = false;
+            this.layoutControl1.Controls.Add(this.spinEditDatapointNumber);
+            this.layoutControl1.Controls.Add(this.checkEditCoverContact);
+            this.layoutControl1.Controls.Add(this.checkEditCommFailure);
+            this.layoutControl1.Controls.Add(this.comboBoxCoverContact);
+            this.layoutControl1.Controls.Add(this.comboBoxCommFailure);
+            this.layoutControl1.Controls.Add(this.TypeTextEdit);
+            this.layoutControl1.Controls.Add(this.RoomPopUp);
+            this.layoutControl1.Controls.Add(this.terminationResistorEditor1);
+            this.layoutControl1.Controls.Add(this.comboBoxEditAddress);
+            this.layoutControl1.Controls.Add(this.textEdit1);
+            resources.ApplyResources(this.layoutControl1, "layoutControl1");
+            this.layoutControl1.Name = "layoutControl1";
+            this.layoutControl1.Root = this.layoutControlGroup1;
+            // 
+            // checkEditCoverContact
+            // 
+            this.checkEditCoverContact.AutoSizeInLayoutControl = true;
+            this.checkEditCoverContact.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCoverContact", true));
+            resources.ApplyResources(this.checkEditCoverContact, "checkEditCoverContact");
+            this.checkEditCoverContact.Name = "checkEditCoverContact";
+            this.checkEditCoverContact.Properties.Caption = resources.GetString("checkEditCoverContact.Properties.Caption");
+            this.checkEditCoverContact.Properties.ValueChecked = "feAlways";
+            this.checkEditCoverContact.Properties.ValueUnchecked = "feNone";
+            this.checkEditCoverContact.StyleController = this.layoutControl1;
+            // 
+            // checkEditCommFailure
+            // 
+            this.checkEditCommFailure.AutoSizeInLayoutControl = true;
+            this.checkEditCommFailure.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCommFailure", true));
+            resources.ApplyResources(this.checkEditCommFailure, "checkEditCommFailure");
+            this.checkEditCommFailure.Name = "checkEditCommFailure";
+            this.checkEditCommFailure.Properties.Caption = resources.GetString("checkEditCommFailure.Properties.Caption");
+            this.checkEditCommFailure.Properties.ValueChecked = "feAlways";
+            this.checkEditCommFailure.Properties.ValueUnchecked = "feNone";
+            this.checkEditCommFailure.StyleController = this.layoutControl1;
+            // 
+            // comboBoxCoverContact
+            // 
+            this.comboBoxCoverContact.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCoverContact", true));
+            resources.ApplyResources(this.comboBoxCoverContact, "comboBoxCoverContact");
+            this.comboBoxCoverContact.Name = "comboBoxCoverContact";
+            this.comboBoxCoverContact.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
             new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("comboBoxCoverContact.Properties.Buttons"))))});
-   this.comboBoxCoverContact.Properties.Items.AddRange(new DevExpress.XtraEditors.Controls.ImageComboBoxItem[] {
+            this.comboBoxCoverContact.Properties.Items.AddRange(new DevExpress.XtraEditors.Controls.ImageComboBoxItem[] {
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCoverContact.Properties.Items"), resources.GetString("comboBoxCoverContact.Properties.Items1"), ((int)(resources.GetObject("comboBoxCoverContact.Properties.Items2")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCoverContact.Properties.Items3"), resources.GetString("comboBoxCoverContact.Properties.Items4"), ((int)(resources.GetObject("comboBoxCoverContact.Properties.Items5")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCoverContact.Properties.Items6"), resources.GetString("comboBoxCoverContact.Properties.Items7"), ((int)(resources.GetObject("comboBoxCoverContact.Properties.Items8")))),
@@ -147,16 +153,16 @@
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCoverContact.Properties.Items12"), resources.GetString("comboBoxCoverContact.Properties.Items13"), ((int)(resources.GetObject("comboBoxCoverContact.Properties.Items14")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCoverContact.Properties.Items15"), resources.GetString("comboBoxCoverContact.Properties.Items16"), ((int)(resources.GetObject("comboBoxCoverContact.Properties.Items17")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCoverContact.Properties.Items18"), resources.GetString("comboBoxCoverContact.Properties.Items19"), ((int)(resources.GetObject("comboBoxCoverContact.Properties.Items20"))))});
-   this.comboBoxCoverContact.StyleController = this.layoutControl1;
-   // 
-   // comboBoxCommFailure
-   // 
-   this.comboBoxCommFailure.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCommFailure", true));
-   resources.ApplyResources(this.comboBoxCommFailure, "comboBoxCommFailure");
-   this.comboBoxCommFailure.Name = "comboBoxCommFailure";
-   this.comboBoxCommFailure.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            this.comboBoxCoverContact.StyleController = this.layoutControl1;
+            // 
+            // comboBoxCommFailure
+            // 
+            this.comboBoxCommFailure.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCommFailure", true));
+            resources.ApplyResources(this.comboBoxCommFailure, "comboBoxCommFailure");
+            this.comboBoxCommFailure.Name = "comboBoxCommFailure";
+            this.comboBoxCommFailure.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
             new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("comboBoxCommFailure.Properties.Buttons"))))});
-   this.comboBoxCommFailure.Properties.Items.AddRange(new DevExpress.XtraEditors.Controls.ImageComboBoxItem[] {
+            this.comboBoxCommFailure.Properties.Items.AddRange(new DevExpress.XtraEditors.Controls.ImageComboBoxItem[] {
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCommFailure.Properties.Items"), resources.GetString("comboBoxCommFailure.Properties.Items1"), ((int)(resources.GetObject("comboBoxCommFailure.Properties.Items2")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCommFailure.Properties.Items3"), resources.GetString("comboBoxCommFailure.Properties.Items4"), ((int)(resources.GetObject("comboBoxCommFailure.Properties.Items5")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCommFailure.Properties.Items6"), resources.GetString("comboBoxCommFailure.Properties.Items7"), ((int)(resources.GetObject("comboBoxCommFailure.Properties.Items8")))),
@@ -164,80 +170,80 @@
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCommFailure.Properties.Items12"), resources.GetString("comboBoxCommFailure.Properties.Items13"), ((int)(resources.GetObject("comboBoxCommFailure.Properties.Items14")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCommFailure.Properties.Items15"), resources.GetString("comboBoxCommFailure.Properties.Items16"), ((int)(resources.GetObject("comboBoxCommFailure.Properties.Items17")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCommFailure.Properties.Items18"), resources.GetString("comboBoxCommFailure.Properties.Items19"), ((int)(resources.GetObject("comboBoxCommFailure.Properties.Items20"))))});
-   this.comboBoxCommFailure.StyleController = this.layoutControl1;
-   // 
-   // TypeTextEdit
-   // 
-   this.TypeTextEdit.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "Type", true));
-   resources.ApplyResources(this.TypeTextEdit, "TypeTextEdit");
-   this.TypeTextEdit.Name = "TypeTextEdit";
-   this.TypeTextEdit.Properties.ReadOnly = true;
-   this.TypeTextEdit.StyleController = this.layoutControl1;
-   this.TypeTextEdit.FormatEditValue += new DevExpress.XtraEditors.Controls.ConvertEditValueEventHandler(this.TypeTextEdit_FormatEditValue);
-   this.TypeTextEdit.CustomDisplayText += new DevExpress.XtraEditors.Controls.CustomDisplayTextEventHandler(this.TypeTextEdit_CustomDisplayText);
-   // 
-   // RoomPopUp
-   // 
-   this.RoomPopUp.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "RoomUID", true));
-   resources.ApplyResources(this.RoomPopUp, "RoomPopUp");
-   this.RoomPopUp.Name = "RoomPopUp";
-   this.RoomPopUp.Properties.Appearance.Options.UseTextOptions = true;
-   this.RoomPopUp.Properties.Appearance.TextOptions.Trimming = DevExpress.Utils.Trimming.EllipsisPath;
-   this.RoomPopUp.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            this.comboBoxCommFailure.StyleController = this.layoutControl1;
+            // 
+            // TypeTextEdit
+            // 
+            this.TypeTextEdit.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "Type", true));
+            resources.ApplyResources(this.TypeTextEdit, "TypeTextEdit");
+            this.TypeTextEdit.Name = "TypeTextEdit";
+            this.TypeTextEdit.Properties.ReadOnly = true;
+            this.TypeTextEdit.StyleController = this.layoutControl1;
+            this.TypeTextEdit.FormatEditValue += new DevExpress.XtraEditors.Controls.ConvertEditValueEventHandler(this.TypeTextEdit_FormatEditValue);
+            this.TypeTextEdit.CustomDisplayText += new DevExpress.XtraEditors.Controls.CustomDisplayTextEventHandler(this.TypeTextEdit_CustomDisplayText);
+            // 
+            // RoomPopUp
+            // 
+            this.RoomPopUp.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "RoomUID", true));
+            resources.ApplyResources(this.RoomPopUp, "RoomPopUp");
+            this.RoomPopUp.Name = "RoomPopUp";
+            this.RoomPopUp.Properties.Appearance.Options.UseTextOptions = true;
+            this.RoomPopUp.Properties.Appearance.TextOptions.Trimming = DevExpress.Utils.Trimming.EllipsisPath;
+            this.RoomPopUp.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
             new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("RoomPopUp.Properties.Buttons"))))});
-   this.RoomPopUp.Properties.PopupFormSize = new System.Drawing.Size(281, 250);
-   this.RoomPopUp.StyleController = this.layoutControl1;
-   // 
-   // terminationResistorEditor1
-   // 
-   resources.ApplyResources(this.terminationResistorEditor1, "terminationResistorEditor1");
-   this.terminationResistorEditor1.Name = "terminationResistorEditor1";
-   // 
-   // comboBoxEditAddress
-   // 
-   this.comboBoxEditAddress.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "Address", true));
-   resources.ApplyResources(this.comboBoxEditAddress, "comboBoxEditAddress");
-   this.comboBoxEditAddress.Name = "comboBoxEditAddress";
-   this.comboBoxEditAddress.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            this.RoomPopUp.Properties.PopupFormSize = new System.Drawing.Size(250, 250);
+            this.RoomPopUp.StyleController = this.layoutControl1;
+            // 
+            // terminationResistorEditor1
+            // 
+            resources.ApplyResources(this.terminationResistorEditor1, "terminationResistorEditor1");
+            this.terminationResistorEditor1.Name = "terminationResistorEditor1";
+            // 
+            // comboBoxEditAddress
+            // 
+            this.comboBoxEditAddress.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "Address", true));
+            resources.ApplyResources(this.comboBoxEditAddress, "comboBoxEditAddress");
+            this.comboBoxEditAddress.Name = "comboBoxEditAddress";
+            this.comboBoxEditAddress.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
             new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("comboBoxEditAddress.Properties.Buttons"))))});
-   this.comboBoxEditAddress.StyleController = this.layoutControl1;
-   // 
-   // textEdit1
-   // 
-   this.textEdit1.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "Name", true));
-   resources.ApplyResources(this.textEdit1, "textEdit1");
-   this.textEdit1.Name = "textEdit1";
-   this.textEdit1.Properties.MaxLength = 50;
-   this.textEdit1.StyleController = this.layoutControl1;
-   // 
-   // layoutControlGroup1
-   // 
-   resources.ApplyResources(this.layoutControlGroup1, "layoutControlGroup1");
-   this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
-   this.layoutControlGroup1.GroupBordersVisible = false;
-   this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.comboBoxEditAddress.StyleController = this.layoutControl1;
+            // 
+            // textEdit1
+            // 
+            this.textEdit1.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "Name", true));
+            resources.ApplyResources(this.textEdit1, "textEdit1");
+            this.textEdit1.Name = "textEdit1";
+            this.textEdit1.Properties.MaxLength = 50;
+            this.textEdit1.StyleController = this.layoutControl1;
+            // 
+            // layoutControlGroup1
+            // 
+            resources.ApplyResources(this.layoutControlGroup1, "layoutControlGroup1");
+            this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
+            this.layoutControlGroup1.GroupBordersVisible = false;
+            this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
             this.tabbedControlGroup1});
-   this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
-   this.layoutControlGroup1.Name = "layoutControlGroup1";
-   this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-   this.layoutControlGroup1.Size = new System.Drawing.Size(382, 400);
-   this.layoutControlGroup1.TextVisible = false;
-   // 
-   // tabbedControlGroup1
-   // 
-   resources.ApplyResources(this.tabbedControlGroup1, "tabbedControlGroup1");
-   this.tabbedControlGroup1.Location = new System.Drawing.Point(0, 0);
-   this.tabbedControlGroup1.Name = "tabbedControlGroup1";
-   this.tabbedControlGroup1.SelectedTabPage = this.layoutControlGroup2;
-   this.tabbedControlGroup1.SelectedTabPageIndex = 0;
-   this.tabbedControlGroup1.Size = new System.Drawing.Size(382, 400);
-   this.tabbedControlGroup1.TabPages.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlGroup1.Name = "layoutControlGroup1";
+            this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            this.layoutControlGroup1.Size = new System.Drawing.Size(365, 417);
+            this.layoutControlGroup1.TextVisible = false;
+            // 
+            // tabbedControlGroup1
+            // 
+            resources.ApplyResources(this.tabbedControlGroup1, "tabbedControlGroup1");
+            this.tabbedControlGroup1.Location = new System.Drawing.Point(0, 0);
+            this.tabbedControlGroup1.Name = "tabbedControlGroup1";
+            this.tabbedControlGroup1.SelectedTabPage = this.layoutControlGroup2;
+            this.tabbedControlGroup1.SelectedTabPageIndex = 0;
+            this.tabbedControlGroup1.Size = new System.Drawing.Size(365, 417);
+            this.tabbedControlGroup1.TabPages.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
             this.layoutControlGroup2});
-   // 
-   // layoutControlGroup2
-   // 
-   resources.ApplyResources(this.layoutControlGroup2, "layoutControlGroup2");
-   this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            // 
+            // layoutControlGroup2
+            // 
+            resources.ApplyResources(this.layoutControlGroup2, "layoutControlGroup2");
+            this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
             this.layoutControlItem1,
             this.layoutControlItem2,
             this.layoutControlItem3,
@@ -244,154 +250,191 @@
             this.RoomLayoutControlItem,
             this.layoutControlGroup4,
             this.layoutControlItem5,
-            this.emptySpaceItem1});
-   this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0);
-   this.layoutControlGroup2.Name = "layoutControlGroup2";
-   this.layoutControlGroup2.Size = new System.Drawing.Size(358, 356);
-   // 
-   // layoutControlItem1
-   // 
-   this.layoutControlItem1.Control = this.textEdit1;
-   resources.ApplyResources(this.layoutControlItem1, "layoutControlItem1");
-   this.layoutControlItem1.Location = new System.Drawing.Point(0, 24);
-   this.layoutControlItem1.Name = "layoutControlItem1";
-   this.layoutControlItem1.Size = new System.Drawing.Size(358, 24);
-   this.layoutControlItem1.TextSize = new System.Drawing.Size(70, 13);
-   // 
-   // layoutControlItem2
-   // 
-   this.layoutControlItem2.Control = this.comboBoxEditAddress;
-   resources.ApplyResources(this.layoutControlItem2, "layoutControlItem2");
-   this.layoutControlItem2.Location = new System.Drawing.Point(0, 48);
-   this.layoutControlItem2.Name = "layoutControlItem2";
-   this.layoutControlItem2.Size = new System.Drawing.Size(358, 24);
-   this.layoutControlItem2.TextSize = new System.Drawing.Size(70, 13);
-   // 
-   // layoutControlItem3
-   // 
-   this.layoutControlItem3.Control = this.terminationResistorEditor1;
-   resources.ApplyResources(this.layoutControlItem3, "layoutControlItem3");
-   this.layoutControlItem3.Location = new System.Drawing.Point(0, 173);
-   this.layoutControlItem3.Name = "layoutControlItem3";
-   this.layoutControlItem3.Size = new System.Drawing.Size(358, 164);
-   this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
-   this.layoutControlItem3.TextToControlDistance = 0;
-   this.layoutControlItem3.TextVisible = false;
-   // 
-   // RoomLayoutControlItem
-   // 
-   this.RoomLayoutControlItem.Control = this.RoomPopUp;
-   resources.ApplyResources(this.RoomLayoutControlItem, "RoomLayoutControlItem");
-   this.RoomLayoutControlItem.Location = new System.Drawing.Point(0, 72);
-   this.RoomLayoutControlItem.Name = "RoomLayoutControlItem";
-   this.RoomLayoutControlItem.Size = new System.Drawing.Size(358, 24);
-   this.RoomLayoutControlItem.TextSize = new System.Drawing.Size(70, 13);
-   // 
-   // layoutControlGroup4
-   // 
-   resources.ApplyResources(this.layoutControlGroup4, "layoutControlGroup4");
-   this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.emptySpaceItem1,
+            this.layoutControlItem4});
+            this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlGroup2.Name = "layoutControlGroup2";
+            this.layoutControlGroup2.Size = new System.Drawing.Size(341, 371);
+            // 
+            // layoutControlItem1
+            // 
+            this.layoutControlItem1.Control = this.textEdit1;
+            resources.ApplyResources(this.layoutControlItem1, "layoutControlItem1");
+            this.layoutControlItem1.Location = new System.Drawing.Point(0, 24);
+            this.layoutControlItem1.Name = "layoutControlItem1";
+            this.layoutControlItem1.Size = new System.Drawing.Size(341, 24);
+            this.layoutControlItem1.TextSize = new System.Drawing.Size(84, 13);
+            // 
+            // layoutControlItem2
+            // 
+            this.layoutControlItem2.Control = this.comboBoxEditAddress;
+            resources.ApplyResources(this.layoutControlItem2, "layoutControlItem2");
+            this.layoutControlItem2.Location = new System.Drawing.Point(0, 48);
+            this.layoutControlItem2.Name = "layoutControlItem2";
+            this.layoutControlItem2.Size = new System.Drawing.Size(341, 24);
+            this.layoutControlItem2.TextSize = new System.Drawing.Size(84, 13);
+            // 
+            // layoutControlItem3
+            // 
+            this.layoutControlItem3.Control = this.terminationResistorEditor1;
+            resources.ApplyResources(this.layoutControlItem3, "layoutControlItem3");
+            this.layoutControlItem3.Location = new System.Drawing.Point(0, 197);
+            this.layoutControlItem3.Name = "layoutControlItem3";
+            this.layoutControlItem3.Size = new System.Drawing.Size(341, 164);
+            this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem3.TextToControlDistance = 0;
+            this.layoutControlItem3.TextVisible = false;
+            // 
+            // RoomLayoutControlItem
+            // 
+            this.RoomLayoutControlItem.Control = this.RoomPopUp;
+            resources.ApplyResources(this.RoomLayoutControlItem, "RoomLayoutControlItem");
+            this.RoomLayoutControlItem.Location = new System.Drawing.Point(0, 72);
+            this.RoomLayoutControlItem.Name = "RoomLayoutControlItem";
+            this.RoomLayoutControlItem.Size = new System.Drawing.Size(341, 24);
+            this.RoomLayoutControlItem.TextSize = new System.Drawing.Size(84, 13);
+            // 
+            // layoutControlGroup4
+            // 
+            resources.ApplyResources(this.layoutControlGroup4, "layoutControlGroup4");
+            this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
             this.layoutControlItemCommFailureOld,
             this.layoutControlItemCoverContactOld,
             this.layoutControlItemCommFailure,
             this.layoutControlItemCoverContact});
-   this.layoutControlGroup4.Location = new System.Drawing.Point(0, 96);
-   this.layoutControlGroup4.Name = "layoutControlGroup4";
-   this.layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
-   this.layoutControlGroup4.Size = new System.Drawing.Size(358, 77);
-   // 
-   // layoutControlItemCommFailureOld
-   // 
-   this.layoutControlItemCommFailureOld.Control = this.comboBoxCommFailure;
-   resources.ApplyResources(this.layoutControlItemCommFailureOld, "layoutControlItemCommFailureOld");
-   this.layoutControlItemCommFailureOld.Location = new System.Drawing.Point(107, 0);
-   this.layoutControlItemCommFailureOld.Name = "layoutControlItemCommFailureOld";
-   this.layoutControlItemCommFailureOld.Size = new System.Drawing.Size(241, 24);
-   this.layoutControlItemCommFailureOld.TextSize = new System.Drawing.Size(70, 13);
-   // 
-   // layoutControlItemCoverContactOld
-   // 
-   this.layoutControlItemCoverContactOld.Control = this.comboBoxCoverContact;
-   resources.ApplyResources(this.layoutControlItemCoverContactOld, "layoutControlItemCoverContactOld");
-   this.layoutControlItemCoverContactOld.Location = new System.Drawing.Point(107, 24);
-   this.layoutControlItemCoverContactOld.Name = "layoutControlItemCoverContactOld";
-   this.layoutControlItemCoverContactOld.Size = new System.Drawing.Size(241, 24);
-   this.layoutControlItemCoverContactOld.TextSize = new System.Drawing.Size(70, 13);
-   // 
-   // layoutControlItemCommFailure
-   // 
-   this.layoutControlItemCommFailure.Control = this.checkEditCommFailure;
-   resources.ApplyResources(this.layoutControlItemCommFailure, "layoutControlItemCommFailure");
-   this.layoutControlItemCommFailure.Location = new System.Drawing.Point(0, 0);
-   this.layoutControlItemCommFailure.Name = "layoutControlItemCommFailure";
-   this.layoutControlItemCommFailure.Size = new System.Drawing.Size(107, 24);
-   this.layoutControlItemCommFailure.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
-   this.layoutControlItemCommFailure.TextSize = new System.Drawing.Size(70, 13);
-   // 
-   // layoutControlItemCoverContact
-   // 
-   this.layoutControlItemCoverContact.Control = this.checkEditCoverContact;
-   resources.ApplyResources(this.layoutControlItemCoverContact, "layoutControlItemCoverContact");
-   this.layoutControlItemCoverContact.Location = new System.Drawing.Point(0, 24);
-   this.layoutControlItemCoverContact.Name = "layoutControlItemCoverContact";
-   this.layoutControlItemCoverContact.Size = new System.Drawing.Size(107, 24);
-   this.layoutControlItemCoverContact.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
-   this.layoutControlItemCoverContact.TextSize = new System.Drawing.Size(70, 13);
-   // 
-   // layoutControlItem5
-   // 
-   this.layoutControlItem5.Control = this.TypeTextEdit;
-   resources.ApplyResources(this.layoutControlItem5, "layoutControlItem5");
-   this.layoutControlItem5.Location = new System.Drawing.Point(0, 0);
-   this.layoutControlItem5.Name = "layoutControlItem5";
-   this.layoutControlItem5.Size = new System.Drawing.Size(358, 24);
-   this.layoutControlItem5.TextSize = new System.Drawing.Size(70, 13);
-   // 
-   // emptySpaceItem1
-   // 
-   this.emptySpaceItem1.AllowHotTrack = false;
-   resources.ApplyResources(this.emptySpaceItem1, "emptySpaceItem1");
-   this.emptySpaceItem1.Location = new System.Drawing.Point(0, 337);
-   this.emptySpaceItem1.Name = "emptySpaceItem1";
-   this.emptySpaceItem1.Size = new System.Drawing.Size(358, 19);
-   this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
-   // 
-   // Bus2DoorGuardDetail
-   // 
-   resources.ApplyResources(this, "$this");
-   this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-   this.Name = "Bus2DoorGuardDetail";
-   this.Load += new System.EventHandler(this.Bus2DoorGuardDetail_Load);
-   ((System.ComponentModel.ISupportInitialize)(this.HardwareDeviceBindingSource)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.VirtualPeripheralBindingSource)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.RightPanel)).EndInit();
-   this.RightPanel.ResumeLayout(false);
-   ((System.ComponentModel.ISupportInitialize)(this.MainBindingSource)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
-   this.layoutControl1.ResumeLayout(false);
-   ((System.ComponentModel.ISupportInitialize)(this.checkEditCoverContact.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.checkEditCommFailure.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.comboBoxCoverContact.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.comboBoxCommFailure.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.TypeTextEdit.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.RoomPopUp.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.comboBoxEditAddress.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.textEdit1.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup1)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.RoomLayoutControlItem)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailureOld)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContactOld)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailure)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContact)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
-   this.ResumeLayout(false);
+            this.layoutControlGroup4.Location = new System.Drawing.Point(0, 120);
+            this.layoutControlGroup4.Name = "layoutControlGroup4";
+            this.layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
+            this.layoutControlGroup4.Size = new System.Drawing.Size(341, 77);
+            // 
+            // layoutControlItemCommFailureOld
+            // 
+            this.layoutControlItemCommFailureOld.Control = this.comboBoxCommFailure;
+            resources.ApplyResources(this.layoutControlItemCommFailureOld, "layoutControlItemCommFailureOld");
+            this.layoutControlItemCommFailureOld.Location = new System.Drawing.Point(110, 0);
+            this.layoutControlItemCommFailureOld.Name = "layoutControlItemCommFailureOld";
+            this.layoutControlItemCommFailureOld.Size = new System.Drawing.Size(221, 24);
+            this.layoutControlItemCommFailureOld.TextSize = new System.Drawing.Size(84, 13);
+            // 
+            // layoutControlItemCoverContactOld
+            // 
+            this.layoutControlItemCoverContactOld.Control = this.comboBoxCoverContact;
+            resources.ApplyResources(this.layoutControlItemCoverContactOld, "layoutControlItemCoverContactOld");
+            this.layoutControlItemCoverContactOld.Location = new System.Drawing.Point(110, 24);
+            this.layoutControlItemCoverContactOld.Name = "layoutControlItemCoverContactOld";
+            this.layoutControlItemCoverContactOld.Size = new System.Drawing.Size(221, 24);
+            this.layoutControlItemCoverContactOld.TextSize = new System.Drawing.Size(84, 13);
+            // 
+            // layoutControlItemCommFailure
+            // 
+            this.layoutControlItemCommFailure.Control = this.checkEditCommFailure;
+            resources.ApplyResources(this.layoutControlItemCommFailure, "layoutControlItemCommFailure");
+            this.layoutControlItemCommFailure.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItemCommFailure.Name = "layoutControlItemCommFailure";
+            this.layoutControlItemCommFailure.Size = new System.Drawing.Size(110, 24);
+            this.layoutControlItemCommFailure.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
+            this.layoutControlItemCommFailure.TextSize = new System.Drawing.Size(84, 13);
+            // 
+            // layoutControlItemCoverContact
+            // 
+            this.layoutControlItemCoverContact.Control = this.checkEditCoverContact;
+            resources.ApplyResources(this.layoutControlItemCoverContact, "layoutControlItemCoverContact");
+            this.layoutControlItemCoverContact.Location = new System.Drawing.Point(0, 24);
+            this.layoutControlItemCoverContact.Name = "layoutControlItemCoverContact";
+            this.layoutControlItemCoverContact.Size = new System.Drawing.Size(110, 24);
+            this.layoutControlItemCoverContact.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
+            this.layoutControlItemCoverContact.TextSize = new System.Drawing.Size(84, 13);
+            // 
+            // layoutControlItem5
+            // 
+            this.layoutControlItem5.Control = this.TypeTextEdit;
+            resources.ApplyResources(this.layoutControlItem5, "layoutControlItem5");
+            this.layoutControlItem5.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItem5.Name = "layoutControlItem5";
+            this.layoutControlItem5.Size = new System.Drawing.Size(341, 24);
+            this.layoutControlItem5.TextSize = new System.Drawing.Size(84, 13);
+            // 
+            // emptySpaceItem1
+            // 
+            this.emptySpaceItem1.AllowHotTrack = false;
+            resources.ApplyResources(this.emptySpaceItem1, "emptySpaceItem1");
+            this.emptySpaceItem1.Location = new System.Drawing.Point(0, 361);
+            this.emptySpaceItem1.Name = "emptySpaceItem1";
+            this.emptySpaceItem1.Size = new System.Drawing.Size(341, 10);
+            this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
+            // 
+            // spinEditDatapointNumber
+            // 
+            this.spinEditDatapointNumber.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.MainBindingSource, "DatapointNumber", true));
+            resources.ApplyResources(this.spinEditDatapointNumber, "spinEditDatapointNumber");
+            this.spinEditDatapointNumber.Name = "spinEditDatapointNumber";
+            this.spinEditDatapointNumber.Properties.Appearance.Options.UseTextOptions = true;
+            this.spinEditDatapointNumber.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
+            this.spinEditDatapointNumber.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("spinEditDatapointNumber.Properties.Buttons"))))});
+            this.spinEditDatapointNumber.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
+            this.spinEditDatapointNumber.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
+            this.spinEditDatapointNumber.Properties.Mask.EditMask = resources.GetString("spinEditDatapointNumber.Properties.Mask.EditMask");
+            this.spinEditDatapointNumber.Properties.MaxValue = new decimal(new int[] {
+            6631,
+            0,
+            0,
+            0});
+            this.spinEditDatapointNumber.Properties.MinValue = new decimal(new int[] {
+            5608,
+            0,
+            0,
+            0});
+            this.spinEditDatapointNumber.StyleController = this.layoutControl1;
+            this.spinEditDatapointNumber.Leave += new System.EventHandler(this.spinEditDatapointNumber_Leave);
+            // 
+            // layoutControlItem4
+            // 
+            this.layoutControlItem4.Control = this.spinEditDatapointNumber;
+            resources.ApplyResources(this.layoutControlItem4, "layoutControlItem4");
+            this.layoutControlItem4.Location = new System.Drawing.Point(0, 96);
+            this.layoutControlItem4.Name = "layoutControlItem4";
+            this.layoutControlItem4.Size = new System.Drawing.Size(341, 24);
+            this.layoutControlItem4.TextSize = new System.Drawing.Size(84, 13);
+            // 
+            // Bus2DoorGuardDetail
+            // 
+            resources.ApplyResources(this, "$this");
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.Name = "Bus2DoorGuardDetail";
+            this.Load += new System.EventHandler(this.Bus2DoorGuardDetail_Load);
+            ((System.ComponentModel.ISupportInitialize)(this.HardwareDeviceBindingSource)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.VirtualPeripheralBindingSource)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.RightPanel)).EndInit();
+            this.RightPanel.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.MainBindingSource)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
+            this.layoutControl1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.checkEditCoverContact.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.checkEditCommFailure.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.comboBoxCoverContact.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.comboBoxCommFailure.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.TypeTextEdit.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.RoomPopUp.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.comboBoxEditAddress.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.textEdit1.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.RoomLayoutControlItem)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailureOld)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContactOld)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailure)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContact)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.spinEditDatapointNumber.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
+            this.ResumeLayout(false);
 
         }
 
@@ -421,6 +464,8 @@
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItemCommFailure;
         private DevExpress.XtraEditors.CheckEdit checkEditCoverContact;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItemCoverContact;
+        private DevExpress.XtraEditors.SpinEdit spinEditDatapointNumber;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
 
     }
 }
Index: ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2DoorGuardDetail.resx
===================================================================
--- ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2DoorGuardDetail.resx	(revision 3199)
+++ ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2DoorGuardDetail.resx	(working copy)
@@ -123,101 +123,51 @@
   <metadata name="VirtualPeripheralBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>236, 17</value>
   </metadata>
-  <data name="&gt;&gt;layoutControl1.Name" xml:space="preserve">
-    <value>layoutControl1</value>
-  </data>
-  <data name="&gt;&gt;layoutControl1.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControl1.Parent" xml:space="preserve">
-    <value>RightPanel</value>
-  </data>
-  <data name="&gt;&gt;layoutControl1.ZOrder" xml:space="preserve">
-    <value>0</value>
-  </data>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="RightPanel.Size" type="System.Drawing.Size, System.Drawing">
-    <value>382, 400</value>
-  </data>
-  <data name="&gt;&gt;RightPanel.Name" xml:space="preserve">
-    <value>RightPanel</value>
-  </data>
-  <data name="&gt;&gt;RightPanel.Type" xml:space="preserve">
-    <value>DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;RightPanel.Parent" xml:space="preserve">
-    <value>$this</value>
-  </data>
-  <data name="&gt;&gt;RightPanel.ZOrder" xml:space="preserve">
-    <value>0</value>
-  </data>
-  <metadata name="internalDataStore.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>457, 17</value>
-  </metadata>
   <metadata name="MainBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>604, 17</value>
   </metadata>
-  <metadata name="DataChangedTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>762, 17</value>
-  </metadata>
-  <data name="&gt;&gt;AddButton.Name" xml:space="preserve">
-    <value>AddButton</value>
+  <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="spinEditDatapointNumber.EditValue" type="System.Decimal, mscorlib">
+    <value>6631</value>
   </data>
-  <data name="&gt;&gt;AddButton.Type" xml:space="preserve">
-    <value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="spinEditDatapointNumber.Location" type="System.Drawing.Point, System.Drawing">
+    <value>101, 132</value>
   </data>
-  <data name="&gt;&gt;AddButton.Parent" xml:space="preserve">
-    <value>panelWithButtons</value>
+  <assembly alias="DevExpress.Utils.v13.1" name="DevExpress.Utils.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
+  <data name="spinEditDatapointNumber.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
+    <value>Combo</value>
   </data>
-  <data name="&gt;&gt;AddButton.ZOrder" xml:space="preserve">
-    <value>1</value>
+  <data name="spinEditDatapointNumber.Properties.Mask.EditMask" xml:space="preserve">
+    <value>d</value>
   </data>
-  <data name="&gt;&gt;DelButton.Name" xml:space="preserve">
-    <value>DelButton</value>
+  <data name="spinEditDatapointNumber.Size" type="System.Drawing.Size, System.Drawing">
+    <value>250, 20</value>
   </data>
-  <data name="&gt;&gt;DelButton.Type" xml:space="preserve">
-    <value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  <data name="spinEditDatapointNumber.TabIndex" type="System.Int32, mscorlib">
+    <value>99</value>
   </data>
-  <data name="&gt;&gt;DelButton.Parent" xml:space="preserve">
-    <value>panelWithButtons</value>
+  <data name="&gt;&gt;spinEditDatapointNumber.Name" xml:space="preserve">
+    <value>spinEditDatapointNumber</value>
   </data>
-  <data name="&gt;&gt;DelButton.ZOrder" xml:space="preserve">
-    <value>3</value>
+  <data name="&gt;&gt;spinEditDatapointNumber.Type" xml:space="preserve">
+    <value>DevExpress.XtraEditors.SpinEdit, DevExpress.XtraEditors.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
   </data>
-  <data name="&gt;&gt;SaveButton.Name" xml:space="preserve">
-    <value>SaveButton</value>
+  <data name="&gt;&gt;spinEditDatapointNumber.Parent" xml:space="preserve">
+    <value>layoutControl1</value>
   </data>
-  <data name="&gt;&gt;SaveButton.Type" xml:space="preserve">
-    <value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  <data name="&gt;&gt;spinEditDatapointNumber.ZOrder" xml:space="preserve">
+    <value>1</value>
   </data>
-  <data name="&gt;&gt;SaveButton.Parent" xml:space="preserve">
-    <value>panelWithButtons</value>
-  </data>
-  <data name="&gt;&gt;SaveButton.ZOrder" xml:space="preserve">
-    <value>2</value>
-  </data>
-  <data name="&gt;&gt;UndoButton.Name" xml:space="preserve">
-    <value>UndoButton</value>
-  </data>
-  <data name="&gt;&gt;UndoButton.Type" xml:space="preserve">
-    <value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;UndoButton.Parent" xml:space="preserve">
-    <value>panelWithButtons</value>
-  </data>
-  <data name="&gt;&gt;UndoButton.ZOrder" xml:space="preserve">
-    <value>0</value>
-  </data>
   <data name="checkEditCoverContact.Location" type="System.Drawing.Point, System.Drawing">
-    <value>92, 178</value>
+    <value>106, 204</value>
   </data>
   <data name="checkEditCoverContact.Properties.Caption" xml:space="preserve">
     <value />
   </data>
   <data name="checkEditCoverContact.Size" type="System.Drawing.Size, System.Drawing">
-    <value>22, 19</value>
+    <value>19, 19</value>
   </data>
-  <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   <data name="checkEditCoverContact.TabIndex" type="System.Int32, mscorlib">
     <value>29</value>
   </data>
@@ -231,16 +181,16 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;checkEditCoverContact.ZOrder" xml:space="preserve">
-    <value>4</value>
+    <value>5</value>
   </data>
   <data name="checkEditCommFailure.Location" type="System.Drawing.Point, System.Drawing">
-    <value>92, 154</value>
+    <value>106, 180</value>
   </data>
   <data name="checkEditCommFailure.Properties.Caption" xml:space="preserve">
     <value />
   </data>
   <data name="checkEditCommFailure.Size" type="System.Drawing.Size, System.Drawing">
-    <value>22, 19</value>
+    <value>19, 19</value>
   </data>
   <data name="checkEditCommFailure.TabIndex" type="System.Int32, mscorlib">
     <value>28</value>
@@ -255,15 +205,14 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;checkEditCommFailure.ZOrder" xml:space="preserve">
-    <value>5</value>
+    <value>6</value>
   </data>
   <data name="comboBoxCoverContact.Enabled" type="System.Boolean, mscorlib">
     <value>False</value>
   </data>
   <data name="comboBoxCoverContact.Location" type="System.Drawing.Point, System.Drawing">
-    <value>199, 178</value>
+    <value>216, 204</value>
   </data>
-  <assembly alias="DevExpress.Utils.v13.1" name="DevExpress.Utils.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
   <data name="comboBoxCoverContact.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
   </data>
@@ -331,7 +280,7 @@
     <value>-1</value>
   </data>
   <data name="comboBoxCoverContact.Size" type="System.Drawing.Size, System.Drawing">
-    <value>164, 20</value>
+    <value>130, 20</value>
   </data>
   <data name="comboBoxCoverContact.TabIndex" type="System.Int32, mscorlib">
     <value>26</value>
@@ -346,13 +295,13 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxCoverContact.ZOrder" xml:space="preserve">
-    <value>6</value>
+    <value>7</value>
   </data>
   <data name="comboBoxCommFailure.Enabled" type="System.Boolean, mscorlib">
     <value>False</value>
   </data>
   <data name="comboBoxCommFailure.Location" type="System.Drawing.Point, System.Drawing">
-    <value>199, 154</value>
+    <value>216, 180</value>
   </data>
   <data name="comboBoxCommFailure.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -421,7 +370,7 @@
     <value>-1</value>
   </data>
   <data name="comboBoxCommFailure.Size" type="System.Drawing.Size, System.Drawing">
-    <value>164, 20</value>
+    <value>130, 20</value>
   </data>
   <data name="comboBoxCommFailure.TabIndex" type="System.Int32, mscorlib">
     <value>27</value>
@@ -436,13 +385,13 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxCommFailure.ZOrder" xml:space="preserve">
-    <value>7</value>
+    <value>8</value>
   </data>
   <data name="TypeTextEdit.Location" type="System.Drawing.Point, System.Drawing">
-    <value>87, 34</value>
+    <value>101, 36</value>
   </data>
   <data name="TypeTextEdit.Size" type="System.Drawing.Size, System.Drawing">
-    <value>281, 20</value>
+    <value>250, 20</value>
   </data>
   <data name="TypeTextEdit.TabIndex" type="System.Int32, mscorlib">
     <value>14</value>
@@ -457,16 +406,16 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;TypeTextEdit.ZOrder" xml:space="preserve">
-    <value>8</value>
+    <value>9</value>
   </data>
   <data name="RoomPopUp.Location" type="System.Drawing.Point, System.Drawing">
-    <value>87, 106</value>
+    <value>101, 108</value>
   </data>
   <data name="RoomPopUp.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
   </data>
   <data name="RoomPopUp.Size" type="System.Drawing.Size, System.Drawing">
-    <value>281, 20</value>
+    <value>250, 20</value>
   </data>
   <data name="RoomPopUp.TabIndex" type="System.Int32, mscorlib">
     <value>8</value>
@@ -475,16 +424,16 @@
     <value>RoomPopUp</value>
   </data>
   <data name="&gt;&gt;RoomPopUp.Type" xml:space="preserve">
-    <value>Honeywell.MBEMEA.ConfigApp.CustomControls.FacilityPopUp, ConfigApp, Version=0.0.3.1, Culture=neutral, PublicKeyToken=null</value>
+    <value>Honeywell.MBEMEA.ConfigApp.CustomControls.FacilityPopUp, ConfigApp, Version=0.3.0.1, Culture=neutral, PublicKeyToken=null</value>
   </data>
   <data name="&gt;&gt;RoomPopUp.Parent" xml:space="preserve">
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;RoomPopUp.ZOrder" xml:space="preserve">
-    <value>9</value>
+    <value>10</value>
   </data>
   <data name="terminationResistorEditor1.Location" type="System.Drawing.Point, System.Drawing">
-    <value>14, 207</value>
+    <value>14, 233</value>
   </data>
   <data name="terminationResistorEditor1.MaximumSize" type="System.Drawing.Size, System.Drawing">
     <value>2048, 160</value>
@@ -493,7 +442,7 @@
     <value>280, 160</value>
   </data>
   <data name="terminationResistorEditor1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>354, 160</value>
+    <value>337, 160</value>
   </data>
   <data name="terminationResistorEditor1.TabIndex" type="System.Int32, mscorlib">
     <value>6</value>
@@ -502,22 +451,22 @@
     <value>terminationResistorEditor1</value>
   </data>
   <data name="&gt;&gt;terminationResistorEditor1.Type" xml:space="preserve">
-    <value>Honeywell.MBEMEA.ConfigApp.CustomControls.TerminationResistorEditor, ConfigApp, Version=0.0.3.1, Culture=neutral, PublicKeyToken=null</value>
+    <value>Honeywell.MBEMEA.ConfigApp.CustomControls.TerminationResistorEditor, ConfigApp, Version=0.3.0.1, Culture=neutral, PublicKeyToken=null</value>
   </data>
   <data name="&gt;&gt;terminationResistorEditor1.Parent" xml:space="preserve">
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;terminationResistorEditor1.ZOrder" xml:space="preserve">
-    <value>10</value>
+    <value>11</value>
   </data>
   <data name="comboBoxEditAddress.Location" type="System.Drawing.Point, System.Drawing">
-    <value>87, 82</value>
+    <value>101, 84</value>
   </data>
   <data name="comboBoxEditAddress.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
   </data>
   <data name="comboBoxEditAddress.Size" type="System.Drawing.Size, System.Drawing">
-    <value>281, 20</value>
+    <value>250, 20</value>
   </data>
   <data name="comboBoxEditAddress.TabIndex" type="System.Int32, mscorlib">
     <value>5</value>
@@ -532,13 +481,13 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxEditAddress.ZOrder" xml:space="preserve">
-    <value>11</value>
+    <value>12</value>
   </data>
   <data name="textEdit1.Location" type="System.Drawing.Point, System.Drawing">
-    <value>87, 58</value>
+    <value>101, 60</value>
   </data>
   <data name="textEdit1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>281, 20</value>
+    <value>250, 20</value>
   </data>
   <data name="textEdit1.TabIndex" type="System.Int32, mscorlib">
     <value>4</value>
@@ -553,7 +502,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;textEdit1.ZOrder" xml:space="preserve">
-    <value>12</value>
+    <value>13</value>
   </data>
   <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   <data name="layoutControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
@@ -565,30 +514,6 @@
   <data name="layoutControlGroup1.CustomizationFormText" xml:space="preserve">
     <value>layoutControlGroup1</value>
   </data>
-  <data name="layoutControlGroup1.Text" xml:space="preserve">
-    <value>layoutControlGroup1</value>
-  </data>
-  <data name="layoutControl1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>382, 400</value>
-  </data>
-  <data name="layoutControl1.TabIndex" type="System.Int32, mscorlib">
-    <value>0</value>
-  </data>
-  <data name="layoutControl1.Text" xml:space="preserve">
-    <value>layoutControl1</value>
-  </data>
-  <data name="&gt;&gt;layoutControl1.Name" xml:space="preserve">
-    <value>layoutControl1</value>
-  </data>
-  <data name="&gt;&gt;layoutControl1.Type" xml:space="preserve">
-    <value>DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
-  </data>
-  <data name="&gt;&gt;layoutControl1.Parent" xml:space="preserve">
-    <value>RightPanel</value>
-  </data>
-  <data name="&gt;&gt;layoutControl1.ZOrder" xml:space="preserve">
-    <value>0</value>
-  </data>
   <data name="tabbedControlGroup1.CustomizationFormText" xml:space="preserve">
     <value>tabbedControlGroup1</value>
   </data>
@@ -595,12 +520,6 @@
   <data name="layoutControlGroup2.CustomizationFormText" xml:space="preserve">
     <value>General</value>
   </data>
-  <data name="layoutControlGroup2.Text" xml:space="preserve">
-    <value>General</value>
-  </data>
-  <data name="tabbedControlGroup1.Text" xml:space="preserve">
-    <value>tabbedControlGroup1</value>
-  </data>
   <data name="layoutControlItem1.CustomizationFormText" xml:space="preserve">
     <value>Name</value>
   </data>
@@ -628,9 +547,6 @@
   <data name="layoutControlGroup4.CustomizationFormText" xml:space="preserve">
     <value>Peripheral</value>
   </data>
-  <data name="layoutControlGroup4.Text" xml:space="preserve">
-    <value>Peripheral</value>
-  </data>
   <data name="layoutControlItemCommFailureOld.CustomizationFormText" xml:space="preserve">
     <value>Comm Failure</value>
   </data>
@@ -655,6 +571,9 @@
   <data name="layoutControlItemCoverContact.Text" xml:space="preserve">
     <value>Cover Contact</value>
   </data>
+  <data name="layoutControlGroup4.Text" xml:space="preserve">
+    <value>Peripheral</value>
+  </data>
   <data name="layoutControlItem5.CustomizationFormText" xml:space="preserve">
     <value>Type</value>
   </data>
@@ -667,6 +586,111 @@
   <data name="emptySpaceItem1.Text" xml:space="preserve">
     <value>emptySpaceItem1</value>
   </data>
+  <data name="layoutControlItem4.CustomizationFormText" xml:space="preserve">
+    <value>DatapointNumber</value>
+  </data>
+  <data name="layoutControlItem4.Text" xml:space="preserve">
+    <value>DatapointNumber</value>
+  </data>
+  <data name="layoutControlGroup2.Text" xml:space="preserve">
+    <value>General</value>
+  </data>
+  <data name="tabbedControlGroup1.Text" xml:space="preserve">
+    <value>tabbedControlGroup1</value>
+  </data>
+  <data name="layoutControlGroup1.Text" xml:space="preserve">
+    <value>layoutControlGroup1</value>
+  </data>
+  <data name="layoutControl1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>382, 400</value>
+  </data>
+  <data name="layoutControl1.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="layoutControl1.Text" xml:space="preserve">
+    <value>layoutControl1</value>
+  </data>
+  <data name="&gt;&gt;layoutControl1.Name" xml:space="preserve">
+    <value>layoutControl1</value>
+  </data>
+  <data name="&gt;&gt;layoutControl1.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;layoutControl1.Parent" xml:space="preserve">
+    <value>RightPanel</value>
+  </data>
+  <data name="&gt;&gt;layoutControl1.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="RightPanel.Size" type="System.Drawing.Size, System.Drawing">
+    <value>382, 400</value>
+  </data>
+  <data name="&gt;&gt;RightPanel.Name" xml:space="preserve">
+    <value>RightPanel</value>
+  </data>
+  <data name="&gt;&gt;RightPanel.Type" xml:space="preserve">
+    <value>DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;RightPanel.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;RightPanel.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <metadata name="internalDataStore.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>457, 17</value>
+  </metadata>
+  <metadata name="DataChangedTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>762, 17</value>
+  </metadata>
+  <data name="&gt;&gt;AddButton.Name" xml:space="preserve">
+    <value>AddButton</value>
+  </data>
+  <data name="&gt;&gt;AddButton.Type" xml:space="preserve">
+    <value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;AddButton.Parent" xml:space="preserve">
+    <value>panelWithButtons</value>
+  </data>
+  <data name="&gt;&gt;AddButton.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;DelButton.Name" xml:space="preserve">
+    <value>DelButton</value>
+  </data>
+  <data name="&gt;&gt;DelButton.Type" xml:space="preserve">
+    <value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;DelButton.Parent" xml:space="preserve">
+    <value>panelWithButtons</value>
+  </data>
+  <data name="&gt;&gt;DelButton.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="&gt;&gt;SaveButton.Name" xml:space="preserve">
+    <value>SaveButton</value>
+  </data>
+  <data name="&gt;&gt;SaveButton.Type" xml:space="preserve">
+    <value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;SaveButton.Parent" xml:space="preserve">
+    <value>panelWithButtons</value>
+  </data>
+  <data name="&gt;&gt;SaveButton.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="&gt;&gt;UndoButton.Name" xml:space="preserve">
+    <value>UndoButton</value>
+  </data>
+  <data name="&gt;&gt;UndoButton.Type" xml:space="preserve">
+    <value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;UndoButton.Parent" xml:space="preserve">
+    <value>panelWithButtons</value>
+  </data>
+  <data name="&gt;&gt;UndoButton.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
   <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
@@ -692,7 +716,7 @@
     <value>internalDataStore</value>
   </data>
   <data name="&gt;&gt;internalDataStore.Type" xml:space="preserve">
-    <value>Honeywell.MBEMEA.ConfigApp.Data.InternalDataStore, ConfigApp.Data, Version=0.0.3.1, Culture=neutral, PublicKeyToken=null</value>
+    <value>Honeywell.MBEMEA.ConfigApp.Data.InternalDataStore, ConfigApp.Data, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null</value>
   </data>
   <data name="&gt;&gt;MainBindingSource.Name" xml:space="preserve">
     <value>MainBindingSource</value>
@@ -790,10 +814,16 @@
   <data name="&gt;&gt;emptySpaceItem1.Type" xml:space="preserve">
     <value>DevExpress.XtraLayout.EmptySpaceItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
   </data>
+  <data name="&gt;&gt;layoutControlItem4.Name" xml:space="preserve">
+    <value>layoutControlItem4</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem4.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
   <data name="&gt;&gt;$this.Name" xml:space="preserve">
     <value>Bus2DoorGuardDetail</value>
   </data>
   <data name="&gt;&gt;$this.Type" xml:space="preserve">
-    <value>Honeywell.MBEMEA.ConfigApp.Views.Hardware.HardwareTreeDetails.HardwareDevices.BaseBus2DeviceDetail, ConfigApp, Version=0.0.3.1, Culture=neutral, PublicKeyToken=null</value>
+    <value>Honeywell.MBEMEA.ConfigApp.Views.Hardware.HardwareTreeDetails.HardwareDevices.BaseBus2DeviceDetail, ConfigApp, Version=0.3.0.1, Culture=neutral, PublicKeyToken=null</value>
   </data>
 </root>
\ No newline at end of file
Index: ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2IdentKey3Detail.cs
===================================================================
--- ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2IdentKey3Detail.cs	(revision 3199)
+++ ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2IdentKey3Detail.cs	(working copy)
@@ -1,16 +1,8 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Drawing;
+using Honeywell.MBEMEA.ConfigApp.Data;
+using Honeywell.MBEMEA.ConfigApp.Logic;
+using System;
 using System.Data;
-using System.Text;
-using System.Windows.Forms;
-using DevExpress.XtraEditors;
-using Honeywell.MBEMEA.ConfigApp.Data;
-using Honeywell.MBEMEA.ConfigApp.Logic;
-using Honeywell.MBEMEA.ConfigApp.Templates;
-using Honeywell.MBEMEA.ConfigApp.Wizards;
-using System.Diagnostics;
+using System.Linq;
 
 namespace Honeywell.MBEMEA.ConfigApp.Views.Hardware.HardwareTreeDetails.HardwareDevices
 {
@@ -83,6 +75,62 @@
    }
   }
 
+  private void MainBindingSource_CurrentChanged(object sender, EventArgs e)
+  {
+      var currView = MainBindingSource.Current as DataRowView;
+      if (currView != null)
+      {
+          var currRow = currView.Row as InternalDataSet.HWBus2Identkey3Row;
+          if (currRow != null && currRow.IsDoorDatapointNumberNull())
+          {
+              int val = (int)spinEditDatapointNumber.Properties.MinValue;
+              while (
+                  InternalDataStore.DataSet.HWBus2Identkey3.Count(
+                      p => !p.IsDoorDatapointNumberNull() && p.DoorDatapointNumber == val) > 0 &&
+                  InternalDataStore.DataSet.HWBus2DoorGuard.Count(
+                      p => !p.IsDoorDatapointNumberNull() && p.DoorDatapointNumber == val) > 0 &&
+                  val <= spinEditDatapointNumber.Properties.MaxValue)
+              {
+                  val++;
+              }
+              currRow.DoorDatapointNumber = val;
+              currRow.AcceptChanges();
+          }
+      }
+  }
+
+  private void spinEditDatapointNumber_Leave(object sender, EventArgs e)
+  {
+      if (spinEditDatapointNumber.EditValue == null)
+          return;
+
+      int val = (int)spinEditDatapointNumber.Value;
+      if (InternalDataStore.DataSet.HWBus2DoorGuard.Count(p => p.DoorDatapointNumber == val) +
+          InternalDataStore.DataSet.HWBus2Identkey3.Count(p => p.DoorDatapointNumber == val) == 1)
+      {
+          // If value is unique, do not do anything else
+          return;
+      }
+
+      bool modified = true;
+      val = (int)spinEditDatapointNumber.Properties.MinValue;
+      while ((InternalDataStore.DataSet.Macro.Count(p => p.DatapointNumber == val) +
+              InternalDataStore.DataSet.HWBus2Identkey3.Count(p => p.DoorDatapointNumber == val) > 0) &&
+             val <= spinEditDatapointNumber.Properties.MaxValue)
+      {
+          val++;
+      }
+      if (val > spinEditDatapointNumber.Properties.MaxValue)
+      {
+          // Do not modify if out of range
+          modified = false;
+      }
+      if (modified)
+      {
+          spinEditDatapointNumber.Value = val;
+      }
+  }
+
  }
 }
 
Index: ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2IdentKey3Detail.Designer.cs
===================================================================
--- ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2IdentKey3Detail.Designer.cs	(revision 3199)
+++ ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2IdentKey3Detail.Designer.cs	(working copy)
@@ -28,185 +28,191 @@
         /// </summary>
         private void InitializeComponent()
         {
-   System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Bus2IdentKey3Detail));
-   this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
-   this.checkEditCoverContact = new DevExpress.XtraEditors.CheckEdit();
-   this.checkEditCommFailure = new DevExpress.XtraEditors.CheckEdit();
-   this.imageComboBoxEditFirmwareIncompatible = new DevExpress.XtraEditors.ImageComboBoxEdit();
-   this.imageComboBoxEditBootLoader = new DevExpress.XtraEditors.ImageComboBoxEdit();
-   this.comboBoxCoverContact = new DevExpress.XtraEditors.ImageComboBoxEdit();
-   this.comboBoxCommFailure = new DevExpress.XtraEditors.ImageComboBoxEdit();
-   this.TypeTextEdit = new DevExpress.XtraEditors.TextEdit();
-   this.DoorBellCheckEdit = new DevExpress.XtraEditors.CheckEdit();
-   this.SPECheckEdit = new DevExpress.XtraEditors.CheckEdit();
-   this.SLDetectionCheckEdit = new DevExpress.XtraEditors.CheckEdit();
-   this.SLEvaluationCheckEdit = new DevExpress.XtraEditors.CheckEdit();
-   this.SLActiveCheckEdit = new DevExpress.XtraEditors.CheckEdit();
-   this.RoomPopUp = new Honeywell.MBEMEA.ConfigApp.CustomControls.FacilityPopUp();
-   this.comboBoxEditAddress = new DevExpress.XtraEditors.ComboBoxEdit();
-   this.textEdit1 = new DevExpress.XtraEditors.TextEdit();
-   this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
-   this.tabbedControlGroup1 = new DevExpress.XtraLayout.TabbedControlGroup();
-   this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
-   this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
-   this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
-   this.RoomLayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
-   this.SLLayoutControlGroup = new DevExpress.XtraLayout.LayoutControlGroup();
-   this.SLDetectionLayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
-   this.SLEvaluationLayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
-   this.SLActiveLayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
-   this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
-   this.SPELayoutControlGroup = new DevExpress.XtraLayout.LayoutControlGroup();
-   this.SPELayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
-   this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup();
-   this.layoutControlItemCommFailureOld = new DevExpress.XtraLayout.LayoutControlItem();
-   this.layoutControlItemCoverContactOld = new DevExpress.XtraLayout.LayoutControlItem();
-   this.layoutControlItemBootLoader = new DevExpress.XtraLayout.LayoutControlItem();
-   this.layoutControlItemFirmwareIncompatible = new DevExpress.XtraLayout.LayoutControlItem();
-   this.layoutControlItemCommFailure = new DevExpress.XtraLayout.LayoutControlItem();
-   this.layoutControlItemCoverContact = new DevExpress.XtraLayout.LayoutControlItem();
-   this.TypeLayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
-   this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
-   this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup();
-   this.DoorBellLayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
-   ((System.ComponentModel.ISupportInitialize)(this.HardwareDeviceBindingSource)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.VirtualPeripheralBindingSource)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.RightPanel)).BeginInit();
-   this.RightPanel.SuspendLayout();
-   ((System.ComponentModel.ISupportInitialize)(this.MainBindingSource)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
-   this.layoutControl1.SuspendLayout();
-   ((System.ComponentModel.ISupportInitialize)(this.checkEditCoverContact.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.checkEditCommFailure.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.imageComboBoxEditFirmwareIncompatible.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.imageComboBoxEditBootLoader.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.comboBoxCoverContact.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.comboBoxCommFailure.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.TypeTextEdit.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.DoorBellCheckEdit.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SPECheckEdit.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SLDetectionCheckEdit.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SLEvaluationCheckEdit.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SLActiveCheckEdit.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.RoomPopUp.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.comboBoxEditAddress.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.textEdit1.Properties)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup1)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.RoomLayoutControlItem)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SLLayoutControlGroup)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SLDetectionLayoutControlItem)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SLEvaluationLayoutControlItem)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SLActiveLayoutControlItem)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SPELayoutControlGroup)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SPELayoutControlItem)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailureOld)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContactOld)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemBootLoader)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemFirmwareIncompatible)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailure)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContact)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.TypeLayoutControlItem)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit();
-   ((System.ComponentModel.ISupportInitialize)(this.DoorBellLayoutControlItem)).BeginInit();
-   this.SuspendLayout();
-   // 
-   // RightPanel
-   // 
-   this.RightPanel.Controls.Add(this.layoutControl1);
-   resources.ApplyResources(this.RightPanel, "RightPanel");
-   // 
-   // MainBindingSource
-   // 
-   this.MainBindingSource.DataMember = "HWBus2IdentKey3";
-   this.MainBindingSource.Position = -1;
-   // 
-   // layoutControl1
-   // 
-   this.layoutControl1.AllowCustomizationMenu = false;
-   this.layoutControl1.Controls.Add(this.checkEditCoverContact);
-   this.layoutControl1.Controls.Add(this.checkEditCommFailure);
-   this.layoutControl1.Controls.Add(this.imageComboBoxEditFirmwareIncompatible);
-   this.layoutControl1.Controls.Add(this.imageComboBoxEditBootLoader);
-   this.layoutControl1.Controls.Add(this.comboBoxCoverContact);
-   this.layoutControl1.Controls.Add(this.comboBoxCommFailure);
-   this.layoutControl1.Controls.Add(this.TypeTextEdit);
-   this.layoutControl1.Controls.Add(this.DoorBellCheckEdit);
-   this.layoutControl1.Controls.Add(this.SPECheckEdit);
-   this.layoutControl1.Controls.Add(this.SLDetectionCheckEdit);
-   this.layoutControl1.Controls.Add(this.SLEvaluationCheckEdit);
-   this.layoutControl1.Controls.Add(this.SLActiveCheckEdit);
-   this.layoutControl1.Controls.Add(this.RoomPopUp);
-   this.layoutControl1.Controls.Add(this.comboBoxEditAddress);
-   this.layoutControl1.Controls.Add(this.textEdit1);
-   resources.ApplyResources(this.layoutControl1, "layoutControl1");
-   this.layoutControl1.Name = "layoutControl1";
-   this.layoutControl1.Root = this.layoutControlGroup1;
-   // 
-   // checkEditCoverContact
-   // 
-   this.checkEditCoverContact.AutoSizeInLayoutControl = true;
-   this.checkEditCoverContact.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCoverContact", true));
-   resources.ApplyResources(this.checkEditCoverContact, "checkEditCoverContact");
-   this.checkEditCoverContact.Name = "checkEditCoverContact";
-   this.checkEditCoverContact.Properties.Caption = resources.GetString("checkEditCoverContact.Properties.Caption");
-   this.checkEditCoverContact.Properties.ValueChecked = "feAlways";
-   this.checkEditCoverContact.Properties.ValueUnchecked = "feNone";
-   this.checkEditCoverContact.StyleController = this.layoutControl1;
-   // 
-   // checkEditCommFailure
-   // 
-   this.checkEditCommFailure.AutoSizeInLayoutControl = true;
-   this.checkEditCommFailure.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCommFailure", true));
-   resources.ApplyResources(this.checkEditCommFailure, "checkEditCommFailure");
-   this.checkEditCommFailure.Name = "checkEditCommFailure";
-   this.checkEditCommFailure.Properties.Caption = resources.GetString("checkEditCommFailure.Properties.Caption");
-   this.checkEditCommFailure.Properties.ValueChecked = "feAlways";
-   this.checkEditCommFailure.Properties.ValueUnchecked = "feNone";
-   this.checkEditCommFailure.StyleController = this.layoutControl1;
-   // 
-   // imageComboBoxEditFirmwareIncompatible
-   // 
-   this.imageComboBoxEditFirmwareIncompatible.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feFirmwareIncompatible", true));
-   resources.ApplyResources(this.imageComboBoxEditFirmwareIncompatible, "imageComboBoxEditFirmwareIncompatible");
-   this.imageComboBoxEditFirmwareIncompatible.Name = "imageComboBoxEditFirmwareIncompatible";
-   this.imageComboBoxEditFirmwareIncompatible.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Bus2IdentKey3Detail));
+            this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            this.checkEditCoverContact = new DevExpress.XtraEditors.CheckEdit();
+            this.checkEditCommFailure = new DevExpress.XtraEditors.CheckEdit();
+            this.imageComboBoxEditFirmwareIncompatible = new DevExpress.XtraEditors.ImageComboBoxEdit();
+            this.imageComboBoxEditBootLoader = new DevExpress.XtraEditors.ImageComboBoxEdit();
+            this.comboBoxCoverContact = new DevExpress.XtraEditors.ImageComboBoxEdit();
+            this.comboBoxCommFailure = new DevExpress.XtraEditors.ImageComboBoxEdit();
+            this.TypeTextEdit = new DevExpress.XtraEditors.TextEdit();
+            this.DoorBellCheckEdit = new DevExpress.XtraEditors.CheckEdit();
+            this.SPECheckEdit = new DevExpress.XtraEditors.CheckEdit();
+            this.SLDetectionCheckEdit = new DevExpress.XtraEditors.CheckEdit();
+            this.SLEvaluationCheckEdit = new DevExpress.XtraEditors.CheckEdit();
+            this.SLActiveCheckEdit = new DevExpress.XtraEditors.CheckEdit();
+            this.RoomPopUp = new Honeywell.MBEMEA.ConfigApp.CustomControls.FacilityPopUp();
+            this.comboBoxEditAddress = new DevExpress.XtraEditors.ComboBoxEdit();
+            this.textEdit1 = new DevExpress.XtraEditors.TextEdit();
+            this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.tabbedControlGroup1 = new DevExpress.XtraLayout.TabbedControlGroup();
+            this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.RoomLayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
+            this.SLLayoutControlGroup = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.SLDetectionLayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
+            this.SLEvaluationLayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
+            this.SLActiveLayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
+            this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
+            this.SPELayoutControlGroup = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.SPELayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.layoutControlItemCommFailureOld = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItemCoverContactOld = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItemBootLoader = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItemFirmwareIncompatible = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItemCommFailure = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItemCoverContact = new DevExpress.XtraLayout.LayoutControlItem();
+            this.TypeLayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
+            this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
+            this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.DoorBellLayoutControlItem = new DevExpress.XtraLayout.LayoutControlItem();
+            this.spinEditDatapointNumber = new DevExpress.XtraEditors.SpinEdit();
+            this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
+            ((System.ComponentModel.ISupportInitialize)(this.HardwareDeviceBindingSource)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.VirtualPeripheralBindingSource)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.RightPanel)).BeginInit();
+            this.RightPanel.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.MainBindingSource)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
+            this.layoutControl1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.checkEditCoverContact.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.checkEditCommFailure.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.imageComboBoxEditFirmwareIncompatible.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.imageComboBoxEditBootLoader.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.comboBoxCoverContact.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.comboBoxCommFailure.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.TypeTextEdit.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.DoorBellCheckEdit.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SPECheckEdit.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SLDetectionCheckEdit.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SLEvaluationCheckEdit.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SLActiveCheckEdit.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.RoomPopUp.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.comboBoxEditAddress.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.textEdit1.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.RoomLayoutControlItem)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SLLayoutControlGroup)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SLDetectionLayoutControlItem)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SLEvaluationLayoutControlItem)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SLActiveLayoutControlItem)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SPELayoutControlGroup)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SPELayoutControlItem)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailureOld)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContactOld)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemBootLoader)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemFirmwareIncompatible)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailure)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContact)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.TypeLayoutControlItem)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.DoorBellLayoutControlItem)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.spinEditDatapointNumber.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // RightPanel
+            // 
+            this.RightPanel.Controls.Add(this.layoutControl1);
+            resources.ApplyResources(this.RightPanel, "RightPanel");
+            // 
+            // MainBindingSource
+            // 
+            this.MainBindingSource.DataMember = "HWBus2IdentKey3";
+            this.MainBindingSource.Position = -1;
+            this.MainBindingSource.CurrentChanged += new System.EventHandler(this.MainBindingSource_CurrentChanged);
+            // 
+            // layoutControl1
+            // 
+            this.layoutControl1.AllowCustomizationMenu = false;
+            this.layoutControl1.Controls.Add(this.spinEditDatapointNumber);
+            this.layoutControl1.Controls.Add(this.checkEditCoverContact);
+            this.layoutControl1.Controls.Add(this.checkEditCommFailure);
+            this.layoutControl1.Controls.Add(this.imageComboBoxEditFirmwareIncompatible);
+            this.layoutControl1.Controls.Add(this.imageComboBoxEditBootLoader);
+            this.layoutControl1.Controls.Add(this.comboBoxCoverContact);
+            this.layoutControl1.Controls.Add(this.comboBoxCommFailure);
+            this.layoutControl1.Controls.Add(this.TypeTextEdit);
+            this.layoutControl1.Controls.Add(this.DoorBellCheckEdit);
+            this.layoutControl1.Controls.Add(this.SPECheckEdit);
+            this.layoutControl1.Controls.Add(this.SLDetectionCheckEdit);
+            this.layoutControl1.Controls.Add(this.SLEvaluationCheckEdit);
+            this.layoutControl1.Controls.Add(this.SLActiveCheckEdit);
+            this.layoutControl1.Controls.Add(this.RoomPopUp);
+            this.layoutControl1.Controls.Add(this.comboBoxEditAddress);
+            this.layoutControl1.Controls.Add(this.textEdit1);
+            resources.ApplyResources(this.layoutControl1, "layoutControl1");
+            this.layoutControl1.Name = "layoutControl1";
+            this.layoutControl1.Root = this.layoutControlGroup1;
+            // 
+            // checkEditCoverContact
+            // 
+            this.checkEditCoverContact.AutoSizeInLayoutControl = true;
+            this.checkEditCoverContact.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCoverContact", true));
+            resources.ApplyResources(this.checkEditCoverContact, "checkEditCoverContact");
+            this.checkEditCoverContact.Name = "checkEditCoverContact";
+            this.checkEditCoverContact.Properties.Caption = resources.GetString("checkEditCoverContact.Properties.Caption");
+            this.checkEditCoverContact.Properties.ValueChecked = "feAlways";
+            this.checkEditCoverContact.Properties.ValueUnchecked = "feNone";
+            this.checkEditCoverContact.StyleController = this.layoutControl1;
+            // 
+            // checkEditCommFailure
+            // 
+            this.checkEditCommFailure.AutoSizeInLayoutControl = true;
+            this.checkEditCommFailure.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCommFailure", true));
+            resources.ApplyResources(this.checkEditCommFailure, "checkEditCommFailure");
+            this.checkEditCommFailure.Name = "checkEditCommFailure";
+            this.checkEditCommFailure.Properties.Caption = resources.GetString("checkEditCommFailure.Properties.Caption");
+            this.checkEditCommFailure.Properties.ValueChecked = "feAlways";
+            this.checkEditCommFailure.Properties.ValueUnchecked = "feNone";
+            this.checkEditCommFailure.StyleController = this.layoutControl1;
+            // 
+            // imageComboBoxEditFirmwareIncompatible
+            // 
+            this.imageComboBoxEditFirmwareIncompatible.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feFirmwareIncompatible", true));
+            resources.ApplyResources(this.imageComboBoxEditFirmwareIncompatible, "imageComboBoxEditFirmwareIncompatible");
+            this.imageComboBoxEditFirmwareIncompatible.Name = "imageComboBoxEditFirmwareIncompatible";
+            this.imageComboBoxEditFirmwareIncompatible.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
             new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("imageComboBoxEditFirmwareIncompatible.Properties.Buttons"))))});
-   this.imageComboBoxEditFirmwareIncompatible.Properties.Items.AddRange(new DevExpress.XtraEditors.Controls.ImageComboBoxItem[] {
+            this.imageComboBoxEditFirmwareIncompatible.Properties.Items.AddRange(new DevExpress.XtraEditors.Controls.ImageComboBoxItem[] {
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("imageComboBoxEditFirmwareIncompatible.Properties.Items"), resources.GetString("imageComboBoxEditFirmwareIncompatible.Properties.Items1"), ((int)(resources.GetObject("imageComboBoxEditFirmwareIncompatible.Properties.Items2")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("imageComboBoxEditFirmwareIncompatible.Properties.Items3"), resources.GetString("imageComboBoxEditFirmwareIncompatible.Properties.Items4"), ((int)(resources.GetObject("imageComboBoxEditFirmwareIncompatible.Properties.Items5")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("imageComboBoxEditFirmwareIncompatible.Properties.Items6"), resources.GetString("imageComboBoxEditFirmwareIncompatible.Properties.Items7"), ((int)(resources.GetObject("imageComboBoxEditFirmwareIncompatible.Properties.Items8")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("imageComboBoxEditFirmwareIncompatible.Properties.Items9"), resources.GetString("imageComboBoxEditFirmwareIncompatible.Properties.Items10"), ((int)(resources.GetObject("imageComboBoxEditFirmwareIncompatible.Properties.Items11"))))});
-   this.imageComboBoxEditFirmwareIncompatible.StyleController = this.layoutControl1;
-   // 
-   // imageComboBoxEditBootLoader
-   // 
-   this.imageComboBoxEditBootLoader.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feBootloader", true));
-   resources.ApplyResources(this.imageComboBoxEditBootLoader, "imageComboBoxEditBootLoader");
-   this.imageComboBoxEditBootLoader.Name = "imageComboBoxEditBootLoader";
-   this.imageComboBoxEditBootLoader.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            this.imageComboBoxEditFirmwareIncompatible.StyleController = this.layoutControl1;
+            // 
+            // imageComboBoxEditBootLoader
+            // 
+            this.imageComboBoxEditBootLoader.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feBootloader", true));
+            resources.ApplyResources(this.imageComboBoxEditBootLoader, "imageComboBoxEditBootLoader");
+            this.imageComboBoxEditBootLoader.Name = "imageComboBoxEditBootLoader";
+            this.imageComboBoxEditBootLoader.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
             new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("imageComboBoxEditBootLoader.Properties.Buttons"))))});
-   this.imageComboBoxEditBootLoader.Properties.Items.AddRange(new DevExpress.XtraEditors.Controls.ImageComboBoxItem[] {
+            this.imageComboBoxEditBootLoader.Properties.Items.AddRange(new DevExpress.XtraEditors.Controls.ImageComboBoxItem[] {
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("imageComboBoxEditBootLoader.Properties.Items"), resources.GetString("imageComboBoxEditBootLoader.Properties.Items1"), ((int)(resources.GetObject("imageComboBoxEditBootLoader.Properties.Items2")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("imageComboBoxEditBootLoader.Properties.Items3"), resources.GetString("imageComboBoxEditBootLoader.Properties.Items4"), ((int)(resources.GetObject("imageComboBoxEditBootLoader.Properties.Items5")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("imageComboBoxEditBootLoader.Properties.Items6"), resources.GetString("imageComboBoxEditBootLoader.Properties.Items7"), ((int)(resources.GetObject("imageComboBoxEditBootLoader.Properties.Items8")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("imageComboBoxEditBootLoader.Properties.Items9"), resources.GetString("imageComboBoxEditBootLoader.Properties.Items10"), ((int)(resources.GetObject("imageComboBoxEditBootLoader.Properties.Items11"))))});
-   this.imageComboBoxEditBootLoader.StyleController = this.layoutControl1;
-   // 
-   // comboBoxCoverContact
-   // 
-   this.comboBoxCoverContact.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCoverContact", true));
-   resources.ApplyResources(this.comboBoxCoverContact, "comboBoxCoverContact");
-   this.comboBoxCoverContact.Name = "comboBoxCoverContact";
-   this.comboBoxCoverContact.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            this.imageComboBoxEditBootLoader.StyleController = this.layoutControl1;
+            // 
+            // comboBoxCoverContact
+            // 
+            this.comboBoxCoverContact.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCoverContact", true));
+            resources.ApplyResources(this.comboBoxCoverContact, "comboBoxCoverContact");
+            this.comboBoxCoverContact.Name = "comboBoxCoverContact";
+            this.comboBoxCoverContact.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
             new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("comboBoxCoverContact.Properties.Buttons"))))});
-   this.comboBoxCoverContact.Properties.Items.AddRange(new DevExpress.XtraEditors.Controls.ImageComboBoxItem[] {
+            this.comboBoxCoverContact.Properties.Items.AddRange(new DevExpress.XtraEditors.Controls.ImageComboBoxItem[] {
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCoverContact.Properties.Items"), resources.GetString("comboBoxCoverContact.Properties.Items1"), ((int)(resources.GetObject("comboBoxCoverContact.Properties.Items2")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCoverContact.Properties.Items3"), resources.GetString("comboBoxCoverContact.Properties.Items4"), ((int)(resources.GetObject("comboBoxCoverContact.Properties.Items5")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCoverContact.Properties.Items6"), resources.GetString("comboBoxCoverContact.Properties.Items7"), ((int)(resources.GetObject("comboBoxCoverContact.Properties.Items8")))),
@@ -214,16 +220,16 @@
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCoverContact.Properties.Items12"), resources.GetString("comboBoxCoverContact.Properties.Items13"), ((int)(resources.GetObject("comboBoxCoverContact.Properties.Items14")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCoverContact.Properties.Items15"), resources.GetString("comboBoxCoverContact.Properties.Items16"), ((int)(resources.GetObject("comboBoxCoverContact.Properties.Items17")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCoverContact.Properties.Items18"), resources.GetString("comboBoxCoverContact.Properties.Items19"), ((int)(resources.GetObject("comboBoxCoverContact.Properties.Items20"))))});
-   this.comboBoxCoverContact.StyleController = this.layoutControl1;
-   // 
-   // comboBoxCommFailure
-   // 
-   this.comboBoxCommFailure.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCommFailure", true));
-   resources.ApplyResources(this.comboBoxCommFailure, "comboBoxCommFailure");
-   this.comboBoxCommFailure.Name = "comboBoxCommFailure";
-   this.comboBoxCommFailure.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            this.comboBoxCoverContact.StyleController = this.layoutControl1;
+            // 
+            // comboBoxCommFailure
+            // 
+            this.comboBoxCommFailure.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.VirtualPeripheralBindingSource, "feCommFailure", true));
+            resources.ApplyResources(this.comboBoxCommFailure, "comboBoxCommFailure");
+            this.comboBoxCommFailure.Name = "comboBoxCommFailure";
+            this.comboBoxCommFailure.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
             new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("comboBoxCommFailure.Properties.Buttons"))))});
-   this.comboBoxCommFailure.Properties.Items.AddRange(new DevExpress.XtraEditors.Controls.ImageComboBoxItem[] {
+            this.comboBoxCommFailure.Properties.Items.AddRange(new DevExpress.XtraEditors.Controls.ImageComboBoxItem[] {
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCommFailure.Properties.Items"), resources.GetString("comboBoxCommFailure.Properties.Items1"), ((int)(resources.GetObject("comboBoxCommFailure.Properties.Items2")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCommFailure.Properties.Items3"), resources.GetString("comboBoxCommFailure.Properties.Items4"), ((int)(resources.GetObject("comboBoxCommFailure.Properties.Items5")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCommFailure.Properties.Items6"), resources.GetString("comboBoxCommFailure.Properties.Items7"), ((int)(resources.GetObject("comboBoxCommFailure.Properties.Items8")))),
@@ -231,121 +237,121 @@
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCommFailure.Properties.Items12"), resources.GetString("comboBoxCommFailure.Properties.Items13"), ((int)(resources.GetObject("comboBoxCommFailure.Properties.Items14")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCommFailure.Properties.Items15"), resources.GetString("comboBoxCommFailure.Properties.Items16"), ((int)(resources.GetObject("comboBoxCommFailure.Properties.Items17")))),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem(resources.GetString("comboBoxCommFailure.Properties.Items18"), resources.GetString("comboBoxCommFailure.Properties.Items19"), ((int)(resources.GetObject("comboBoxCommFailure.Properties.Items20"))))});
-   this.comboBoxCommFailure.StyleController = this.layoutControl1;
-   // 
-   // TypeTextEdit
-   // 
-   this.TypeTextEdit.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "Type", true));
-   resources.ApplyResources(this.TypeTextEdit, "TypeTextEdit");
-   this.TypeTextEdit.Name = "TypeTextEdit";
-   this.TypeTextEdit.Properties.ReadOnly = true;
-   this.TypeTextEdit.StyleController = this.layoutControl1;
-   this.TypeTextEdit.FormatEditValue += new DevExpress.XtraEditors.Controls.ConvertEditValueEventHandler(this.TypeTextEdit_FormatEditValue);
-   this.TypeTextEdit.CustomDisplayText += new DevExpress.XtraEditors.Controls.CustomDisplayTextEventHandler(this.TypeTextEdit_CustomDisplayText);
-   // 
-   // DoorBellCheckEdit
-   // 
-   this.DoorBellCheckEdit.AutoSizeInLayoutControl = true;
-   this.DoorBellCheckEdit.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.MainBindingSource, "DoorBell", true));
-   resources.ApplyResources(this.DoorBellCheckEdit, "DoorBellCheckEdit");
-   this.DoorBellCheckEdit.Name = "DoorBellCheckEdit";
-   this.DoorBellCheckEdit.Properties.Caption = resources.GetString("DoorBellCheckEdit.Properties.Caption");
-   this.DoorBellCheckEdit.StyleController = this.layoutControl1;
-   // 
-   // SPECheckEdit
-   // 
-   this.SPECheckEdit.AutoSizeInLayoutControl = true;
-   this.SPECheckEdit.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.MainBindingSource, "SPE", true));
-   resources.ApplyResources(this.SPECheckEdit, "SPECheckEdit");
-   this.SPECheckEdit.Name = "SPECheckEdit";
-   this.SPECheckEdit.Properties.Caption = resources.GetString("SPECheckEdit.Properties.Caption");
-   this.SPECheckEdit.StyleController = this.layoutControl1;
-   // 
-   // SLDetectionCheckEdit
-   // 
-   this.SLDetectionCheckEdit.AutoSizeInLayoutControl = true;
-   this.SLDetectionCheckEdit.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.MainBindingSource, "SLDetection", true));
-   resources.ApplyResources(this.SLDetectionCheckEdit, "SLDetectionCheckEdit");
-   this.SLDetectionCheckEdit.Name = "SLDetectionCheckEdit";
-   this.SLDetectionCheckEdit.Properties.Caption = resources.GetString("SLDetectionCheckEdit.Properties.Caption");
-   this.SLDetectionCheckEdit.StyleController = this.layoutControl1;
-   // 
-   // SLEvaluationCheckEdit
-   // 
-   this.SLEvaluationCheckEdit.AutoSizeInLayoutControl = true;
-   this.SLEvaluationCheckEdit.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.MainBindingSource, "SLEvaluation", true));
-   resources.ApplyResources(this.SLEvaluationCheckEdit, "SLEvaluationCheckEdit");
-   this.SLEvaluationCheckEdit.Name = "SLEvaluationCheckEdit";
-   this.SLEvaluationCheckEdit.Properties.Caption = resources.GetString("SLEvaluationCheckEdit.Properties.Caption");
-   this.SLEvaluationCheckEdit.StyleController = this.layoutControl1;
-   // 
-   // SLActiveCheckEdit
-   // 
-   this.SLActiveCheckEdit.AutoSizeInLayoutControl = true;
-   this.SLActiveCheckEdit.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.MainBindingSource, "SLActive", true));
-   resources.ApplyResources(this.SLActiveCheckEdit, "SLActiveCheckEdit");
-   this.SLActiveCheckEdit.Name = "SLActiveCheckEdit";
-   this.SLActiveCheckEdit.Properties.Caption = resources.GetString("SLActiveCheckEdit.Properties.Caption");
-   this.SLActiveCheckEdit.StyleController = this.layoutControl1;
-   this.SLActiveCheckEdit.CheckedChanged += new System.EventHandler(this.SLActiveCheckEdit_CheckedChanged);
-   // 
-   // RoomPopUp
-   // 
-   this.RoomPopUp.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "RoomUID", true));
-   resources.ApplyResources(this.RoomPopUp, "RoomPopUp");
-   this.RoomPopUp.Name = "RoomPopUp";
-   this.RoomPopUp.Properties.Appearance.Options.UseTextOptions = true;
-   this.RoomPopUp.Properties.Appearance.TextOptions.Trimming = DevExpress.Utils.Trimming.EllipsisPath;
-   this.RoomPopUp.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            this.comboBoxCommFailure.StyleController = this.layoutControl1;
+            // 
+            // TypeTextEdit
+            // 
+            this.TypeTextEdit.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "Type", true));
+            resources.ApplyResources(this.TypeTextEdit, "TypeTextEdit");
+            this.TypeTextEdit.Name = "TypeTextEdit";
+            this.TypeTextEdit.Properties.ReadOnly = true;
+            this.TypeTextEdit.StyleController = this.layoutControl1;
+            this.TypeTextEdit.FormatEditValue += new DevExpress.XtraEditors.Controls.ConvertEditValueEventHandler(this.TypeTextEdit_FormatEditValue);
+            this.TypeTextEdit.CustomDisplayText += new DevExpress.XtraEditors.Controls.CustomDisplayTextEventHandler(this.TypeTextEdit_CustomDisplayText);
+            // 
+            // DoorBellCheckEdit
+            // 
+            this.DoorBellCheckEdit.AutoSizeInLayoutControl = true;
+            this.DoorBellCheckEdit.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.MainBindingSource, "DoorBell", true));
+            resources.ApplyResources(this.DoorBellCheckEdit, "DoorBellCheckEdit");
+            this.DoorBellCheckEdit.Name = "DoorBellCheckEdit";
+            this.DoorBellCheckEdit.Properties.Caption = resources.GetString("DoorBellCheckEdit.Properties.Caption");
+            this.DoorBellCheckEdit.StyleController = this.layoutControl1;
+            // 
+            // SPECheckEdit
+            // 
+            this.SPECheckEdit.AutoSizeInLayoutControl = true;
+            this.SPECheckEdit.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.MainBindingSource, "SPE", true));
+            resources.ApplyResources(this.SPECheckEdit, "SPECheckEdit");
+            this.SPECheckEdit.Name = "SPECheckEdit";
+            this.SPECheckEdit.Properties.Caption = resources.GetString("SPECheckEdit.Properties.Caption");
+            this.SPECheckEdit.StyleController = this.layoutControl1;
+            // 
+            // SLDetectionCheckEdit
+            // 
+            this.SLDetectionCheckEdit.AutoSizeInLayoutControl = true;
+            this.SLDetectionCheckEdit.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.MainBindingSource, "SLDetection", true));
+            resources.ApplyResources(this.SLDetectionCheckEdit, "SLDetectionCheckEdit");
+            this.SLDetectionCheckEdit.Name = "SLDetectionCheckEdit";
+            this.SLDetectionCheckEdit.Properties.Caption = resources.GetString("SLDetectionCheckEdit.Properties.Caption");
+            this.SLDetectionCheckEdit.StyleController = this.layoutControl1;
+            // 
+            // SLEvaluationCheckEdit
+            // 
+            this.SLEvaluationCheckEdit.AutoSizeInLayoutControl = true;
+            this.SLEvaluationCheckEdit.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.MainBindingSource, "SLEvaluation", true));
+            resources.ApplyResources(this.SLEvaluationCheckEdit, "SLEvaluationCheckEdit");
+            this.SLEvaluationCheckEdit.Name = "SLEvaluationCheckEdit";
+            this.SLEvaluationCheckEdit.Properties.Caption = resources.GetString("SLEvaluationCheckEdit.Properties.Caption");
+            this.SLEvaluationCheckEdit.StyleController = this.layoutControl1;
+            // 
+            // SLActiveCheckEdit
+            // 
+            this.SLActiveCheckEdit.AutoSizeInLayoutControl = true;
+            this.SLActiveCheckEdit.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.MainBindingSource, "SLActive", true));
+            resources.ApplyResources(this.SLActiveCheckEdit, "SLActiveCheckEdit");
+            this.SLActiveCheckEdit.Name = "SLActiveCheckEdit";
+            this.SLActiveCheckEdit.Properties.Caption = resources.GetString("SLActiveCheckEdit.Properties.Caption");
+            this.SLActiveCheckEdit.StyleController = this.layoutControl1;
+            this.SLActiveCheckEdit.CheckedChanged += new System.EventHandler(this.SLActiveCheckEdit_CheckedChanged);
+            // 
+            // RoomPopUp
+            // 
+            this.RoomPopUp.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "RoomUID", true));
+            resources.ApplyResources(this.RoomPopUp, "RoomPopUp");
+            this.RoomPopUp.Name = "RoomPopUp";
+            this.RoomPopUp.Properties.Appearance.Options.UseTextOptions = true;
+            this.RoomPopUp.Properties.Appearance.TextOptions.Trimming = DevExpress.Utils.Trimming.EllipsisPath;
+            this.RoomPopUp.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
             new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("RoomPopUp.Properties.Buttons"))))});
-   this.RoomPopUp.Properties.PopupFormSize = new System.Drawing.Size(361, 250);
-   this.RoomPopUp.StyleController = this.layoutControl1;
-   // 
-   // comboBoxEditAddress
-   // 
-   this.comboBoxEditAddress.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "Address", true));
-   resources.ApplyResources(this.comboBoxEditAddress, "comboBoxEditAddress");
-   this.comboBoxEditAddress.Name = "comboBoxEditAddress";
-   this.comboBoxEditAddress.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            this.RoomPopUp.Properties.PopupFormSize = new System.Drawing.Size(344, 250);
+            this.RoomPopUp.StyleController = this.layoutControl1;
+            // 
+            // comboBoxEditAddress
+            // 
+            this.comboBoxEditAddress.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "Address", true));
+            resources.ApplyResources(this.comboBoxEditAddress, "comboBoxEditAddress");
+            this.comboBoxEditAddress.Name = "comboBoxEditAddress";
+            this.comboBoxEditAddress.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
             new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("comboBoxEditAddress.Properties.Buttons"))))});
-   this.comboBoxEditAddress.StyleController = this.layoutControl1;
-   // 
-   // textEdit1
-   // 
-   this.textEdit1.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "Name", true));
-   resources.ApplyResources(this.textEdit1, "textEdit1");
-   this.textEdit1.Name = "textEdit1";
-   this.textEdit1.Properties.MaxLength = 50;
-   this.textEdit1.StyleController = this.layoutControl1;
-   // 
-   // layoutControlGroup1
-   // 
-   resources.ApplyResources(this.layoutControlGroup1, "layoutControlGroup1");
-   this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
-   this.layoutControlGroup1.GroupBordersVisible = false;
-   this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.comboBoxEditAddress.StyleController = this.layoutControl1;
+            // 
+            // textEdit1
+            // 
+            this.textEdit1.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.HardwareDeviceBindingSource, "Name", true));
+            resources.ApplyResources(this.textEdit1, "textEdit1");
+            this.textEdit1.Name = "textEdit1";
+            this.textEdit1.Properties.MaxLength = 50;
+            this.textEdit1.StyleController = this.layoutControl1;
+            // 
+            // layoutControlGroup1
+            // 
+            resources.ApplyResources(this.layoutControlGroup1, "layoutControlGroup1");
+            this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
+            this.layoutControlGroup1.GroupBordersVisible = false;
+            this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
             this.tabbedControlGroup1});
-   this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
-   this.layoutControlGroup1.Name = "layoutControlGroup1";
-   this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-   this.layoutControlGroup1.Size = new System.Drawing.Size(552, 480);
-   this.layoutControlGroup1.TextVisible = false;
-   // 
-   // tabbedControlGroup1
-   // 
-   resources.ApplyResources(this.tabbedControlGroup1, "tabbedControlGroup1");
-   this.tabbedControlGroup1.Location = new System.Drawing.Point(0, 0);
-   this.tabbedControlGroup1.Name = "tabbedControlGroup1";
-   this.tabbedControlGroup1.SelectedTabPage = this.layoutControlGroup2;
-   this.tabbedControlGroup1.SelectedTabPageIndex = 0;
-   this.tabbedControlGroup1.Size = new System.Drawing.Size(552, 480);
-   this.tabbedControlGroup1.TabPages.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlGroup1.Name = "layoutControlGroup1";
+            this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            this.layoutControlGroup1.Size = new System.Drawing.Size(535, 495);
+            this.layoutControlGroup1.TextVisible = false;
+            // 
+            // tabbedControlGroup1
+            // 
+            resources.ApplyResources(this.tabbedControlGroup1, "tabbedControlGroup1");
+            this.tabbedControlGroup1.Location = new System.Drawing.Point(0, 0);
+            this.tabbedControlGroup1.Name = "tabbedControlGroup1";
+            this.tabbedControlGroup1.SelectedTabPage = this.layoutControlGroup2;
+            this.tabbedControlGroup1.SelectedTabPageIndex = 0;
+            this.tabbedControlGroup1.Size = new System.Drawing.Size(535, 495);
+            this.tabbedControlGroup1.TabPages.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
             this.layoutControlGroup2});
-   // 
-   // layoutControlGroup2
-   // 
-   resources.ApplyResources(this.layoutControlGroup2, "layoutControlGroup2");
-   this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            // 
+            // layoutControlGroup2
+            // 
+            resources.ApplyResources(this.layoutControlGroup2, "layoutControlGroup2");
+            this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
             this.layoutControlItem1,
             this.layoutControlItem2,
             this.RoomLayoutControlItem,
@@ -354,114 +360,115 @@
             this.layoutControlGroup4,
             this.TypeLayoutControlItem,
             this.emptySpaceItem2,
-            this.layoutControlGroup3});
-   this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0);
-   this.layoutControlGroup2.Name = "layoutControlGroup2";
-   this.layoutControlGroup2.Size = new System.Drawing.Size(528, 436);
-   // 
-   // layoutControlItem1
-   // 
-   this.layoutControlItem1.Control = this.textEdit1;
-   resources.ApplyResources(this.layoutControlItem1, "layoutControlItem1");
-   this.layoutControlItem1.Location = new System.Drawing.Point(0, 24);
-   this.layoutControlItem1.Name = "layoutControlItem1";
-   this.layoutControlItem1.Size = new System.Drawing.Size(528, 24);
-   this.layoutControlItem1.TextSize = new System.Drawing.Size(160, 13);
-   // 
-   // layoutControlItem2
-   // 
-   this.layoutControlItem2.Control = this.comboBoxEditAddress;
-   resources.ApplyResources(this.layoutControlItem2, "layoutControlItem2");
-   this.layoutControlItem2.Location = new System.Drawing.Point(0, 48);
-   this.layoutControlItem2.Name = "layoutControlItem2";
-   this.layoutControlItem2.Size = new System.Drawing.Size(528, 24);
-   this.layoutControlItem2.TextSize = new System.Drawing.Size(160, 13);
-   // 
-   // RoomLayoutControlItem
-   // 
-   this.RoomLayoutControlItem.Control = this.RoomPopUp;
-   resources.ApplyResources(this.RoomLayoutControlItem, "RoomLayoutControlItem");
-   this.RoomLayoutControlItem.Location = new System.Drawing.Point(0, 72);
-   this.RoomLayoutControlItem.Name = "RoomLayoutControlItem";
-   this.RoomLayoutControlItem.Size = new System.Drawing.Size(528, 24);
-   this.RoomLayoutControlItem.TextSize = new System.Drawing.Size(160, 13);
-   // 
-   // SLLayoutControlGroup
-   // 
-   resources.ApplyResources(this.SLLayoutControlGroup, "SLLayoutControlGroup");
-   this.SLLayoutControlGroup.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.layoutControlGroup3,
+            this.layoutControlItem3});
+            this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlGroup2.Name = "layoutControlGroup2";
+            this.layoutControlGroup2.Size = new System.Drawing.Size(511, 449);
+            // 
+            // layoutControlItem1
+            // 
+            this.layoutControlItem1.Control = this.textEdit1;
+            resources.ApplyResources(this.layoutControlItem1, "layoutControlItem1");
+            this.layoutControlItem1.Location = new System.Drawing.Point(0, 24);
+            this.layoutControlItem1.Name = "layoutControlItem1";
+            this.layoutControlItem1.Size = new System.Drawing.Size(511, 24);
+            this.layoutControlItem1.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // layoutControlItem2
+            // 
+            this.layoutControlItem2.Control = this.comboBoxEditAddress;
+            resources.ApplyResources(this.layoutControlItem2, "layoutControlItem2");
+            this.layoutControlItem2.Location = new System.Drawing.Point(0, 48);
+            this.layoutControlItem2.Name = "layoutControlItem2";
+            this.layoutControlItem2.Size = new System.Drawing.Size(511, 24);
+            this.layoutControlItem2.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // RoomLayoutControlItem
+            // 
+            this.RoomLayoutControlItem.Control = this.RoomPopUp;
+            resources.ApplyResources(this.RoomLayoutControlItem, "RoomLayoutControlItem");
+            this.RoomLayoutControlItem.Location = new System.Drawing.Point(0, 72);
+            this.RoomLayoutControlItem.Name = "RoomLayoutControlItem";
+            this.RoomLayoutControlItem.Size = new System.Drawing.Size(511, 24);
+            this.RoomLayoutControlItem.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // SLLayoutControlGroup
+            // 
+            resources.ApplyResources(this.SLLayoutControlGroup, "SLLayoutControlGroup");
+            this.SLLayoutControlGroup.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
             this.SLDetectionLayoutControlItem,
             this.SLEvaluationLayoutControlItem,
             this.SLActiveLayoutControlItem,
             this.emptySpaceItem1});
-   this.SLLayoutControlGroup.Location = new System.Drawing.Point(0, 221);
-   this.SLLayoutControlGroup.Name = "SLLayoutControlGroup";
-   this.SLLayoutControlGroup.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-   this.SLLayoutControlGroup.Size = new System.Drawing.Size(528, 94);
-   // 
-   // SLDetectionLayoutControlItem
-   // 
-   this.SLDetectionLayoutControlItem.Control = this.SLDetectionCheckEdit;
-   resources.ApplyResources(this.SLDetectionLayoutControlItem, "SLDetectionLayoutControlItem");
-   this.SLDetectionLayoutControlItem.Location = new System.Drawing.Point(28, 46);
-   this.SLDetectionLayoutControlItem.Name = "SLDetectionLayoutControlItem";
-   this.SLDetectionLayoutControlItem.Size = new System.Drawing.Size(494, 23);
-   this.SLDetectionLayoutControlItem.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
-   this.SLDetectionLayoutControlItem.TextSize = new System.Drawing.Size(160, 13);
-   // 
-   // SLEvaluationLayoutControlItem
-   // 
-   this.SLEvaluationLayoutControlItem.Control = this.SLEvaluationCheckEdit;
-   resources.ApplyResources(this.SLEvaluationLayoutControlItem, "SLEvaluationLayoutControlItem");
-   this.SLEvaluationLayoutControlItem.Location = new System.Drawing.Point(28, 23);
-   this.SLEvaluationLayoutControlItem.Name = "SLEvaluationLayoutControlItem";
-   this.SLEvaluationLayoutControlItem.Size = new System.Drawing.Size(494, 23);
-   this.SLEvaluationLayoutControlItem.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
-   this.SLEvaluationLayoutControlItem.TextSize = new System.Drawing.Size(160, 13);
-   // 
-   // SLActiveLayoutControlItem
-   // 
-   this.SLActiveLayoutControlItem.Control = this.SLActiveCheckEdit;
-   resources.ApplyResources(this.SLActiveLayoutControlItem, "SLActiveLayoutControlItem");
-   this.SLActiveLayoutControlItem.Location = new System.Drawing.Point(0, 0);
-   this.SLActiveLayoutControlItem.Name = "SLActiveLayoutControlItem";
-   this.SLActiveLayoutControlItem.Size = new System.Drawing.Size(522, 23);
-   this.SLActiveLayoutControlItem.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
-   this.SLActiveLayoutControlItem.TextSize = new System.Drawing.Size(160, 13);
-   // 
-   // emptySpaceItem1
-   // 
-   this.emptySpaceItem1.AllowHotTrack = false;
-   resources.ApplyResources(this.emptySpaceItem1, "emptySpaceItem1");
-   this.emptySpaceItem1.Location = new System.Drawing.Point(0, 23);
-   this.emptySpaceItem1.Name = "emptySpaceItem1";
-   this.emptySpaceItem1.Size = new System.Drawing.Size(28, 46);
-   this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
-   // 
-   // SPELayoutControlGroup
-   // 
-   resources.ApplyResources(this.SPELayoutControlGroup, "SPELayoutControlGroup");
-   this.SPELayoutControlGroup.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.SLLayoutControlGroup.Location = new System.Drawing.Point(0, 245);
+            this.SLLayoutControlGroup.Name = "SLLayoutControlGroup";
+            this.SLLayoutControlGroup.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            this.SLLayoutControlGroup.Size = new System.Drawing.Size(511, 94);
+            // 
+            // SLDetectionLayoutControlItem
+            // 
+            this.SLDetectionLayoutControlItem.Control = this.SLDetectionCheckEdit;
+            resources.ApplyResources(this.SLDetectionLayoutControlItem, "SLDetectionLayoutControlItem");
+            this.SLDetectionLayoutControlItem.Location = new System.Drawing.Point(27, 46);
+            this.SLDetectionLayoutControlItem.Name = "SLDetectionLayoutControlItem";
+            this.SLDetectionLayoutControlItem.Size = new System.Drawing.Size(478, 23);
+            this.SLDetectionLayoutControlItem.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
+            this.SLDetectionLayoutControlItem.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // SLEvaluationLayoutControlItem
+            // 
+            this.SLEvaluationLayoutControlItem.Control = this.SLEvaluationCheckEdit;
+            resources.ApplyResources(this.SLEvaluationLayoutControlItem, "SLEvaluationLayoutControlItem");
+            this.SLEvaluationLayoutControlItem.Location = new System.Drawing.Point(27, 23);
+            this.SLEvaluationLayoutControlItem.Name = "SLEvaluationLayoutControlItem";
+            this.SLEvaluationLayoutControlItem.Size = new System.Drawing.Size(478, 23);
+            this.SLEvaluationLayoutControlItem.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
+            this.SLEvaluationLayoutControlItem.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // SLActiveLayoutControlItem
+            // 
+            this.SLActiveLayoutControlItem.Control = this.SLActiveCheckEdit;
+            resources.ApplyResources(this.SLActiveLayoutControlItem, "SLActiveLayoutControlItem");
+            this.SLActiveLayoutControlItem.Location = new System.Drawing.Point(0, 0);
+            this.SLActiveLayoutControlItem.Name = "SLActiveLayoutControlItem";
+            this.SLActiveLayoutControlItem.Size = new System.Drawing.Size(505, 23);
+            this.SLActiveLayoutControlItem.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
+            this.SLActiveLayoutControlItem.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // emptySpaceItem1
+            // 
+            this.emptySpaceItem1.AllowHotTrack = false;
+            resources.ApplyResources(this.emptySpaceItem1, "emptySpaceItem1");
+            this.emptySpaceItem1.Location = new System.Drawing.Point(0, 23);
+            this.emptySpaceItem1.Name = "emptySpaceItem1";
+            this.emptySpaceItem1.Size = new System.Drawing.Size(27, 46);
+            this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
+            // 
+            // SPELayoutControlGroup
+            // 
+            resources.ApplyResources(this.SPELayoutControlGroup, "SPELayoutControlGroup");
+            this.SPELayoutControlGroup.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
             this.SPELayoutControlItem});
-   this.SPELayoutControlGroup.Location = new System.Drawing.Point(0, 315);
-   this.SPELayoutControlGroup.Name = "SPELayoutControlGroup";
-   this.SPELayoutControlGroup.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-   this.SPELayoutControlGroup.Size = new System.Drawing.Size(528, 48);
-   // 
-   // SPELayoutControlItem
-   // 
-   this.SPELayoutControlItem.Control = this.SPECheckEdit;
-   resources.ApplyResources(this.SPELayoutControlItem, "SPELayoutControlItem");
-   this.SPELayoutControlItem.Location = new System.Drawing.Point(0, 0);
-   this.SPELayoutControlItem.Name = "SPELayoutControlItem";
-   this.SPELayoutControlItem.Size = new System.Drawing.Size(522, 23);
-   this.SPELayoutControlItem.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
-   this.SPELayoutControlItem.TextSize = new System.Drawing.Size(160, 13);
-   // 
-   // layoutControlGroup4
-   // 
-   resources.ApplyResources(this.layoutControlGroup4, "layoutControlGroup4");
-   this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.SPELayoutControlGroup.Location = new System.Drawing.Point(0, 339);
+            this.SPELayoutControlGroup.Name = "SPELayoutControlGroup";
+            this.SPELayoutControlGroup.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            this.SPELayoutControlGroup.Size = new System.Drawing.Size(511, 48);
+            // 
+            // SPELayoutControlItem
+            // 
+            this.SPELayoutControlItem.Control = this.SPECheckEdit;
+            resources.ApplyResources(this.SPELayoutControlItem, "SPELayoutControlItem");
+            this.SPELayoutControlItem.Location = new System.Drawing.Point(0, 0);
+            this.SPELayoutControlItem.Name = "SPELayoutControlItem";
+            this.SPELayoutControlItem.Size = new System.Drawing.Size(505, 23);
+            this.SPELayoutControlItem.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
+            this.SPELayoutControlItem.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // layoutControlGroup4
+            // 
+            resources.ApplyResources(this.layoutControlGroup4, "layoutControlGroup4");
+            this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
             this.layoutControlItemCommFailureOld,
             this.layoutControlItemCoverContactOld,
             this.layoutControlItemBootLoader,
@@ -468,157 +475,193 @@
             this.layoutControlItemFirmwareIncompatible,
             this.layoutControlItemCommFailure,
             this.layoutControlItemCoverContact});
-   this.layoutControlGroup4.Location = new System.Drawing.Point(0, 96);
-   this.layoutControlGroup4.Name = "layoutControlGroup4";
-   this.layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
-   this.layoutControlGroup4.Size = new System.Drawing.Size(528, 125);
-   // 
-   // layoutControlItemCommFailureOld
-   // 
-   this.layoutControlItemCommFailureOld.Control = this.comboBoxCommFailure;
-   resources.ApplyResources(this.layoutControlItemCommFailureOld, "layoutControlItemCommFailureOld");
-   this.layoutControlItemCommFailureOld.Location = new System.Drawing.Point(242, 0);
-   this.layoutControlItemCommFailureOld.Name = "layoutControlItemCommFailureOld";
-   this.layoutControlItemCommFailureOld.Size = new System.Drawing.Size(276, 24);
-   this.layoutControlItemCommFailureOld.TextSize = new System.Drawing.Size(160, 13);
-   // 
-   // layoutControlItemCoverContactOld
-   // 
-   this.layoutControlItemCoverContactOld.Control = this.comboBoxCoverContact;
-   resources.ApplyResources(this.layoutControlItemCoverContactOld, "layoutControlItemCoverContactOld");
-   this.layoutControlItemCoverContactOld.Location = new System.Drawing.Point(242, 24);
-   this.layoutControlItemCoverContactOld.Name = "layoutControlItemCoverContactOld";
-   this.layoutControlItemCoverContactOld.Size = new System.Drawing.Size(276, 24);
-   this.layoutControlItemCoverContactOld.TextSize = new System.Drawing.Size(160, 13);
-   // 
-   // layoutControlItemBootLoader
-   // 
-   this.layoutControlItemBootLoader.Control = this.imageComboBoxEditBootLoader;
-   resources.ApplyResources(this.layoutControlItemBootLoader, "layoutControlItemBootLoader");
-   this.layoutControlItemBootLoader.Location = new System.Drawing.Point(0, 48);
-   this.layoutControlItemBootLoader.Name = "layoutControlItemBootLoader";
-   this.layoutControlItemBootLoader.Size = new System.Drawing.Size(518, 24);
-   this.layoutControlItemBootLoader.TextSize = new System.Drawing.Size(160, 13);
-   // 
-   // layoutControlItemFirmwareIncompatible
-   // 
-   this.layoutControlItemFirmwareIncompatible.Control = this.imageComboBoxEditFirmwareIncompatible;
-   resources.ApplyResources(this.layoutControlItemFirmwareIncompatible, "layoutControlItemFirmwareIncompatible");
-   this.layoutControlItemFirmwareIncompatible.Location = new System.Drawing.Point(0, 72);
-   this.layoutControlItemFirmwareIncompatible.Name = "layoutControlItemFirmwareIncompatible";
-   this.layoutControlItemFirmwareIncompatible.Size = new System.Drawing.Size(518, 24);
-   this.layoutControlItemFirmwareIncompatible.TextSize = new System.Drawing.Size(160, 13);
-   // 
-   // layoutControlItemCommFailure
-   // 
-   this.layoutControlItemCommFailure.Control = this.checkEditCommFailure;
-   resources.ApplyResources(this.layoutControlItemCommFailure, "layoutControlItemCommFailure");
-   this.layoutControlItemCommFailure.Location = new System.Drawing.Point(0, 0);
-   this.layoutControlItemCommFailure.Name = "layoutControlItemCommFailure";
-   this.layoutControlItemCommFailure.Size = new System.Drawing.Size(242, 24);
-   this.layoutControlItemCommFailure.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
-   this.layoutControlItemCommFailure.TextSize = new System.Drawing.Size(160, 13);
-   // 
-   // layoutControlItemCoverContact
-   // 
-   this.layoutControlItemCoverContact.Control = this.checkEditCoverContact;
-   resources.ApplyResources(this.layoutControlItemCoverContact, "layoutControlItemCoverContact");
-   this.layoutControlItemCoverContact.Location = new System.Drawing.Point(0, 24);
-   this.layoutControlItemCoverContact.Name = "layoutControlItemCoverContact";
-   this.layoutControlItemCoverContact.Size = new System.Drawing.Size(242, 24);
-   this.layoutControlItemCoverContact.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
-   this.layoutControlItemCoverContact.TextSize = new System.Drawing.Size(160, 13);
-   // 
-   // TypeLayoutControlItem
-   // 
-   this.TypeLayoutControlItem.Control = this.TypeTextEdit;
-   resources.ApplyResources(this.TypeLayoutControlItem, "TypeLayoutControlItem");
-   this.TypeLayoutControlItem.Location = new System.Drawing.Point(0, 0);
-   this.TypeLayoutControlItem.Name = "TypeLayoutControlItem";
-   this.TypeLayoutControlItem.Size = new System.Drawing.Size(528, 24);
-   this.TypeLayoutControlItem.TextSize = new System.Drawing.Size(160, 13);
-   // 
-   // emptySpaceItem2
-   // 
-   this.emptySpaceItem2.AllowHotTrack = false;
-   resources.ApplyResources(this.emptySpaceItem2, "emptySpaceItem2");
-   this.emptySpaceItem2.Location = new System.Drawing.Point(0, 415);
-   this.emptySpaceItem2.Name = "emptySpaceItem2";
-   this.emptySpaceItem2.Size = new System.Drawing.Size(528, 21);
-   this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
-   // 
-   // layoutControlGroup3
-   // 
-   resources.ApplyResources(this.layoutControlGroup3, "layoutControlGroup3");
-   this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.layoutControlGroup4.Location = new System.Drawing.Point(0, 120);
+            this.layoutControlGroup4.Name = "layoutControlGroup4";
+            this.layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
+            this.layoutControlGroup4.Size = new System.Drawing.Size(511, 125);
+            // 
+            // layoutControlItemCommFailureOld
+            // 
+            this.layoutControlItemCommFailureOld.Control = this.comboBoxCommFailure;
+            resources.ApplyResources(this.layoutControlItemCommFailureOld, "layoutControlItemCommFailureOld");
+            this.layoutControlItemCommFailureOld.Location = new System.Drawing.Point(234, 0);
+            this.layoutControlItemCommFailureOld.Name = "layoutControlItemCommFailureOld";
+            this.layoutControlItemCommFailureOld.Size = new System.Drawing.Size(267, 24);
+            this.layoutControlItemCommFailureOld.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // layoutControlItemCoverContactOld
+            // 
+            this.layoutControlItemCoverContactOld.Control = this.comboBoxCoverContact;
+            resources.ApplyResources(this.layoutControlItemCoverContactOld, "layoutControlItemCoverContactOld");
+            this.layoutControlItemCoverContactOld.Location = new System.Drawing.Point(234, 24);
+            this.layoutControlItemCoverContactOld.Name = "layoutControlItemCoverContactOld";
+            this.layoutControlItemCoverContactOld.Size = new System.Drawing.Size(267, 24);
+            this.layoutControlItemCoverContactOld.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // layoutControlItemBootLoader
+            // 
+            this.layoutControlItemBootLoader.Control = this.imageComboBoxEditBootLoader;
+            resources.ApplyResources(this.layoutControlItemBootLoader, "layoutControlItemBootLoader");
+            this.layoutControlItemBootLoader.Location = new System.Drawing.Point(0, 48);
+            this.layoutControlItemBootLoader.Name = "layoutControlItemBootLoader";
+            this.layoutControlItemBootLoader.Size = new System.Drawing.Size(501, 24);
+            this.layoutControlItemBootLoader.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // layoutControlItemFirmwareIncompatible
+            // 
+            this.layoutControlItemFirmwareIncompatible.Control = this.imageComboBoxEditFirmwareIncompatible;
+            resources.ApplyResources(this.layoutControlItemFirmwareIncompatible, "layoutControlItemFirmwareIncompatible");
+            this.layoutControlItemFirmwareIncompatible.Location = new System.Drawing.Point(0, 72);
+            this.layoutControlItemFirmwareIncompatible.Name = "layoutControlItemFirmwareIncompatible";
+            this.layoutControlItemFirmwareIncompatible.Size = new System.Drawing.Size(501, 24);
+            this.layoutControlItemFirmwareIncompatible.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // layoutControlItemCommFailure
+            // 
+            this.layoutControlItemCommFailure.Control = this.checkEditCommFailure;
+            resources.ApplyResources(this.layoutControlItemCommFailure, "layoutControlItemCommFailure");
+            this.layoutControlItemCommFailure.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItemCommFailure.Name = "layoutControlItemCommFailure";
+            this.layoutControlItemCommFailure.Size = new System.Drawing.Size(234, 24);
+            this.layoutControlItemCommFailure.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
+            this.layoutControlItemCommFailure.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // layoutControlItemCoverContact
+            // 
+            this.layoutControlItemCoverContact.Control = this.checkEditCoverContact;
+            resources.ApplyResources(this.layoutControlItemCoverContact, "layoutControlItemCoverContact");
+            this.layoutControlItemCoverContact.Location = new System.Drawing.Point(0, 24);
+            this.layoutControlItemCoverContact.Name = "layoutControlItemCoverContact";
+            this.layoutControlItemCoverContact.Size = new System.Drawing.Size(234, 24);
+            this.layoutControlItemCoverContact.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
+            this.layoutControlItemCoverContact.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // TypeLayoutControlItem
+            // 
+            this.TypeLayoutControlItem.Control = this.TypeTextEdit;
+            resources.ApplyResources(this.TypeLayoutControlItem, "TypeLayoutControlItem");
+            this.TypeLayoutControlItem.Location = new System.Drawing.Point(0, 0);
+            this.TypeLayoutControlItem.Name = "TypeLayoutControlItem";
+            this.TypeLayoutControlItem.Size = new System.Drawing.Size(511, 24);
+            this.TypeLayoutControlItem.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // emptySpaceItem2
+            // 
+            this.emptySpaceItem2.AllowHotTrack = false;
+            resources.ApplyResources(this.emptySpaceItem2, "emptySpaceItem2");
+            this.emptySpaceItem2.Location = new System.Drawing.Point(0, 439);
+            this.emptySpaceItem2.Name = "emptySpaceItem2";
+            this.emptySpaceItem2.Size = new System.Drawing.Size(511, 10);
+            this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
+            // 
+            // layoutControlGroup3
+            // 
+            resources.ApplyResources(this.layoutControlGroup3, "layoutControlGroup3");
+            this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
             this.DoorBellLayoutControlItem});
-   this.layoutControlGroup3.Location = new System.Drawing.Point(0, 363);
-   this.layoutControlGroup3.Name = "layoutControlGroup3";
-   this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
-   this.layoutControlGroup3.Size = new System.Drawing.Size(528, 52);
-   // 
-   // DoorBellLayoutControlItem
-   // 
-   this.DoorBellLayoutControlItem.Control = this.DoorBellCheckEdit;
-   resources.ApplyResources(this.DoorBellLayoutControlItem, "DoorBellLayoutControlItem");
-   this.DoorBellLayoutControlItem.Location = new System.Drawing.Point(0, 0);
-   this.DoorBellLayoutControlItem.Name = "DoorBellLayoutControlItem";
-   this.DoorBellLayoutControlItem.Size = new System.Drawing.Size(518, 23);
-   this.DoorBellLayoutControlItem.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
-   this.DoorBellLayoutControlItem.TextSize = new System.Drawing.Size(160, 13);
-   // 
-   // Bus2IdentKey3Detail
-   // 
-   resources.ApplyResources(this, "$this");
-   this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-   this.Name = "Bus2IdentKey3Detail";
-   ((System.ComponentModel.ISupportInitialize)(this.HardwareDeviceBindingSource)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.VirtualPeripheralBindingSource)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.RightPanel)).EndInit();
-   this.RightPanel.ResumeLayout(false);
-   ((System.ComponentModel.ISupportInitialize)(this.MainBindingSource)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
-   this.layoutControl1.ResumeLayout(false);
-   ((System.ComponentModel.ISupportInitialize)(this.checkEditCoverContact.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.checkEditCommFailure.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.imageComboBoxEditFirmwareIncompatible.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.imageComboBoxEditBootLoader.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.comboBoxCoverContact.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.comboBoxCommFailure.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.TypeTextEdit.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.DoorBellCheckEdit.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SPECheckEdit.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SLDetectionCheckEdit.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SLEvaluationCheckEdit.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SLActiveCheckEdit.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.RoomPopUp.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.comboBoxEditAddress.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.textEdit1.Properties)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup1)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.RoomLayoutControlItem)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SLLayoutControlGroup)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SLDetectionLayoutControlItem)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SLEvaluationLayoutControlItem)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SLActiveLayoutControlItem)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SPELayoutControlGroup)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.SPELayoutControlItem)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailureOld)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContactOld)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemBootLoader)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemFirmwareIncompatible)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailure)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContact)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.TypeLayoutControlItem)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit();
-   ((System.ComponentModel.ISupportInitialize)(this.DoorBellLayoutControlItem)).EndInit();
-   this.ResumeLayout(false);
+            this.layoutControlGroup3.Location = new System.Drawing.Point(0, 387);
+            this.layoutControlGroup3.Name = "layoutControlGroup3";
+            this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
+            this.layoutControlGroup3.Size = new System.Drawing.Size(511, 52);
+            // 
+            // DoorBellLayoutControlItem
+            // 
+            this.DoorBellLayoutControlItem.Control = this.DoorBellCheckEdit;
+            resources.ApplyResources(this.DoorBellLayoutControlItem, "DoorBellLayoutControlItem");
+            this.DoorBellLayoutControlItem.Location = new System.Drawing.Point(0, 0);
+            this.DoorBellLayoutControlItem.Name = "DoorBellLayoutControlItem";
+            this.DoorBellLayoutControlItem.Size = new System.Drawing.Size(501, 23);
+            this.DoorBellLayoutControlItem.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.SupportHorzAlignment;
+            this.DoorBellLayoutControlItem.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // spinEditDatapointNumber
+            // 
+            this.spinEditDatapointNumber.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.MainBindingSource, "DatapointNumber", true));
+            resources.ApplyResources(this.spinEditDatapointNumber, "spinEditDatapointNumber");
+            this.spinEditDatapointNumber.Name = "spinEditDatapointNumber";
+            this.spinEditDatapointNumber.Properties.Appearance.Options.UseTextOptions = true;
+            this.spinEditDatapointNumber.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
+            this.spinEditDatapointNumber.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("spinEditDatapointNumber.Properties.Buttons"))))});
+            this.spinEditDatapointNumber.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
+            this.spinEditDatapointNumber.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
+            this.spinEditDatapointNumber.Properties.Mask.EditMask = resources.GetString("spinEditDatapointNumber.Properties.Mask.EditMask");
+            this.spinEditDatapointNumber.Properties.MaxValue = new decimal(new int[] {
+            6631,
+            0,
+            0,
+            0});
+            this.spinEditDatapointNumber.Properties.MinValue = new decimal(new int[] {
+            5608,
+            0,
+            0,
+            0});
+            this.spinEditDatapointNumber.StyleController = this.layoutControl1;
+            this.spinEditDatapointNumber.Leave += new System.EventHandler(this.spinEditDatapointNumber_Leave);
+            // 
+            // layoutControlItem3
+            // 
+            this.layoutControlItem3.Control = this.spinEditDatapointNumber;
+            resources.ApplyResources(this.layoutControlItem3, "layoutControlItem3");
+            this.layoutControlItem3.Location = new System.Drawing.Point(0, 96);
+            this.layoutControlItem3.Name = "layoutControlItem3";
+            this.layoutControlItem3.Size = new System.Drawing.Size(511, 24);
+            this.layoutControlItem3.TextSize = new System.Drawing.Size(160, 13);
+            // 
+            // Bus2IdentKey3Detail
+            // 
+            resources.ApplyResources(this, "$this");
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.Name = "Bus2IdentKey3Detail";
+            ((System.ComponentModel.ISupportInitialize)(this.HardwareDeviceBindingSource)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.VirtualPeripheralBindingSource)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.RightPanel)).EndInit();
+            this.RightPanel.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.MainBindingSource)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
+            this.layoutControl1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.checkEditCoverContact.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.checkEditCommFailure.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.imageComboBoxEditFirmwareIncompatible.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.imageComboBoxEditBootLoader.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.comboBoxCoverContact.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.comboBoxCommFailure.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.TypeTextEdit.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.DoorBellCheckEdit.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SPECheckEdit.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SLDetectionCheckEdit.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SLEvaluationCheckEdit.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SLActiveCheckEdit.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.RoomPopUp.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.comboBoxEditAddress.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.textEdit1.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.RoomLayoutControlItem)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SLLayoutControlGroup)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SLDetectionLayoutControlItem)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SLEvaluationLayoutControlItem)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SLActiveLayoutControlItem)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SPELayoutControlGroup)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.SPELayoutControlItem)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailureOld)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContactOld)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemBootLoader)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemFirmwareIncompatible)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCommFailure)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItemCoverContact)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.TypeLayoutControlItem)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.DoorBellLayoutControlItem)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.spinEditDatapointNumber.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
+            this.ResumeLayout(false);
 
         }
 
@@ -664,5 +707,7 @@
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItemCommFailure;
         private DevExpress.XtraEditors.CheckEdit checkEditCoverContact;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItemCoverContact;
+        private DevExpress.XtraEditors.SpinEdit spinEditDatapointNumber;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
     }
 }
Index: ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2IdentKey3Detail.resx
===================================================================
--- ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2IdentKey3Detail.resx	(revision 3199)
+++ ConfigApp/Views/Hardware/HardwareTreeDetails/HardwareDevices/Bus2IdentKey3Detail.resx	(working copy)
@@ -123,17 +123,51 @@
   <metadata name="VirtualPeripheralBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>236, 17</value>
   </metadata>
+  <metadata name="MainBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>604, 17</value>
+  </metadata>
+  <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="spinEditDatapointNumber.EditValue" type="System.Decimal, mscorlib">
+    <value>6631</value>
+  </data>
   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="spinEditDatapointNumber.Location" type="System.Drawing.Point, System.Drawing">
+    <value>177, 132</value>
+  </data>
+  <assembly alias="DevExpress.Utils.v13.1" name="DevExpress.Utils.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
+  <data name="spinEditDatapointNumber.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
+    <value>Combo</value>
+  </data>
+  <data name="spinEditDatapointNumber.Properties.Mask.EditMask" xml:space="preserve">
+    <value>d</value>
+  </data>
+  <data name="spinEditDatapointNumber.Size" type="System.Drawing.Size, System.Drawing">
+    <value>344, 20</value>
+  </data>
+  <data name="spinEditDatapointNumber.TabIndex" type="System.Int32, mscorlib">
+    <value>100</value>
+  </data>
+  <data name="&gt;&gt;spinEditDatapointNumber.Name" xml:space="preserve">
+    <value>spinEditDatapointNumber</value>
+  </data>
+  <data name="&gt;&gt;spinEditDatapointNumber.Type" xml:space="preserve">
+    <value>DevExpress.XtraEditors.SpinEdit, DevExpress.XtraEditors.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
+  <data name="&gt;&gt;spinEditDatapointNumber.Parent" xml:space="preserve">
+    <value>layoutControl1</value>
+  </data>
+  <data name="&gt;&gt;spinEditDatapointNumber.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
   <data name="checkEditCoverContact.Location" type="System.Drawing.Point, System.Drawing">
-    <value>182, 178</value>
+    <value>182, 204</value>
   </data>
   <data name="checkEditCoverContact.Properties.Caption" xml:space="preserve">
     <value />
   </data>
   <data name="checkEditCoverContact.Size" type="System.Drawing.Size, System.Drawing">
-    <value>18, 19</value>
+    <value>19, 19</value>
   </data>
-  <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   <data name="checkEditCoverContact.TabIndex" type="System.Int32, mscorlib">
     <value>29</value>
   </data>
@@ -147,16 +181,16 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;checkEditCoverContact.ZOrder" xml:space="preserve">
-    <value>4</value>
+    <value>5</value>
   </data>
   <data name="checkEditCommFailure.Location" type="System.Drawing.Point, System.Drawing">
-    <value>182, 154</value>
+    <value>182, 180</value>
   </data>
   <data name="checkEditCommFailure.Properties.Caption" xml:space="preserve">
     <value />
   </data>
   <data name="checkEditCommFailure.Size" type="System.Drawing.Size, System.Drawing">
-    <value>18, 19</value>
+    <value>19, 19</value>
   </data>
   <data name="checkEditCommFailure.TabIndex" type="System.Int32, mscorlib">
     <value>28</value>
@@ -171,12 +205,11 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;checkEditCommFailure.ZOrder" xml:space="preserve">
-    <value>5</value>
+    <value>6</value>
   </data>
   <data name="imageComboBoxEditFirmwareIncompatible.Location" type="System.Drawing.Point, System.Drawing">
-    <value>182, 226</value>
+    <value>182, 252</value>
   </data>
-  <assembly alias="DevExpress.Utils.v13.1" name="DevExpress.Utils.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
   <data name="imageComboBoxEditFirmwareIncompatible.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
   </data>
@@ -217,7 +250,7 @@
     <value>-1</value>
   </data>
   <data name="imageComboBoxEditFirmwareIncompatible.Size" type="System.Drawing.Size, System.Drawing">
-    <value>351, 20</value>
+    <value>334, 20</value>
   </data>
   <data name="imageComboBoxEditFirmwareIncompatible.TabIndex" type="System.Int32, mscorlib">
     <value>29</value>
@@ -232,10 +265,10 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;imageComboBoxEditFirmwareIncompatible.ZOrder" xml:space="preserve">
-    <value>6</value>
+    <value>7</value>
   </data>
   <data name="imageComboBoxEditBootLoader.Location" type="System.Drawing.Point, System.Drawing">
-    <value>182, 202</value>
+    <value>182, 228</value>
   </data>
   <data name="imageComboBoxEditBootLoader.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -277,7 +310,7 @@
     <value>-1</value>
   </data>
   <data name="imageComboBoxEditBootLoader.Size" type="System.Drawing.Size, System.Drawing">
-    <value>351, 20</value>
+    <value>334, 20</value>
   </data>
   <data name="imageComboBoxEditBootLoader.TabIndex" type="System.Int32, mscorlib">
     <value>29</value>
@@ -292,13 +325,13 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;imageComboBoxEditBootLoader.ZOrder" xml:space="preserve">
-    <value>7</value>
+    <value>8</value>
   </data>
   <data name="comboBoxCoverContact.Enabled" type="System.Boolean, mscorlib">
     <value>False</value>
   </data>
   <data name="comboBoxCoverContact.Location" type="System.Drawing.Point, System.Drawing">
-    <value>424, 178</value>
+    <value>416, 204</value>
   </data>
   <data name="comboBoxCoverContact.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -367,7 +400,7 @@
     <value>-1</value>
   </data>
   <data name="comboBoxCoverContact.Size" type="System.Drawing.Size, System.Drawing">
-    <value>109, 20</value>
+    <value>100, 20</value>
   </data>
   <data name="comboBoxCoverContact.TabIndex" type="System.Int32, mscorlib">
     <value>27</value>
@@ -382,13 +415,13 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxCoverContact.ZOrder" xml:space="preserve">
-    <value>8</value>
+    <value>9</value>
   </data>
   <data name="comboBoxCommFailure.Enabled" type="System.Boolean, mscorlib">
     <value>False</value>
   </data>
   <data name="comboBoxCommFailure.Location" type="System.Drawing.Point, System.Drawing">
-    <value>424, 154</value>
+    <value>416, 180</value>
   </data>
   <data name="comboBoxCommFailure.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
@@ -457,7 +490,7 @@
     <value>-1</value>
   </data>
   <data name="comboBoxCommFailure.Size" type="System.Drawing.Size, System.Drawing">
-    <value>109, 20</value>
+    <value>100, 20</value>
   </data>
   <data name="comboBoxCommFailure.TabIndex" type="System.Int32, mscorlib">
     <value>28</value>
@@ -472,13 +505,13 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxCommFailure.ZOrder" xml:space="preserve">
-    <value>9</value>
+    <value>10</value>
   </data>
   <data name="TypeTextEdit.Location" type="System.Drawing.Point, System.Drawing">
-    <value>177, 34</value>
+    <value>177, 36</value>
   </data>
   <data name="TypeTextEdit.Size" type="System.Drawing.Size, System.Drawing">
-    <value>361, 20</value>
+    <value>344, 20</value>
   </data>
   <data name="TypeTextEdit.TabIndex" type="System.Int32, mscorlib">
     <value>13</value>
@@ -493,19 +526,16 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;TypeTextEdit.ZOrder" xml:space="preserve">
-    <value>10</value>
+    <value>11</value>
   </data>
-  <metadata name="MainBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>604, 17</value>
-  </metadata>
   <data name="DoorBellCheckEdit.Location" type="System.Drawing.Point, System.Drawing">
-    <value>182, 421</value>
+    <value>182, 447</value>
   </data>
   <data name="DoorBellCheckEdit.Properties.Caption" xml:space="preserve">
     <value />
   </data>
   <data name="DoorBellCheckEdit.Size" type="System.Drawing.Size, System.Drawing">
-    <value>18, 19</value>
+    <value>19, 19</value>
   </data>
   <data name="DoorBellCheckEdit.TabIndex" type="System.Int32, mscorlib">
     <value>12</value>
@@ -520,16 +550,16 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;DoorBellCheckEdit.ZOrder" xml:space="preserve">
-    <value>11</value>
+    <value>12</value>
   </data>
   <data name="SPECheckEdit.Location" type="System.Drawing.Point, System.Drawing">
-    <value>180, 371</value>
+    <value>180, 397</value>
   </data>
   <data name="SPECheckEdit.Properties.Caption" xml:space="preserve">
     <value />
   </data>
   <data name="SPECheckEdit.Size" type="System.Drawing.Size, System.Drawing">
-    <value>18, 19</value>
+    <value>19, 19</value>
   </data>
   <data name="SPECheckEdit.TabIndex" type="System.Int32, mscorlib">
     <value>11</value>
@@ -544,16 +574,16 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;SPECheckEdit.ZOrder" xml:space="preserve">
-    <value>12</value>
+    <value>13</value>
   </data>
   <data name="SLDetectionCheckEdit.Location" type="System.Drawing.Point, System.Drawing">
-    <value>208, 323</value>
+    <value>207, 349</value>
   </data>
   <data name="SLDetectionCheckEdit.Properties.Caption" xml:space="preserve">
     <value />
   </data>
   <data name="SLDetectionCheckEdit.Size" type="System.Drawing.Size, System.Drawing">
-    <value>18, 19</value>
+    <value>19, 19</value>
   </data>
   <data name="SLDetectionCheckEdit.TabIndex" type="System.Int32, mscorlib">
     <value>10</value>
@@ -568,16 +598,16 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;SLDetectionCheckEdit.ZOrder" xml:space="preserve">
-    <value>13</value>
+    <value>14</value>
   </data>
   <data name="SLEvaluationCheckEdit.Location" type="System.Drawing.Point, System.Drawing">
-    <value>208, 300</value>
+    <value>207, 326</value>
   </data>
   <data name="SLEvaluationCheckEdit.Properties.Caption" xml:space="preserve">
     <value />
   </data>
   <data name="SLEvaluationCheckEdit.Size" type="System.Drawing.Size, System.Drawing">
-    <value>18, 19</value>
+    <value>19, 19</value>
   </data>
   <data name="SLEvaluationCheckEdit.TabIndex" type="System.Int32, mscorlib">
     <value>9</value>
@@ -592,16 +622,16 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;SLEvaluationCheckEdit.ZOrder" xml:space="preserve">
-    <value>14</value>
+    <value>15</value>
   </data>
   <data name="SLActiveCheckEdit.Location" type="System.Drawing.Point, System.Drawing">
-    <value>180, 277</value>
+    <value>180, 303</value>
   </data>
   <data name="SLActiveCheckEdit.Properties.Caption" xml:space="preserve">
     <value />
   </data>
   <data name="SLActiveCheckEdit.Size" type="System.Drawing.Size, System.Drawing">
-    <value>18, 19</value>
+    <value>19, 19</value>
   </data>
   <data name="SLActiveCheckEdit.TabIndex" type="System.Int32, mscorlib">
     <value>8</value>
@@ -616,16 +646,16 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;SLActiveCheckEdit.ZOrder" xml:space="preserve">
-    <value>15</value>
+    <value>16</value>
   </data>
   <data name="RoomPopUp.Location" type="System.Drawing.Point, System.Drawing">
-    <value>177, 106</value>
+    <value>177, 108</value>
   </data>
   <data name="RoomPopUp.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
   </data>
   <data name="RoomPopUp.Size" type="System.Drawing.Size, System.Drawing">
-    <value>361, 20</value>
+    <value>344, 20</value>
   </data>
   <data name="RoomPopUp.TabIndex" type="System.Int32, mscorlib">
     <value>7</value>
@@ -634,22 +664,22 @@
     <value>RoomPopUp</value>
   </data>
   <data name="&gt;&gt;RoomPopUp.Type" xml:space="preserve">
-    <value>Honeywell.MBEMEA.ConfigApp.CustomControls.FacilityPopUp, ConfigApp, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null</value>
+    <value>Honeywell.MBEMEA.ConfigApp.CustomControls.FacilityPopUp, ConfigApp, Version=0.3.0.1, Culture=neutral, PublicKeyToken=null</value>
   </data>
   <data name="&gt;&gt;RoomPopUp.Parent" xml:space="preserve">
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;RoomPopUp.ZOrder" xml:space="preserve">
-    <value>16</value>
+    <value>17</value>
   </data>
   <data name="comboBoxEditAddress.Location" type="System.Drawing.Point, System.Drawing">
-    <value>177, 82</value>
+    <value>177, 84</value>
   </data>
   <data name="comboBoxEditAddress.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v13.1">
     <value>Combo</value>
   </data>
   <data name="comboBoxEditAddress.Size" type="System.Drawing.Size, System.Drawing">
-    <value>361, 20</value>
+    <value>344, 20</value>
   </data>
   <data name="comboBoxEditAddress.TabIndex" type="System.Int32, mscorlib">
     <value>5</value>
@@ -664,13 +694,13 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;comboBoxEditAddress.ZOrder" xml:space="preserve">
-    <value>17</value>
+    <value>18</value>
   </data>
   <data name="textEdit1.Location" type="System.Drawing.Point, System.Drawing">
-    <value>177, 58</value>
+    <value>177, 60</value>
   </data>
   <data name="textEdit1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>361, 20</value>
+    <value>344, 20</value>
   </data>
   <data name="textEdit1.TabIndex" type="System.Int32, mscorlib">
     <value>4</value>
@@ -685,7 +715,7 @@
     <value>layoutControl1</value>
   </data>
   <data name="&gt;&gt;textEdit1.ZOrder" xml:space="preserve">
-    <value>18</value>
+    <value>19</value>
   </data>
   <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   <data name="layoutControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
@@ -829,6 +859,12 @@
   <data name="layoutControlGroup3.Text" xml:space="preserve">
     <value>Extended Functions</value>
   </data>
+  <data name="layoutControlItem3.CustomizationFormText" xml:space="preserve">
+    <value>Datapoint Number</value>
+  </data>
+  <data name="layoutControlItem3.Text" xml:space="preserve">
+    <value>Datapoint Number</value>
+  </data>
   <data name="layoutControlGroup2.Text" xml:space="preserve">
     <value>General</value>
   </data>
@@ -1111,10 +1147,16 @@
   <data name="&gt;&gt;DoorBellLayoutControlItem.Type" xml:space="preserve">
     <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
   </data>
+  <data name="&gt;&gt;layoutControlItem3.Name" xml:space="preserve">
+    <value>layoutControlItem3</value>
+  </data>
+  <data name="&gt;&gt;layoutControlItem3.Type" xml:space="preserve">
+    <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
+  </data>
   <data name="&gt;&gt;$this.Name" xml:space="preserve">
     <value>Bus2IdentKey3Detail</value>
   </data>
   <data name="&gt;&gt;$this.Type" xml:space="preserve">
-    <value>Honeywell.MBEMEA.ConfigApp.Views.Hardware.HardwareTreeDetails.HardwareDevices.BaseBus2DeviceDetail, ConfigApp, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null</value>
+    <value>Honeywell.MBEMEA.ConfigApp.Views.Hardware.HardwareTreeDetails.HardwareDevices.BaseBus2DeviceDetail, ConfigApp, Version=0.3.0.1, Culture=neutral, PublicKeyToken=null</value>
   </data>
 </root>
\ No newline at end of file

Zerion Mini Shell 1.0