from KL.constants import ObjectIds
from KL.types import NumericNodeId, QualifiedName, NodeId, Variant, VariantType
from KL.application_protocol import NodeClass, LocalizedText, ObjectTypeAttributes, \
    AddNodesItem, AddReferencesItem, ReferenceTypeAttributes, VariableAttributes, ObjectAttributes, DataTypeAttributes, VariableTypeAttributes, EnumValueType
from KL import constants


def create_standard_address_space_Part8(server):
    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(2365, 0)
    node.BrowseName = QualifiedName('DataItemType', 0)
    node.NodeClass = NodeClass.VariableType
    node.ParentNodeId = NumericNodeId(63, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = VariableTypeAttributes()
    attrs.DisplayName = LocalizedText("DataItemType")
    attrs.DisplayName = LocalizedText("DataItemType")
    attrs.DataType = NodeId(ObjectIds.String)
    attrs.ValueRank = -2
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(2365, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2366, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(2365, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2367, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(2365, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(63, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(2366, 0)
    node.BrowseName = QualifiedName('Definition', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(2365, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("Definition")
    attrs.DataType = NodeId(ObjectIds.String)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(2366, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(2366, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(80, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(2366, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2365, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(2367, 0)
    node.BrowseName = QualifiedName('ValuePrecision', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(2365, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("ValuePrecision")
    attrs.DataType = NodeId(ObjectIds.Double)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(2367, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(2367, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(80, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(2367, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2365, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(15318, 0)
    node.BrowseName = QualifiedName('BaseAnalogType', 0)
    node.NodeClass = NodeClass.VariableType
    node.ParentNodeId = NumericNodeId(2365, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = VariableTypeAttributes()
    attrs.DisplayName = LocalizedText("BaseAnalogType")
    attrs.DisplayName = LocalizedText("BaseAnalogType")
    attrs.DataType = NodeId(ObjectIds.Number)
    attrs.ValueRank = -2
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(15318, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(17567, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(15318, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(17568, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(15318, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(17569, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(15318, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2365, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(17567, 0)
    node.BrowseName = QualifiedName('InstrumentRange', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(15318, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("InstrumentRange")
    attrs.DataType = NumericNodeId(884, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(17567, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(17567, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(80, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(17567, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(15318, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(17568, 0)
    node.BrowseName = QualifiedName('EURange', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(15318, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("EURange")
    attrs.DataType = NumericNodeId(884, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(17568, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(17568, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(80, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(17568, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(15318, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(17569, 0)
    node.BrowseName = QualifiedName('EngineeringUnits', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(15318, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("EngineeringUnits")
    attrs.DataType = NumericNodeId(887, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(17569, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(17569, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(80, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(17569, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(15318, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(2368, 0)
    node.BrowseName = QualifiedName('AnalogItemType', 0)
    node.NodeClass = NodeClass.VariableType
    node.ParentNodeId = NumericNodeId(15318, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = VariableTypeAttributes()
    attrs.DisplayName = LocalizedText("AnalogItemType")
    attrs.DisplayName = LocalizedText("AnalogItemType")
    attrs.DataType = NodeId(ObjectIds.Number)
    attrs.ValueRank = -2
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(2368, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2369, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(2368, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(15318, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(2369, 0)
    node.BrowseName = QualifiedName('EURange', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(2368, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("EURange")
    attrs.DataType = NumericNodeId(884, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(2369, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(2369, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(2369, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2368, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(17497, 0)
    node.BrowseName = QualifiedName('AnalogUnitType', 0)
    node.NodeClass = NodeClass.VariableType
    node.ParentNodeId = NumericNodeId(15318, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = VariableTypeAttributes()
    attrs.DisplayName = LocalizedText("AnalogUnitType")
    attrs.DisplayName = LocalizedText("AnalogUnitType")
    attrs.DataType = NodeId(ObjectIds.Number)
    attrs.ValueRank = -2
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(17497, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(17502, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(17497, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(15318, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(17502, 0)
    node.BrowseName = QualifiedName('EngineeringUnits', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(17497, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("EngineeringUnits")
    attrs.DataType = NumericNodeId(887, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(17502, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(17502, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(17502, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(17497, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(17570, 0)
    node.BrowseName = QualifiedName('AnalogUnitRangeType', 0)
    node.NodeClass = NodeClass.VariableType
    node.ParentNodeId = NumericNodeId(2368, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = VariableTypeAttributes()
    attrs.DisplayName = LocalizedText("AnalogUnitRangeType")
    attrs.DisplayName = LocalizedText("AnalogUnitRangeType")
    attrs.DataType = NodeId(ObjectIds.Number)
    attrs.ValueRank = -2
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(17570, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(17575, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(17570, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2368, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(17575, 0)
    node.BrowseName = QualifiedName('EngineeringUnits', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(17570, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("EngineeringUnits")
    attrs.DataType = NumericNodeId(887, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(17575, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(17575, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(17575, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(17570, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(2372, 0)
    node.BrowseName = QualifiedName('DiscreteItemType', 0)
    node.NodeClass = NodeClass.VariableType
    node.ParentNodeId = NumericNodeId(2365, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = VariableTypeAttributes()
    attrs.DisplayName = LocalizedText("DiscreteItemType")
    attrs.IsAbstract = True
    attrs.DisplayName = LocalizedText("DiscreteItemType")
    attrs.DataType = NodeId(ObjectIds.String)
    attrs.ValueRank = -2
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(2372, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2365, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(2373, 0)
    node.BrowseName = QualifiedName('TwoStateDiscreteType', 0)
    node.NodeClass = NodeClass.VariableType
    node.ParentNodeId = NumericNodeId(2372, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = VariableTypeAttributes()
    attrs.DisplayName = LocalizedText("TwoStateDiscreteType")
    attrs.DisplayName = LocalizedText("TwoStateDiscreteType")
    attrs.DataType = NodeId(ObjectIds.Boolean)
    attrs.ValueRank = -2
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(2373, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2374, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(2373, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2375, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(2373, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2372, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(2374, 0)
    node.BrowseName = QualifiedName('FalseState', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(2373, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("FalseState")
    attrs.DataType = NodeId(ObjectIds.LocalizedText)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(2374, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(2374, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(2374, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2373, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(2375, 0)
    node.BrowseName = QualifiedName('TrueState', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(2373, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("TrueState")
    attrs.DataType = NodeId(ObjectIds.LocalizedText)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(2375, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(2375, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(2375, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2373, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(2376, 0)
    node.BrowseName = QualifiedName('MultiStateDiscreteType', 0)
    node.NodeClass = NodeClass.VariableType
    node.ParentNodeId = NumericNodeId(2372, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = VariableTypeAttributes()
    attrs.DisplayName = LocalizedText("MultiStateDiscreteType")
    attrs.DisplayName = LocalizedText("MultiStateDiscreteType")
    attrs.DataType = NodeId(ObjectIds.UInteger)
    attrs.ValueRank = -2
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(2376, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2377, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(2376, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2372, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(2377, 0)
    node.BrowseName = QualifiedName('EnumStrings', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(2376, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("EnumStrings")
    attrs.DataType = NodeId(ObjectIds.LocalizedText)
    attrs.ValueRank = 1
    attrs.ArrayDimensions = [0]
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(2377, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(2377, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(2377, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2376, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(11238, 0)
    node.BrowseName = QualifiedName('MultiStateValueDiscreteType', 0)
    node.NodeClass = NodeClass.VariableType
    node.ParentNodeId = NumericNodeId(2372, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = VariableTypeAttributes()
    attrs.DisplayName = LocalizedText("MultiStateValueDiscreteType")
    attrs.DisplayName = LocalizedText("MultiStateValueDiscreteType")
    attrs.DataType = NodeId(ObjectIds.Number)
    attrs.ValueRank = -2
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(11238, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(11241, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(11238, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(11461, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(11238, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2372, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(11241, 0)
    node.BrowseName = QualifiedName('EnumValues', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(11238, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("EnumValues")
    attrs.DataType = NumericNodeId(7594, 0)
    attrs.ValueRank = 1
    attrs.ArrayDimensions = [0]
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(11241, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(11241, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(11241, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(11238, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(11461, 0)
    node.BrowseName = QualifiedName('ValueAsText', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(11238, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("ValueAsText")
    attrs.DataType = NodeId(ObjectIds.LocalizedText)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(11461, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(11461, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(11461, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(11238, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12021, 0)
    node.BrowseName = QualifiedName('ArrayItemType', 0)
    node.NodeClass = NodeClass.VariableType
    node.ParentNodeId = NumericNodeId(2365, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = VariableTypeAttributes()
    attrs.DisplayName = LocalizedText("ArrayItemType")
    attrs.IsAbstract = True
    attrs.DisplayName = LocalizedText("ArrayItemType")
    attrs.DataType = NodeId(ObjectIds.String)
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12021, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12024, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12021, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12025, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12021, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12026, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12021, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12027, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12021, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12028, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(12021, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(2365, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12024, 0)
    node.BrowseName = QualifiedName('InstrumentRange', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(12021, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("InstrumentRange")
    attrs.DataType = NumericNodeId(884, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12024, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(12024, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(80, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12024, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12021, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12025, 0)
    node.BrowseName = QualifiedName('EURange', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(12021, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("EURange")
    attrs.DataType = NumericNodeId(884, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12025, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(12025, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12025, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12021, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12026, 0)
    node.BrowseName = QualifiedName('EngineeringUnits', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(12021, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("EngineeringUnits")
    attrs.DataType = NumericNodeId(887, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12026, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(12026, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12026, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12021, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12027, 0)
    node.BrowseName = QualifiedName('Title', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(12021, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("Title")
    attrs.DataType = NodeId(ObjectIds.LocalizedText)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12027, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(12027, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12027, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12021, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12028, 0)
    node.BrowseName = QualifiedName('AxisScaleType', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(12021, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("AxisScaleType")
    attrs.DataType = NumericNodeId(12077, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12028, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(12028, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12028, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12021, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12029, 0)
    node.BrowseName = QualifiedName('YArrayItemType', 0)
    node.NodeClass = NodeClass.VariableType
    node.ParentNodeId = NumericNodeId(12021, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = VariableTypeAttributes()
    attrs.DisplayName = LocalizedText("YArrayItemType")
    attrs.DisplayName = LocalizedText("YArrayItemType")
    attrs.DataType = NodeId(ObjectIds.String)
    attrs.ValueRank = 1
    attrs.ArrayDimensions = [0]
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12029, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12037, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(12029, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12021, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12037, 0)
    node.BrowseName = QualifiedName('XAxisDefinition', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(12029, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("XAxisDefinition")
    attrs.DataType = NumericNodeId(12079, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12037, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(12037, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12037, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12029, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12038, 0)
    node.BrowseName = QualifiedName('XYArrayItemType', 0)
    node.NodeClass = NodeClass.VariableType
    node.ParentNodeId = NumericNodeId(12021, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = VariableTypeAttributes()
    attrs.DisplayName = LocalizedText("XYArrayItemType")
    attrs.DisplayName = LocalizedText("XYArrayItemType")
    attrs.DataType = NumericNodeId(12080, 0)
    attrs.ValueRank = 1
    attrs.ArrayDimensions = [0]
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12038, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12046, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(12038, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12021, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12046, 0)
    node.BrowseName = QualifiedName('XAxisDefinition', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(12038, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("XAxisDefinition")
    attrs.DataType = NumericNodeId(12079, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12046, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(12046, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12046, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12038, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12047, 0)
    node.BrowseName = QualifiedName('ImageItemType', 0)
    node.NodeClass = NodeClass.VariableType
    node.ParentNodeId = NumericNodeId(12021, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = VariableTypeAttributes()
    attrs.DisplayName = LocalizedText("ImageItemType")
    attrs.DisplayName = LocalizedText("ImageItemType")
    attrs.DataType = NodeId(ObjectIds.String)
    attrs.ValueRank = 2
    attrs.ArrayDimensions = [0, 0]
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12047, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12055, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12047, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12056, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(12047, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12021, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12055, 0)
    node.BrowseName = QualifiedName('XAxisDefinition', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(12047, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("XAxisDefinition")
    attrs.DataType = NumericNodeId(12079, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12055, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(12055, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12055, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12047, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12056, 0)
    node.BrowseName = QualifiedName('YAxisDefinition', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(12047, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("YAxisDefinition")
    attrs.DataType = NumericNodeId(12079, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12056, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(12056, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12056, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12047, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12057, 0)
    node.BrowseName = QualifiedName('CubeItemType', 0)
    node.NodeClass = NodeClass.VariableType
    node.ParentNodeId = NumericNodeId(12021, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = VariableTypeAttributes()
    attrs.DisplayName = LocalizedText("CubeItemType")
    attrs.DisplayName = LocalizedText("CubeItemType")
    attrs.DataType = NodeId(ObjectIds.String)
    attrs.ValueRank = 3
    attrs.ArrayDimensions = [0, 0, 0]
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12057, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12065, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12057, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12066, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12057, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12067, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(12057, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12021, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12065, 0)
    node.BrowseName = QualifiedName('XAxisDefinition', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(12057, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("XAxisDefinition")
    attrs.DataType = NumericNodeId(12079, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12065, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(12065, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12065, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12057, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12066, 0)
    node.BrowseName = QualifiedName('YAxisDefinition', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(12057, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("YAxisDefinition")
    attrs.DataType = NumericNodeId(12079, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12066, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(12066, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12066, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12057, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12067, 0)
    node.BrowseName = QualifiedName('ZAxisDefinition', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(12057, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("ZAxisDefinition")
    attrs.DataType = NumericNodeId(12079, 0)
    attrs.ValueRank = -1
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12067, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(12067, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12067, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12057, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12068, 0)
    node.BrowseName = QualifiedName('NDimensionArrayItemType', 0)
    node.NodeClass = NodeClass.VariableType
    node.ParentNodeId = NumericNodeId(12021, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = VariableTypeAttributes()
    attrs.DisplayName = LocalizedText("NDimensionArrayItemType")
    attrs.DisplayName = LocalizedText("NDimensionArrayItemType")
    attrs.DataType = NodeId(ObjectIds.String)
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12068, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12076, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(12068, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12021, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12076, 0)
    node.BrowseName = QualifiedName('AxisDefinition', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(12068, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("AxisDefinition")
    attrs.DataType = NumericNodeId(12079, 0)
    attrs.ValueRank = 1
    attrs.ArrayDimensions = [0]
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12076, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(12076, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12076, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12068, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(884, 0)
    node.BrowseName = QualifiedName('Range', 0)
    node.NodeClass = NodeClass.DataType
    node.ParentNodeId = NumericNodeId(22, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = DataTypeAttributes()
    attrs.DisplayName = LocalizedText("Range")
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(884, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(22, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(887, 0)
    node.BrowseName = QualifiedName('EUInformation', 0)
    node.NodeClass = NodeClass.DataType
    node.ParentNodeId = NumericNodeId(22, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = DataTypeAttributes()
    attrs.DisplayName = LocalizedText("EUInformation")
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(887, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(22, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12077, 0)
    node.BrowseName = QualifiedName('AxisScaleEnumeration', 0)
    node.NodeClass = NodeClass.DataType
    node.ParentNodeId = NumericNodeId(29, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = DataTypeAttributes()
    attrs.DisplayName = LocalizedText("AxisScaleEnumeration")
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12077, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12078, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(12077, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(29, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12078, 0)
    node.BrowseName = QualifiedName('EnumStrings', 0)
    node.NodeClass = NodeClass.Variable
    node.ParentNodeId = NumericNodeId(12077, 0)
    node.ReferenceTypeId = NumericNodeId(46, 0)
    node.TypeDefinition = NumericNodeId(68, 0)
    attrs = VariableAttributes()
    attrs.DisplayName = LocalizedText("EnumStrings")
    attrs.DataType = NodeId(ObjectIds.LocalizedText)
    attrs.Value = [LocalizedText('Linear'), LocalizedText('Log'), LocalizedText('Ln')]
    attrs.ValueRank = 1
    attrs.ArrayDimensions = [0]
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12078, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(68, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(37, 0)
    ref.SourceNodeId = NumericNodeId(12078, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(78, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(46, 0)
    ref.SourceNodeId = NumericNodeId(12078, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12077, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12171, 0)
    node.BrowseName = QualifiedName('ComplexNumberType', 0)
    node.NodeClass = NodeClass.DataType
    node.ParentNodeId = NumericNodeId(22, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = DataTypeAttributes()
    attrs.DisplayName = LocalizedText("ComplexNumberType")
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(12171, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(22, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12172, 0)
    node.BrowseName = QualifiedName('DoubleComplexNumberType', 0)
    node.NodeClass = NodeClass.DataType
    node.ParentNodeId = NumericNodeId(22, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = DataTypeAttributes()
    attrs.DisplayName = LocalizedText("DoubleComplexNumberType")
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(12172, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(22, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12079, 0)
    node.BrowseName = QualifiedName('AxisInformation', 0)
    node.NodeClass = NodeClass.DataType
    node.ParentNodeId = NumericNodeId(22, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = DataTypeAttributes()
    attrs.DisplayName = LocalizedText("AxisInformation")
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(12079, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(22, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12080, 0)
    node.BrowseName = QualifiedName('XVType', 0)
    node.NodeClass = NodeClass.DataType
    node.ParentNodeId = NumericNodeId(22, 0)
    node.ReferenceTypeId = NumericNodeId(45, 0)
    attrs = DataTypeAttributes()
    attrs.DisplayName = LocalizedText("XVType")
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(45, 0)
    ref.SourceNodeId = NumericNodeId(12080, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(22, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(886, 0)
    node.BrowseName = QualifiedName('Default Binary', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(884, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default Binary")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(886, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(884, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(39, 0)
    ref.SourceNodeId = NumericNodeId(886, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(8238, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(886, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(889, 0)
    node.BrowseName = QualifiedName('Default Binary', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(887, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default Binary")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(889, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(887, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(39, 0)
    ref.SourceNodeId = NumericNodeId(889, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(8241, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(889, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12181, 0)
    node.BrowseName = QualifiedName('Default Binary', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(12171, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default Binary")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(12181, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12171, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(39, 0)
    ref.SourceNodeId = NumericNodeId(12181, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12183, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12181, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12182, 0)
    node.BrowseName = QualifiedName('Default Binary', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(12172, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default Binary")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(12182, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12172, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(39, 0)
    ref.SourceNodeId = NumericNodeId(12182, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12186, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12182, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12089, 0)
    node.BrowseName = QualifiedName('Default Binary', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(12079, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default Binary")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(12089, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12079, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(39, 0)
    ref.SourceNodeId = NumericNodeId(12089, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12091, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12089, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12090, 0)
    node.BrowseName = QualifiedName('Default Binary', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(12080, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default Binary")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(12090, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12080, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(39, 0)
    ref.SourceNodeId = NumericNodeId(12090, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12094, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12090, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(885, 0)
    node.BrowseName = QualifiedName('Default XML', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(884, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default XML")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(885, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(884, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(39, 0)
    ref.SourceNodeId = NumericNodeId(885, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(8873, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(885, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(888, 0)
    node.BrowseName = QualifiedName('Default XML', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(887, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default XML")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(888, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(887, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(39, 0)
    ref.SourceNodeId = NumericNodeId(888, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(8876, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(888, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12173, 0)
    node.BrowseName = QualifiedName('Default XML', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(12171, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default XML")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(12173, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12171, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(39, 0)
    ref.SourceNodeId = NumericNodeId(12173, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12175, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12173, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12174, 0)
    node.BrowseName = QualifiedName('Default XML', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(12172, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default XML")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(12174, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12172, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(39, 0)
    ref.SourceNodeId = NumericNodeId(12174, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12178, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12174, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12081, 0)
    node.BrowseName = QualifiedName('Default XML', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(12079, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default XML")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(12081, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12079, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(39, 0)
    ref.SourceNodeId = NumericNodeId(12081, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12083, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12081, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(12082, 0)
    node.BrowseName = QualifiedName('Default XML', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(12080, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default XML")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(12082, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12080, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(39, 0)
    ref.SourceNodeId = NumericNodeId(12082, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12086, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(12082, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(15375, 0)
    node.BrowseName = QualifiedName('Default JSON', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(884, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default JSON")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(15375, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(884, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(15375, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(15376, 0)
    node.BrowseName = QualifiedName('Default JSON', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(887, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default JSON")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(15376, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(887, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(15376, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(15377, 0)
    node.BrowseName = QualifiedName('Default JSON', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(12171, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default JSON")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(15377, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12171, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(15377, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(15378, 0)
    node.BrowseName = QualifiedName('Default JSON', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(12172, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default JSON")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(15378, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12172, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(15378, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(15379, 0)
    node.BrowseName = QualifiedName('Default JSON', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(12079, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default JSON")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(15379, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12079, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(15379, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)

    node = AddNodesItem()
    node.RequestedNewNodeId = NumericNodeId(15380, 0)
    node.BrowseName = QualifiedName('Default JSON', 0)
    node.NodeClass = NodeClass.Object
    node.ParentNodeId = NumericNodeId(12080, 0)
    node.ReferenceTypeId = NumericNodeId(38, 0)
    node.TypeDefinition = NumericNodeId(76, 0)
    attrs = ObjectAttributes()
    attrs.DisplayName = LocalizedText("Default JSON")
    attrs.EventNotifier = 0
    node.NodeAttributes = attrs
    server.add_nodes([node])
    refs = []
    ref = AddReferencesItem()
    ref.IsForward = False
    ref.ReferenceTypeId = NumericNodeId(38, 0)
    ref.SourceNodeId = NumericNodeId(15380, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(12080, 0)
    refs.append(ref)
    ref = AddReferencesItem()
    ref.IsForward = True
    ref.ReferenceTypeId = NumericNodeId(40, 0)
    ref.SourceNodeId = NumericNodeId(15380, 0)
    ref.TargetNodeClass = NodeClass.DataType
    ref.TargetNodeId = NumericNodeId(76, 0)
    refs.append(ref)
    server.add_references(refs)