diff --git a/go.mod b/go.mod
index 4df9412..36c1a57 100644
--- a/go.mod
+++ b/go.mod
@@ -22,7 +22,7 @@
 	github.com/looplab/fsm v0.1.0
 	github.com/olekukonko/tablewriter v0.0.4
 	github.com/opencord/cordctl v0.0.0-20190909161711-01e9c1f04bf4
-	github.com/opencord/device-management-interface v0.11.0
+	github.com/opencord/device-management-interface v1.2.1
 	github.com/opencord/omci-lib-go/v2 v2.1.2
 	github.com/opencord/voltha-protos/v5 v5.1.2
 	github.com/pkg/errors v0.8.1 // indirect
diff --git a/go.sum b/go.sum
index 6573a06..4c127d9 100644
--- a/go.sum
+++ b/go.sum
@@ -85,8 +85,8 @@
 github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA=
 github.com/opencord/cordctl v0.0.0-20190909161711-01e9c1f04bf4 h1:Odib2px8tyALzdbyztAAqdxmpmQ/pJahJ7uz8kN/rvk=
 github.com/opencord/cordctl v0.0.0-20190909161711-01e9c1f04bf4/go.mod h1:/+3S0pwQUy7HeKnH0KfKp5W6hmh/LdZzuZTNT/m7vA4=
-github.com/opencord/device-management-interface v0.11.0 h1:hoKjrkQWPr0IFXWn6HbGdV1Bk5v0gijM7P4VjUJvNh8=
-github.com/opencord/device-management-interface v0.11.0/go.mod h1:G1owSqGBGaqllrwtjxfLTsy9EDsGhdhmqkJM3XOnPD0=
+github.com/opencord/device-management-interface v1.2.1 h1:ur7l70Le6Xzemb7Y/2wkO7u9jA26bLnB4R0+5SIoy+I=
+github.com/opencord/device-management-interface v1.2.1/go.mod h1:G1owSqGBGaqllrwtjxfLTsy9EDsGhdhmqkJM3XOnPD0=
 github.com/opencord/omci-lib-go/v2 v2.1.2 h1:IgwSGEtM8zf/o8wrDLdY+q0WshDYwRwMGYeL35gMqVQ=
 github.com/opencord/omci-lib-go/v2 v2.1.2/go.mod h1:o1S/jhDLHNikFU7uG2TR5UOM5KmKlqwLlVncXi0FBYQ=
 github.com/opencord/voltha-protos/v5 v5.1.2 h1:biyhoK+5JBcpT3HvUBb1xzN5cAKA0xXU/hLbtzuR9xI=
diff --git a/internal/bbsim/dmiserver/dmi_events_mgmt.go b/internal/bbsim/dmiserver/dmi_events_mgmt.go
index 03bfd19..b217f60 100755
--- a/internal/bbsim/dmiserver/dmi_events_mgmt.go
+++ b/internal/bbsim/dmiserver/dmi_events_mgmt.go
@@ -18,6 +18,7 @@
 
 import (
 	"context"
+	"github.com/golang/protobuf/ptypes/empty"
 	"google.golang.org/grpc/codes"
 	"google.golang.org/grpc/status"
 
@@ -69,3 +70,8 @@
 		Status: dmi.Status_OK_STATUS,
 	}, nil
 }
+
+// Initiates the server streaming of the events
+func (dms *DmiAPIServer) StreamEvents(req *empty.Empty, srv dmi.NativeEventsManagementService_StreamEventsServer) error {
+	return status.Errorf(codes.Unimplemented, "rpc StreamEvents not implemented")
+}
diff --git a/internal/bbsim/dmiserver/dmi_hw_mgmt.go b/internal/bbsim/dmiserver/dmi_hw_mgmt.go
index 024f7c0..64450df 100755
--- a/internal/bbsim/dmiserver/dmi_hw_mgmt.go
+++ b/internal/bbsim/dmiserver/dmi_hw_mgmt.go
@@ -555,10 +555,15 @@
 	retResponse := dmi.ManagedDevicesResponse{}
 	//If our uuid is empty, we return empty list; else we fill details and return
 	if dms.uuid != "" {
-		root := dmi.ModifiableComponent{
-			Name: dms.deviceName,
-			Uri: &dmi.Uri{
-				Uri: dms.ipAddress,
+		root := dmi.ManagedDeviceInfo{
+			Info: &dmi.ModifiableComponent{
+				Name: dms.deviceName,
+				Uri: &dmi.Uri{
+					Uri: dms.ipAddress,
+				},
+			},
+			DeviceUuid: &dmi.Uuid{
+				Uuid: dms.uuid,
 			},
 		}
 
@@ -599,3 +604,13 @@
 		LogLevels: []*dmi.EntitiesLogLevel{},
 	}, nil
 }
+
+// Performs the heartbeat check
+func (dms *DmiAPIServer) HeartbeatCheck(context.Context, *empty.Empty) (*dmi.Heartbeat, error) {
+	return nil, status.Errorf(codes.Unimplemented, "rpc HeartbeatCheck not implemented")
+}
+
+// Performs the reboot of the device
+func (dms *DmiAPIServer) RebootDevice(context.Context, *dmi.RebootDeviceRequest) (*dmi.RebootDeviceResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "rpc RebootDevice not implemented")
+}
diff --git a/internal/bbsim/dmiserver/dmi_metrics_mgmt.go b/internal/bbsim/dmiserver/dmi_metrics_mgmt.go
index ea7c33e..0421d09 100755
--- a/internal/bbsim/dmiserver/dmi_metrics_mgmt.go
+++ b/internal/bbsim/dmiserver/dmi_metrics_mgmt.go
@@ -19,6 +19,7 @@
 import (
 	"context"
 
+	"github.com/golang/protobuf/ptypes/empty"
 	"google.golang.org/grpc/codes"
 	"google.golang.org/grpc/status"
 
@@ -101,3 +102,8 @@
 		Metric: metric,
 	}, nil
 }
+
+// Initiates the server streaming of the metrics
+func (dms *DmiAPIServer) StreamMetrics(req *empty.Empty, srv dmi.NativeMetricsManagementService_StreamMetricsServer) error {
+	return status.Errorf(codes.Unimplemented, "rpc StreamMetrics not implemented")
+}
diff --git a/vendor/github.com/opencord/device-management-interface/go/dmi/hw.pb.go b/vendor/github.com/opencord/device-management-interface/go/dmi/hw.pb.go
index cce095b..0dad292 100644
--- a/vendor/github.com/opencord/device-management-interface/go/dmi/hw.pb.go
+++ b/vendor/github.com/opencord/device-management-interface/go/dmi/hw.pb.go
@@ -444,6 +444,7 @@
 	PortComponentAttributes_FIBER_LC                 PortComponentAttributes_ConnectorType = 2
 	PortComponentAttributes_FIBER_SC_PC              PortComponentAttributes_ConnectorType = 3
 	PortComponentAttributes_FIBER_MPO                PortComponentAttributes_ConnectorType = 4
+	PortComponentAttributes_RS232                    PortComponentAttributes_ConnectorType = 5
 )
 
 var PortComponentAttributes_ConnectorType_name = map[int32]string{
@@ -452,6 +453,7 @@
 	2: "FIBER_LC",
 	3: "FIBER_SC_PC",
 	4: "FIBER_MPO",
+	5: "RS232",
 }
 
 var PortComponentAttributes_ConnectorType_value = map[string]int32{
@@ -460,6 +462,7 @@
 	"FIBER_LC":                 2,
 	"FIBER_SC_PC":              3,
 	"FIBER_MPO":                4,
+	"RS232":                    5,
 }
 
 func (x PortComponentAttributes_ConnectorType) String() string {
@@ -530,6 +533,7 @@
 	PortComponentAttributes_GFAST              PortComponentAttributes_Protocol = 5
 	PortComponentAttributes_SERIAL             PortComponentAttributes_Protocol = 6
 	PortComponentAttributes_EPON               PortComponentAttributes_Protocol = 7
+	PortComponentAttributes_BITS               PortComponentAttributes_Protocol = 8
 )
 
 var PortComponentAttributes_Protocol_name = map[int32]string{
@@ -541,6 +545,7 @@
 	5: "GFAST",
 	6: "SERIAL",
 	7: "EPON",
+	8: "BITS",
 }
 
 var PortComponentAttributes_Protocol_value = map[string]int32{
@@ -552,6 +557,7 @@
 	"GFAST":              5,
 	"SERIAL":             6,
 	"EPON":               7,
+	"BITS":               8,
 }
 
 func (x PortComponentAttributes_Protocol) String() string {
@@ -590,7 +596,7 @@
 }
 
 func (PsuComponentAttributes_SupportedVoltage) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{7, 0}
+	return fileDescriptor_d7c33d745c4ab367, []int{9, 0}
 }
 
 type TransceiverComponentsAttributes_FormFactor int32
@@ -654,7 +660,7 @@
 }
 
 func (TransceiverComponentsAttributes_FormFactor) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{8, 0}
+	return fileDescriptor_d7c33d745c4ab367, []int{10, 0}
 }
 
 type TransceiverComponentsAttributes_Type int32
@@ -697,7 +703,7 @@
 }
 
 func (TransceiverComponentsAttributes_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{8, 1}
+	return fileDescriptor_d7c33d745c4ab367, []int{10, 1}
 }
 
 type Uuid struct {
@@ -1001,13 +1007,19 @@
 }
 
 type PortComponentAttributes struct {
-	ConnectorType        PortComponentAttributes_ConnectorType `protobuf:"varint,1,opt,name=connector_type,json=connectorType,proto3,enum=dmi.PortComponentAttributes_ConnectorType" json:"connector_type,omitempty"`
-	Speed                PortComponentAttributes_Speed         `protobuf:"varint,2,opt,name=speed,proto3,enum=dmi.PortComponentAttributes_Speed" json:"speed,omitempty"`
-	Protocol             PortComponentAttributes_Protocol      `protobuf:"varint,3,opt,name=protocol,proto3,enum=dmi.PortComponentAttributes_Protocol" json:"protocol,omitempty"`
-	PhysicalLabel        string                                `protobuf:"bytes,4,opt,name=physical_label,json=physicalLabel,proto3" json:"physical_label,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                              `json:"-"`
-	XXX_unrecognized     []byte                                `json:"-"`
-	XXX_sizecache        int32                                 `json:"-"`
+	ConnectorType PortComponentAttributes_ConnectorType `protobuf:"varint,1,opt,name=connector_type,json=connectorType,proto3,enum=dmi.PortComponentAttributes_ConnectorType" json:"connector_type,omitempty"`
+	Speed         PortComponentAttributes_Speed         `protobuf:"varint,2,opt,name=speed,proto3,enum=dmi.PortComponentAttributes_Speed" json:"speed,omitempty"`
+	Protocol      PortComponentAttributes_Protocol      `protobuf:"varint,3,opt,name=protocol,proto3,enum=dmi.PortComponentAttributes_Protocol" json:"protocol,omitempty"`
+	PhysicalLabel string                                `protobuf:"bytes,4,opt,name=physical_label,json=physicalLabel,proto3" json:"physical_label,omitempty"`
+	// The mapping_label can be used to map ports between the DMI interface and other systems like VOLTHA
+	// The value of the mapping_label should be exactly the same as generated for the same port by the other
+	// system
+	MappingLabel         string       `protobuf:"bytes,5,opt,name=mapping_label,json=mappingLabel,proto3" json:"mapping_label,omitempty"`
+	PonIdConfig          *PonIdConfig `protobuf:"bytes,6,opt,name=pon_id_config,json=ponIdConfig,proto3" json:"pon_id_config,omitempty"`
+	SpeedAutonegotiation bool         `protobuf:"varint,7,opt,name=speed_autonegotiation,json=speedAutonegotiation,proto3" json:"speed_autonegotiation,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
+	XXX_unrecognized     []byte       `json:"-"`
+	XXX_sizecache        int32        `json:"-"`
 }
 
 func (m *PortComponentAttributes) Reset()         { *m = PortComponentAttributes{} }
@@ -1063,6 +1075,116 @@
 	return ""
 }
 
+func (m *PortComponentAttributes) GetMappingLabel() string {
+	if m != nil {
+		return m.MappingLabel
+	}
+	return ""
+}
+
+func (m *PortComponentAttributes) GetPonIdConfig() *PonIdConfig {
+	if m != nil {
+		return m.PonIdConfig
+	}
+	return nil
+}
+
+func (m *PortComponentAttributes) GetSpeedAutonegotiation() bool {
+	if m != nil {
+		return m.SpeedAutonegotiation
+	}
+	return false
+}
+
+type PortComponentChangeAttributes struct {
+	PonIdConfig          *PonIdConfig `protobuf:"bytes,1,opt,name=pon_id_config,json=ponIdConfig,proto3" json:"pon_id_config,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
+	XXX_unrecognized     []byte       `json:"-"`
+	XXX_sizecache        int32        `json:"-"`
+}
+
+func (m *PortComponentChangeAttributes) Reset()         { *m = PortComponentChangeAttributes{} }
+func (m *PortComponentChangeAttributes) String() string { return proto.CompactTextString(m) }
+func (*PortComponentChangeAttributes) ProtoMessage()    {}
+func (*PortComponentChangeAttributes) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{6}
+}
+
+func (m *PortComponentChangeAttributes) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PortComponentChangeAttributes.Unmarshal(m, b)
+}
+func (m *PortComponentChangeAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PortComponentChangeAttributes.Marshal(b, m, deterministic)
+}
+func (m *PortComponentChangeAttributes) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PortComponentChangeAttributes.Merge(m, src)
+}
+func (m *PortComponentChangeAttributes) XXX_Size() int {
+	return xxx_messageInfo_PortComponentChangeAttributes.Size(m)
+}
+func (m *PortComponentChangeAttributes) XXX_DiscardUnknown() {
+	xxx_messageInfo_PortComponentChangeAttributes.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PortComponentChangeAttributes proto.InternalMessageInfo
+
+func (m *PortComponentChangeAttributes) GetPonIdConfig() *PonIdConfig {
+	if m != nil {
+		return m.PonIdConfig
+	}
+	return nil
+}
+
+type PonIdConfig struct {
+	// The pon_id and pon_id_transmit_periodicity attributes are valid only for ports of type GPON, XGPON and XGSPON
+	// For GPON pon_id is a 7 byte value
+	// For XGS-PON, it's a 32 bit value, should be encoded in the first 4 bytes of pon_id in network byte order
+	PonId                    []byte   `protobuf:"bytes,1,opt,name=pon_id,json=ponId,proto3" json:"pon_id,omitempty"`
+	PonIdTransmitPeriodicity uint32   `protobuf:"varint,2,opt,name=pon_id_transmit_periodicity,json=ponIdTransmitPeriodicity,proto3" json:"pon_id_transmit_periodicity,omitempty"`
+	XXX_NoUnkeyedLiteral     struct{} `json:"-"`
+	XXX_unrecognized         []byte   `json:"-"`
+	XXX_sizecache            int32    `json:"-"`
+}
+
+func (m *PonIdConfig) Reset()         { *m = PonIdConfig{} }
+func (m *PonIdConfig) String() string { return proto.CompactTextString(m) }
+func (*PonIdConfig) ProtoMessage()    {}
+func (*PonIdConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{7}
+}
+
+func (m *PonIdConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PonIdConfig.Unmarshal(m, b)
+}
+func (m *PonIdConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PonIdConfig.Marshal(b, m, deterministic)
+}
+func (m *PonIdConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PonIdConfig.Merge(m, src)
+}
+func (m *PonIdConfig) XXX_Size() int {
+	return xxx_messageInfo_PonIdConfig.Size(m)
+}
+func (m *PonIdConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_PonIdConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PonIdConfig proto.InternalMessageInfo
+
+func (m *PonIdConfig) GetPonId() []byte {
+	if m != nil {
+		return m.PonId
+	}
+	return nil
+}
+
+func (m *PonIdConfig) GetPonIdTransmitPeriodicity() uint32 {
+	if m != nil {
+		return m.PonIdTransmitPeriodicity
+	}
+	return 0
+}
+
 type ContainerComponentAttributes struct {
 	PhysicalLabel        string   `protobuf:"bytes,1,opt,name=physical_label,json=physicalLabel,proto3" json:"physical_label,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -1074,7 +1196,7 @@
 func (m *ContainerComponentAttributes) String() string { return proto.CompactTextString(m) }
 func (*ContainerComponentAttributes) ProtoMessage()    {}
 func (*ContainerComponentAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{6}
+	return fileDescriptor_d7c33d745c4ab367, []int{8}
 }
 
 func (m *ContainerComponentAttributes) XXX_Unmarshal(b []byte) error {
@@ -1113,7 +1235,7 @@
 func (m *PsuComponentAttributes) String() string { return proto.CompactTextString(m) }
 func (*PsuComponentAttributes) ProtoMessage()    {}
 func (*PsuComponentAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{7}
+	return fileDescriptor_d7c33d745c4ab367, []int{9}
 }
 
 func (m *PsuComponentAttributes) XXX_Unmarshal(b []byte) error {
@@ -1160,7 +1282,7 @@
 func (m *TransceiverComponentsAttributes) String() string { return proto.CompactTextString(m) }
 func (*TransceiverComponentsAttributes) ProtoMessage()    {}
 func (*TransceiverComponentsAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{8}
+	return fileDescriptor_d7c33d745c4ab367, []int{10}
 }
 
 func (m *TransceiverComponentsAttributes) XXX_Unmarshal(b []byte) error {
@@ -1273,7 +1395,7 @@
 func (m *Component) String() string { return proto.CompactTextString(m) }
 func (*Component) ProtoMessage()    {}
 func (*Component) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{9}
+	return fileDescriptor_d7c33d745c4ab367, []int{11}
 }
 
 func (m *Component) XXX_Unmarshal(b []byte) error {
@@ -1524,7 +1646,7 @@
 func (m *Hardware) String() string { return proto.CompactTextString(m) }
 func (*Hardware) ProtoMessage()    {}
 func (*Hardware) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{10}
+	return fileDescriptor_d7c33d745c4ab367, []int{12}
 }
 
 func (m *Hardware) XXX_Unmarshal(b []byte) error {
@@ -1570,24 +1692,29 @@
 type ModifiableComponent struct {
 	// The name has to be unique for each component within the hardware and implementations need to
 	// ascertain this when modifying the name
-	Name                 string              `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
-	Class                ComponentType       `protobuf:"varint,2,opt,name=class,proto3,enum=dmi.ComponentType" json:"class,omitempty"`
-	Parent               *Component          `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"`
-	ParentRelPos         int32               `protobuf:"varint,4,opt,name=parent_rel_pos,json=parentRelPos,proto3" json:"parent_rel_pos,omitempty"`
-	Alias                string              `protobuf:"bytes,5,opt,name=alias,proto3" json:"alias,omitempty"`
-	AssetId              string              `protobuf:"bytes,6,opt,name=asset_id,json=assetId,proto3" json:"asset_id,omitempty"`
-	Uri                  *Uri                `protobuf:"bytes,7,opt,name=uri,proto3" json:"uri,omitempty"`
-	AdminState           ComponentAdminState `protobuf:"varint,8,opt,name=admin_state,json=adminState,proto3,enum=dmi.ComponentAdminState" json:"admin_state,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
-	XXX_unrecognized     []byte              `json:"-"`
-	XXX_sizecache        int32               `json:"-"`
+	Name         string              `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	Class        ComponentType       `protobuf:"varint,2,opt,name=class,proto3,enum=dmi.ComponentType" json:"class,omitempty"`
+	Parent       *Component          `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"`
+	ParentRelPos int32               `protobuf:"varint,4,opt,name=parent_rel_pos,json=parentRelPos,proto3" json:"parent_rel_pos,omitempty"`
+	Alias        string              `protobuf:"bytes,5,opt,name=alias,proto3" json:"alias,omitempty"`
+	AssetId      string              `protobuf:"bytes,6,opt,name=asset_id,json=assetId,proto3" json:"asset_id,omitempty"`
+	Uri          *Uri                `protobuf:"bytes,7,opt,name=uri,proto3" json:"uri,omitempty"`
+	AdminState   ComponentAdminState `protobuf:"varint,8,opt,name=admin_state,json=adminState,proto3,enum=dmi.ComponentAdminState" json:"admin_state,omitempty"`
+	// The attribute 'specific' can be populated for specific class of components
+	//
+	// Types that are valid to be assigned to Specific:
+	//	*ModifiableComponent_PortAttr
+	Specific             isModifiableComponent_Specific `protobuf_oneof:"specific"`
+	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
+	XXX_unrecognized     []byte                         `json:"-"`
+	XXX_sizecache        int32                          `json:"-"`
 }
 
 func (m *ModifiableComponent) Reset()         { *m = ModifiableComponent{} }
 func (m *ModifiableComponent) String() string { return proto.CompactTextString(m) }
 func (*ModifiableComponent) ProtoMessage()    {}
 func (*ModifiableComponent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{11}
+	return fileDescriptor_d7c33d745c4ab367, []int{13}
 }
 
 func (m *ModifiableComponent) XXX_Unmarshal(b []byte) error {
@@ -1664,6 +1791,37 @@
 	return ComponentAdminState_COMP_ADMIN_STATE_UNDEFINED
 }
 
+type isModifiableComponent_Specific interface {
+	isModifiableComponent_Specific()
+}
+
+type ModifiableComponent_PortAttr struct {
+	PortAttr *PortComponentChangeAttributes `protobuf:"bytes,50,opt,name=port_attr,json=portAttr,proto3,oneof"`
+}
+
+func (*ModifiableComponent_PortAttr) isModifiableComponent_Specific() {}
+
+func (m *ModifiableComponent) GetSpecific() isModifiableComponent_Specific {
+	if m != nil {
+		return m.Specific
+	}
+	return nil
+}
+
+func (m *ModifiableComponent) GetPortAttr() *PortComponentChangeAttributes {
+	if x, ok := m.GetSpecific().(*ModifiableComponent_PortAttr); ok {
+		return x.PortAttr
+	}
+	return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*ModifiableComponent) XXX_OneofWrappers() []interface{} {
+	return []interface{}{
+		(*ModifiableComponent_PortAttr)(nil),
+	}
+}
+
 func init() {
 	proto.RegisterEnum("dmi.ComponentType", ComponentType_name, ComponentType_value)
 	proto.RegisterEnum("dmi.ComponentAdminState", ComponentAdminState_name, ComponentAdminState_value)
@@ -1686,6 +1844,8 @@
 	proto.RegisterType((*ComponentState)(nil), "dmi.ComponentState")
 	proto.RegisterType((*ComponentSensorData)(nil), "dmi.ComponentSensorData")
 	proto.RegisterType((*PortComponentAttributes)(nil), "dmi.PortComponentAttributes")
+	proto.RegisterType((*PortComponentChangeAttributes)(nil), "dmi.PortComponentChangeAttributes")
+	proto.RegisterType((*PonIdConfig)(nil), "dmi.PonIdConfig")
 	proto.RegisterType((*ContainerComponentAttributes)(nil), "dmi.ContainerComponentAttributes")
 	proto.RegisterType((*PsuComponentAttributes)(nil), "dmi.PsuComponentAttributes")
 	proto.RegisterType((*TransceiverComponentsAttributes)(nil), "dmi.TransceiverComponentsAttributes")
@@ -1697,168 +1857,178 @@
 func init() { proto.RegisterFile("dmi/hw.proto", fileDescriptor_d7c33d745c4ab367) }
 
 var fileDescriptor_d7c33d745c4ab367 = []byte{
-	// 2596 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcd, 0x72, 0xdb, 0xc8,
-	0xf1, 0x37, 0xbf, 0xc9, 0xe6, 0x87, 0xc6, 0x23, 0x7f, 0x70, 0x65, 0x7b, 0x57, 0xcb, 0xff, 0xee,
-	0x96, 0x56, 0xff, 0xac, 0x24, 0xcb, 0x76, 0xca, 0x9b, 0xad, 0x54, 0x0a, 0x02, 0x41, 0x11, 0x2b,
-	0x12, 0xc0, 0x0e, 0x40, 0xd9, 0xda, 0x0b, 0x0a, 0x22, 0x21, 0x09, 0x55, 0x24, 0xc1, 0x02, 0x40,
-	0xad, 0x7d, 0x4d, 0xe5, 0x92, 0x53, 0x5e, 0x20, 0xc7, 0x54, 0x6a, 0x73, 0xc9, 0x25, 0x39, 0xe6,
-	0x90, 0x4b, 0x5e, 0x20, 0xb7, 0x3c, 0x43, 0x5e, 0x22, 0x35, 0x33, 0x00, 0x09, 0x80, 0xb0, 0xd7,
-	0xa9, 0xca, 0x6d, 0xe6, 0xf7, 0xeb, 0xee, 0xe9, 0xe9, 0x99, 0xee, 0x69, 0x00, 0x1a, 0x93, 0x99,
-	0x73, 0x78, 0xf3, 0xc3, 0xc1, 0xc2, 0x73, 0x03, 0x17, 0x17, 0x26, 0x33, 0x67, 0xe7, 0x93, 0x6b,
-	0xd7, 0xbd, 0x9e, 0xda, 0x87, 0x0c, 0xba, 0x5c, 0x5e, 0x1d, 0x06, 0xce, 0xcc, 0xf6, 0x03, 0x6b,
-	0xb6, 0xe0, 0x52, 0x9d, 0x1d, 0x28, 0x8e, 0x96, 0xce, 0x04, 0x63, 0x28, 0x2e, 0x97, 0xce, 0xa4,
-	0x9d, 0xdb, 0xcd, 0xed, 0xd5, 0x08, 0x1b, 0x77, 0xfe, 0x1f, 0xa0, 0x6f, 0x79, 0x93, 0x1f, 0x2c,
-	0xcf, 0x96, 0xbb, 0xf8, 0x49, 0x4c, 0xa2, 0x7e, 0x5c, 0x3b, 0x98, 0xcc, 0x9c, 0x03, 0xaa, 0x1a,
-	0x0a, 0x3f, 0x84, 0xc2, 0xc8, 0x73, 0x30, 0x82, 0xc2, 0xd2, 0x73, 0x42, 0x33, 0x74, 0xd8, 0xf9,
-	0x4d, 0x01, 0x5a, 0xa2, 0x3b, 0x5b, 0xb8, 0x73, 0x7b, 0x1e, 0xe8, 0x81, 0x15, 0xd8, 0xb8, 0x0f,
-	0xd8, 0xa7, 0x03, 0x73, 0x6a, 0xf9, 0x81, 0x39, 0xbe, 0xb1, 0xe6, 0xd7, 0x76, 0x64, 0x78, 0xe7,
-	0x80, 0xbb, 0x7c, 0x10, 0xb9, 0x7c, 0x60, 0x44, 0x2e, 0x13, 0xc4, 0xb4, 0x06, 0x96, 0x1f, 0x88,
-	0x5c, 0x07, 0x7f, 0x0d, 0x75, 0x6b, 0x32, 0x73, 0xe6, 0x26, 0x63, 0xda, 0xf9, 0xdd, 0xdc, 0x5e,
-	0xeb, 0xb8, 0xcd, 0x7c, 0x5b, 0xad, 0x29, 0x50, 0x01, 0xb6, 0x30, 0x01, 0x6b, 0x35, 0xc6, 0x3f,
-	0x07, 0x70, 0x17, 0xb6, 0x17, 0x6a, 0x16, 0x98, 0xe6, 0xc3, 0xa4, 0xa6, 0xba, 0xb0, 0x3d, 0xae,
-	0x58, 0x73, 0xa3, 0x21, 0x5d, 0x72, 0xe9, 0x5b, 0xd7, 0x76, 0xa8, 0x58, 0xcc, 0x5a, 0x72, 0x44,
-	0x05, 0xc2, 0x25, 0x97, 0xab, 0x31, 0xf3, 0x76, 0x6a, 0x79, 0xb3, 0x50, 0xb5, 0x94, 0xe9, 0x2d,
-	0x15, 0x88, 0xbc, 0x5d, 0x8d, 0xf1, 0xaf, 0xa0, 0xe9, 0x07, 0xd6, 0x7c, 0x72, 0xf9, 0x36, 0x54,
-	0x2e, 0x33, 0xe5, 0x9d, 0xa4, 0xb2, 0xce, 0x45, 0xb8, 0x7a, 0xc3, 0x8f, 0xcd, 0x3a, 0xff, 0xce,
-	0xc3, 0xf6, 0x5a, 0xce, 0x9e, 0xfb, 0xae, 0xd7, 0xb5, 0x02, 0x0b, 0xdf, 0x83, 0xd2, 0xad, 0x35,
-	0x5d, 0xda, 0x2c, 0xfc, 0x25, 0xc2, 0x27, 0xf8, 0x0b, 0x28, 0x06, 0x6f, 0x17, 0x51, 0x40, 0x31,
-	0x5b, 0x85, 0x8a, 0x9f, 0x53, 0xd6, 0x78, 0xbb, 0xb0, 0x09, 0xe3, 0xf1, 0xe7, 0x50, 0xf2, 0xc7,
-	0xd6, 0x34, 0x8a, 0xdf, 0x16, 0x13, 0x64, 0x42, 0x3a, 0x85, 0x09, 0x67, 0xf1, 0x63, 0xa8, 0x2d,
-	0x3c, 0x7b, 0xec, 0xf8, 0x8e, 0x3b, 0x67, 0x11, 0x2b, 0x91, 0x35, 0x80, 0xbf, 0x84, 0x32, 0xdd,
-	0xd3, 0xd2, 0x0f, 0x23, 0x72, 0x97, 0x59, 0xe1, 0x3e, 0xea, 0x8c, 0x20, 0xa1, 0x00, 0xfe, 0x3f,
-	0x68, 0x2e, 0xe7, 0x4e, 0xe0, 0x9b, 0x13, 0xc7, 0x5f, 0x4c, 0xad, 0xb7, 0x2c, 0x0c, 0x35, 0xd2,
-	0x60, 0x60, 0x97, 0x63, 0xf8, 0x25, 0xd4, 0x56, 0xd7, 0xbc, 0x5d, 0xf9, 0xc9, 0x5b, 0xb5, 0x16,
-	0xc6, 0xfb, 0x70, 0x97, 0xed, 0xdf, 0x5c, 0x2e, 0x26, 0xf4, 0x7e, 0x7a, 0x34, 0xd2, 0xd5, 0xdd,
-	0xdc, 0x5e, 0x93, 0x6c, 0x31, 0x62, 0xc4, 0x70, 0x42, 0x4f, 0xe4, 0x11, 0xd4, 0x26, 0x56, 0x60,
-	0x99, 0x2c, 0x4e, 0x35, 0xe6, 0x46, 0x95, 0x02, 0x34, 0x3a, 0x9d, 0xdf, 0x97, 0xe0, 0xa1, 0xe6,
-	0x7a, 0xc1, 0xfa, 0x58, 0x83, 0xc0, 0x73, 0x2e, 0x97, 0x81, 0xed, 0xe3, 0xef, 0xa0, 0x35, 0x76,
-	0xe7, 0x73, 0x7b, 0x1c, 0xb8, 0x1e, 0xd7, 0xce, 0xb1, 0x6d, 0xef, 0xb3, 0x6d, 0xbf, 0x43, 0xeb,
-	0x40, 0x8c, 0x54, 0x58, 0xf4, 0x9b, 0xe3, 0xf8, 0x14, 0xbf, 0x84, 0x92, 0xbf, 0xb0, 0xed, 0x49,
-	0x78, 0x5e, 0x9d, 0xf7, 0x5a, 0xd2, 0xa9, 0x24, 0xe1, 0x0a, 0x58, 0x80, 0x2a, 0x0b, 0xc9, 0xd8,
-	0x9d, 0x86, 0x67, 0xf8, 0xf9, 0x7b, 0x95, 0xb5, 0x50, 0x98, 0xac, 0xd4, 0xf0, 0xe7, 0xd0, 0x5a,
-	0xdc, 0xbc, 0xf5, 0x9d, 0xb1, 0x35, 0x35, 0xa7, 0xd6, 0xa5, 0x3d, 0x65, 0x27, 0x5c, 0x23, 0xcd,
-	0x08, 0x1d, 0x50, 0xb0, 0x63, 0x43, 0x33, 0xb1, 0x07, 0xfc, 0x18, 0xda, 0xa2, 0xaa, 0x28, 0x92,
-	0x68, 0xa8, 0xc4, 0x34, 0x2e, 0x34, 0xc9, 0x1c, 0x29, 0x5d, 0xa9, 0x27, 0x2b, 0x52, 0x17, 0xdd,
-	0xc1, 0x55, 0x28, 0x92, 0x6f, 0x9f, 0xbf, 0x40, 0x39, 0xdc, 0x80, 0x6a, 0x4f, 0x3e, 0x91, 0x88,
-	0x39, 0x10, 0x51, 0x1e, 0x6f, 0x41, 0x9d, 0xcf, 0x74, 0xd1, 0xd4, 0x44, 0x54, 0xc0, 0x4d, 0xa8,
-	0x71, 0x60, 0xa8, 0xa9, 0xa8, 0xd8, 0xf9, 0x73, 0x0e, 0x4a, 0x6c, 0x87, 0x78, 0x1b, 0xb6, 0x74,
-	0x4d, 0x92, 0xba, 0x09, 0xb3, 0x75, 0xa8, 0x74, 0x2f, 0x14, 0x61, 0x28, 0x8b, 0x28, 0x47, 0x55,
-	0x4f, 0xe5, 0x53, 0xe1, 0x44, 0x36, 0xcc, 0xa7, 0x28, 0x8f, 0x5b, 0x00, 0xab, 0xe9, 0x11, 0x2a,
-	0xc4, 0xe7, 0xc7, 0x2f, 0x50, 0x31, 0x3e, 0x7f, 0x7e, 0x84, 0x4a, 0xd4, 0x95, 0xb5, 0xfc, 0x11,
-	0x2a, 0xc7, 0x81, 0xe7, 0x47, 0x47, 0xa8, 0x82, 0x11, 0x34, 0x86, 0x52, 0x64, 0xe1, 0xe8, 0x08,
-	0x55, 0xe3, 0xc8, 0xd3, 0xe3, 0x17, 0x47, 0xa8, 0xd6, 0xf1, 0xa0, 0x1a, 0x05, 0x15, 0x3f, 0x00,
-	0xac, 0x11, 0xd5, 0x50, 0x45, 0x75, 0x90, 0xf0, 0xba, 0x01, 0x55, 0xc9, 0xe8, 0x4b, 0x44, 0x91,
-	0x0c, 0x94, 0xa3, 0xa1, 0x39, 0xd5, 0x54, 0x05, 0xe5, 0x71, 0x0d, 0x4a, 0xaf, 0xd9, 0xb0, 0x80,
-	0x01, 0xca, 0xaf, 0x4f, 0x75, 0x3a, 0x2e, 0x52, 0xf8, 0xb4, 0x27, 0xe8, 0x06, 0x2a, 0x51, 0x58,
-	0x97, 0x88, 0x2c, 0x0c, 0x50, 0x99, 0xea, 0x49, 0x54, 0xa0, 0xd2, 0x91, 0xe0, 0xb1, 0xe8, 0xce,
-	0x03, 0xcb, 0x99, 0xdb, 0x5e, 0xd6, 0x15, 0xdd, 0x3c, 0xd2, 0x5c, 0xd6, 0x91, 0xfe, 0x23, 0x07,
-	0x0f, 0x34, 0x7f, 0x99, 0x65, 0xe1, 0x02, 0xee, 0xfa, 0xcb, 0xc5, 0xc2, 0xf5, 0x02, 0x7b, 0x62,
-	0xde, 0xba, 0xd3, 0xc0, 0xba, 0x8e, 0xee, 0xf9, 0xcf, 0xf8, 0x05, 0xcb, 0xd4, 0x3b, 0xd0, 0x23,
-	0xa5, 0x73, 0xae, 0x43, 0x90, 0x9f, 0x42, 0x3a, 0x1a, 0xa0, 0xb4, 0x14, 0xfe, 0x04, 0x1e, 0xe9,
-	0x23, 0x4d, 0x53, 0x89, 0x21, 0x75, 0xcd, 0x73, 0x75, 0x60, 0x08, 0xa7, 0xc9, 0xeb, 0x54, 0x81,
-	0xc2, 0xf9, 0xf3, 0x97, 0x3c, 0x78, 0xe7, 0xc7, 0xcf, 0x8e, 0x50, 0x9e, 0x8d, 0x9e, 0x3e, 0x7d,
-	0x81, 0x0a, 0x9d, 0x7f, 0x96, 0xe0, 0x13, 0xc3, 0xb3, 0xe6, 0xfe, 0xd8, 0x76, 0x6e, 0x63, 0x11,
-	0xf1, 0x63, 0x1b, 0xd2, 0xa0, 0x7e, 0xe5, 0x7a, 0x33, 0xf3, 0xca, 0xa2, 0x17, 0x38, 0xdc, 0xca,
-	0x21, 0xdb, 0xca, 0x4f, 0xa8, 0x1e, 0xf4, 0x5c, 0x6f, 0xd6, 0x63, 0x6a, 0x04, 0xae, 0x56, 0x63,
-	0xdc, 0x07, 0x08, 0xa8, 0xa6, 0x19, 0xab, 0xb4, 0x5f, 0x7e, 0x90, 0x41, 0x56, 0x02, 0x6a, 0x4c,
-	0x99, 0x65, 0xd2, 0xa7, 0xd0, 0x98, 0x59, 0x6f, 0x68, 0x4d, 0x0c, 0xac, 0xf9, 0x98, 0x17, 0xe3,
-	0x26, 0xa9, 0xcf, 0xac, 0x37, 0xdd, 0x10, 0xc2, 0xbf, 0x04, 0x1c, 0x17, 0x31, 0x79, 0xd5, 0x2e,
-	0x66, 0x57, 0x6d, 0x14, 0xd3, 0x64, 0x08, 0xad, 0xbb, 0xde, 0x1b, 0xf3, 0x07, 0xeb, 0xd6, 0x9e,
-	0xda, 0xf3, 0xeb, 0xe0, 0xa6, 0x5d, 0xda, 0x2d, 0xec, 0x35, 0x49, 0xc3, 0x7b, 0xf3, 0x6a, 0x85,
-	0x51, 0xa1, 0x20, 0x21, 0x54, 0xe6, 0x42, 0x41, 0x5c, 0xe8, 0x17, 0x80, 0xd6, 0x12, 0xa1, 0x1b,
-	0x95, 0x6c, 0x37, 0xb6, 0xd6, 0x82, 0x0c, 0xe8, 0xfc, 0x3d, 0x07, 0xb0, 0x0e, 0x26, 0x7e, 0x08,
-	0xdb, 0x3d, 0x95, 0x0c, 0xcd, 0x9e, 0xc0, 0x4a, 0xc8, 0x48, 0x39, 0x53, 0xd4, 0x57, 0x0a, 0xaf,
-	0x1d, 0xdf, 0xe9, 0x3d, 0x8d, 0x67, 0x38, 0x1d, 0x99, 0xda, 0x60, 0xa4, 0xa3, 0x3c, 0xcd, 0x06,
-	0x3a, 0x3d, 0x7e, 0x89, 0x0a, 0xf4, 0x46, 0x50, 0x99, 0x22, 0x4d, 0xae, 0x95, 0x48, 0x89, 0xc2,
-	0xaf, 0x7b, 0x1a, 0xcf, 0x16, 0xb1, 0xa7, 0x3d, 0x47, 0x95, 0x70, 0x74, 0x8c, 0xaa, 0x6c, 0xa4,
-	0x09, 0x67, 0xa8, 0x86, 0xcb, 0x90, 0x7f, 0x7d, 0x8c, 0x80, 0xa6, 0x9a, 0x4a, 0x33, 0x13, 0xd5,
-	0xa9, 0xa6, 0xd8, 0xd3, 0x50, 0x83, 0x1a, 0xa4, 0xf2, 0xa6, 0x20, 0xaa, 0xa8, 0xb9, 0x9a, 0x75,
-	0x45, 0x15, 0xb5, 0x3a, 0x37, 0x50, 0x64, 0x47, 0x86, 0xa0, 0x11, 0x96, 0xbc, 0xc8, 0xe9, 0xff,
-	0x32, 0xc7, 0x99, 0x2b, 0xaa, 0x82, 0x4a, 0xb4, 0xa4, 0x29, 0xa7, 0xa6, 0xa6, 0x2a, 0xc7, 0x89,
-	0x1c, 0xff, 0x57, 0x05, 0x6a, 0xab, 0xdb, 0x43, 0xfb, 0xbb, 0xb9, 0x35, 0xb3, 0xa3, 0xfe, 0x8e,
-	0x8e, 0xf1, 0x1e, 0x94, 0xc6, 0x53, 0xcb, 0xf7, 0x13, 0xaf, 0xfc, 0x4a, 0x85, 0x5d, 0x32, 0x2e,
-	0x80, 0x77, 0xa1, 0x3e, 0xb1, 0xfd, 0xb1, 0xe7, 0x2c, 0x02, 0xfa, 0x82, 0x17, 0x98, 0x91, 0x38,
-	0x84, 0x1f, 0x40, 0x79, 0x61, 0x79, 0xf6, 0x3c, 0x08, 0x8b, 0x7f, 0x38, 0xc3, 0x9f, 0x41, 0x8b,
-	0x8f, 0x4c, 0xcf, 0x9e, 0x9a, 0x0b, 0x97, 0xbf, 0xf1, 0x25, 0xd2, 0xe0, 0x28, 0xb1, 0xa7, 0x9a,
-	0xeb, 0xe3, 0x7d, 0xa8, 0x8e, 0x6f, 0x9c, 0xe9, 0xc4, 0xb3, 0xe7, 0xec, 0xd2, 0xd4, 0x8f, 0x5b,
-	0x49, 0x67, 0xc8, 0x8a, 0xa7, 0x97, 0xfd, 0x26, 0xec, 0x4a, 0x4d, 0xcf, 0xbe, 0x65, 0x97, 0xa7,
-	0x46, 0xea, 0x11, 0x46, 0xec, 0x5b, 0x2a, 0x72, 0xe5, 0x78, 0xb3, 0x95, 0x48, 0x95, 0x8b, 0x44,
-	0x58, 0x28, 0xe2, 0xbb, 0x57, 0xc1, 0x4a, 0x84, 0x3f, 0xe0, 0xf5, 0x08, 0xa3, 0x22, 0x4f, 0x00,
-	0x7c, 0xdb, 0x73, 0xac, 0xa9, 0x39, 0x5f, 0xce, 0xda, 0xc0, 0x04, 0x6a, 0x1c, 0x51, 0x96, 0x33,
-	0xfc, 0x11, 0x54, 0x67, 0x57, 0xd7, 0x26, 0x8b, 0x6a, 0x9d, 0x91, 0x95, 0xd9, 0xd5, 0xb5, 0x42,
-	0x03, 0xfb, 0x04, 0x60, 0xe6, 0x4e, 0xec, 0x29, 0x27, 0x1b, 0x5c, 0x93, 0x21, 0x8c, 0xbe, 0x07,
-	0x25, 0x6b, 0xea, 0x58, 0x7e, 0xbb, 0xc9, 0x18, 0x3e, 0xa1, 0xf6, 0x2c, 0xdf, 0xb7, 0x03, 0xd3,
-	0x99, 0xb4, 0x5b, 0xdc, 0x1e, 0x9b, 0xcb, 0x13, 0x7c, 0x1f, 0xca, 0x8e, 0x6f, 0x5e, 0x79, 0xcb,
-	0xf6, 0xd6, 0x6e, 0x6e, 0xaf, 0x4a, 0x4a, 0x8e, 0xdf, 0xf3, 0x96, 0xf8, 0x05, 0xf7, 0x80, 0x76,
-	0x24, 0x6d, 0xf4, 0x93, 0x6d, 0x0e, 0xf5, 0xae, 0x4b, 0x1b, 0x97, 0x1d, 0xde, 0xa2, 0xdf, 0x65,
-	0x1a, 0x55, 0xde, 0xc7, 0x7b, 0x0e, 0x6b, 0xd6, 0x57, 0x4d, 0x3e, 0xce, 0x6c, 0xf2, 0xf1, 0x97,
-	0x50, 0xe2, 0xdd, 0xe7, 0x36, 0xe3, 0xb7, 0x37, 0xba, 0xcf, 0x80, 0xb6, 0x7c, 0x51, 0xaf, 0xeb,
-	0xb3, 0x0e, 0x8e, 0xfa, 0x67, 0xb5, 0xef, 0xb1, 0x53, 0x4d, 0xf5, 0xba, 0xeb, 0x36, 0x94, 0x80,
-	0xbf, 0x6e, 0x49, 0xbf, 0x81, 0x1a, 0xad, 0xee, 0xa6, 0x15, 0x04, 0x5e, 0xfb, 0x98, 0xad, 0xf4,
-	0xf8, 0x7d, 0x4d, 0x49, 0xff, 0x0e, 0xa9, 0x52, 0x05, 0x8a, 0xe0, 0x6f, 0x59, 0x77, 0xc5, 0x9f,
-	0x36, 0x6e, 0xe1, 0x19, 0xb3, 0xf0, 0x69, 0xb8, 0xf4, 0xbb, 0x5f, 0xbd, 0xfe, 0x1d, 0xd6, 0x56,
-	0x71, 0x9e, 0xd9, 0x7a, 0x09, 0xd5, 0x85, 0xbf, 0xe4, 0x56, 0x9e, 0x33, 0x2b, 0x8f, 0xde, 0xf3,
-	0x76, 0xf5, 0xef, 0x90, 0xca, 0xc2, 0x5f, 0x32, 0xcd, 0xef, 0x00, 0x05, 0xeb, 0x22, 0xce, 0x2d,
-	0xbc, 0x60, 0x16, 0x3e, 0xfb, 0x90, 0x0a, 0xdf, 0xbf, 0x43, 0xb6, 0x62, 0xfa, 0x94, 0x38, 0x01,
-	0xa8, 0xfa, 0x0b, 0x7b, 0xec, 0x5c, 0x39, 0xe3, 0xce, 0x8f, 0x39, 0xa8, 0x46, 0x9f, 0x66, 0xf8,
-	0x1b, 0xa8, 0xc7, 0xbe, 0xa3, 0x3e, 0xe0, 0x33, 0x0a, 0xa6, 0xab, 0x2f, 0x28, 0xdc, 0x81, 0xa2,
-	0xe7, 0xba, 0x01, 0x2b, 0x01, 0x9b, 0x59, 0xc7, 0xb8, 0xd5, 0x02, 0x97, 0xae, 0x1b, 0xd8, 0x13,
-	0x96, 0xfd, 0x1f, 0xb0, 0xc0, 0x09, 0x93, 0xee, 0xfc, 0x29, 0x0f, 0xdb, 0x43, 0x77, 0xe2, 0x5c,
-	0x39, 0xd6, 0xe5, 0xd4, 0xfe, 0x5f, 0x15, 0xa4, 0x2f, 0x56, 0xe5, 0xa6, 0x90, 0xe9, 0xf8, 0xbb,
-	0xcb, 0x4f, 0x31, 0xa3, 0xfc, 0xac, 0x12, 0xb2, 0xf4, 0xae, 0x84, 0x2c, 0x27, 0x13, 0x32, 0x4c,
-	0xa1, 0x4a, 0x56, 0x0a, 0xa5, 0x3e, 0x49, 0xab, 0x1f, 0xfe, 0x49, 0xba, 0xff, 0xd7, 0x02, 0xed,
-	0x91, 0x63, 0xdb, 0xe5, 0x3d, 0xf2, 0x50, 0x53, 0x15, 0x49, 0x31, 0x36, 0x7b, 0xe4, 0x1d, 0x78,
-	0xb0, 0xc1, 0xf2, 0xe7, 0x24, 0x97, 0xc1, 0x89, 0x7d, 0x41, 0xd7, 0x65, 0xfa, 0x0c, 0x6e, 0x5a,
-	0x3d, 0x11, 0xc4, 0x33, 0x6d, 0x20, 0x28, 0x12, 0x2a, 0x64, 0xb0, 0xa2, 0xaa, 0x18, 0x82, 0xac,
-	0x48, 0x04, 0x15, 0x69, 0xa7, 0x95, 0x62, 0x35, 0xf5, 0x15, 0x6d, 0xc7, 0x47, 0x9a, 0x36, 0xb8,
-	0x40, 0x25, 0xda, 0xc3, 0xa6, 0x04, 0x7a, 0x82, 0x82, 0xca, 0xf8, 0x23, 0xb8, 0x9f, 0xc2, 0x75,
-	0x49, 0xd1, 0x55, 0x82, 0x2a, 0x19, 0xd4, 0x50, 0xed, 0x8e, 0x06, 0x12, 0xaa, 0xd2, 0x37, 0x7e,
-	0x63, 0x39, 0x62, 0xa0, 0x5a, 0xc6, 0x32, 0xa2, 0x36, 0x42, 0x90, 0xb1, 0xef, 0x13, 0xc1, 0x30,
-	0x24, 0x72, 0x81, 0xea, 0x19, 0x9c, 0x6e, 0xa8, 0x44, 0x38, 0x95, 0x50, 0x23, 0xcb, 0x07, 0x69,
-	0xa8, 0x92, 0x0b, 0xd4, 0xc4, 0x1f, 0xc3, 0x4e, 0x8a, 0x32, 0x88, 0xa0, 0xe8, 0xa2, 0x24, 0x9f,
-	0x4b, 0x04, 0xb5, 0xf6, 0xff, 0x92, 0x8b, 0x7d, 0x5a, 0xaf, 0x8f, 0x36, 0xd2, 0x33, 0x85, 0xee,
-	0x50, 0x56, 0x4c, 0xdd, 0x10, 0x8c, 0xe4, 0xf1, 0x85, 0x81, 0x4e, 0xf1, 0xd1, 0x01, 0x3e, 0x82,
-	0x87, 0x1b, 0xec, 0x40, 0x15, 0xcf, 0xa4, 0x2e, 0xca, 0xe3, 0x0e, 0x7c, 0xbc, 0x41, 0xea, 0xfd,
-	0x91, 0x61, 0xc8, 0xca, 0xa9, 0xd9, 0xa5, 0x06, 0x0a, 0xf8, 0x09, 0x7c, 0x94, 0x61, 0x3e, 0x34,
-	0x51, 0xdc, 0xff, 0x31, 0x07, 0x78, 0xf3, 0x4f, 0xc7, 0x4a, 0x4b, 0xd5, 0xe8, 0xa1, 0x6e, 0xf8,
-	0x1c, 0x79, 0x95, 0xa0, 0x23, 0x97, 0xa3, 0x0d, 0xc5, 0xc8, 0xae, 0xac, 0x0b, 0x27, 0x03, 0xe6,
-	0x73, 0x86, 0xaa, 0xa4, 0x70, 0xb2, 0x90, 0x45, 0x1a, 0x92, 0x4e, 0xb7, 0x83, 0x8a, 0xfb, 0x7f,
-	0x8c, 0x07, 0x78, 0xfd, 0x6f, 0x65, 0x15, 0xe0, 0x91, 0x4e, 0xdb, 0xfd, 0x77, 0x07, 0x38, 0xc9,
-	0x47, 0xde, 0x86, 0x27, 0x9e, 0x60, 0xe5, 0xee, 0x40, 0x8a, 0xb9, 0x1a, 0xa7, 0x04, 0xd1, 0x90,
-	0xcf, 0x69, 0x7e, 0x64, 0xe9, 0x9d, 0x8c, 0xf4, 0x0b, 0x54, 0xdc, 0xff, 0x5d, 0xfc, 0x27, 0xcb,
-	0xfa, 0x4f, 0xce, 0xfa, 0x26, 0x0c, 0x04, 0x32, 0x7c, 0xdf, 0x4d, 0x48, 0xf0, 0x91, 0xa3, 0x9f,
-	0xc2, 0x93, 0x4c, 0x6d, 0x62, 0x12, 0x49, 0x13, 0x64, 0x82, 0xf2, 0xeb, 0xb3, 0x8e, 0x89, 0x88,
-	0x44, 0x36, 0x64, 0x51, 0x18, 0xa0, 0x42, 0x74, 0xf1, 0x13, 0xf4, 0x50, 0xf8, 0x56, 0xa5, 0x09,
-	0x9d, 0xc9, 0xc9, 0x8a, 0x4a, 0x50, 0x29, 0xd3, 0xaf, 0x57, 0x02, 0x51, 0xe8, 0xb1, 0x94, 0xd7,
-	0x97, 0x30, 0xc6, 0xca, 0x4a, 0x57, 0x32, 0x24, 0x32, 0x94, 0x15, 0xc1, 0x90, 0x50, 0x65, 0xff,
-	0x6f, 0x39, 0xb8, 0x9f, 0xf9, 0x7b, 0x0a, 0xef, 0xc2, 0x63, 0xa6, 0xad, 0x1b, 0x82, 0xd2, 0x3d,
-	0xb9, 0xc8, 0x88, 0x4a, 0x14, 0xb5, 0xb4, 0x44, 0xaa, 0xc4, 0xa5, 0xf8, 0xbe, 0x6a, 0xc4, 0x4e,
-	0x30, 0xc9, 0x89, 0xea, 0x80, 0x5e, 0xb6, 0x3d, 0xf8, 0x2c, 0x83, 0xd4, 0x88, 0x7a, 0x2e, 0x77,
-	0x69, 0x02, 0xe9, 0x12, 0x39, 0x97, 0x45, 0x09, 0x15, 0xf7, 0x7f, 0x5b, 0x80, 0x66, 0xe2, 0xbf,
-	0x17, 0x6e, 0xc3, 0xbd, 0x73, 0x61, 0x30, 0x92, 0x36, 0xab, 0xf1, 0x3d, 0x40, 0x31, 0x86, 0x7f,
-	0x15, 0xe4, 0x68, 0x9d, 0x4a, 0xc8, 0x73, 0xe7, 0xf3, 0xb4, 0xb0, 0xc5, 0x70, 0xfa, 0xc9, 0xaa,
-	0x9b, 0x82, 0x88, 0x0a, 0x99, 0x44, 0x57, 0x44, 0xc5, 0x94, 0x25, 0x61, 0xa8, 0x49, 0x44, 0xa2,
-	0x5f, 0x2c, 0xc9, 0x75, 0x5f, 0x09, 0x86, 0xa1, 0xa3, 0x72, 0x0a, 0xed, 0x4b, 0xc4, 0xf8, 0x1e,
-	0x55, 0x52, 0x36, 0x44, 0x69, 0xa0, 0xcb, 0x23, 0x1d, 0x55, 0xe9, 0x9d, 0x8e, 0xe1, 0x9a, 0x44,
-	0x44, 0x5a, 0xeb, 0x48, 0x1f, 0xd5, 0x30, 0x86, 0x56, 0x8c, 0x22, 0xda, 0x10, 0x41, 0x0a, 0x13,
-	0x87, 0x43, 0x5e, 0x5c, 0x63, 0x98, 0x41, 0x46, 0x46, 0xdf, 0x64, 0x00, 0x6a, 0xa4, 0x96, 0x0d,
-	0xcd, 0xa3, 0x26, 0xbe, 0x0f, 0x77, 0x63, 0xf8, 0x90, 0xde, 0x1c, 0x1d, 0xb5, 0x52, 0xbe, 0x9f,
-	0x5c, 0x18, 0x92, 0x8e, 0xb6, 0xf6, 0xff, 0x50, 0x00, 0x58, 0x7f, 0x1d, 0xae, 0x5d, 0xd6, 0x45,
-	0x61, 0x90, 0x3c, 0x89, 0x95, 0x59, 0x4e, 0x5d, 0xa8, 0xa2, 0xa1, 0xa2, 0x5c, 0x1a, 0xfe, 0x5e,
-	0xd2, 0x0c, 0x15, 0xe5, 0xd7, 0xab, 0x71, 0x58, 0x30, 0x0c, 0x15, 0x15, 0xd2, 0xc2, 0x3d, 0x69,
-	0x68, 0xa8, 0xa8, 0x98, 0x16, 0xd6, 0x64, 0x51, 0x8d, 0x1f, 0x01, 0x47, 0x15, 0x41, 0x51, 0x51,
-	0x39, 0x6d, 0x62, 0x28, 0x8b, 0x44, 0x45, 0x95, 0x4d, 0x78, 0x30, 0x90, 0x51, 0x35, 0x0d, 0x8f,
-	0x14, 0xd9, 0xd0, 0x51, 0x2d, 0x6d, 0xfa, 0x4c, 0x1e, 0xa8, 0x08, 0xd2, 0xe8, 0x50, 0x3a, 0x15,
-	0x50, 0x3d, 0x8d, 0x9e, 0xca, 0xa7, 0x02, 0x6a, 0xa4, 0x51, 0x43, 0x22, 0x02, 0x6a, 0x6e, 0x6c,
-	0x44, 0x32, 0x04, 0xd4, 0xc2, 0xdb, 0xb0, 0x15, 0x47, 0xa5, 0xd7, 0x02, 0xda, 0xda, 0x8c, 0x9b,
-	0x61, 0x08, 0x08, 0x6d, 0x46, 0x99, 0xc2, 0x77, 0xf7, 0x7f, 0x9d, 0x83, 0x46, 0xfc, 0xdf, 0x2d,
-	0x4d, 0x45, 0xfe, 0xd2, 0xb3, 0x3c, 0x1b, 0xe9, 0xe9, 0xa4, 0x49, 0x92, 0xea, 0x19, 0xca, 0xd1,
-	0x72, 0x96, 0x56, 0x11, 0xce, 0x05, 0x79, 0x40, 0x5f, 0x0b, 0x94, 0xa7, 0xa5, 0x23, 0x49, 0x2b,
-	0xaa, 0x42, 0x1f, 0x0e, 0xc1, 0x90, 0x55, 0x85, 0x16, 0xbc, 0x93, 0x6f, 0xbe, 0xff, 0xfa, 0xda,
-	0x09, 0x6e, 0x96, 0x97, 0x07, 0x63, 0x77, 0x76, 0xe8, 0x2e, 0xec, 0xf9, 0xd8, 0xf5, 0x26, 0x87,
-	0x13, 0xfb, 0xd6, 0x19, 0xdb, 0x5f, 0xcd, 0xac, 0xb9, 0x75, 0x6d, 0xcf, 0xec, 0x79, 0xf0, 0x95,
-	0x33, 0x0f, 0x6c, 0xef, 0xca, 0x1a, 0xdb, 0x87, 0xb7, 0xcf, 0x0e, 0xaf, 0xdd, 0xc3, 0xc9, 0xcc,
-	0xb9, 0x2c, 0xb3, 0x96, 0xf6, 0xd9, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x12, 0xb2, 0x2d, 0xe4,
-	0x50, 0x19, 0x00, 0x00,
+	// 2760 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4f, 0x8f, 0xdb, 0xc6,
+	0x15, 0xb7, 0xfe, 0x4b, 0x4f, 0xd2, 0xee, 0x78, 0xfc, 0x4f, 0x59, 0xdb, 0x89, 0xa3, 0x26, 0x81,
+	0xb3, 0x6d, 0x76, 0xd7, 0xf2, 0xba, 0x70, 0x1a, 0x04, 0x05, 0x97, 0xa2, 0x56, 0x8c, 0x25, 0x92,
+	0x19, 0x52, 0x6b, 0x6f, 0x2e, 0x04, 0x57, 0xe2, 0x6a, 0x09, 0x48, 0xa4, 0x40, 0x52, 0x1b, 0x1b,
+	0xe8, 0xa9, 0xe8, 0xa5, 0xa7, 0x7e, 0x89, 0xa2, 0xc8, 0xa9, 0x97, 0xf6, 0xd8, 0x43, 0x7b, 0xe8,
+	0x17, 0xe8, 0xad, 0x9f, 0xa1, 0x5f, 0xa0, 0xc7, 0x62, 0x66, 0x48, 0x89, 0xa2, 0x68, 0xc7, 0x01,
+	0x7a, 0x1b, 0xbe, 0xdf, 0xef, 0xbd, 0x79, 0xf3, 0xe6, 0xcd, 0x9b, 0x37, 0x84, 0xc6, 0x64, 0xee,
+	0x1c, 0x5e, 0x7d, 0x7f, 0xb0, 0xf0, 0xbd, 0xd0, 0xc3, 0x85, 0xc9, 0xdc, 0xd9, 0xfb, 0x68, 0xea,
+	0x79, 0xd3, 0x99, 0x7d, 0xc8, 0x44, 0x17, 0xcb, 0xcb, 0xc3, 0xd0, 0x99, 0xdb, 0x41, 0x68, 0xcd,
+	0x17, 0x9c, 0xd5, 0xde, 0x83, 0xe2, 0x68, 0xe9, 0x4c, 0x30, 0x86, 0xe2, 0x72, 0xe9, 0x4c, 0x5a,
+	0xb9, 0x47, 0xb9, 0xc7, 0x35, 0xc2, 0xc6, 0xed, 0x9f, 0x03, 0xf4, 0x2d, 0x7f, 0xf2, 0xbd, 0xe5,
+	0xdb, 0x72, 0x17, 0x3f, 0x4c, 0x30, 0xea, 0x9d, 0xda, 0xc1, 0x64, 0xee, 0x1c, 0x50, 0xd5, 0x88,
+	0x7c, 0x0f, 0x0a, 0x23, 0xdf, 0xc1, 0x08, 0x0a, 0x4b, 0xdf, 0x89, 0xcc, 0xd0, 0x61, 0xfb, 0x77,
+	0x05, 0xd8, 0x11, 0xbd, 0xf9, 0xc2, 0x73, 0x6d, 0x37, 0xd4, 0x43, 0x2b, 0xb4, 0x71, 0x1f, 0x70,
+	0x40, 0x07, 0xe6, 0xcc, 0x0a, 0x42, 0x73, 0x7c, 0x65, 0xb9, 0x53, 0x3b, 0x36, 0xbc, 0x77, 0xc0,
+	0x5d, 0x3e, 0x88, 0x5d, 0x3e, 0x30, 0x62, 0x97, 0x09, 0x62, 0x5a, 0x03, 0x2b, 0x08, 0x45, 0xae,
+	0x83, 0xbf, 0x84, 0xba, 0x35, 0x99, 0x3b, 0xae, 0xc9, 0x90, 0x56, 0xfe, 0x51, 0xee, 0xf1, 0x4e,
+	0xa7, 0xc5, 0x7c, 0x5b, 0xcd, 0x29, 0x50, 0x02, 0x9b, 0x98, 0x80, 0xb5, 0x1a, 0xe3, 0x5f, 0x02,
+	0x78, 0x0b, 0xdb, 0x8f, 0x34, 0x0b, 0x4c, 0xf3, 0xde, 0xa6, 0xa6, 0xba, 0xb0, 0x7d, 0xae, 0x58,
+	0xf3, 0xe2, 0x21, 0x9d, 0x72, 0x19, 0x58, 0x53, 0x3b, 0x52, 0x2c, 0x66, 0x4d, 0x39, 0xa2, 0x84,
+	0x68, 0xca, 0xe5, 0x6a, 0xcc, 0xbc, 0x9d, 0x59, 0xfe, 0x3c, 0x52, 0x2d, 0x65, 0x7a, 0x4b, 0x09,
+	0xb1, 0xb7, 0xab, 0x31, 0xfe, 0x35, 0x34, 0x83, 0xd0, 0x72, 0x27, 0x17, 0x6f, 0x22, 0xe5, 0x32,
+	0x53, 0xde, 0xdb, 0x54, 0xd6, 0x39, 0x85, 0xab, 0x37, 0x82, 0xc4, 0x57, 0xfb, 0x3f, 0x79, 0xb8,
+	0xb5, 0xe6, 0xd9, 0x6e, 0xe0, 0xf9, 0x5d, 0x2b, 0xb4, 0xf0, 0x6d, 0x28, 0x5d, 0x5b, 0xb3, 0xa5,
+	0xcd, 0xc2, 0x5f, 0x22, 0xfc, 0x03, 0x7f, 0x06, 0xc5, 0xf0, 0xcd, 0x22, 0x0e, 0x28, 0x66, 0xb3,
+	0x50, 0xfa, 0x19, 0x45, 0x8d, 0x37, 0x0b, 0x9b, 0x30, 0x1c, 0x7f, 0x0a, 0xa5, 0x60, 0x6c, 0xcd,
+	0xe2, 0xf8, 0xed, 0x32, 0x22, 0x23, 0xe9, 0x54, 0x4c, 0x38, 0x8a, 0x1f, 0x40, 0x6d, 0xe1, 0xdb,
+	0x63, 0x27, 0x70, 0x3c, 0x97, 0x45, 0xac, 0x44, 0xd6, 0x02, 0xfc, 0x39, 0x94, 0xe9, 0x9a, 0x96,
+	0x41, 0x14, 0x91, 0x9b, 0xcc, 0x0a, 0xf7, 0x51, 0x67, 0x00, 0x89, 0x08, 0xf8, 0x67, 0xd0, 0x5c,
+	0xba, 0x4e, 0x18, 0x98, 0x13, 0x27, 0x58, 0xcc, 0xac, 0x37, 0x2c, 0x0c, 0x35, 0xd2, 0x60, 0xc2,
+	0x2e, 0x97, 0xe1, 0xe7, 0x50, 0x5b, 0xa5, 0x79, 0xab, 0xf2, 0xa3, 0x59, 0xb5, 0x26, 0xe3, 0x7d,
+	0xb8, 0xc9, 0xd6, 0x6f, 0x2e, 0x17, 0x13, 0x9a, 0x9f, 0x3e, 0x8d, 0x74, 0xf5, 0x51, 0xee, 0x71,
+	0x93, 0xec, 0x32, 0x60, 0xc4, 0xe4, 0x84, 0xee, 0xc8, 0x7d, 0xa8, 0x4d, 0xac, 0xd0, 0x32, 0x59,
+	0x9c, 0x6a, 0xcc, 0x8d, 0x2a, 0x15, 0xd0, 0xe8, 0xb4, 0xff, 0x51, 0x86, 0x7b, 0x9a, 0xe7, 0x87,
+	0xeb, 0x6d, 0x0d, 0x43, 0xdf, 0xb9, 0x58, 0x86, 0x76, 0x80, 0xbf, 0x85, 0x9d, 0xb1, 0xe7, 0xba,
+	0xf6, 0x38, 0xf4, 0x7c, 0xae, 0x9d, 0x63, 0xcb, 0xde, 0x67, 0xcb, 0x7e, 0x8b, 0xd6, 0x81, 0x18,
+	0xab, 0xb0, 0xe8, 0x37, 0xc7, 0xc9, 0x4f, 0xfc, 0x1c, 0x4a, 0xc1, 0xc2, 0xb6, 0x27, 0xd1, 0x7e,
+	0xb5, 0xdf, 0x69, 0x49, 0xa7, 0x4c, 0xc2, 0x15, 0xb0, 0x00, 0x55, 0x16, 0x92, 0xb1, 0x37, 0x8b,
+	0xf6, 0xf0, 0xd3, 0x77, 0x2a, 0x6b, 0x11, 0x99, 0xac, 0xd4, 0xf0, 0xa7, 0xb0, 0xb3, 0xb8, 0x7a,
+	0x13, 0x38, 0x63, 0x6b, 0x66, 0xce, 0xac, 0x0b, 0x7b, 0xc6, 0x76, 0xb8, 0x46, 0x9a, 0xb1, 0x74,
+	0x40, 0x85, 0x74, 0xeb, 0xe6, 0xd6, 0x62, 0xe1, 0xb8, 0xd3, 0x88, 0x55, 0xe2, 0x5b, 0x17, 0x09,
+	0x39, 0xe9, 0x18, 0x9a, 0x0b, 0xcf, 0x35, 0x9d, 0x89, 0x39, 0xf6, 0xdc, 0x4b, 0x67, 0xca, 0xf6,
+	0xb7, 0xde, 0x41, 0x91, 0x4f, 0xae, 0x3c, 0x11, 0x99, 0x9c, 0xd4, 0x17, 0xeb, 0x0f, 0xfc, 0x14,
+	0xee, 0xb0, 0xd5, 0x98, 0xd6, 0x32, 0xf4, 0x5c, 0x7b, 0xea, 0x85, 0x8e, 0x15, 0xd2, 0x54, 0xa3,
+	0x9b, 0x5f, 0x25, 0xb7, 0x19, 0x28, 0x6c, 0x62, 0xed, 0x05, 0x34, 0x37, 0x62, 0x8a, 0x1f, 0x40,
+	0x4b, 0x54, 0x15, 0x45, 0x12, 0x0d, 0x95, 0x98, 0xc6, 0xb9, 0x26, 0x99, 0x23, 0xa5, 0x2b, 0xf5,
+	0x64, 0x45, 0xea, 0xa2, 0x1b, 0xb8, 0x0a, 0x45, 0xf2, 0xcd, 0xf1, 0x33, 0x94, 0xc3, 0x0d, 0xa8,
+	0xf6, 0xe4, 0x13, 0x89, 0x98, 0x03, 0x11, 0xe5, 0xf1, 0x2e, 0xd4, 0xf9, 0x97, 0x2e, 0x9a, 0x9a,
+	0x88, 0x0a, 0xb8, 0x09, 0x35, 0x2e, 0x18, 0x6a, 0x2a, 0x2a, 0xe2, 0x1a, 0x94, 0x88, 0xde, 0x79,
+	0xda, 0x41, 0xa5, 0xf6, 0x9f, 0x73, 0x50, 0x62, 0xc1, 0xc7, 0xb7, 0x60, 0x57, 0xd7, 0x24, 0xa9,
+	0xbb, 0x31, 0x43, 0x1d, 0x2a, 0xdd, 0x73, 0x45, 0x18, 0xca, 0x22, 0xca, 0x51, 0x2b, 0xa7, 0xf2,
+	0xa9, 0x70, 0x22, 0x1b, 0xe6, 0x13, 0x94, 0xc7, 0x3b, 0x00, 0xab, 0xcf, 0x23, 0x54, 0x48, 0x7e,
+	0x77, 0x9e, 0xa1, 0x62, 0xf2, 0xfb, 0xf8, 0x08, 0x95, 0xa8, 0x57, 0x6b, 0xfe, 0x11, 0x2a, 0x27,
+	0x05, 0xc7, 0x47, 0x47, 0xa8, 0x82, 0x11, 0x34, 0x86, 0x52, 0x6c, 0xe1, 0xe8, 0x08, 0x55, 0x93,
+	0x92, 0x27, 0x9d, 0x67, 0x47, 0xa8, 0xd6, 0xfe, 0x0d, 0x54, 0xe3, 0xfd, 0xc6, 0x77, 0x01, 0x6b,
+	0x44, 0x35, 0x54, 0x51, 0x1d, 0x6c, 0x78, 0xdd, 0x80, 0xaa, 0x64, 0xf4, 0x25, 0xa2, 0x48, 0x06,
+	0xca, 0xd1, 0x28, 0x9d, 0x6a, 0xaa, 0x82, 0xf2, 0x74, 0xdd, 0xaf, 0xd8, 0xb0, 0x80, 0x01, 0xca,
+	0xaf, 0x4e, 0x75, 0x3a, 0x66, 0xe1, 0x38, 0xed, 0x09, 0xba, 0x81, 0x4a, 0x54, 0xac, 0x4b, 0x44,
+	0x16, 0x06, 0xa8, 0x4c, 0xf5, 0x24, 0x4a, 0xa8, 0xd0, 0xd1, 0x89, 0x6c, 0xe8, 0xa8, 0xda, 0x1e,
+	0xc1, 0xc3, 0x8d, 0x2c, 0xe4, 0x35, 0x3f, 0x71, 0x90, 0xb6, 0x92, 0x25, 0xf7, 0x1e, 0xc9, 0xd2,
+	0x1e, 0x43, 0x3d, 0x81, 0xe1, 0x3b, 0x50, 0xe6, 0x46, 0x98, 0x76, 0x83, 0x94, 0x18, 0x17, 0x7f,
+	0x0d, 0xf7, 0x23, 0xdb, 0xa1, 0x6f, 0xb9, 0xc1, 0xdc, 0x09, 0xcd, 0x85, 0xed, 0x3b, 0xde, 0xc4,
+	0x19, 0x3b, 0xe1, 0x1b, 0x76, 0xce, 0x9a, 0xa4, 0xc5, 0xb8, 0x46, 0x44, 0xd0, 0xd6, 0x78, 0x5b,
+	0x82, 0x07, 0xa2, 0xe7, 0x86, 0x96, 0xe3, 0xda, 0x7e, 0x56, 0x0d, 0xd8, 0x3e, 0x33, 0xb9, 0x8c,
+	0x33, 0xd3, 0xfe, 0x67, 0x0e, 0xee, 0x6a, 0xc1, 0x32, 0xcb, 0xc2, 0x39, 0xdc, 0x0c, 0x96, 0x8b,
+	0x85, 0xe7, 0x87, 0xf6, 0xc4, 0xbc, 0xf6, 0x66, 0xa1, 0x35, 0x8d, 0x0b, 0xc9, 0x2f, 0x78, 0x00,
+	0x32, 0xf5, 0x0e, 0xf4, 0x58, 0xe9, 0x8c, 0xeb, 0x10, 0x14, 0xa4, 0x24, 0x6d, 0x0d, 0x50, 0x9a,
+	0x85, 0x3f, 0x82, 0xfb, 0xfa, 0x48, 0xd3, 0x54, 0x62, 0x48, 0x5d, 0xf3, 0x4c, 0x1d, 0x18, 0xc2,
+	0xe9, 0xe6, 0xf9, 0xa8, 0x40, 0xe1, 0xec, 0xf8, 0x39, 0x4f, 0x81, 0xb3, 0xce, 0xd3, 0x23, 0x94,
+	0x67, 0xa3, 0x27, 0x4f, 0x9e, 0xa1, 0x42, 0xfb, 0x5f, 0x25, 0xf8, 0x88, 0x85, 0x69, 0x6c, 0x3b,
+	0xd7, 0x89, 0x88, 0x04, 0x89, 0x05, 0x69, 0x50, 0xbf, 0xf4, 0xfc, 0xb9, 0x79, 0x69, 0xd1, 0x13,
+	0x19, 0x2d, 0xe5, 0x90, 0x2d, 0xe5, 0x47, 0x54, 0x0f, 0x7a, 0x9e, 0x3f, 0xef, 0x31, 0x35, 0x02,
+	0x97, 0xab, 0x31, 0xee, 0x03, 0xb0, 0xcd, 0x33, 0x13, 0x57, 0xd9, 0xe7, 0xef, 0x65, 0x90, 0xd5,
+	0xd8, 0x1a, 0x53, 0x66, 0xa5, 0xe1, 0x63, 0x68, 0xcc, 0xad, 0xd7, 0xf4, 0xd2, 0x09, 0x2d, 0x77,
+	0xcc, 0x6f, 0xbb, 0x26, 0xa9, 0xcf, 0xad, 0xd7, 0xdd, 0x48, 0x84, 0xbf, 0x06, 0x9c, 0xa4, 0x98,
+	0xfc, 0x5a, 0x2c, 0x66, 0x5f, 0x8b, 0x28, 0xa1, 0xc9, 0x24, 0xb4, 0x3a, 0xfa, 0xaf, 0xcd, 0xef,
+	0xad, 0x6b, 0x7b, 0x66, 0xbb, 0xd3, 0xf0, 0xaa, 0x55, 0x7a, 0x54, 0x78, 0xdc, 0x24, 0x0d, 0xff,
+	0xf5, 0xcb, 0x95, 0x8c, 0x92, 0xc2, 0x0d, 0x52, 0x99, 0x93, 0xc2, 0x24, 0xe9, 0x57, 0x80, 0xd6,
+	0x8c, 0xc8, 0x8d, 0x4a, 0xb6, 0x1b, 0xbb, 0x6b, 0x22, 0x13, 0xb4, 0xff, 0x9e, 0x03, 0x58, 0x07,
+	0x13, 0xdf, 0x83, 0x5b, 0x3d, 0x95, 0x0c, 0xcd, 0x9e, 0xc0, 0x6a, 0xe2, 0x48, 0x79, 0xa1, 0xa8,
+	0x2f, 0x15, 0x5e, 0x0c, 0xbf, 0xd5, 0x7b, 0x1a, 0xaf, 0x53, 0x74, 0x64, 0x6a, 0x83, 0x91, 0x8e,
+	0xf2, 0xf4, 0x4c, 0xd3, 0xcf, 0xce, 0x73, 0x54, 0xa0, 0x19, 0x41, 0x39, 0x45, 0x5a, 0x22, 0x56,
+	0x94, 0x12, 0x15, 0xbf, 0xea, 0x69, 0xfc, 0xcc, 0x8b, 0x3d, 0xed, 0x98, 0x9f, 0x79, 0xb1, 0xa7,
+	0x75, 0x50, 0x95, 0x8d, 0x34, 0xe1, 0x05, 0xaa, 0xe1, 0x32, 0xe4, 0x5f, 0x75, 0x10, 0xd0, 0x82,
+	0xa1, 0xd2, 0xfa, 0x82, 0xea, 0x54, 0x53, 0xec, 0x69, 0xa8, 0x41, 0x0d, 0x52, 0xbe, 0x29, 0x88,
+	0x2a, 0x6a, 0xae, 0xbe, 0xba, 0xa2, 0x8a, 0x76, 0xda, 0x57, 0x50, 0x64, 0x5b, 0x86, 0xa0, 0x11,
+	0xd5, 0xf0, 0xd8, 0xe9, 0x9f, 0x58, 0xa9, 0x98, 0x2b, 0xaa, 0x82, 0x4a, 0xb4, 0x30, 0x2b, 0xa7,
+	0xa6, 0xa6, 0x2a, 0x9d, 0x64, 0xa5, 0x6a, 0xff, 0xbb, 0x02, 0xb5, 0x55, 0xf6, 0xd0, 0x06, 0xda,
+	0xb5, 0xe6, 0x76, 0xdc, 0x40, 0xd3, 0x31, 0x7e, 0x0c, 0xa5, 0xf1, 0xcc, 0x0a, 0x82, 0x8d, 0x36,
+	0x6a, 0xa5, 0xc2, 0x92, 0x8c, 0x13, 0xf0, 0x23, 0xa8, 0x4f, 0xec, 0x60, 0xec, 0x3b, 0x0b, 0x76,
+	0x6f, 0x15, 0x98, 0x91, 0xa4, 0x08, 0xdf, 0x85, 0xf2, 0xc2, 0xf2, 0x6d, 0x37, 0x8c, 0x6e, 0xd7,
+	0xe8, 0x0b, 0x7f, 0x02, 0x3b, 0x7c, 0x64, 0xfa, 0xf6, 0xcc, 0x5c, 0x78, 0xbc, 0x89, 0x2a, 0x91,
+	0x06, 0x97, 0x12, 0x7b, 0xa6, 0x79, 0x01, 0xde, 0x87, 0xea, 0xf8, 0xca, 0x99, 0x4d, 0x7c, 0xdb,
+	0x65, 0x49, 0x53, 0xef, 0xec, 0x6c, 0x3a, 0x43, 0x56, 0x38, 0x4d, 0xf6, 0xab, 0xa8, 0xed, 0x37,
+	0x7d, 0xfb, 0x9a, 0x25, 0x4f, 0x8d, 0xd4, 0x63, 0x19, 0xb1, 0xaf, 0x29, 0xe5, 0xd2, 0xf1, 0xe7,
+	0x2b, 0x4a, 0x95, 0x53, 0x62, 0x59, 0x44, 0x09, 0xbc, 0xcb, 0x70, 0x45, 0xe1, 0x1d, 0x52, 0x3d,
+	0x96, 0x51, 0xca, 0x43, 0x80, 0xc0, 0xf6, 0x1d, 0x6b, 0x66, 0xba, 0xcb, 0x79, 0x0b, 0x18, 0xa1,
+	0xc6, 0x25, 0xca, 0x72, 0x8e, 0x3f, 0x80, 0xea, 0xfc, 0x72, 0x6a, 0xb2, 0xa8, 0xd6, 0x19, 0x58,
+	0x99, 0x5f, 0x4e, 0x15, 0x1a, 0xd8, 0x87, 0x00, 0x73, 0x6f, 0x62, 0xcf, 0x38, 0xd8, 0xe0, 0x9a,
+	0x4c, 0xc2, 0xe0, 0xdb, 0x50, 0xb2, 0x66, 0x8e, 0x15, 0xb4, 0x9a, 0x0c, 0xe1, 0x1f, 0xd4, 0x9e,
+	0x15, 0x04, 0x76, 0x48, 0x6b, 0xfd, 0x0e, 0xb7, 0xc7, 0xbe, 0xe5, 0x09, 0xbd, 0x04, 0x9c, 0xc0,
+	0xbc, 0xf4, 0x97, 0xad, 0x5d, 0xd6, 0x31, 0x94, 0x9c, 0xa0, 0xe7, 0x2f, 0xf1, 0x33, 0xee, 0x01,
+	0x6d, 0xf9, 0x5a, 0xe8, 0x47, 0xfb, 0x48, 0xea, 0x5d, 0x97, 0x76, 0x86, 0x7b, 0xfc, 0x0d, 0x74,
+	0x93, 0x69, 0x54, 0xf9, 0x43, 0xc9, 0x77, 0xd8, 0x6b, 0x68, 0xf5, 0x8a, 0xc2, 0x99, 0xaf, 0x28,
+	0xfc, 0x39, 0x94, 0x78, 0x7b, 0x7f, 0x8b, 0xe1, 0xb7, 0xb6, 0xda, 0xfb, 0x90, 0xf6, 0xd4, 0xf1,
+	0x63, 0x22, 0x60, 0x2d, 0x32, 0xf5, 0xcf, 0x6a, 0xdd, 0x66, 0xbb, 0x9a, 0x7a, 0x4c, 0xac, 0xfb,
+	0x7c, 0x02, 0xc1, 0xba, 0xe7, 0xff, 0x0a, 0x6a, 0xb4, 0xba, 0x9b, 0x56, 0x18, 0xfa, 0xad, 0x0e,
+	0x9b, 0xe9, 0xc1, 0xbb, 0xba, 0xbe, 0xfe, 0x0d, 0x52, 0xa5, 0x0a, 0x54, 0x82, 0xbf, 0x61, 0xed,
+	0x2b, 0xbf, 0xda, 0xb8, 0x85, 0xa7, 0xcc, 0xc2, 0xc7, 0xd1, 0xd4, 0x6f, 0xbf, 0xf5, 0xfa, 0x37,
+	0x58, 0xdf, 0xca, 0x71, 0x66, 0xeb, 0x39, 0x54, 0x17, 0xc1, 0x92, 0x5b, 0x39, 0x66, 0x56, 0xee,
+	0xbf, 0xe3, 0xee, 0xea, 0xdf, 0x20, 0x95, 0x45, 0xb0, 0x64, 0x9a, 0xdf, 0x02, 0x0a, 0xd7, 0x45,
+	0x9c, 0x5b, 0x78, 0xc6, 0x2c, 0x7c, 0xf2, 0x3e, 0x15, 0xbe, 0x7f, 0x83, 0xec, 0x26, 0xf4, 0x29,
+	0x70, 0x02, 0x50, 0x0d, 0x16, 0xf6, 0xd8, 0xb9, 0x74, 0xc6, 0xed, 0x1f, 0x72, 0x50, 0x8d, 0xdf,
+	0xbe, 0xf8, 0x2b, 0xa8, 0x27, 0x1e, 0xaa, 0xef, 0xf1, 0x4e, 0x85, 0xd9, 0xea, 0x89, 0x8a, 0xdb,
+	0x50, 0xf4, 0x3d, 0x2f, 0x64, 0x25, 0x60, 0xfb, 0xd4, 0x31, 0x6c, 0x35, 0xc1, 0x85, 0xe7, 0x85,
+	0xf6, 0x84, 0x9d, 0xfe, 0xf7, 0x98, 0xe0, 0x84, 0xb1, 0xdb, 0xff, 0xcd, 0xc3, 0xad, 0xa1, 0x37,
+	0x71, 0x2e, 0x1d, 0xeb, 0x62, 0x66, 0xff, 0xbf, 0x0a, 0xd2, 0x67, 0xab, 0x72, 0x53, 0xc8, 0x74,
+	0xfc, 0xed, 0xe5, 0xa7, 0x98, 0x51, 0x7e, 0x56, 0x07, 0xb2, 0xf4, 0xb6, 0x03, 0x59, 0xde, 0x3c,
+	0x90, 0xd1, 0x11, 0xaa, 0x64, 0x1d, 0xa1, 0xd4, 0x9b, 0xbf, 0xfa, 0x13, 0xde, 0xfc, 0xc2, 0x76,
+	0xe2, 0x67, 0xbc, 0x95, 0xd2, 0x8d, 0x66, 0x32, 0xfd, 0x93, 0x59, 0xb2, 0xff, 0xd7, 0x02, 0x7d,
+	0x43, 0x24, 0xa2, 0xc7, 0xdf, 0x10, 0x43, 0x4d, 0x55, 0x24, 0xc5, 0xd8, 0x7e, 0x43, 0xec, 0xc1,
+	0xdd, 0x2d, 0x94, 0xdf, 0x4e, 0xb9, 0x0c, 0x4c, 0xec, 0x0b, 0xba, 0x2e, 0xd3, 0x5b, 0x75, 0xdb,
+	0xea, 0x89, 0x20, 0xbe, 0xd0, 0x06, 0x82, 0x22, 0xa1, 0x42, 0x06, 0x2a, 0xaa, 0x8a, 0x21, 0xc8,
+	0x8a, 0x44, 0x50, 0x91, 0x36, 0x6e, 0x29, 0x54, 0x53, 0x5f, 0xd2, 0xe7, 0xca, 0x48, 0xd3, 0x06,
+	0xe7, 0xa8, 0x44, 0x1b, 0xfb, 0x14, 0xa1, 0x27, 0x28, 0xa8, 0x8c, 0x3f, 0x80, 0x3b, 0x29, 0xb9,
+	0x2e, 0x29, 0xba, 0x4a, 0x50, 0x25, 0x03, 0x1a, 0xaa, 0xdd, 0xd1, 0x40, 0x42, 0x55, 0xda, 0x32,
+	0x6c, 0x4d, 0x47, 0x0c, 0x54, 0xcb, 0x98, 0x46, 0xd4, 0x46, 0x08, 0x32, 0xd6, 0x7d, 0x22, 0x18,
+	0x86, 0x44, 0xce, 0x51, 0x3d, 0x03, 0xd3, 0x0d, 0x95, 0x08, 0xa7, 0x12, 0x6a, 0x64, 0xf9, 0x20,
+	0x0d, 0x55, 0x72, 0x8e, 0x9a, 0xf8, 0x43, 0xd8, 0x4b, 0x41, 0x06, 0x11, 0x14, 0x5d, 0x94, 0xe4,
+	0x33, 0x89, 0xa0, 0x9d, 0xfd, 0xbf, 0xe4, 0x12, 0xbf, 0x42, 0xd6, 0x99, 0x12, 0xeb, 0x99, 0x42,
+	0x77, 0x28, 0x2b, 0xa6, 0x6e, 0x08, 0xc6, 0xe6, 0xf6, 0x45, 0x81, 0x4e, 0xe1, 0xf1, 0x06, 0xde,
+	0x87, 0x7b, 0x5b, 0xe8, 0x40, 0x15, 0x5f, 0x48, 0x5d, 0x94, 0xc7, 0x6d, 0xf8, 0x70, 0x0b, 0xd4,
+	0xfb, 0x23, 0xc3, 0x90, 0x95, 0x53, 0xb3, 0x4b, 0x0d, 0x14, 0xf0, 0x43, 0xf8, 0x20, 0xc3, 0x7c,
+	0x64, 0xa2, 0xb8, 0xff, 0x43, 0x0e, 0xf0, 0xf6, 0x9f, 0xa9, 0x95, 0x96, 0xaa, 0xd1, 0x4d, 0xdd,
+	0xf2, 0x39, 0xf6, 0x6a, 0x03, 0x8e, 0x5d, 0x8e, 0x17, 0x94, 0x00, 0xbb, 0xb2, 0x2e, 0x9c, 0x0c,
+	0x98, 0xcf, 0x19, 0xaa, 0x92, 0xc2, 0xc1, 0x42, 0x16, 0x68, 0x48, 0x3a, 0x5d, 0x0e, 0x2a, 0xee,
+	0xff, 0x29, 0x19, 0xe0, 0xf5, 0xbf, 0xb0, 0x55, 0x80, 0x47, 0x3a, 0x7d, 0x3d, 0xbc, 0x3d, 0xc0,
+	0x9b, 0x78, 0xec, 0x6d, 0xb4, 0xe3, 0x1b, 0xa8, 0xdc, 0x1d, 0x48, 0x09, 0x57, 0x93, 0x90, 0x20,
+	0x1a, 0xf2, 0x19, 0x3d, 0x1f, 0x59, 0x7a, 0x27, 0x23, 0xfd, 0x1c, 0x15, 0xf7, 0xff, 0x90, 0xfc,
+	0x29, 0xb6, 0xfe, 0xf3, 0xb6, 0xce, 0x84, 0x81, 0x40, 0x86, 0xef, 0xca, 0x84, 0x0d, 0x3c, 0x76,
+	0xf4, 0x63, 0x78, 0x98, 0xa9, 0x4d, 0x4c, 0x22, 0x69, 0x82, 0x4c, 0x50, 0x7e, 0xbd, 0xd7, 0x09,
+	0x8a, 0x48, 0x64, 0x43, 0x16, 0x85, 0x01, 0x2a, 0xc4, 0x89, 0xbf, 0x01, 0x0f, 0x85, 0x6f, 0x54,
+	0x7a, 0xa0, 0x33, 0x31, 0x59, 0x51, 0x09, 0x2a, 0x65, 0xfa, 0xf5, 0x52, 0x20, 0x0a, 0xdd, 0x96,
+	0xf2, 0x3a, 0x09, 0x13, 0xa8, 0xac, 0x74, 0x25, 0x43, 0x22, 0x43, 0x59, 0x11, 0x0c, 0x09, 0x55,
+	0xf6, 0xff, 0x96, 0x83, 0x3b, 0x99, 0xbf, 0x13, 0xf1, 0x23, 0x78, 0xc0, 0xb4, 0x75, 0x43, 0x50,
+	0xba, 0x27, 0xe7, 0x19, 0x51, 0x89, 0xa3, 0x96, 0x66, 0xa4, 0x4a, 0x5c, 0x0a, 0xef, 0xab, 0x46,
+	0x62, 0x07, 0x37, 0x31, 0x51, 0x1d, 0xd0, 0x64, 0x7b, 0x0c, 0x9f, 0x64, 0x80, 0x1a, 0x51, 0xcf,
+	0xe4, 0x2e, 0x3d, 0x40, 0xba, 0x44, 0xce, 0x64, 0x51, 0x42, 0xc5, 0xfd, 0xdf, 0x17, 0xa0, 0xb9,
+	0xf1, 0x9f, 0x12, 0xb7, 0xe0, 0xf6, 0x99, 0x30, 0x18, 0x49, 0xdb, 0xd5, 0xf8, 0x36, 0xa0, 0x04,
+	0xc2, 0x1f, 0x19, 0x39, 0x5a, 0xa7, 0x36, 0xf8, 0xdc, 0xf9, 0x3c, 0x2d, 0x6c, 0x09, 0x39, 0x7d,
+	0x01, 0xeb, 0xa6, 0x20, 0xa2, 0x42, 0x26, 0xd0, 0x15, 0x51, 0x31, 0x65, 0x49, 0x18, 0x6a, 0x12,
+	0x91, 0xe8, 0x03, 0x68, 0x73, 0xde, 0x97, 0x82, 0x61, 0xe8, 0xa8, 0x9c, 0x92, 0xf6, 0x25, 0x62,
+	0x7c, 0x87, 0x2a, 0x29, 0x1b, 0xa2, 0x34, 0xd0, 0xe5, 0x91, 0x8e, 0xaa, 0x34, 0xa7, 0x13, 0x72,
+	0x4d, 0x22, 0x22, 0xad, 0x75, 0xa4, 0x8f, 0x6a, 0x18, 0xc3, 0x4e, 0x02, 0x22, 0xda, 0x10, 0x41,
+	0x4a, 0x26, 0x0e, 0x87, 0xbc, 0xb8, 0x26, 0x64, 0x06, 0x19, 0x19, 0x7d, 0x93, 0x09, 0x50, 0x23,
+	0x35, 0x6d, 0x64, 0x1e, 0x35, 0xf1, 0x1d, 0xb8, 0x99, 0x90, 0x0f, 0x69, 0xe6, 0xe8, 0x68, 0x27,
+	0xe5, 0xfb, 0xc9, 0xb9, 0x21, 0xe9, 0x68, 0x77, 0xff, 0x8f, 0x05, 0x80, 0xf5, 0x63, 0x73, 0xed,
+	0xb2, 0x2e, 0x0a, 0x83, 0xcd, 0x9d, 0x58, 0x99, 0xe5, 0xd0, 0xb9, 0x2a, 0x1a, 0x2a, 0xca, 0xa5,
+	0xc5, 0xdf, 0x49, 0x9a, 0xa1, 0xa2, 0xfc, 0x7a, 0x36, 0x2e, 0x16, 0x0c, 0x43, 0x45, 0x85, 0x34,
+	0xb9, 0x27, 0x0d, 0x0d, 0x15, 0x15, 0xd3, 0x64, 0x4d, 0x16, 0xd5, 0xe4, 0x16, 0x70, 0xa9, 0x22,
+	0x28, 0x2a, 0x2a, 0xa7, 0x4d, 0x0c, 0x65, 0x91, 0xa8, 0xa8, 0xb2, 0x2d, 0x1e, 0x0c, 0x64, 0x54,
+	0x4d, 0x8b, 0x47, 0x8a, 0x6c, 0xe8, 0xa8, 0x96, 0x36, 0xfd, 0x42, 0x1e, 0xa8, 0x08, 0xd2, 0xd2,
+	0xa1, 0x74, 0x2a, 0xa0, 0x7a, 0x5a, 0x7a, 0x2a, 0x9f, 0x0a, 0xa8, 0x91, 0x96, 0x1a, 0x12, 0x11,
+	0x50, 0x73, 0x6b, 0x21, 0x92, 0x21, 0xa0, 0x1d, 0x7c, 0x0b, 0x76, 0x93, 0x52, 0xe9, 0x95, 0x80,
+	0x76, 0xb7, 0xe3, 0x66, 0x18, 0x02, 0x42, 0xdb, 0x51, 0xa6, 0xe2, 0x9b, 0xfb, 0xbf, 0xcd, 0x41,
+	0x23, 0xf9, 0xaf, 0x9d, 0x1e, 0x45, 0x7e, 0xd3, 0xb3, 0x73, 0x36, 0xd2, 0xd3, 0x87, 0x66, 0x13,
+	0x54, 0x5f, 0xa0, 0x1c, 0x2d, 0x67, 0x69, 0x15, 0xe1, 0x4c, 0x90, 0x07, 0xf4, 0xb6, 0x40, 0x79,
+	0x5a, 0x3a, 0x36, 0x61, 0x45, 0x55, 0xe8, 0xc5, 0x21, 0x18, 0xb2, 0xaa, 0xd0, 0x82, 0x77, 0xf2,
+	0xd5, 0x77, 0x5f, 0x4e, 0x9d, 0xf0, 0x6a, 0x79, 0x71, 0x30, 0xf6, 0xe6, 0x87, 0xde, 0xc2, 0x76,
+	0xc7, 0x9e, 0x3f, 0x39, 0x9c, 0xd8, 0xd7, 0xce, 0xd8, 0xfe, 0x62, 0x6e, 0xb9, 0xd6, 0xd4, 0x9e,
+	0xdb, 0x6e, 0xf8, 0x85, 0xe3, 0x86, 0xb6, 0x7f, 0x69, 0x8d, 0xed, 0xc3, 0xeb, 0xa7, 0x87, 0x53,
+	0xef, 0x70, 0x32, 0x77, 0x2e, 0xca, 0xac, 0x43, 0x7e, 0xfa, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff,
+	0x3b, 0x2e, 0xf2, 0xc9, 0x00, 0x1b, 0x00, 0x00,
 }
diff --git a/vendor/github.com/opencord/device-management-interface/go/dmi/hw_events_mgmt_service.pb.go b/vendor/github.com/opencord/device-management-interface/go/dmi/hw_events_mgmt_service.pb.go
index 2b5dc6e..80b3002 100644
--- a/vendor/github.com/opencord/device-management-interface/go/dmi/hw_events_mgmt_service.pb.go
+++ b/vendor/github.com/opencord/device-management-interface/go/dmi/hw_events_mgmt_service.pb.go
@@ -7,8 +7,11 @@
 	context "context"
 	fmt "fmt"
 	proto "github.com/golang/protobuf/proto"
+	empty "github.com/golang/protobuf/ptypes/empty"
 	timestamp "github.com/golang/protobuf/ptypes/timestamp"
 	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
 	math "math"
 )
 
@@ -73,6 +76,9 @@
 	EventIds_EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL              EventIds = 502
 	EventIds_EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED EventIds = 503
 	EventIds_EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED    EventIds = 504
+	EventIds_EVENT_HW_DEVICE_REBOOT                               EventIds = 505
+	EventIds_EVENT_HW_TEMPERATURE_SENSOR_FAILED                   EventIds = 506
+	EventIds_EVENT_HW_ALL_TEMPERATURE_SENSORS_FAILED              EventIds = 507
 )
 
 var EventIds_name = map[int32]string{
@@ -118,6 +124,9 @@
 	502: "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL",
 	503: "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED",
 	504: "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED",
+	505: "EVENT_HW_DEVICE_REBOOT",
+	506: "EVENT_HW_TEMPERATURE_SENSOR_FAILED",
+	507: "EVENT_HW_ALL_TEMPERATURE_SENSORS_FAILED",
 }
 
 var EventIds_value = map[string]int32{
@@ -163,6 +172,9 @@
 	"EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL":                 502,
 	"EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED":    503,
 	"EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED":       504,
+	"EVENT_HW_DEVICE_REBOOT":                                  505,
+	"EVENT_HW_TEMPERATURE_SENSOR_FAILED":                      506,
+	"EVENT_HW_ALL_TEMPERATURE_SENSORS_FAILED":                 507,
 }
 
 func (x EventIds) String() string {
@@ -957,98 +969,103 @@
 func init() { proto.RegisterFile("dmi/hw_events_mgmt_service.proto", fileDescriptor_8962d785556e9979) }
 
 var fileDescriptor_8962d785556e9979 = []byte{
-	// 1448 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x4b, 0x73, 0xdb, 0xd4,
-	0x17, 0x8f, 0xad, 0x3c, 0x9c, 0x93, 0xc6, 0x7f, 0xf5, 0x4e, 0xff, 0x6d, 0xe2, 0x4e, 0x5b, 0xe3,
-	0x40, 0x93, 0x06, 0x62, 0xb7, 0x09, 0xb4, 0x74, 0xba, 0x00, 0xc5, 0x56, 0x6a, 0x0d, 0x8e, 0x9c,
-	0xb9, 0x91, 0x1d, 0x86, 0x45, 0x35, 0x37, 0xd6, 0xb5, 0x2d, 0x6a, 0x49, 0xae, 0x74, 0x95, 0x50,
-	0x98, 0x61, 0xc1, 0x92, 0x15, 0xaf, 0x25, 0xc3, 0x27, 0xa0, 0xb0, 0xe4, 0x2b, 0xf0, 0x58, 0xf1,
-	0x5d, 0x78, 0x2d, 0x19, 0x5d, 0xc9, 0xb6, 0xe2, 0x47, 0x9c, 0xce, 0xb0, 0xb3, 0xce, 0xf9, 0xfd,
-	0xce, 0xf9, 0x5d, 0x9d, 0x73, 0x8f, 0x8e, 0x21, 0x6b, 0x58, 0x66, 0xa1, 0x7d, 0xaa, 0xd3, 0x13,
-	0x6a, 0x33, 0x4f, 0xb7, 0x5a, 0x16, 0xd3, 0x3d, 0xea, 0x9e, 0x98, 0x0d, 0x9a, 0xef, 0xba, 0x0e,
-	0x73, 0x90, 0x60, 0x58, 0x66, 0xe6, 0x72, 0x00, 0x6b, 0x38, 0x96, 0xe5, 0xd8, 0x5e, 0x68, 0xcf,
-	0x5c, 0x0a, 0x99, 0xd1, 0xd3, 0xad, 0x96, 0xe3, 0xb4, 0x3a, 0xb4, 0xc0, 0x9f, 0x8e, 0xfd, 0x66,
-	0x81, 0x99, 0x16, 0xf5, 0x18, 0xb1, 0xba, 0x21, 0x20, 0x67, 0xc2, 0x62, 0x9d, 0x74, 0x7c, 0xaa,
-	0x3d, 0xef, 0x52, 0xb4, 0x0a, 0x0b, 0xa6, 0xcd, 0xf4, 0x13, 0xd2, 0x59, 0x49, 0x64, 0x13, 0x1b,
-	0x42, 0x79, 0x06, 0xcf, 0x9b, 0x36, 0xab, 0x93, 0x0e, 0xba, 0x0e, 0x29, 0xbf, 0xe7, 0x4b, 0x66,
-	0x13, 0x1b, 0xb3, 0xe5, 0x19, 0xbc, 0xe0, 0x47, 0xce, 0x1b, 0xb0, 0xd8, 0xec, 0x38, 0x24, 0xf4,
-	0x0a, 0xd9, 0xc4, 0x46, 0xb2, 0x3c, 0x83, 0x53, 0xdc, 0x54, 0x27, 0x9d, 0xdd, 0x39, 0x10, 0x4e,
-	0x48, 0x27, 0x87, 0x01, 0x8e, 0x08, 0xa3, 0xee, 0x3e, 0x71, 0x9f, 0x7a, 0x28, 0x07, 0xb3, 0x6d,
-	0xb3, 0xd5, 0xe6, 0x89, 0x96, 0xb6, 0xd3, 0x79, 0xc3, 0x32, 0xf3, 0x7d, 0x25, 0x98, 0xfb, 0x50,
-	0x16, 0x84, 0x8e, 0x73, 0xca, 0xf3, 0x8d, 0x42, 0x02, 0x57, 0xee, 0x29, 0x80, 0xd6, 0x76, 0xa9,
-	0xd7, 0x76, 0x3a, 0x86, 0x87, 0xd6, 0x61, 0xce, 0xef, 0x76, 0xa9, 0x1b, 0x05, 0xfd, 0x1f, 0x67,
-	0x0c, 0x72, 0x96, 0x67, 0x70, 0xe8, 0x0f, 0x80, 0x1d, 0xe7, 0x94, 0xba, 0x51, 0xe8, 0x71, 0x40,
-	0xee, 0xdf, 0x5d, 0x82, 0x45, 0xd6, 0x8b, 0x9f, 0xfb, 0x14, 0xae, 0xf4, 0x93, 0x29, 0x76, 0xd3,
-	0x71, 0x2d, 0xc2, 0x4c, 0xc7, 0x46, 0x6f, 0x41, 0xda, 0x39, 0x0e, 0xaa, 0x43, 0x8d, 0xe0, 0x0d,
-	0xf8, 0x74, 0xc2, 0xa1, 0x96, 0x7b, 0x28, 0x6e, 0x42, 0x05, 0x80, 0x7e, 0x6c, 0xef, 0x8c, 0x92,
-	0xc1, 0x91, 0x70, 0x0c, 0x92, 0xfb, 0x3c, 0x01, 0x29, 0x39, 0x68, 0x88, 0x62, 0xb3, 0x85, 0x36,
-	0x20, 0xc5, 0x9b, 0x43, 0x37, 0x0d, 0x9e, 0x2e, 0xbd, 0xbd, 0xcc, 0xb9, 0x1c, 0xa0, 0x18, 0x1e,
-	0x5e, 0xa0, 0xe1, 0x2f, 0xb4, 0x06, 0xcb, 0xa6, 0xa7, 0x37, 0x1c, 0xbb, 0x69, 0xb6, 0x7c, 0x97,
-	0x1a, 0x3c, 0x55, 0x0a, 0x5f, 0x32, 0xbd, 0x62, 0xdf, 0x36, 0x24, 0x46, 0x98, 0x2e, 0xe6, 0x2e,
-	0x2c, 0xf2, 0x54, 0x5e, 0x20, 0x66, 0x0d, 0xe6, 0x4c, 0x46, 0x2d, 0x6f, 0x25, 0x91, 0x15, 0x36,
-	0x96, 0xe2, 0x4a, 0x8a, 0xcd, 0x16, 0x0e, 0x7d, 0xb9, 0xef, 0x92, 0x80, 0x2a, 0xa6, 0xc7, 0x42,
-	0x1a, 0xa6, 0x5e, 0xd7, 0xb1, 0x3d, 0x8a, 0xd6, 0x60, 0xde, 0x63, 0x84, 0xf9, 0x5e, 0x74, 0x8c,
-	0x25, 0x4e, 0x3e, 0xe4, 0x26, 0x1c, 0xb9, 0xd0, 0x7d, 0x98, 0x77, 0x29, 0xf1, 0x1c, 0x9b, 0x8b,
-	0x4f, 0x6f, 0xdf, 0xe4, 0xa0, 0xd1, 0x68, 0x79, 0xcc, 0x51, 0x38, 0x42, 0xa3, 0xdb, 0x30, 0x1f,
-	0x5e, 0xa1, 0xe8, 0x48, 0xe9, 0x81, 0xb2, 0x40, 0x38, 0x8e, 0xbc, 0xc1, 0x3b, 0x0a, 0x19, 0xba,
-	0x41, 0x19, 0x31, 0x3b, 0x2b, 0xb3, 0xd9, 0xc4, 0xc6, 0x22, 0xbe, 0x14, 0x1a, 0x4b, 0xdc, 0x96,
-	0x7b, 0x02, 0xf3, 0x61, 0x78, 0x74, 0x05, 0xc4, 0x9a, 0x5a, 0x92, 0xf7, 0x14, 0x55, 0x2e, 0xe9,
-	0x58, 0x96, 0x0e, 0xab, 0xaa, 0x38, 0x83, 0x10, 0xa4, 0x6b, 0xea, 0x7b, 0x6a, 0xf5, 0x48, 0xd5,
-	0x4b, 0x72, 0x5d, 0x29, 0xca, 0x62, 0x22, 0xb0, 0x29, 0xaa, 0x26, 0x63, 0x55, 0xaa, 0xe8, 0x32,
-	0xc6, 0x55, 0x2c, 0x26, 0xd1, 0x55, 0x40, 0xa1, 0x5f, 0xaf, 0xa9, 0x58, 0x96, 0x8a, 0x65, 0x69,
-	0xb7, 0x22, 0x8b, 0x42, 0xee, 0x45, 0x02, 0x32, 0x91, 0xb4, 0xa8, 0x30, 0xbc, 0xbf, 0x30, 0x7d,
-	0xe6, 0x53, 0x8f, 0xa1, 0x4d, 0x58, 0x32, 0x68, 0x30, 0x01, 0x74, 0xdf, 0x8f, 0x8a, 0xbe, 0xb4,
-	0xbd, 0xc8, 0x0f, 0x54, 0xf3, 0x4d, 0x03, 0x43, 0xe8, 0x0d, 0x7e, 0xa3, 0x4d, 0x58, 0x68, 0xb4,
-	0x89, 0xdd, 0xa2, 0xde, 0x99, 0xdb, 0xd3, 0x3f, 0x78, 0x70, 0x7b, 0x23, 0x00, 0xda, 0x04, 0xd1,
-	0xa5, 0x1e, 0x65, 0x3a, 0x73, 0x74, 0x83, 0x36, 0x89, 0xdf, 0x61, 0xfc, 0x6d, 0xa5, 0xca, 0x33,
-	0x38, 0xcd, 0x3d, 0x9a, 0x53, 0x0a, 0xed, 0xc1, 0x7d, 0x70, 0xba, 0x34, 0xd4, 0x95, 0xfb, 0x36,
-	0x09, 0xd7, 0xc7, 0xea, 0x7d, 0x99, 0xca, 0xbe, 0x33, 0x54, 0xd9, 0xf5, 0xb8, 0xd0, 0x71, 0x61,
-	0x87, 0x4b, 0x3c, 0x52, 0x3a, 0x61, 0x4c, 0xe9, 0xdc, 0xff, 0xa8, 0x74, 0xdc, 0x56, 0x97, 0x2a,
-	0x4a, 0x49, 0x2f, 0x56, 0xd5, 0x3d, 0xe5, 0xb1, 0x28, 0x4c, 0x28, 0xe7, 0x6c, 0xee, 0x9b, 0x04,
-	0x2c, 0xf3, 0x73, 0xec, 0x53, 0x46, 0x4a, 0x84, 0x91, 0x97, 0xaa, 0xe0, 0x5d, 0x48, 0x37, 0x1c,
-	0xab, 0xeb, 0xd8, 0xc1, 0x1d, 0xe7, 0xf0, 0xe4, 0x30, 0x7c, 0xb9, 0x0f, 0xe0, 0x8c, 0xd7, 0xe2,
-	0x0c, 0x9b, 0x58, 0x34, 0x7a, 0x13, 0x03, 0x98, 0x4a, 0x2c, 0x9a, 0xfb, 0x2c, 0x09, 0x73, 0x5c,
-	0x16, 0x7a, 0x08, 0xe9, 0x70, 0x84, 0x58, 0x94, 0x11, 0x83, 0x30, 0x12, 0x29, 0x42, 0x83, 0x12,
-	0xf4, 0xa4, 0xe3, 0x65, 0xda, 0x7b, 0x0c, 0x80, 0x67, 0xa6, 0x4f, 0xf2, 0xdc, 0xe9, 0xf3, 0x00,
-	0x16, 0x5d, 0x62, 0x7a, 0xd4, 0xd0, 0xfb, 0x97, 0x30, 0x93, 0x0f, 0xbf, 0x4a, 0xf9, 0xde, 0x57,
-	0x29, 0xaf, 0xf5, 0xbe, 0x4a, 0x38, 0x15, 0x82, 0x35, 0x0f, 0xbd, 0x0b, 0xe9, 0xfe, 0xb8, 0xd1,
-	0x4d, 0xbb, 0xe9, 0xf0, 0x3b, 0xb9, 0xb4, 0xbd, 0x7a, 0x76, 0x2a, 0xc5, 0x06, 0x31, 0x5e, 0x66,
-	0x71, 0x2b, 0x5a, 0x85, 0x14, 0x31, 0x22, 0xee, 0x1c, 0x7f, 0x15, 0x0b, 0xc4, 0xe0, 0xae, 0xcd,
-	0xdf, 0xd3, 0xd1, 0x28, 0x55, 0x0c, 0x0f, 0xad, 0xc0, 0x15, 0xb9, 0x2e, 0xab, 0x9a, 0xae, 0x4a,
-	0xfb, 0x41, 0x11, 0xa3, 0xee, 0x10, 0x67, 0xd0, 0x4d, 0xc8, 0x84, 0x1e, 0x0d, 0x4b, 0xea, 0x61,
-	0x51, 0x56, 0xea, 0x32, 0xd6, 0x0f, 0x2a, 0xb5, 0xc7, 0x7a, 0xb5, 0xa6, 0x89, 0x06, 0xba, 0x01,
-	0xab, 0x13, 0xfc, 0x8a, 0x2a, 0x52, 0xb4, 0x05, 0x77, 0x46, 0xdd, 0xf5, 0x6a, 0x45, 0x93, 0x1e,
-	0xcb, 0xba, 0xb4, 0x5b, 0xad, 0xcb, 0xba, 0x56, 0xc6, 0xf2, 0x61, 0xb9, 0x5a, 0x29, 0x89, 0xcd,
-	0xf3, 0xe1, 0xbb, 0x72, 0xa5, 0x7a, 0x14, 0x83, 0xb7, 0xd0, 0x3d, 0xd8, 0x1a, 0x85, 0x6b, 0xf2,
-	0xfe, 0x81, 0x8c, 0x25, 0xad, 0x86, 0x47, 0x33, 0xb4, 0xa7, 0x53, 0x86, 0xb3, 0x98, 0xe3, 0x45,
-	0x15, 0x6b, 0x18, 0x07, 0xb6, 0xe1, 0x0c, 0x1f, 0x9e, 0x0f, 0x1f, 0x8e, 0xfe, 0x14, 0xe5, 0x61,
-	0x73, 0x14, 0x8e, 0xdf, 0xd7, 0x0f, 0xaa, 0x47, 0x32, 0x1e, 0x09, 0xdf, 0x99, 0x82, 0x1f, 0x8e,
-	0x6f, 0x8d, 0xc7, 0x6b, 0x93, 0xe2, 0xdb, 0x53, 0xf0, 0xc3, 0xf1, 0x9d, 0xf1, 0x0d, 0xb0, 0x27,
-	0x29, 0x95, 0x1a, 0x96, 0xc5, 0x2e, 0x7a, 0x00, 0x3b, 0x17, 0x6e, 0x00, 0x1d, 0xcb, 0xc5, 0x6a,
-	0x5d, 0xc6, 0x72, 0x49, 0x7c, 0x76, 0x3e, 0x71, 0x48, 0x46, 0x8c, 0xe8, 0xa2, 0x47, 0xf0, 0xe0,
-	0xa5, 0x9a, 0x22, 0x46, 0xf6, 0xa6, 0x93, 0x27, 0x67, 0x66, 0xe3, 0x25, 0x4f, 0x68, 0x94, 0x18,
-	0xd1, 0x3f, 0x9f, 0x38, 0x39, 0xe3, 0x09, 0x7a, 0x1b, 0xde, 0xbc, 0x78, 0xf3, 0xc4, 0x98, 0xa7,
-	0x53, 0x98, 0x93, 0x73, 0x7e, 0x34, 0x9e, 0xa9, 0x4d, 0xcf, 0xf9, 0x7c, 0x0a, 0x73, 0x72, 0xce,
-	0x8f, 0xd1, 0x3a, 0xac, 0x4d, 0x6c, 0xb2, 0x18, 0xf0, 0x13, 0x74, 0x0d, 0x50, 0x08, 0x3c, 0x38,
-	0xac, 0x0d, 0xc6, 0xd4, 0xcf, 0x09, 0x74, 0x15, 0x2e, 0x0f, 0x39, 0x14, 0x55, 0xfc, 0x65, 0xc8,
-	0xde, 0x6b, 0xdb, 0x5f, 0x13, 0x28, 0x0b, 0xd7, 0x47, 0xec, 0xb1, 0x4c, 0xbf, 0xc5, 0x98, 0x7b,
-	0x92, 0xda, 0x67, 0x7e, 0x9f, 0x1c, 0x48, 0x08, 0xec, 0x7d, 0x09, 0x2f, 0x92, 0x67, 0x09, 0x3d,
-	0x09, 0x3f, 0x24, 0x07, 0xa9, 0x62, 0x81, 0x62, 0xa9, 0x7e, 0x4c, 0xa2, 0x3b, 0xf0, 0x6a, 0x88,
-	0x28, 0x1e, 0xd4, 0xc6, 0xb4, 0x72, 0x11, 0x2b, 0x9a, 0x52, 0x94, 0x2a, 0xe2, 0x17, 0x02, 0xba,
-	0x0d, 0xaf, 0x9c, 0x07, 0xdd, 0x93, 0x34, 0xa9, 0x22, 0x7e, 0x29, 0xa0, 0x1d, 0xc8, 0x5f, 0x24,
-	0x64, 0x4c, 0xc7, 0x57, 0x02, 0xba, 0x0b, 0xaf, 0x4f, 0x0d, 0x1e, 0x63, 0x7c, 0x2d, 0xa0, 0x0c,
-	0xfc, 0x3f, 0x64, 0x94, 0x8f, 0xa2, 0xb5, 0x42, 0xc7, 0xf2, 0xa1, 0xac, 0x89, 0x7f, 0x08, 0xa8,
-	0xd0, 0x9b, 0x34, 0x03, 0xdf, 0x39, 0x67, 0xfb, 0x53, 0x40, 0x6f, 0xc0, 0xfa, 0x74, 0x42, 0x78,
-	0xc2, 0xbf, 0x04, 0xf4, 0xb0, 0xd7, 0x6d, 0x17, 0x09, 0x1f, 0x53, 0xfd, 0xb7, 0x80, 0xee, 0xc3,
-	0xbd, 0x0b, 0x26, 0x8a, 0xf1, 0xfe, 0x11, 0xb6, 0x7f, 0x4a, 0xc0, 0x0d, 0x95, 0x30, 0xf3, 0x84,
-	0x86, 0xdb, 0xdb, 0x3e, 0xb1, 0x49, 0x8b, 0x5a, 0xd4, 0x66, 0x87, 0xe1, 0x3f, 0x57, 0x74, 0x1f,
-	0x60, 0xb0, 0xb2, 0xa3, 0xf0, 0xef, 0x45, 0x99, 0xb8, 0xc6, 0x29, 0x71, 0xa9, 0x52, 0xca, 0x5c,
-	0x9b, 0xb0, 0xd4, 0xa3, 0x27, 0xb0, 0x5a, 0xeb, 0x1a, 0x84, 0xd1, 0x31, 0x6b, 0x21, 0xba, 0x35,
-	0x79, 0x61, 0xe4, 0x7b, 0x73, 0x26, 0x3b, 0x6d, 0xa3, 0xdc, 0x7d, 0xf4, 0xc1, 0xc3, 0x96, 0xc9,
-	0xda, 0xfe, 0x71, 0xbe, 0xe1, 0x58, 0x05, 0xa7, 0x4b, 0xed, 0x86, 0xe3, 0x1a, 0x85, 0x70, 0x1b,
-	0xdb, 0xb2, 0xfa, 0xe7, 0xd8, 0x32, 0x6d, 0x46, 0xdd, 0x26, 0x69, 0xd0, 0xc2, 0xc9, 0x4e, 0xa1,
-	0xe5, 0x14, 0x0c, 0xcb, 0x3c, 0x9e, 0xe7, 0x5b, 0xcc, 0xce, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff,
-	0x36, 0x83, 0x3b, 0x4c, 0xb3, 0x0f, 0x00, 0x00,
+	// 1521 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x4b, 0x6f, 0xdb, 0xd6,
+	0x12, 0xb6, 0x44, 0x3f, 0xe4, 0xb1, 0xad, 0x30, 0x07, 0xb9, 0x8e, 0x2d, 0x23, 0x89, 0xae, 0x7c,
+	0x6f, 0xec, 0xb8, 0xb5, 0xe4, 0xd8, 0x69, 0xd2, 0x20, 0x8b, 0x96, 0x96, 0xe8, 0x48, 0xa8, 0x4c,
+	0x19, 0x47, 0x94, 0x5c, 0x74, 0x11, 0xe2, 0x58, 0x3c, 0x92, 0xd8, 0x88, 0xa4, 0x42, 0x1e, 0xd9,
+	0x4d, 0x0b, 0x74, 0xd1, 0x65, 0x57, 0x7d, 0x2d, 0x8b, 0xfe, 0x82, 0xa6, 0xfd, 0x15, 0x05, 0xfa,
+	0xf8, 0x2d, 0xdd, 0xf5, 0xdd, 0x4d, 0xc1, 0x43, 0x4a, 0xa2, 0xf5, 0xb0, 0x1c, 0xa0, 0x3b, 0x69,
+	0xe6, 0xfb, 0x66, 0xbe, 0xe1, 0xcc, 0x19, 0x1e, 0x42, 0x52, 0x37, 0x8d, 0x4c, 0xf3, 0x4c, 0xa3,
+	0xa7, 0xd4, 0x62, 0xae, 0x66, 0x36, 0x4c, 0xa6, 0xb9, 0xd4, 0x39, 0x35, 0x6a, 0x34, 0xdd, 0x76,
+	0x6c, 0x66, 0x23, 0x41, 0x37, 0x8d, 0xc4, 0x55, 0x0f, 0x56, 0xb3, 0x4d, 0xd3, 0xb6, 0x5c, 0xdf,
+	0x9e, 0x58, 0xf4, 0x99, 0xc1, 0xbf, 0x5b, 0x0d, 0xdb, 0x6e, 0xb4, 0x68, 0x86, 0xff, 0x3b, 0xe9,
+	0xd4, 0x33, 0xcc, 0x30, 0xa9, 0xcb, 0x88, 0xd9, 0x0e, 0x00, 0x6b, 0x83, 0x00, 0x6a, 0xb6, 0xd9,
+	0x73, 0xdf, 0x99, 0x32, 0x60, 0xbe, 0x4a, 0x5a, 0x1d, 0xaa, 0x3e, 0x6f, 0x53, 0xb4, 0x0a, 0x73,
+	0x86, 0xc5, 0xb4, 0x53, 0xd2, 0x5a, 0x89, 0x24, 0x23, 0x9b, 0x42, 0x7e, 0x0a, 0xcf, 0x1a, 0x16,
+	0xab, 0x92, 0x16, 0x5a, 0x83, 0x58, 0xa7, 0xeb, 0x8b, 0x26, 0x23, 0x9b, 0xd3, 0xf9, 0x29, 0x3c,
+	0xd7, 0x09, 0x9c, 0x37, 0x60, 0xbe, 0xde, 0xb2, 0x89, 0xef, 0x15, 0x92, 0x91, 0xcd, 0x68, 0x7e,
+	0x0a, 0xc7, 0xb8, 0xa9, 0x4a, 0x5a, 0xfb, 0x33, 0x20, 0x9c, 0x92, 0x56, 0x0a, 0x03, 0x1c, 0x13,
+	0x46, 0x9d, 0x43, 0xe2, 0x3c, 0x75, 0x51, 0x0a, 0xa6, 0x9b, 0x46, 0xa3, 0xc9, 0x13, 0x2d, 0xec,
+	0xc6, 0xd3, 0xba, 0x69, 0xa4, 0x7b, 0x4a, 0x30, 0xf7, 0xa1, 0x24, 0x08, 0x2d, 0xfb, 0x8c, 0xe7,
+	0x1b, 0x86, 0x78, 0xae, 0xd4, 0x53, 0x00, 0xb5, 0xe9, 0x50, 0xb7, 0x69, 0xb7, 0x74, 0x17, 0x6d,
+	0xc0, 0x4c, 0xa7, 0xdd, 0xa6, 0x4e, 0x10, 0xf4, 0x0a, 0x67, 0xf4, 0x73, 0xe6, 0xa7, 0xb0, 0xef,
+	0xf7, 0x80, 0x2d, 0xfb, 0x8c, 0x3a, 0x41, 0xe8, 0x51, 0x40, 0xee, 0xdf, 0x5f, 0x80, 0x79, 0xd6,
+	0x8d, 0x9f, 0xfa, 0x10, 0xae, 0xf5, 0x92, 0x15, 0xac, 0xba, 0xed, 0x98, 0x84, 0x19, 0xb6, 0x85,
+	0x5e, 0x83, 0xb8, 0x7d, 0xe2, 0xb5, 0x8e, 0xea, 0xde, 0x13, 0xe8, 0xd0, 0x31, 0x45, 0x2d, 0x75,
+	0x51, 0xdc, 0x84, 0x32, 0x00, 0xbd, 0xd8, 0xee, 0x39, 0x25, 0xfd, 0x92, 0x70, 0x08, 0x92, 0xfa,
+	0x38, 0x02, 0x31, 0xd9, 0x9b, 0x96, 0x6c, 0xbd, 0x81, 0x36, 0x21, 0xc6, 0x27, 0x47, 0x33, 0x74,
+	0x9e, 0x2e, 0xbe, 0xbb, 0xc4, 0xb9, 0x1c, 0x50, 0xd0, 0x5d, 0x3c, 0x47, 0xfd, 0x5f, 0x68, 0x1d,
+	0x96, 0x0c, 0x57, 0xab, 0xd9, 0x56, 0xdd, 0x68, 0x74, 0x1c, 0xaa, 0xf3, 0x54, 0x31, 0xbc, 0x68,
+	0xb8, 0xd9, 0x9e, 0x6d, 0x40, 0x8c, 0x30, 0x59, 0xcc, 0x0e, 0xcc, 0xf3, 0x54, 0xae, 0x27, 0x66,
+	0x1d, 0x66, 0x0c, 0x46, 0x4d, 0x77, 0x25, 0x92, 0x14, 0x36, 0x17, 0xc2, 0x4a, 0xb2, 0xf5, 0x06,
+	0xf6, 0x7d, 0xa9, 0xaf, 0xa2, 0x80, 0x8a, 0x86, 0xcb, 0x7c, 0x1a, 0xa6, 0x6e, 0xdb, 0xb6, 0x5c,
+	0x8a, 0xd6, 0x61, 0xd6, 0x65, 0x84, 0x75, 0xdc, 0xa0, 0x8c, 0x05, 0x4e, 0x2e, 0x73, 0x13, 0x0e,
+	0x5c, 0xe8, 0x3e, 0xcc, 0x3a, 0x94, 0xb8, 0xb6, 0xc5, 0xc5, 0xc7, 0x77, 0x6f, 0x72, 0xd0, 0x70,
+	0xb4, 0x34, 0xe6, 0x28, 0x1c, 0xa0, 0xd1, 0x6d, 0x98, 0xf5, 0xcf, 0x57, 0x50, 0x52, 0xbc, 0xaf,
+	0xcc, 0x13, 0x8e, 0x03, 0xaf, 0xf7, 0x8c, 0x7c, 0x86, 0xa6, 0x53, 0x46, 0x8c, 0xd6, 0xca, 0x74,
+	0x32, 0xb2, 0x39, 0x8f, 0x17, 0x7d, 0x63, 0x8e, 0xdb, 0x52, 0x4f, 0x60, 0xd6, 0x0f, 0x8f, 0xae,
+	0x81, 0x58, 0x51, 0x72, 0xf2, 0x41, 0x41, 0x91, 0x73, 0x1a, 0x96, 0xa5, 0x72, 0x49, 0x11, 0xa7,
+	0x10, 0x82, 0x78, 0x45, 0x79, 0x4b, 0x29, 0x1d, 0x2b, 0x5a, 0x4e, 0xae, 0x16, 0xb2, 0xb2, 0x18,
+	0xf1, 0x6c, 0x05, 0x45, 0x95, 0xb1, 0x22, 0x15, 0x35, 0x19, 0xe3, 0x12, 0x16, 0xa3, 0x68, 0x19,
+	0x90, 0xef, 0xd7, 0x2a, 0x0a, 0x96, 0xa5, 0x6c, 0x5e, 0xda, 0x2f, 0xca, 0xa2, 0x90, 0x7a, 0x11,
+	0x81, 0x44, 0x20, 0x2d, 0x68, 0x0c, 0x9f, 0x2f, 0x4c, 0x9f, 0x75, 0xa8, 0xcb, 0xd0, 0x16, 0x2c,
+	0xe8, 0xd4, 0x5b, 0x0f, 0x5a, 0xa7, 0x13, 0x34, 0x7d, 0x61, 0x77, 0x9e, 0x17, 0x54, 0xe9, 0x18,
+	0x3a, 0x06, 0xdf, 0xeb, 0xfd, 0x46, 0x5b, 0x30, 0x57, 0x6b, 0x12, 0xab, 0x41, 0xdd, 0x73, 0xa7,
+	0xa7, 0x57, 0xb8, 0x77, 0x7a, 0x03, 0x00, 0xda, 0x02, 0xd1, 0xa1, 0x2e, 0x65, 0x1a, 0xb3, 0x35,
+	0x9d, 0xd6, 0x49, 0xa7, 0xc5, 0xf8, 0xd3, 0x8a, 0xe5, 0xa7, 0x70, 0x9c, 0x7b, 0x54, 0x3b, 0xe7,
+	0xdb, 0xbd, 0xf3, 0x60, 0xb7, 0xa9, 0xaf, 0x2b, 0xf5, 0x65, 0x14, 0xd6, 0x46, 0xea, 0x7d, 0x99,
+	0xce, 0xbe, 0x31, 0xd0, 0xd9, 0x8d, 0xb0, 0xd0, 0x51, 0x61, 0x07, 0x5b, 0x3c, 0xd4, 0x3a, 0x61,
+	0x44, 0xeb, 0x9c, 0x7f, 0xa9, 0x75, 0xdc, 0x56, 0x95, 0x8a, 0x85, 0x9c, 0x96, 0x2d, 0x29, 0x07,
+	0x85, 0xc7, 0xa2, 0x30, 0xa6, 0x9d, 0xd3, 0xa9, 0x2f, 0x22, 0xb0, 0xc4, 0xeb, 0x38, 0xa4, 0x8c,
+	0xe4, 0x08, 0x23, 0x2f, 0xd5, 0xc1, 0x1d, 0x88, 0xd7, 0x6c, 0xb3, 0x6d, 0x5b, 0xde, 0x19, 0xe7,
+	0xf0, 0xe8, 0x20, 0x7c, 0xa9, 0x07, 0xe0, 0x8c, 0xff, 0x87, 0x19, 0x16, 0x31, 0x69, 0xf0, 0x24,
+	0xfa, 0x30, 0x85, 0x98, 0x34, 0xf5, 0x51, 0x14, 0x66, 0xb8, 0x2c, 0xf4, 0x10, 0xe2, 0xfe, 0x0a,
+	0x31, 0x29, 0x23, 0x3a, 0x61, 0x24, 0x50, 0x84, 0xfa, 0x2d, 0xe8, 0x4a, 0xc7, 0x4b, 0xb4, 0xfb,
+	0xd7, 0x03, 0x9e, 0xdb, 0x3e, 0xd1, 0x0b, 0xb7, 0xcf, 0x03, 0x98, 0x77, 0x88, 0xe1, 0x52, 0x5d,
+	0xeb, 0x1d, 0xc2, 0x44, 0xda, 0x7f, 0x23, 0xa5, 0xbb, 0x6f, 0xa4, 0xb4, 0xda, 0x7d, 0x65, 0xe1,
+	0x98, 0x0f, 0x56, 0x5d, 0xf4, 0x26, 0xc4, 0x7b, 0xeb, 0x46, 0x33, 0xac, 0xba, 0xcd, 0xcf, 0xe4,
+	0xc2, 0xee, 0xea, 0xf9, 0xad, 0x14, 0x5a, 0xc4, 0x78, 0x89, 0x85, 0xad, 0x68, 0x15, 0x62, 0x44,
+	0x0f, 0xb8, 0x33, 0xfc, 0x51, 0xcc, 0x11, 0x9d, 0xbb, 0xb6, 0xbe, 0xbb, 0x12, 0xac, 0xd2, 0x82,
+	0xee, 0xa2, 0x15, 0xb8, 0x26, 0x57, 0x65, 0x45, 0xd5, 0x14, 0xe9, 0xd0, 0x6b, 0x62, 0x30, 0x1d,
+	0xe2, 0x14, 0xba, 0x09, 0x09, 0xdf, 0xa3, 0x62, 0x49, 0x29, 0x67, 0xe5, 0x42, 0x55, 0xc6, 0xda,
+	0x51, 0xb1, 0xf2, 0x58, 0x2b, 0x55, 0x54, 0x51, 0x47, 0x37, 0x60, 0x75, 0x8c, 0xbf, 0xa0, 0x88,
+	0x14, 0x6d, 0xc3, 0x9d, 0x61, 0x77, 0xb5, 0x54, 0x54, 0xa5, 0xc7, 0xb2, 0x26, 0xed, 0x97, 0xaa,
+	0xb2, 0xa6, 0xe6, 0xb1, 0x5c, 0xce, 0x97, 0x8a, 0x39, 0xb1, 0x7e, 0x31, 0x7c, 0x5f, 0x2e, 0x96,
+	0x8e, 0x43, 0xf0, 0x06, 0xba, 0x0b, 0xdb, 0xc3, 0x70, 0x55, 0x3e, 0x3c, 0x92, 0xb1, 0xa4, 0x56,
+	0xf0, 0x70, 0x86, 0xe6, 0x64, 0xca, 0x60, 0x16, 0x63, 0xb4, 0xa8, 0x6c, 0x05, 0x63, 0xcf, 0x36,
+	0x98, 0xe1, 0xdd, 0x8b, 0xe1, 0x83, 0xd1, 0x9f, 0xa2, 0x34, 0x6c, 0x0d, 0xc3, 0xf1, 0xdb, 0xda,
+	0x51, 0xe9, 0x58, 0xc6, 0x43, 0xe1, 0x5b, 0x13, 0xf0, 0x83, 0xf1, 0xcd, 0xd1, 0x78, 0x75, 0x5c,
+	0x7c, 0x6b, 0x02, 0x7e, 0x30, 0xbe, 0x3d, 0x7a, 0x00, 0x0e, 0xa4, 0x42, 0xb1, 0x82, 0x65, 0xb1,
+	0x8d, 0x1e, 0xc0, 0xde, 0xa5, 0x07, 0x40, 0xc3, 0x72, 0xb6, 0x54, 0x95, 0xb1, 0x9c, 0x13, 0x9f,
+	0x5d, 0x4c, 0x1c, 0x90, 0x11, 0x22, 0x3a, 0xe8, 0x11, 0x3c, 0x78, 0xa9, 0xa1, 0x08, 0x91, 0xdd,
+	0xc9, 0xe4, 0xf1, 0x99, 0xd9, 0x68, 0xc9, 0x63, 0x06, 0x25, 0x44, 0xec, 0x5c, 0x4c, 0x1c, 0x9f,
+	0xf1, 0x14, 0xbd, 0x0e, 0xf7, 0x2e, 0x3f, 0x3c, 0x21, 0xe6, 0xd9, 0x04, 0xe6, 0xf8, 0x9c, 0xef,
+	0x8d, 0x66, 0xaa, 0x93, 0x73, 0x3e, 0x9f, 0xc0, 0x1c, 0x9f, 0xf3, 0x7d, 0xb4, 0x01, 0xeb, 0x63,
+	0x87, 0x2c, 0x04, 0xfc, 0x00, 0x5d, 0x07, 0xe4, 0x03, 0x8f, 0xca, 0x95, 0xfe, 0x9a, 0xfa, 0x3e,
+	0x82, 0x96, 0xe1, 0xea, 0x80, 0xa3, 0xa0, 0x88, 0x3f, 0x0c, 0xd8, 0xbb, 0x63, 0xfb, 0x63, 0x04,
+	0x25, 0x61, 0x6d, 0xc8, 0x1e, 0xca, 0xf4, 0x53, 0x88, 0x79, 0x20, 0x29, 0x3d, 0xe6, 0xd7, 0xd1,
+	0xbe, 0x04, 0xcf, 0xde, 0x93, 0xf0, 0x22, 0x7a, 0x9e, 0xd0, 0x95, 0xf0, 0x4d, 0xb4, 0x9f, 0x2a,
+	0x14, 0x28, 0x94, 0xea, 0xdb, 0x28, 0xba, 0x03, 0xff, 0xf3, 0x11, 0xd9, 0xa3, 0xca, 0x88, 0x51,
+	0xce, 0xe2, 0x82, 0x5a, 0xc8, 0x4a, 0x45, 0xf1, 0x13, 0x01, 0xdd, 0x86, 0xff, 0x5e, 0x04, 0x3d,
+	0x90, 0x54, 0xa9, 0x28, 0x7e, 0x2a, 0xa0, 0x3d, 0x48, 0x5f, 0x26, 0x64, 0x48, 0xc7, 0x67, 0x02,
+	0xda, 0x81, 0x57, 0x26, 0x06, 0x0f, 0x31, 0x3e, 0x17, 0x50, 0x02, 0xfe, 0xe3, 0x33, 0xf2, 0xc7,
+	0xc1, 0xb5, 0x42, 0xc3, 0x72, 0x59, 0x56, 0xc5, 0x5f, 0x04, 0x94, 0xe9, 0x6e, 0x9a, 0xbe, 0xef,
+	0x82, 0xda, 0x7e, 0x15, 0xd0, 0xab, 0xb0, 0x31, 0x99, 0xe0, 0x57, 0xf8, 0x9b, 0x80, 0x1e, 0x76,
+	0xa7, 0xed, 0x32, 0xe1, 0x43, 0xaa, 0x7f, 0x17, 0xd0, 0x7d, 0xb8, 0x7b, 0xc9, 0x44, 0x21, 0xde,
+	0x1f, 0x02, 0x5a, 0x83, 0xe5, 0xe1, 0x6a, 0xf7, 0x4b, 0x25, 0x55, 0xfc, 0x53, 0x40, 0x1b, 0x90,
+	0xea, 0x39, 0xc3, 0xd1, 0xca, 0xb2, 0x52, 0x2e, 0xf9, 0xd3, 0x2c, 0xe7, 0xc4, 0xbf, 0xce, 0x97,
+	0x29, 0x15, 0x8b, 0x23, 0xc0, 0xe5, 0x2e, 0xfa, 0x6f, 0x61, 0xf7, 0xe7, 0x08, 0xdc, 0x50, 0x08,
+	0x33, 0x4e, 0xa9, 0x7f, 0x63, 0x3c, 0x24, 0x16, 0x69, 0x50, 0x93, 0x5a, 0xac, 0xec, 0x7f, 0x4a,
+	0xa3, 0xfb, 0x00, 0xfd, 0xcf, 0x04, 0xe4, 0x7f, 0xd2, 0xe4, 0x89, 0xa3, 0x9f, 0x11, 0x87, 0x16,
+	0x72, 0x89, 0xeb, 0x63, 0x3e, 0x24, 0xd0, 0x13, 0x58, 0xad, 0xb4, 0x75, 0xc2, 0xe8, 0x88, 0xab,
+	0x28, 0xba, 0x35, 0xfe, 0x92, 0xca, 0xef, 0xea, 0x89, 0xe4, 0xa4, 0x5b, 0x2c, 0xba, 0x07, 0x8b,
+	0x65, 0xe6, 0x50, 0x62, 0x06, 0xca, 0x96, 0x87, 0x2e, 0x45, 0xb2, 0xf7, 0x99, 0x9e, 0x80, 0x7e,
+	0xa4, 0x9d, 0xc8, 0xfe, 0xa3, 0x77, 0x1e, 0x36, 0x0c, 0xd6, 0xec, 0x9c, 0xa4, 0x6b, 0xb6, 0x99,
+	0xb1, 0xdb, 0xd4, 0xaa, 0xd9, 0x8e, 0x9e, 0xf1, 0xef, 0x8d, 0xdb, 0x66, 0xaf, 0xfa, 0x6d, 0xc3,
+	0x62, 0xd4, 0xa9, 0x93, 0x1a, 0xcd, 0x9c, 0xee, 0x65, 0x1a, 0x76, 0x46, 0x37, 0x8d, 0x93, 0x59,
+	0x1e, 0x7a, 0xef, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x1b, 0x04, 0x13, 0x7a, 0x10, 0x00,
+	0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -1069,6 +1086,8 @@
 	// The default behavior of the device is to report all the supported events
 	// This configuration is persisted across reboots of the device or the device manager
 	UpdateEventsConfiguration(ctx context.Context, in *EventsConfigurationRequest, opts ...grpc.CallOption) (*EventsConfigurationResponse, error)
+	// Initiate the server streaming of the events
+	StreamEvents(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (NativeEventsManagementService_StreamEventsClient, error)
 }
 
 type nativeEventsManagementServiceClient struct {
@@ -1097,6 +1116,38 @@
 	return out, nil
 }
 
+func (c *nativeEventsManagementServiceClient) StreamEvents(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (NativeEventsManagementService_StreamEventsClient, error) {
+	stream, err := c.cc.NewStream(ctx, &_NativeEventsManagementService_serviceDesc.Streams[0], "/dmi.NativeEventsManagementService/StreamEvents", opts...)
+	if err != nil {
+		return nil, err
+	}
+	x := &nativeEventsManagementServiceStreamEventsClient{stream}
+	if err := x.ClientStream.SendMsg(in); err != nil {
+		return nil, err
+	}
+	if err := x.ClientStream.CloseSend(); err != nil {
+		return nil, err
+	}
+	return x, nil
+}
+
+type NativeEventsManagementService_StreamEventsClient interface {
+	Recv() (*Event, error)
+	grpc.ClientStream
+}
+
+type nativeEventsManagementServiceStreamEventsClient struct {
+	grpc.ClientStream
+}
+
+func (x *nativeEventsManagementServiceStreamEventsClient) Recv() (*Event, error) {
+	m := new(Event)
+	if err := x.ClientStream.RecvMsg(m); err != nil {
+		return nil, err
+	}
+	return m, nil
+}
+
 // NativeEventsManagementServiceServer is the server API for NativeEventsManagementService service.
 type NativeEventsManagementServiceServer interface {
 	// List the supported events for the passed device
@@ -1105,6 +1156,22 @@
 	// The default behavior of the device is to report all the supported events
 	// This configuration is persisted across reboots of the device or the device manager
 	UpdateEventsConfiguration(context.Context, *EventsConfigurationRequest) (*EventsConfigurationResponse, error)
+	// Initiate the server streaming of the events
+	StreamEvents(*empty.Empty, NativeEventsManagementService_StreamEventsServer) error
+}
+
+// UnimplementedNativeEventsManagementServiceServer can be embedded to have forward compatible implementations.
+type UnimplementedNativeEventsManagementServiceServer struct {
+}
+
+func (*UnimplementedNativeEventsManagementServiceServer) ListEvents(ctx context.Context, req *HardwareID) (*ListEventsResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListEvents not implemented")
+}
+func (*UnimplementedNativeEventsManagementServiceServer) UpdateEventsConfiguration(ctx context.Context, req *EventsConfigurationRequest) (*EventsConfigurationResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpdateEventsConfiguration not implemented")
+}
+func (*UnimplementedNativeEventsManagementServiceServer) StreamEvents(req *empty.Empty, srv NativeEventsManagementService_StreamEventsServer) error {
+	return status.Errorf(codes.Unimplemented, "method StreamEvents not implemented")
 }
 
 func RegisterNativeEventsManagementServiceServer(s *grpc.Server, srv NativeEventsManagementServiceServer) {
@@ -1147,6 +1214,27 @@
 	return interceptor(ctx, in, info, handler)
 }
 
+func _NativeEventsManagementService_StreamEvents_Handler(srv interface{}, stream grpc.ServerStream) error {
+	m := new(empty.Empty)
+	if err := stream.RecvMsg(m); err != nil {
+		return err
+	}
+	return srv.(NativeEventsManagementServiceServer).StreamEvents(m, &nativeEventsManagementServiceStreamEventsServer{stream})
+}
+
+type NativeEventsManagementService_StreamEventsServer interface {
+	Send(*Event) error
+	grpc.ServerStream
+}
+
+type nativeEventsManagementServiceStreamEventsServer struct {
+	grpc.ServerStream
+}
+
+func (x *nativeEventsManagementServiceStreamEventsServer) Send(m *Event) error {
+	return x.ServerStream.SendMsg(m)
+}
+
 var _NativeEventsManagementService_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "dmi.NativeEventsManagementService",
 	HandlerType: (*NativeEventsManagementServiceServer)(nil),
@@ -1160,6 +1248,12 @@
 			Handler:    _NativeEventsManagementService_UpdateEventsConfiguration_Handler,
 		},
 	},
-	Streams:  []grpc.StreamDesc{},
+	Streams: []grpc.StreamDesc{
+		{
+			StreamName:    "StreamEvents",
+			Handler:       _NativeEventsManagementService_StreamEvents_Handler,
+			ServerStreams: true,
+		},
+	},
 	Metadata: "dmi/hw_events_mgmt_service.proto",
 }
diff --git a/vendor/github.com/opencord/device-management-interface/go/dmi/hw_management_service.pb.go b/vendor/github.com/opencord/device-management-interface/go/dmi/hw_management_service.pb.go
index 18d6108..bd81132 100644
--- a/vendor/github.com/opencord/device-management-interface/go/dmi/hw_management_service.pb.go
+++ b/vendor/github.com/opencord/device-management-interface/go/dmi/hw_management_service.pb.go
@@ -9,6 +9,8 @@
 	proto "github.com/golang/protobuf/proto"
 	empty "github.com/golang/protobuf/ptypes/empty"
 	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
 	math "math"
 )
 
@@ -137,6 +139,12 @@
 	StartManagingDeviceResponse_OPERATION_ALREADY_IN_PROGRESS StartManagingDeviceResponse_Reason = 2
 	StartManagingDeviceResponse_INVALID_PARAMS                StartManagingDeviceResponse_Reason = 3
 	StartManagingDeviceResponse_INTERNAL_ERROR                StartManagingDeviceResponse_Reason = 4
+	// AUTHENTICATION_FAILURE is returned when the device management software/server is not able to connect to the underlying
+	// hardware because of authentication failures
+	StartManagingDeviceResponse_AUTHENTICATION_FAILURE StartManagingDeviceResponse_Reason = 5
+	// INCOMPATIBLE_DEVICE is returned when there is a mismatch between the device management software/server and the underlying
+	// hardware
+	StartManagingDeviceResponse_INCOMPATIBLE_DEVICE StartManagingDeviceResponse_Reason = 6
 )
 
 var StartManagingDeviceResponse_Reason_name = map[int32]string{
@@ -145,6 +153,8 @@
 	2: "OPERATION_ALREADY_IN_PROGRESS",
 	3: "INVALID_PARAMS",
 	4: "INTERNAL_ERROR",
+	5: "AUTHENTICATION_FAILURE",
+	6: "INCOMPATIBLE_DEVICE",
 }
 
 var StartManagingDeviceResponse_Reason_value = map[string]int32{
@@ -153,6 +163,8 @@
 	"OPERATION_ALREADY_IN_PROGRESS": 2,
 	"INVALID_PARAMS":                3,
 	"INTERNAL_ERROR":                4,
+	"AUTHENTICATION_FAILURE":        5,
+	"INCOMPATIBLE_DEVICE":           6,
 }
 
 func (x StartManagingDeviceResponse_Reason) String() string {
@@ -190,6 +202,31 @@
 	return fileDescriptor_eae902e73066286d, []int{8, 0}
 }
 
+type ManagedDevicesResponse_Reason int32
+
+const (
+	ManagedDevicesResponse_UNDEFINED_REASON ManagedDevicesResponse_Reason = 0
+	ManagedDevicesResponse_INTERNAL_ERROR   ManagedDevicesResponse_Reason = 1
+)
+
+var ManagedDevicesResponse_Reason_name = map[int32]string{
+	0: "UNDEFINED_REASON",
+	1: "INTERNAL_ERROR",
+}
+
+var ManagedDevicesResponse_Reason_value = map[string]int32{
+	"UNDEFINED_REASON": 0,
+	"INTERNAL_ERROR":   1,
+}
+
+func (x ManagedDevicesResponse_Reason) String() string {
+	return proto.EnumName(ManagedDevicesResponse_Reason_name, int32(x))
+}
+
+func (ManagedDevicesResponse_Reason) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_eae902e73066286d, []int{10, 0}
+}
+
 type SetRemoteEndpointResponse_Reason int32
 
 const (
@@ -227,7 +264,7 @@
 }
 
 func (SetRemoteEndpointResponse_Reason) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{11, 0}
+	return fileDescriptor_eae902e73066286d, []int{12, 0}
 }
 
 type GetLoggingEndpointResponse_Reason int32
@@ -258,7 +295,7 @@
 }
 
 func (GetLoggingEndpointResponse_Reason) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{12, 0}
+	return fileDescriptor_eae902e73066286d, []int{13, 0}
 }
 
 type GetMsgBusEndpointResponse_Reason int32
@@ -286,7 +323,7 @@
 }
 
 func (GetMsgBusEndpointResponse_Reason) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{14, 0}
+	return fileDescriptor_eae902e73066286d, []int{15, 0}
 }
 
 type SetLogLevelResponse_Reason int32
@@ -320,7 +357,7 @@
 }
 
 func (SetLogLevelResponse_Reason) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{17, 0}
+	return fileDescriptor_eae902e73066286d, []int{18, 0}
 }
 
 type GetLogLevelResponse_Reason int32
@@ -354,7 +391,38 @@
 }
 
 func (GetLogLevelResponse_Reason) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{19, 0}
+	return fileDescriptor_eae902e73066286d, []int{20, 0}
+}
+
+type RebootDeviceResponse_Reason int32
+
+const (
+	RebootDeviceResponse_UNDEFINED_REASON   RebootDeviceResponse_Reason = 0
+	RebootDeviceResponse_UNKNOWN_DEVICE     RebootDeviceResponse_Reason = 1
+	RebootDeviceResponse_INTERNAL_ERROR     RebootDeviceResponse_Reason = 2
+	RebootDeviceResponse_DEVICE_UNREACHABLE RebootDeviceResponse_Reason = 3
+)
+
+var RebootDeviceResponse_Reason_name = map[int32]string{
+	0: "UNDEFINED_REASON",
+	1: "UNKNOWN_DEVICE",
+	2: "INTERNAL_ERROR",
+	3: "DEVICE_UNREACHABLE",
+}
+
+var RebootDeviceResponse_Reason_value = map[string]int32{
+	"UNDEFINED_REASON":   0,
+	"UNKNOWN_DEVICE":     1,
+	"INTERNAL_ERROR":     2,
+	"DEVICE_UNREACHABLE": 3,
+}
+
+func (x RebootDeviceResponse_Reason) String() string {
+	return proto.EnumName(RebootDeviceResponse_Reason_name, int32(x))
+}
+
+func (RebootDeviceResponse_Reason) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_eae902e73066286d, []int{24, 0}
 }
 
 type PhysicalInventoryRequest struct {
@@ -855,18 +923,67 @@
 	return ""
 }
 
+type ManagedDeviceInfo struct {
+	Info                 *ModifiableComponent `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
+	DeviceUuid           *Uuid                `protobuf:"bytes,2,opt,name=device_uuid,json=deviceUuid,proto3" json:"device_uuid,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
+}
+
+func (m *ManagedDeviceInfo) Reset()         { *m = ManagedDeviceInfo{} }
+func (m *ManagedDeviceInfo) String() string { return proto.CompactTextString(m) }
+func (*ManagedDeviceInfo) ProtoMessage()    {}
+func (*ManagedDeviceInfo) Descriptor() ([]byte, []int) {
+	return fileDescriptor_eae902e73066286d, []int{9}
+}
+
+func (m *ManagedDeviceInfo) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ManagedDeviceInfo.Unmarshal(m, b)
+}
+func (m *ManagedDeviceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ManagedDeviceInfo.Marshal(b, m, deterministic)
+}
+func (m *ManagedDeviceInfo) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ManagedDeviceInfo.Merge(m, src)
+}
+func (m *ManagedDeviceInfo) XXX_Size() int {
+	return xxx_messageInfo_ManagedDeviceInfo.Size(m)
+}
+func (m *ManagedDeviceInfo) XXX_DiscardUnknown() {
+	xxx_messageInfo_ManagedDeviceInfo.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ManagedDeviceInfo proto.InternalMessageInfo
+
+func (m *ManagedDeviceInfo) GetInfo() *ModifiableComponent {
+	if m != nil {
+		return m.Info
+	}
+	return nil
+}
+
+func (m *ManagedDeviceInfo) GetDeviceUuid() *Uuid {
+	if m != nil {
+		return m.DeviceUuid
+	}
+	return nil
+}
+
 type ManagedDevicesResponse struct {
-	Devices              []*ModifiableComponent `protobuf:"bytes,1,rep,name=devices,proto3" json:"devices,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
-	XXX_unrecognized     []byte                 `json:"-"`
-	XXX_sizecache        int32                  `json:"-"`
+	Status               Status                        `protobuf:"varint,1,opt,name=status,proto3,enum=dmi.Status" json:"status,omitempty"`
+	Reason               ManagedDevicesResponse_Reason `protobuf:"varint,2,opt,name=reason,proto3,enum=dmi.ManagedDevicesResponse_Reason" json:"reason,omitempty"`
+	Devices              []*ManagedDeviceInfo          `protobuf:"bytes,3,rep,name=devices,proto3" json:"devices,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
+	XXX_unrecognized     []byte                        `json:"-"`
+	XXX_sizecache        int32                         `json:"-"`
 }
 
 func (m *ManagedDevicesResponse) Reset()         { *m = ManagedDevicesResponse{} }
 func (m *ManagedDevicesResponse) String() string { return proto.CompactTextString(m) }
 func (*ManagedDevicesResponse) ProtoMessage()    {}
 func (*ManagedDevicesResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{9}
+	return fileDescriptor_eae902e73066286d, []int{10}
 }
 
 func (m *ManagedDevicesResponse) XXX_Unmarshal(b []byte) error {
@@ -887,7 +1004,21 @@
 
 var xxx_messageInfo_ManagedDevicesResponse proto.InternalMessageInfo
 
-func (m *ManagedDevicesResponse) GetDevices() []*ModifiableComponent {
+func (m *ManagedDevicesResponse) GetStatus() Status {
+	if m != nil {
+		return m.Status
+	}
+	return Status_UNDEFINED_STATUS
+}
+
+func (m *ManagedDevicesResponse) GetReason() ManagedDevicesResponse_Reason {
+	if m != nil {
+		return m.Reason
+	}
+	return ManagedDevicesResponse_UNDEFINED_REASON
+}
+
+func (m *ManagedDevicesResponse) GetDevices() []*ManagedDeviceInfo {
 	if m != nil {
 		return m.Devices
 	}
@@ -907,7 +1038,7 @@
 func (m *SetLoggingEndpointRequest) String() string { return proto.CompactTextString(m) }
 func (*SetLoggingEndpointRequest) ProtoMessage()    {}
 func (*SetLoggingEndpointRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{10}
+	return fileDescriptor_eae902e73066286d, []int{11}
 }
 
 func (m *SetLoggingEndpointRequest) XXX_Unmarshal(b []byte) error {
@@ -962,7 +1093,7 @@
 func (m *SetRemoteEndpointResponse) String() string { return proto.CompactTextString(m) }
 func (*SetRemoteEndpointResponse) ProtoMessage()    {}
 func (*SetRemoteEndpointResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{11}
+	return fileDescriptor_eae902e73066286d, []int{12}
 }
 
 func (m *SetRemoteEndpointResponse) XXX_Unmarshal(b []byte) error {
@@ -1019,7 +1150,7 @@
 func (m *GetLoggingEndpointResponse) String() string { return proto.CompactTextString(m) }
 func (*GetLoggingEndpointResponse) ProtoMessage()    {}
 func (*GetLoggingEndpointResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{12}
+	return fileDescriptor_eae902e73066286d, []int{13}
 }
 
 func (m *GetLoggingEndpointResponse) XXX_Unmarshal(b []byte) error {
@@ -1086,7 +1217,7 @@
 func (m *SetMsgBusEndpointRequest) String() string { return proto.CompactTextString(m) }
 func (*SetMsgBusEndpointRequest) ProtoMessage()    {}
 func (*SetMsgBusEndpointRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{13}
+	return fileDescriptor_eae902e73066286d, []int{14}
 }
 
 func (m *SetMsgBusEndpointRequest) XXX_Unmarshal(b []byte) error {
@@ -1128,7 +1259,7 @@
 func (m *GetMsgBusEndpointResponse) String() string { return proto.CompactTextString(m) }
 func (*GetMsgBusEndpointResponse) ProtoMessage()    {}
 func (*GetMsgBusEndpointResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{14}
+	return fileDescriptor_eae902e73066286d, []int{15}
 }
 
 func (m *GetMsgBusEndpointResponse) XXX_Unmarshal(b []byte) error {
@@ -1189,7 +1320,7 @@
 func (m *EntitiesLogLevel) String() string { return proto.CompactTextString(m) }
 func (*EntitiesLogLevel) ProtoMessage()    {}
 func (*EntitiesLogLevel) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{15}
+	return fileDescriptor_eae902e73066286d, []int{16}
 }
 
 func (m *EntitiesLogLevel) XXX_Unmarshal(b []byte) error {
@@ -1236,7 +1367,7 @@
 func (m *SetLogLevelRequest) String() string { return proto.CompactTextString(m) }
 func (*SetLogLevelRequest) ProtoMessage()    {}
 func (*SetLogLevelRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{16}
+	return fileDescriptor_eae902e73066286d, []int{17}
 }
 
 func (m *SetLogLevelRequest) XXX_Unmarshal(b []byte) error {
@@ -1285,7 +1416,7 @@
 func (m *SetLogLevelResponse) String() string { return proto.CompactTextString(m) }
 func (*SetLogLevelResponse) ProtoMessage()    {}
 func (*SetLogLevelResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{17}
+	return fileDescriptor_eae902e73066286d, []int{18}
 }
 
 func (m *SetLogLevelResponse) XXX_Unmarshal(b []byte) error {
@@ -1346,7 +1477,7 @@
 func (m *GetLogLevelRequest) String() string { return proto.CompactTextString(m) }
 func (*GetLogLevelRequest) ProtoMessage()    {}
 func (*GetLogLevelRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{18}
+	return fileDescriptor_eae902e73066286d, []int{19}
 }
 
 func (m *GetLogLevelRequest) XXX_Unmarshal(b []byte) error {
@@ -1396,7 +1527,7 @@
 func (m *GetLogLevelResponse) String() string { return proto.CompactTextString(m) }
 func (*GetLogLevelResponse) ProtoMessage()    {}
 func (*GetLogLevelResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{19}
+	return fileDescriptor_eae902e73066286d, []int{20}
 }
 
 func (m *GetLogLevelResponse) XXX_Unmarshal(b []byte) error {
@@ -1463,7 +1594,7 @@
 func (m *GetLoggableEntitiesRequest) String() string { return proto.CompactTextString(m) }
 func (*GetLoggableEntitiesRequest) ProtoMessage()    {}
 func (*GetLoggableEntitiesRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{20}
+	return fileDescriptor_eae902e73066286d, []int{21}
 }
 
 func (m *GetLoggableEntitiesRequest) XXX_Unmarshal(b []byte) error {
@@ -1491,17 +1622,152 @@
 	return nil
 }
 
+type Heartbeat struct {
+	HeartbeatSignature   uint32   `protobuf:"fixed32,1,opt,name=heartbeat_signature,json=heartbeatSignature,proto3" json:"heartbeat_signature,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *Heartbeat) Reset()         { *m = Heartbeat{} }
+func (m *Heartbeat) String() string { return proto.CompactTextString(m) }
+func (*Heartbeat) ProtoMessage()    {}
+func (*Heartbeat) Descriptor() ([]byte, []int) {
+	return fileDescriptor_eae902e73066286d, []int{22}
+}
+
+func (m *Heartbeat) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Heartbeat.Unmarshal(m, b)
+}
+func (m *Heartbeat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Heartbeat.Marshal(b, m, deterministic)
+}
+func (m *Heartbeat) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Heartbeat.Merge(m, src)
+}
+func (m *Heartbeat) XXX_Size() int {
+	return xxx_messageInfo_Heartbeat.Size(m)
+}
+func (m *Heartbeat) XXX_DiscardUnknown() {
+	xxx_messageInfo_Heartbeat.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Heartbeat proto.InternalMessageInfo
+
+func (m *Heartbeat) GetHeartbeatSignature() uint32 {
+	if m != nil {
+		return m.HeartbeatSignature
+	}
+	return 0
+}
+
+type RebootDeviceRequest struct {
+	DeviceUuid           *Uuid    `protobuf:"bytes,1,opt,name=device_uuid,json=deviceUuid,proto3" json:"device_uuid,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *RebootDeviceRequest) Reset()         { *m = RebootDeviceRequest{} }
+func (m *RebootDeviceRequest) String() string { return proto.CompactTextString(m) }
+func (*RebootDeviceRequest) ProtoMessage()    {}
+func (*RebootDeviceRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_eae902e73066286d, []int{23}
+}
+
+func (m *RebootDeviceRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_RebootDeviceRequest.Unmarshal(m, b)
+}
+func (m *RebootDeviceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_RebootDeviceRequest.Marshal(b, m, deterministic)
+}
+func (m *RebootDeviceRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_RebootDeviceRequest.Merge(m, src)
+}
+func (m *RebootDeviceRequest) XXX_Size() int {
+	return xxx_messageInfo_RebootDeviceRequest.Size(m)
+}
+func (m *RebootDeviceRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_RebootDeviceRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RebootDeviceRequest proto.InternalMessageInfo
+
+func (m *RebootDeviceRequest) GetDeviceUuid() *Uuid {
+	if m != nil {
+		return m.DeviceUuid
+	}
+	return nil
+}
+
+type RebootDeviceResponse struct {
+	Status               Status                      `protobuf:"varint,3,opt,name=status,proto3,enum=dmi.Status" json:"status,omitempty"`
+	Reason               RebootDeviceResponse_Reason `protobuf:"varint,4,opt,name=reason,proto3,enum=dmi.RebootDeviceResponse_Reason" json:"reason,omitempty"`
+	ReasonDetail         string                      `protobuf:"bytes,5,opt,name=reason_detail,json=reasonDetail,proto3" json:"reason_detail,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
+	XXX_unrecognized     []byte                      `json:"-"`
+	XXX_sizecache        int32                       `json:"-"`
+}
+
+func (m *RebootDeviceResponse) Reset()         { *m = RebootDeviceResponse{} }
+func (m *RebootDeviceResponse) String() string { return proto.CompactTextString(m) }
+func (*RebootDeviceResponse) ProtoMessage()    {}
+func (*RebootDeviceResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_eae902e73066286d, []int{24}
+}
+
+func (m *RebootDeviceResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_RebootDeviceResponse.Unmarshal(m, b)
+}
+func (m *RebootDeviceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_RebootDeviceResponse.Marshal(b, m, deterministic)
+}
+func (m *RebootDeviceResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_RebootDeviceResponse.Merge(m, src)
+}
+func (m *RebootDeviceResponse) XXX_Size() int {
+	return xxx_messageInfo_RebootDeviceResponse.Size(m)
+}
+func (m *RebootDeviceResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_RebootDeviceResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RebootDeviceResponse proto.InternalMessageInfo
+
+func (m *RebootDeviceResponse) GetStatus() Status {
+	if m != nil {
+		return m.Status
+	}
+	return Status_UNDEFINED_STATUS
+}
+
+func (m *RebootDeviceResponse) GetReason() RebootDeviceResponse_Reason {
+	if m != nil {
+		return m.Reason
+	}
+	return RebootDeviceResponse_UNDEFINED_REASON
+}
+
+func (m *RebootDeviceResponse) GetReasonDetail() string {
+	if m != nil {
+		return m.ReasonDetail
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterEnum("dmi.PhysicalInventoryResponse_Reason", PhysicalInventoryResponse_Reason_name, PhysicalInventoryResponse_Reason_value)
 	proto.RegisterEnum("dmi.HWComponentInfoGetResponse_Reason", HWComponentInfoGetResponse_Reason_name, HWComponentInfoGetResponse_Reason_value)
 	proto.RegisterEnum("dmi.HWComponentInfoSetResponse_Reason", HWComponentInfoSetResponse_Reason_name, HWComponentInfoSetResponse_Reason_value)
 	proto.RegisterEnum("dmi.StartManagingDeviceResponse_Reason", StartManagingDeviceResponse_Reason_name, StartManagingDeviceResponse_Reason_value)
 	proto.RegisterEnum("dmi.StopManagingDeviceResponse_Reason", StopManagingDeviceResponse_Reason_name, StopManagingDeviceResponse_Reason_value)
+	proto.RegisterEnum("dmi.ManagedDevicesResponse_Reason", ManagedDevicesResponse_Reason_name, ManagedDevicesResponse_Reason_value)
 	proto.RegisterEnum("dmi.SetRemoteEndpointResponse_Reason", SetRemoteEndpointResponse_Reason_name, SetRemoteEndpointResponse_Reason_value)
 	proto.RegisterEnum("dmi.GetLoggingEndpointResponse_Reason", GetLoggingEndpointResponse_Reason_name, GetLoggingEndpointResponse_Reason_value)
 	proto.RegisterEnum("dmi.GetMsgBusEndpointResponse_Reason", GetMsgBusEndpointResponse_Reason_name, GetMsgBusEndpointResponse_Reason_value)
 	proto.RegisterEnum("dmi.SetLogLevelResponse_Reason", SetLogLevelResponse_Reason_name, SetLogLevelResponse_Reason_value)
 	proto.RegisterEnum("dmi.GetLogLevelResponse_Reason", GetLogLevelResponse_Reason_name, GetLogLevelResponse_Reason_value)
+	proto.RegisterEnum("dmi.RebootDeviceResponse_Reason", RebootDeviceResponse_Reason_name, RebootDeviceResponse_Reason_value)
 	proto.RegisterType((*PhysicalInventoryRequest)(nil), "dmi.PhysicalInventoryRequest")
 	proto.RegisterType((*PhysicalInventoryResponse)(nil), "dmi.PhysicalInventoryResponse")
 	proto.RegisterType((*HWComponentInfoGetRequest)(nil), "dmi.HWComponentInfoGetRequest")
@@ -1511,6 +1777,7 @@
 	proto.RegisterType((*StartManagingDeviceResponse)(nil), "dmi.StartManagingDeviceResponse")
 	proto.RegisterType((*StopManagingDeviceRequest)(nil), "dmi.StopManagingDeviceRequest")
 	proto.RegisterType((*StopManagingDeviceResponse)(nil), "dmi.StopManagingDeviceResponse")
+	proto.RegisterType((*ManagedDeviceInfo)(nil), "dmi.ManagedDeviceInfo")
 	proto.RegisterType((*ManagedDevicesResponse)(nil), "dmi.ManagedDevicesResponse")
 	proto.RegisterType((*SetLoggingEndpointRequest)(nil), "dmi.SetLoggingEndpointRequest")
 	proto.RegisterType((*SetRemoteEndpointResponse)(nil), "dmi.SetRemoteEndpointResponse")
@@ -1523,99 +1790,114 @@
 	proto.RegisterType((*GetLogLevelRequest)(nil), "dmi.GetLogLevelRequest")
 	proto.RegisterType((*GetLogLevelResponse)(nil), "dmi.GetLogLevelResponse")
 	proto.RegisterType((*GetLoggableEntitiesRequest)(nil), "dmi.GetLoggableEntitiesRequest")
+	proto.RegisterType((*Heartbeat)(nil), "dmi.Heartbeat")
+	proto.RegisterType((*RebootDeviceRequest)(nil), "dmi.RebootDeviceRequest")
+	proto.RegisterType((*RebootDeviceResponse)(nil), "dmi.RebootDeviceResponse")
 }
 
 func init() { proto.RegisterFile("dmi/hw_management_service.proto", fileDescriptor_eae902e73066286d) }
 
 var fileDescriptor_eae902e73066286d = []byte{
-	// 1380 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xdd, 0x72, 0xdb, 0x44,
-	0x14, 0x46, 0x52, 0x92, 0xd6, 0x27, 0x6d, 0xea, 0x6c, 0xdb, 0xe0, 0xa8, 0xd3, 0x24, 0xa8, 0x53,
-	0xda, 0x02, 0xb5, 0x3b, 0xee, 0x05, 0xc3, 0x30, 0xfc, 0x38, 0xb1, 0xaa, 0x98, 0xda, 0x92, 0x67,
-	0xe5, 0x34, 0x53, 0x86, 0x41, 0xa3, 0x58, 0x1b, 0x47, 0x33, 0x96, 0x64, 0x2c, 0xd9, 0x9d, 0x3c,
-	0x00, 0x17, 0x3c, 0x02, 0x17, 0xcc, 0xf0, 0x06, 0x0c, 0x5c, 0x32, 0xbc, 0x01, 0xb7, 0x5c, 0x31,
-	0xdc, 0xf0, 0x08, 0xbc, 0x01, 0xe3, 0x5d, 0xc9, 0x3f, 0xb2, 0x64, 0x3b, 0x4e, 0x19, 0x7a, 0x67,
-	0xef, 0x7e, 0xfb, 0xe9, 0xec, 0xf9, 0xbe, 0x3d, 0x3a, 0x5a, 0xd8, 0xb5, 0x1c, 0xbb, 0x70, 0xf6,
-	0xca, 0x70, 0x4c, 0xd7, 0x6c, 0x11, 0x87, 0xb8, 0x81, 0xe1, 0x93, 0x6e, 0xdf, 0x6e, 0x92, 0x7c,
-	0xa7, 0xeb, 0x05, 0x1e, 0x12, 0x2c, 0xc7, 0x16, 0x37, 0x07, 0xa8, 0xa6, 0xe7, 0x38, 0x9e, 0xeb,
-	0xb3, 0x71, 0xf1, 0x1a, 0x5b, 0x18, 0xfe, 0xbb, 0xd3, 0xf2, 0xbc, 0x56, 0x9b, 0x14, 0xe8, 0xbf,
-	0x93, 0xde, 0x69, 0x81, 0x38, 0x9d, 0xe0, 0x9c, 0x4d, 0x4a, 0xcf, 0x20, 0x57, 0x3f, 0x3b, 0xf7,
-	0xed, 0xa6, 0xd9, 0xae, 0xb8, 0x7d, 0xe2, 0x06, 0x5e, 0xf7, 0x1c, 0x93, 0x6f, 0x7a, 0xc4, 0x0f,
-	0xd0, 0x7b, 0xb0, 0x6e, 0x91, 0xc1, 0xe3, 0x8c, 0x5e, 0xcf, 0xb6, 0x72, 0xdc, 0x1e, 0xf7, 0x70,
-	0xbd, 0x98, 0xc9, 0x5b, 0x8e, 0x9d, 0x3f, 0xea, 0xd9, 0x16, 0x06, 0x36, 0x3b, 0xf8, 0x2d, 0xfd,
-	0xcc, 0xc3, 0x76, 0x02, 0x91, 0xdf, 0xf1, 0x5c, 0x9f, 0xa0, 0x7b, 0xb0, 0xe6, 0x07, 0x66, 0xd0,
-	0xf3, 0x29, 0xc9, 0x46, 0x71, 0x9d, 0x92, 0xe8, 0x74, 0x08, 0x87, 0x53, 0xe8, 0x13, 0x58, 0xeb,
-	0x12, 0xd3, 0xf7, 0xdc, 0x1c, 0x4f, 0x41, 0xf7, 0x29, 0x28, 0x95, 0x34, 0x8f, 0x29, 0x18, 0x87,
-	0x8b, 0xd0, 0xfb, 0x90, 0xb1, 0x23, 0x4c, 0x4e, 0xa0, 0xb1, 0x5e, 0xa7, 0x0c, 0x87, 0x66, 0xd7,
-	0x7a, 0x65, 0x76, 0x09, 0x1e, 0xcd, 0xa3, 0x7b, 0x70, 0x9d, 0x2d, 0x33, 0x2c, 0x12, 0x98, 0x76,
-	0x3b, 0xb7, 0xb2, 0xc7, 0x3d, 0xcc, 0xe0, 0x6b, 0x6c, 0xb0, 0x4c, 0xc7, 0xa4, 0xaf, 0x61, 0x8d,
-	0x3d, 0x03, 0xdd, 0x82, 0xec, 0x91, 0x5a, 0x96, 0x9f, 0x55, 0x54, 0xb9, 0x6c, 0x60, 0xb9, 0xa4,
-	0x6b, 0x6a, 0xf6, 0x2d, 0x84, 0x60, 0xe3, 0x48, 0x7d, 0xae, 0x6a, 0xc7, 0xaa, 0x51, 0x96, 0x5f,
-	0x54, 0x0e, 0xe4, 0x2c, 0x37, 0x18, 0xab, 0xa8, 0x0d, 0x19, 0xab, 0xa5, 0xaa, 0x21, 0x63, 0xac,
-	0xe1, 0x2c, 0x8f, 0xb6, 0x00, 0xb1, 0x79, 0xe3, 0x48, 0xc5, 0x72, 0xe9, 0xe0, 0xb0, 0xb4, 0x5f,
-	0x95, 0xb3, 0x82, 0xf4, 0x23, 0x07, 0xdb, 0x87, 0xc7, 0x07, 0x9e, 0xd3, 0xf1, 0x5c, 0xe2, 0x06,
-	0x15, 0xf7, 0xd4, 0x53, 0x48, 0xb0, 0x44, 0xf6, 0xd1, 0x13, 0xd8, 0x68, 0x46, 0x34, 0x0c, 0xce,
-	0xc7, 0xe1, 0xd7, 0x87, 0x00, 0xba, 0xe2, 0xfe, 0xf8, 0x0a, 0xd7, 0x74, 0x08, 0x4d, 0x59, 0x66,
-	0x0c, 0xa6, 0x9a, 0x0e, 0x91, 0x7e, 0xe7, 0x41, 0x4c, 0x0a, 0xf1, 0x22, 0xba, 0x7e, 0x1a, 0xd3,
-	0xf5, 0x5d, 0xa6, 0x4a, 0x2a, 0x6b, 0x5c, 0xd8, 0x0f, 0x20, 0x33, 0x0c, 0x2a, 0x14, 0x76, 0x83,
-	0x52, 0x0c, 0x09, 0xf0, 0x08, 0xb0, 0x98, 0xb2, 0xbd, 0x25, 0x94, 0xbd, 0x0d, 0x9b, 0xd1, 0xd8,
-	0x81, 0x56, 0xab, 0x6b, 0xaa, 0xac, 0x36, 0xb2, 0x7c, 0x82, 0xe0, 0x42, 0x8a, 0xe0, 0x2b, 0xd2,
-	0x1f, 0xd3, 0x82, 0xeb, 0x6f, 0x96, 0xe0, 0xa8, 0x08, 0x57, 0x9a, 0x67, 0xa6, 0xdb, 0x22, 0x3e,
-	0x4d, 0xdc, 0x7a, 0x31, 0x47, 0x19, 0x6b, 0x9e, 0x65, 0x9f, 0xda, 0xe6, 0x49, 0x9b, 0x8c, 0x92,
-	0x1e, 0x01, 0xa5, 0x5f, 0xa6, 0x4d, 0xa2, 0xff, 0x27, 0x26, 0xd1, 0xd3, 0x4d, 0x32, 0x25, 0xbb,
-	0x90, 0x20, 0xfb, 0x77, 0xdc, 0x6b, 0xd6, 0xfd, 0x45, 0xa9, 0x5a, 0x29, 0x1b, 0xf5, 0x12, 0x2e,
-	0xd5, 0xf4, 0xac, 0x90, 0xe0, 0x85, 0x95, 0x14, 0x2f, 0xac, 0x4a, 0x7f, 0xf1, 0x70, 0x47, 0x0f,
-	0xcc, 0x6e, 0x50, 0x1b, 0x54, 0x77, 0xdb, 0x6d, 0x95, 0xa9, 0xba, 0x17, 0xcb, 0xda, 0x67, 0xb1,
-	0xac, 0x3d, 0x88, 0x40, 0x69, 0xb4, 0xf1, 0xb4, 0xc5, 0x3c, 0x27, 0xcc, 0xf2, 0xdc, 0x42, 0x27,
-	0xeb, 0xdb, 0x79, 0x29, 0x16, 0x61, 0x2b, 0xcc, 0x47, 0xa9, 0x8a, 0xe5, 0x52, 0xf9, 0xa5, 0x51,
-	0x2b, 0xa9, 0x25, 0x45, 0x2e, 0x67, 0x39, 0xf4, 0x0e, 0xdc, 0xd5, 0xea, 0x32, 0x2e, 0x35, 0x2a,
-	0x9a, 0x3a, 0x9c, 0xae, 0xa8, 0x46, 0x1d, 0x6b, 0x0a, 0x96, 0x75, 0x7d, 0xf1, 0xb4, 0x4b, 0x05,
-	0xd8, 0xd6, 0x03, 0xaf, 0x13, 0xcf, 0x02, 0x3b, 0x69, 0x08, 0x56, 0xe8, 0x09, 0xe0, 0xe8, 0x06,
-	0xe8, 0x6f, 0xe9, 0x4f, 0x0e, 0xc4, 0xa4, 0x15, 0x97, 0x37, 0x71, 0x3a, 0xeb, 0x52, 0x26, 0x2e,
-	0x5e, 0xdc, 0xc3, 0x52, 0x15, 0xb6, 0x68, 0x04, 0xc4, 0x62, 0x01, 0xf8, 0xc3, 0x7d, 0x15, 0xe1,
-	0x0a, 0x93, 0x78, 0xb0, 0x31, 0x61, 0xf6, 0x79, 0x0f, 0x81, 0xd2, 0x0f, 0x1c, 0x6c, 0xeb, 0x24,
-	0xa8, 0x7a, 0xad, 0xc1, 0x96, 0x64, 0xd7, 0xea, 0x78, 0xb6, 0xbb, 0x54, 0x19, 0x7b, 0x04, 0xd9,
-	0x36, 0x63, 0x31, 0x48, 0x48, 0x43, 0x53, 0x97, 0xc1, 0x37, 0xda, 0x93, 0xec, 0xe3, 0x50, 0xda,
-	0xb9, 0x34, 0xbd, 0x28, 0x3d, 0x11, 0xb4, 0x1e, 0x0e, 0x4b, 0x7f, 0xf3, 0x34, 0x3e, 0x4c, 0x1c,
-	0x2f, 0x20, 0xa3, 0xf0, 0x2e, 0xdf, 0x8b, 0xa4, 0x92, 0x2e, 0x25, 0xe4, 0xaf, 0xdc, 0x6b, 0xea,
-	0x2f, 0x44, 0xd8, 0xaa, 0x6a, 0x8a, 0x52, 0x51, 0x15, 0x43, 0x56, 0xcb, 0x75, 0xad, 0xa2, 0x36,
-	0x86, 0xaf, 0xa2, 0x7b, 0xb0, 0x3b, 0x35, 0x57, 0xc7, 0x5a, 0x43, 0x3b, 0xd0, 0x46, 0x35, 0x6a,
-	0x1b, 0x6e, 0xd7, 0x74, 0x65, 0xff, 0x48, 0x8f, 0xaf, 0x5f, 0x4d, 0x29, 0x5f, 0x6b, 0x83, 0xf2,
-	0x25, 0x2a, 0x09, 0x1e, 0xb8, 0xfc, 0x71, 0x49, 0x67, 0x8d, 0x67, 0x39, 0xc9, 0x3d, 0xc2, 0xe2,
-	0xee, 0x59, 0x49, 0x74, 0xcf, 0xb4, 0x76, 0xab, 0xff, 0x43, 0x6b, 0x78, 0x00, 0x39, 0x9d, 0x04,
-	0x35, 0xbf, 0xb5, 0xdf, 0xf3, 0xe3, 0x07, 0xec, 0x01, 0xdc, 0x70, 0xfc, 0xd6, 0x49, 0xcf, 0x1f,
-	0xed, 0x9a, 0x15, 0xb2, 0x0d, 0x36, 0x1c, 0xe1, 0xa5, 0xef, 0x79, 0xd8, 0x56, 0xa6, 0x59, 0x2e,
-	0x7f, 0x0e, 0x52, 0x49, 0xe3, 0x0a, 0x25, 0x84, 0x2a, 0x24, 0x85, 0xba, 0xd8, 0xbb, 0xe5, 0x8b,
-	0xf9, 0x49, 0x8f, 0x25, 0x98, 0x4b, 0x49, 0x30, 0x2f, 0xbd, 0x84, 0xac, 0xec, 0x06, 0x76, 0x60,
-	0x13, 0xbf, 0xea, 0xb5, 0xaa, 0xa4, 0x4f, 0xda, 0xe8, 0x11, 0x5c, 0x6d, 0x87, 0xbf, 0xc3, 0x9c,
-	0xb0, 0x0f, 0x88, 0x08, 0x80, 0x87, 0xd3, 0x48, 0x84, 0xab, 0x24, 0x5c, 0x9e, 0xe3, 0xf7, 0x84,
-	0x87, 0x19, 0x3c, 0xfc, 0x2f, 0xf5, 0x00, 0xb1, 0xea, 0xc8, 0x16, 0x2d, 0x51, 0x16, 0x9f, 0x42,
-	0xa6, 0x3d, 0xf8, 0x64, 0xeb, 0x93, 0x36, 0xa3, 0x5f, 0x2f, 0xde, 0xa6, 0xc8, 0x78, 0xc8, 0x78,
-	0x84, 0x93, 0x7e, 0xe3, 0xe1, 0xe6, 0xc4, 0x73, 0x43, 0x9d, 0x2f, 0xf2, 0xe0, 0x91, 0x27, 0xf8,
-	0x74, 0x4f, 0x7c, 0x38, 0xf4, 0x84, 0x40, 0x41, 0xbb, 0x51, 0x6d, 0x8c, 0x3f, 0x7a, 0x6e, 0x55,
-	0x4c, 0x12, 0xb9, 0xff, 0xfa, 0x4e, 0x56, 0x84, 0xab, 0x6a, 0x83, 0xe2, 0xd7, 0xa8, 0x34, 0x5e,
-	0xce, 0xe8, 0xcd, 0xbf, 0x02, 0xa4, 0x5c, 0x4e, 0xb5, 0x59, 0x9e, 0xf8, 0x87, 0x87, 0x9b, 0xca,
-	0x25, 0xc5, 0x61, 0xae, 0xa8, 0x2e, 0xe8, 0x0a, 0x86, 0x1b, 0x53, 0x54, 0x58, 0x44, 0xd1, 0x95,
-	0x31, 0x45, 0x95, 0x25, 0x14, 0x5d, 0x7d, 0x83, 0x14, 0x3d, 0x1c, 0xbe, 0xa1, 0x06, 0x7d, 0x4c,
-	0x94, 0xa4, 0x25, 0x94, 0x2d, 0xfe, 0x74, 0x15, 0xb6, 0x55, 0x33, 0xb0, 0xfb, 0xe4, 0xf0, 0xb8,
-	0x36, 0xbc, 0x8c, 0xd1, 0xd9, 0x5d, 0x0c, 0xd2, 0xe1, 0x66, 0x42, 0xc7, 0x8d, 0x52, 0x1b, 0x29,
-	0x71, 0x6f, 0x5e, 0x97, 0xfe, 0x84, 0x43, 0x47, 0x80, 0xa6, 0xfb, 0x46, 0xb4, 0x93, 0xda, 0x50,
-	0xd2, 0x4d, 0x89, 0xbb, 0x73, 0x1a, 0x4e, 0x74, 0x08, 0x9b, 0x83, 0xe2, 0x3d, 0xd1, 0x0b, 0xa2,
-	0xad, 0x3c, 0xbb, 0x21, 0xca, 0x47, 0x37, 0x44, 0x79, 0xd9, 0xe9, 0x04, 0xe7, 0xe2, 0x1d, 0xb6,
-	0x83, 0xe4, 0xc6, 0xf1, 0x18, 0x6e, 0x29, 0x24, 0x98, 0xba, 0x9d, 0x41, 0x77, 0xd3, 0x6e, 0x6d,
-	0x58, 0x84, 0x3b, 0xb3, 0x2f, 0x75, 0x9e, 0x70, 0xe8, 0x98, 0x1e, 0xc4, 0xd8, 0x97, 0x5f, 0xb8,
-	0xf3, 0xd4, 0xdb, 0x92, 0x70, 0xe7, 0xe9, 0x97, 0x0a, 0x61, 0x4a, 0x17, 0x24, 0xd6, 0xe7, 0x10,
-	0x8f, 0x7f, 0xde, 0x36, 0xa2, 0x72, 0x3f, 0xd1, 0x70, 0xec, 0x8c, 0x15, 0xc5, 0x84, 0x2e, 0x59,
-	0xdc, 0x99, 0xdd, 0x50, 0xa2, 0x67, 0x51, 0x39, 0x9a, 0x60, 0xbd, 0x31, 0x71, 0xa1, 0x55, 0x29,
-	0x8b, 0xbb, 0x73, 0x5a, 0x26, 0x84, 0x61, 0x73, 0xaa, 0x91, 0x08, 0x35, 0x4a, 0x6b, 0x30, 0xe6,
-	0xc6, 0xf6, 0x9c, 0x99, 0x68, 0x92, 0x33, 0xcd, 0x44, 0x3b, 0xb3, 0x3b, 0x06, 0x54, 0x8f, 0x0a,
-	0xe3, 0xc4, 0x29, 0x45, 0x13, 0x1b, 0x4b, 0x38, 0xbf, 0x62, 0x2e, 0xad, 0x46, 0xa1, 0xcf, 0x61,
-	0x7d, 0xec, 0x65, 0x84, 0xde, 0x9e, 0x7e, 0x3d, 0x8d, 0x33, 0xe8, 0xc9, 0x0c, 0xca, 0x14, 0x83,
-	0x92, 0xc6, 0x90, 0x10, 0xc3, 0xfe, 0xc7, 0x5f, 0x7e, 0xd4, 0xb2, 0x83, 0xb3, 0xde, 0x49, 0xbe,
-	0xe9, 0x39, 0x05, 0xaf, 0x43, 0xdc, 0xa6, 0xd7, 0xb5, 0x0a, 0xac, 0xa6, 0x3c, 0x1e, 0x5d, 0xe8,
-	0x3e, 0xb6, 0xdd, 0x80, 0x74, 0x4f, 0xcd, 0x26, 0x29, 0xf4, 0x9f, 0x16, 0x5a, 0x5e, 0xc1, 0x72,
-	0xec, 0x93, 0x35, 0x9a, 0xc2, 0xa7, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xbf, 0x86, 0x1b, 0xa1,
-	0x00, 0x16, 0x00, 0x00,
+	// 1571 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x6e, 0xdb, 0xc6,
+	0x16, 0xbe, 0x94, 0x6c, 0x27, 0x3a, 0x4e, 0x1c, 0x79, 0x9c, 0x38, 0x12, 0x83, 0xd8, 0xbe, 0x0c,
+	0x72, 0xe3, 0xdc, 0x9b, 0x48, 0x86, 0xb2, 0xb8, 0xb9, 0xff, 0x97, 0x96, 0x68, 0x8a, 0x8d, 0x44,
+	0x09, 0x43, 0x29, 0x46, 0x8a, 0xa2, 0x02, 0x2d, 0x8d, 0x65, 0xa2, 0x22, 0xa9, 0x8a, 0x94, 0x03,
+	0x3f, 0x42, 0x97, 0x5d, 0x76, 0x51, 0xa0, 0x4f, 0x50, 0xa0, 0x5d, 0x06, 0x7d, 0x83, 0x6e, 0xbb,
+	0x2a, 0x0a, 0x14, 0x7d, 0x84, 0x6e, 0xbb, 0x2a, 0x34, 0x43, 0xea, 0x87, 0x22, 0x65, 0x49, 0x4e,
+	0xd0, 0xec, 0xc4, 0x99, 0x33, 0x1f, 0x0f, 0xcf, 0xf7, 0xcd, 0x99, 0x33, 0x47, 0xb0, 0xdb, 0x32,
+	0x8d, 0xec, 0xd9, 0xeb, 0x86, 0xa9, 0x5b, 0x7a, 0x9b, 0x98, 0xc4, 0x72, 0x1b, 0x0e, 0xe9, 0x9d,
+	0x1b, 0x4d, 0x92, 0xe9, 0xf6, 0x6c, 0xd7, 0x46, 0xf1, 0x96, 0x69, 0xf0, 0x9b, 0x03, 0xab, 0xa6,
+	0x6d, 0x9a, 0xb6, 0xe5, 0xb0, 0x71, 0xfe, 0x06, 0x5b, 0xe8, 0x3d, 0xdd, 0x6b, 0xdb, 0x76, 0xbb,
+	0x43, 0xb2, 0xf4, 0xe9, 0xa4, 0x7f, 0x9a, 0x25, 0x66, 0xd7, 0xbd, 0x60, 0x93, 0xc2, 0x11, 0xa4,
+	0xaa, 0x67, 0x17, 0x8e, 0xd1, 0xd4, 0x3b, 0x8a, 0x75, 0x4e, 0x2c, 0xd7, 0xee, 0x5d, 0x60, 0xf2,
+	0x69, 0x9f, 0x38, 0x2e, 0xfa, 0x2b, 0xac, 0xb7, 0xc8, 0xe0, 0x75, 0x8d, 0x7e, 0xdf, 0x68, 0xa5,
+	0xb8, 0x3d, 0x6e, 0x7f, 0x3d, 0x97, 0xc8, 0xb4, 0x4c, 0x23, 0x53, 0xef, 0x1b, 0x2d, 0x0c, 0x6c,
+	0x76, 0xf0, 0x5b, 0xf8, 0x26, 0x06, 0xe9, 0x10, 0x20, 0xa7, 0x6b, 0x5b, 0x0e, 0x41, 0x0f, 0x60,
+	0xcd, 0x71, 0x75, 0xb7, 0xef, 0x50, 0x90, 0x8d, 0xdc, 0x3a, 0x05, 0xd1, 0xe8, 0x10, 0xf6, 0xa6,
+	0xd0, 0x7f, 0x60, 0xad, 0x47, 0x74, 0xc7, 0xb6, 0x52, 0x31, 0x6a, 0xf4, 0x90, 0x1a, 0x45, 0x82,
+	0x66, 0x30, 0x35, 0xc6, 0xde, 0x22, 0xf4, 0x37, 0x48, 0x18, 0xbe, 0x4d, 0x2a, 0x4e, 0x7d, 0xbd,
+	0x49, 0x11, 0x8a, 0x7a, 0xaf, 0xf5, 0x5a, 0xef, 0x11, 0x3c, 0x9a, 0x47, 0x0f, 0xe0, 0x26, 0x5b,
+	0xd6, 0x68, 0x11, 0x57, 0x37, 0x3a, 0xa9, 0x95, 0x3d, 0x6e, 0x3f, 0x81, 0x6f, 0xb0, 0xc1, 0x02,
+	0x1d, 0x13, 0x3e, 0x86, 0x35, 0xf6, 0x0e, 0x74, 0x1b, 0x92, 0x75, 0xb5, 0x20, 0x1d, 0x29, 0xaa,
+	0x54, 0x68, 0x60, 0x49, 0xd4, 0x2a, 0x6a, 0xf2, 0x4f, 0x08, 0xc1, 0x46, 0x5d, 0x7d, 0xa1, 0x56,
+	0x8e, 0xd5, 0x46, 0x41, 0x7a, 0xa9, 0xe4, 0xa5, 0x24, 0x37, 0x18, 0x53, 0xd4, 0x9a, 0x84, 0x55,
+	0xb1, 0xd4, 0x90, 0x30, 0xae, 0xe0, 0x64, 0x0c, 0x6d, 0x03, 0x62, 0xf3, 0x8d, 0xba, 0x8a, 0x25,
+	0x31, 0x5f, 0x14, 0x0f, 0x4b, 0x52, 0x32, 0x2e, 0x7c, 0xc5, 0x41, 0xba, 0x78, 0x9c, 0xb7, 0xcd,
+	0xae, 0x6d, 0x11, 0xcb, 0x55, 0xac, 0x53, 0x5b, 0x26, 0xee, 0x12, 0xd1, 0x47, 0x07, 0xb0, 0xd1,
+	0xf4, 0x61, 0x98, 0x79, 0x2c, 0x68, 0x7e, 0x73, 0x68, 0x40, 0x57, 0x3c, 0x1c, 0x5f, 0x61, 0xe9,
+	0x26, 0xa1, 0x21, 0x4b, 0x8c, 0x99, 0xa9, 0xba, 0x49, 0x84, 0xef, 0x63, 0xc0, 0x87, 0xb9, 0xb8,
+	0x08, 0xaf, 0xff, 0x0d, 0xf0, 0xfa, 0x17, 0xc6, 0x4a, 0x24, 0x6a, 0x90, 0xd8, 0x27, 0x90, 0x18,
+	0x3a, 0xe5, 0x11, 0xbb, 0x41, 0x21, 0x86, 0x00, 0x78, 0x64, 0x30, 0x1f, 0xb3, 0xfd, 0x25, 0x98,
+	0xbd, 0x03, 0x9b, 0xfe, 0x58, 0xbe, 0x52, 0xae, 0x56, 0x54, 0x49, 0xad, 0x25, 0x63, 0x21, 0x84,
+	0xc7, 0x23, 0x08, 0x5f, 0x11, 0x7e, 0x98, 0x26, 0x5c, 0x7b, 0xbf, 0x08, 0x47, 0x39, 0xb8, 0xd6,
+	0x3c, 0xd3, 0xad, 0x36, 0x71, 0x68, 0xe0, 0xd6, 0x73, 0x29, 0x8a, 0x58, 0xb6, 0x5b, 0xc6, 0xa9,
+	0xa1, 0x9f, 0x74, 0xc8, 0x28, 0xe8, 0xbe, 0xa1, 0xf0, 0xed, 0xb4, 0x48, 0xb4, 0x77, 0x22, 0x12,
+	0x2d, 0x5a, 0x24, 0x53, 0xb4, 0xc7, 0x43, 0x68, 0xff, 0x8c, 0x7b, 0xcb, 0xbc, 0xbf, 0x14, 0x4b,
+	0x4a, 0xa1, 0x51, 0x15, 0xb1, 0x58, 0xd6, 0x92, 0xf1, 0x10, 0x2d, 0xac, 0x44, 0x68, 0x61, 0x55,
+	0xf8, 0x3c, 0x0e, 0xf7, 0x34, 0x57, 0xef, 0xb9, 0xe5, 0x41, 0x76, 0x37, 0xac, 0x76, 0x81, 0xb2,
+	0xbb, 0x58, 0xd4, 0xfe, 0x17, 0x88, 0xda, 0x23, 0xdf, 0x28, 0x0a, 0x36, 0x18, 0xb6, 0x80, 0xe6,
+	0xe2, 0xb3, 0x34, 0x37, 0xd7, 0xce, 0x7a, 0x73, 0x59, 0x88, 0x79, 0xd8, 0xf6, 0xe2, 0x21, 0x96,
+	0xb0, 0x24, 0x16, 0x5e, 0x35, 0xca, 0xa2, 0x2a, 0xca, 0x52, 0x21, 0xc9, 0xa1, 0x3f, 0xc3, 0xfd,
+	0x4a, 0x55, 0xc2, 0x62, 0x4d, 0xa9, 0xa8, 0xc3, 0x69, 0x45, 0x6d, 0x54, 0x71, 0x45, 0xc6, 0x92,
+	0xa6, 0x2d, 0x10, 0x76, 0x1e, 0xb6, 0xc5, 0x7a, 0xad, 0x28, 0xa9, 0x35, 0x25, 0xcf, 0xf0, 0x8e,
+	0x44, 0xa5, 0x54, 0xc7, 0x52, 0x72, 0x15, 0xdd, 0x85, 0x2d, 0x45, 0x1d, 0x70, 0x29, 0xd6, 0x94,
+	0xc3, 0x92, 0xe4, 0x53, 0xbd, 0x26, 0x64, 0x21, 0xad, 0xb9, 0x76, 0x37, 0x18, 0x3a, 0xb6, 0x3d,
+	0x11, 0xac, 0xd0, 0x6d, 0xc3, 0xd1, 0xaf, 0xa6, 0xbf, 0x85, 0x1f, 0x39, 0xe0, 0xc3, 0x56, 0x5c,
+	0x5d, 0xf9, 0xd1, 0xa8, 0x4b, 0x29, 0x3f, 0xb7, 0xb8, 0xf0, 0x05, 0x13, 0x36, 0xa9, 0x07, 0xa4,
+	0xc5, 0x1c, 0x18, 0xec, 0x40, 0xf4, 0x04, 0x56, 0x0c, 0xeb, 0xd4, 0xf6, 0xb2, 0x53, 0x74, 0x72,
+	0xa0, 0x56, 0x41, 0x79, 0xc5, 0x66, 0x55, 0x10, 0x3f, 0x73, 0xb0, 0x3d, 0xf1, 0x3e, 0x67, 0xb1,
+	0x38, 0xfe, 0x33, 0x10, 0x47, 0x81, 0xf9, 0x16, 0x8a, 0x18, 0x8c, 0xe1, 0x01, 0x5c, 0x63, 0x9e,
+	0x38, 0xa9, 0xf8, 0x5e, 0x7c, 0x7f, 0x3d, 0xb7, 0x3d, 0xbd, 0x78, 0xf0, 0xf9, 0xd8, 0x37, 0x9b,
+	0x27, 0xa0, 0x01, 0x4d, 0x72, 0xc2, 0x97, 0x1c, 0xa4, 0x35, 0xe2, 0x96, 0xec, 0xf6, 0x80, 0x55,
+	0xc9, 0x6a, 0x75, 0x6d, 0xc3, 0x5a, 0x2a, 0xfd, 0x3f, 0x86, 0x64, 0x87, 0xa1, 0x34, 0x88, 0x07,
+	0x43, 0xbf, 0x3a, 0x81, 0x6f, 0x75, 0x26, 0xd1, 0xc7, 0x4d, 0x69, 0xc5, 0xd7, 0xb4, 0x7d, 0x85,
+	0xf8, 0xa6, 0x55, 0x6f, 0x58, 0xf8, 0x25, 0x46, 0xfd, 0xc3, 0xc4, 0xb4, 0x5d, 0x32, 0x72, 0xef,
+	0xea, 0x35, 0x5c, 0x24, 0xe8, 0x52, 0x5a, 0x7e, 0xc3, 0xbd, 0xa5, 0xba, 0x8c, 0x87, 0xed, 0x52,
+	0x45, 0x96, 0x15, 0x55, 0x6e, 0x48, 0x6a, 0xa1, 0x5a, 0x51, 0xd4, 0xda, 0xf0, 0x08, 0x7f, 0x00,
+	0xbb, 0x53, 0x73, 0x55, 0x5c, 0xa9, 0x55, 0xf2, 0x95, 0x51, 0x92, 0x49, 0xc3, 0x9d, 0xb2, 0x26,
+	0x1f, 0xd6, 0xb5, 0xe0, 0xfa, 0xd5, 0x88, 0xb4, 0xbf, 0x26, 0xfc, 0x14, 0x03, 0x5e, 0x0e, 0xd1,
+	0xc0, 0xd5, 0x33, 0x46, 0x34, 0x6a, 0x30, 0xca, 0x61, 0xea, 0x89, 0xcf, 0xaf, 0x9e, 0x95, 0x50,
+	0xf5, 0x4c, 0x73, 0xb7, 0xfa, 0x07, 0x94, 0xd4, 0x79, 0x48, 0x69, 0xc4, 0x2d, 0x3b, 0xed, 0xc3,
+	0xbe, 0x13, 0xdc, 0x60, 0x8f, 0xe0, 0x96, 0xe9, 0xb4, 0x4f, 0xfa, 0xce, 0xe8, 0xab, 0x59, 0x2e,
+	0xdf, 0x60, 0xc3, 0xbe, 0xbd, 0xf0, 0x45, 0x0c, 0xd2, 0xf2, 0x34, 0xca, 0xd5, 0xf7, 0x41, 0x24,
+	0x68, 0x90, 0xa1, 0x10, 0x57, 0xe3, 0x61, 0xae, 0xce, 0x77, 0x26, 0x7f, 0xb0, 0x78, 0xae, 0x8a,
+	0x08, 0x70, 0x4c, 0x78, 0x05, 0x49, 0xc9, 0x72, 0x0d, 0xd7, 0x20, 0x4e, 0xc9, 0x6e, 0x97, 0xc8,
+	0x39, 0xe9, 0xa0, 0xc7, 0x70, 0xbd, 0xe3, 0xfd, 0xf6, 0x62, 0xc2, 0x2e, 0x5e, 0xbe, 0x01, 0x1e,
+	0x4e, 0x23, 0x1e, 0xae, 0x13, 0x6f, 0x79, 0x2a, 0xb6, 0x17, 0xdf, 0x4f, 0xe0, 0xe1, 0xb3, 0xd0,
+	0x07, 0xc4, 0xb2, 0x23, 0x5b, 0xb4, 0x44, 0x5a, 0x7c, 0x06, 0x89, 0xce, 0xe0, 0xaa, 0x7b, 0x4e,
+	0x3a, 0x0c, 0x7e, 0x3d, 0x77, 0x87, 0x5a, 0x06, 0x5d, 0xc6, 0x23, 0x3b, 0xe1, 0xbb, 0x18, 0x6c,
+	0x4d, 0xbc, 0xd7, 0xe3, 0x79, 0x91, 0x17, 0x8f, 0x34, 0x11, 0x8b, 0xd6, 0xc4, 0xdf, 0x87, 0x9a,
+	0x88, 0x53, 0xa3, 0x5d, 0x3f, 0x37, 0x06, 0x5f, 0x7d, 0x69, 0x56, 0x0c, 0x23, 0xf9, 0xfc, 0xed,
+	0xed, 0x2c, 0xdf, 0xae, 0x54, 0x19, 0x24, 0xbf, 0x9a, 0x52, 0x7b, 0x35, 0xe3, 0x4e, 0xf3, 0x11,
+	0x20, 0xf9, 0x6a, 0xac, 0xcd, 0xd2, 0xc4, 0xaf, 0x31, 0xd8, 0x92, 0xaf, 0x48, 0x0e, 0x53, 0x45,
+	0x69, 0x4e, 0x55, 0x30, 0xbb, 0x31, 0x46, 0xe3, 0xf3, 0x30, 0xba, 0x32, 0xc6, 0xa8, 0xbc, 0x04,
+	0xa3, 0xab, 0xef, 0x11, 0xa3, 0xc5, 0xe1, 0x09, 0x35, 0x28, 0xe9, 0xfc, 0x20, 0x2d, 0xd3, 0x14,
+	0xfa, 0x37, 0x24, 0x8a, 0x44, 0xef, 0xb9, 0x27, 0x44, 0x77, 0x51, 0x16, 0xb6, 0xce, 0xfc, 0x87,
+	0x86, 0x63, 0xb4, 0x2d, 0xdd, 0xed, 0xf7, 0x58, 0x39, 0x7d, 0x0d, 0xa3, 0xe1, 0x94, 0xe6, 0xcf,
+	0x08, 0x22, 0x6c, 0x61, 0x72, 0x62, 0xdb, 0xee, 0x64, 0x1d, 0xbe, 0x88, 0x03, 0xbf, 0x71, 0x70,
+	0x7b, 0x12, 0x63, 0x2a, 0x89, 0xcf, 0xa0, 0xf7, 0x79, 0x80, 0xde, 0x3d, 0x6a, 0x14, 0x86, 0xb7,
+	0x14, 0xbf, 0xef, 0xf8, 0x2c, 0xcc, 0x7d, 0x9d, 0x80, 0xb4, 0xaa, 0xbb, 0xc6, 0x39, 0x29, 0x1e,
+	0x97, 0x87, 0x2d, 0x44, 0x8d, 0x75, 0x10, 0x91, 0x06, 0x5b, 0x21, 0xf7, 0x44, 0x14, 0x59, 0xd1,
+	0xf3, 0x7b, 0x97, 0xdd, 0x2d, 0x0f, 0x38, 0x54, 0x07, 0x34, 0x7d, 0x71, 0x41, 0x3b, 0x91, 0x37,
+	0x1a, 0xca, 0x28, 0xbf, 0x7b, 0xc9, 0x8d, 0x07, 0x15, 0x61, 0x73, 0x70, 0x74, 0x4e, 0x94, 0xf2,
+	0x68, 0x3b, 0xc3, 0xfa, 0x9a, 0x19, 0xbf, 0xaf, 0x99, 0x91, 0xcc, 0xae, 0x7b, 0xc1, 0xdf, 0x9b,
+	0x51, 0xf7, 0xa3, 0x63, 0xb8, 0x2d, 0x13, 0x77, 0xaa, 0xa7, 0x88, 0xee, 0x47, 0xf5, 0x1a, 0x99,
+	0x87, 0x3b, 0xb3, 0x5b, 0x91, 0x07, 0x1c, 0x3a, 0xa6, 0x69, 0x30, 0xd0, 0xaf, 0xf0, 0xbe, 0x3c,
+	0xb2, 0xc7, 0xe7, 0x7d, 0x79, 0x74, 0x2b, 0xcc, 0x0b, 0xe9, 0x9c, 0xc0, 0xda, 0x25, 0xc0, 0xe3,
+	0x4d, 0x99, 0x9a, 0x7f, 0xd8, 0x4e, 0x94, 0x7b, 0x3b, 0x63, 0x47, 0x52, 0xc8, 0x1d, 0x85, 0xdf,
+	0x99, 0x5d, 0xce, 0xa3, 0x23, 0xff, 0x30, 0x98, 0x40, 0xbd, 0x35, 0xd1, 0x86, 0x55, 0x0a, 0xfc,
+	0xee, 0x25, 0x05, 0x2b, 0xc2, 0xb0, 0x39, 0x55, 0xc6, 0x79, 0x1c, 0x45, 0x95, 0x77, 0x97, 0xfa,
+	0xf6, 0x82, 0x89, 0x68, 0x12, 0x33, 0x4a, 0x44, 0x3b, 0xb3, 0xeb, 0x35, 0x54, 0xf5, 0x8f, 0xa5,
+	0x89, 0x1c, 0x89, 0x26, 0x3e, 0x2c, 0x24, 0x7b, 0xf2, 0xa9, 0xa8, 0x13, 0x02, 0xfd, 0x1f, 0xd6,
+	0xc7, 0x4a, 0x01, 0x74, 0x77, 0xba, 0x38, 0x18, 0x47, 0xd0, 0xc2, 0x11, 0xe4, 0x29, 0x04, 0x39,
+	0x0a, 0x21, 0xcc, 0x87, 0xe7, 0xb0, 0x31, 0xcc, 0xd7, 0xf9, 0x33, 0xd2, 0xfc, 0x24, 0x32, 0x3e,
+	0xac, 0x01, 0x3b, 0x4a, 0xee, 0x79, 0xb8, 0x31, 0x9e, 0x17, 0xbd, 0x34, 0x12, 0x92, 0xbe, 0xf9,
+	0x74, 0x64, 0x12, 0x3d, 0xfc, 0xd7, 0x87, 0xff, 0x68, 0x1b, 0xee, 0x59, 0xff, 0x24, 0xd3, 0xb4,
+	0xcd, 0xac, 0xdd, 0x25, 0x56, 0xd3, 0xee, 0xb5, 0xb2, 0x2c, 0x9f, 0x3f, 0x1d, 0xfd, 0x0b, 0xf2,
+	0xd4, 0xb0, 0x5c, 0xd2, 0x3b, 0xd5, 0x9b, 0x24, 0x7b, 0xfe, 0x2c, 0xdb, 0xb6, 0xb3, 0x2d, 0xd3,
+	0x38, 0x59, 0xa3, 0x1e, 0x3e, 0xfb, 0x3d, 0x00, 0x00, 0xff, 0xff, 0x80, 0x19, 0x9e, 0xf1, 0x35,
+	0x19, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -1671,6 +1953,10 @@
 	// Gets the configured log level for a certain entity on a certain device.
 	// If no entity is specified in the request all the entities with their log level should be returned.
 	GetLogLevel(ctx context.Context, in *GetLogLevelRequest, opts ...grpc.CallOption) (*GetLogLevelResponse, error)
+	// Performs the heartbeat check
+	HeartbeatCheck(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Heartbeat, error)
+	// Performs the reboot of the device
+	RebootDevice(ctx context.Context, in *RebootDeviceRequest, opts ...grpc.CallOption) (*RebootDeviceResponse, error)
 }
 
 type nativeHWManagementServiceClient struct {
@@ -1867,6 +2153,24 @@
 	return out, nil
 }
 
+func (c *nativeHWManagementServiceClient) HeartbeatCheck(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Heartbeat, error) {
+	out := new(Heartbeat)
+	err := c.cc.Invoke(ctx, "/dmi.NativeHWManagementService/HeartbeatCheck", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *nativeHWManagementServiceClient) RebootDevice(ctx context.Context, in *RebootDeviceRequest, opts ...grpc.CallOption) (*RebootDeviceResponse, error) {
+	out := new(RebootDeviceResponse)
+	err := c.cc.Invoke(ctx, "/dmi.NativeHWManagementService/RebootDevice", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // NativeHWManagementServiceServer is the server API for NativeHWManagementService service.
 type NativeHWManagementServiceServer interface {
 	// Initializes context for a device and sets up required states
@@ -1910,6 +2214,60 @@
 	// Gets the configured log level for a certain entity on a certain device.
 	// If no entity is specified in the request all the entities with their log level should be returned.
 	GetLogLevel(context.Context, *GetLogLevelRequest) (*GetLogLevelResponse, error)
+	// Performs the heartbeat check
+	HeartbeatCheck(context.Context, *empty.Empty) (*Heartbeat, error)
+	// Performs the reboot of the device
+	RebootDevice(context.Context, *RebootDeviceRequest) (*RebootDeviceResponse, error)
+}
+
+// UnimplementedNativeHWManagementServiceServer can be embedded to have forward compatible implementations.
+type UnimplementedNativeHWManagementServiceServer struct {
+}
+
+func (*UnimplementedNativeHWManagementServiceServer) StartManagingDevice(req *ModifiableComponent, srv NativeHWManagementService_StartManagingDeviceServer) error {
+	return status.Errorf(codes.Unimplemented, "method StartManagingDevice not implemented")
+}
+func (*UnimplementedNativeHWManagementServiceServer) StopManagingDevice(ctx context.Context, req *StopManagingDeviceRequest) (*StopManagingDeviceResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method StopManagingDevice not implemented")
+}
+func (*UnimplementedNativeHWManagementServiceServer) GetManagedDevices(ctx context.Context, req *empty.Empty) (*ManagedDevicesResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetManagedDevices not implemented")
+}
+func (*UnimplementedNativeHWManagementServiceServer) GetPhysicalInventory(req *PhysicalInventoryRequest, srv NativeHWManagementService_GetPhysicalInventoryServer) error {
+	return status.Errorf(codes.Unimplemented, "method GetPhysicalInventory not implemented")
+}
+func (*UnimplementedNativeHWManagementServiceServer) GetHWComponentInfo(req *HWComponentInfoGetRequest, srv NativeHWManagementService_GetHWComponentInfoServer) error {
+	return status.Errorf(codes.Unimplemented, "method GetHWComponentInfo not implemented")
+}
+func (*UnimplementedNativeHWManagementServiceServer) SetHWComponentInfo(ctx context.Context, req *HWComponentInfoSetRequest) (*HWComponentInfoSetResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SetHWComponentInfo not implemented")
+}
+func (*UnimplementedNativeHWManagementServiceServer) SetLoggingEndpoint(ctx context.Context, req *SetLoggingEndpointRequest) (*SetRemoteEndpointResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SetLoggingEndpoint not implemented")
+}
+func (*UnimplementedNativeHWManagementServiceServer) GetLoggingEndpoint(ctx context.Context, req *HardwareID) (*GetLoggingEndpointResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetLoggingEndpoint not implemented")
+}
+func (*UnimplementedNativeHWManagementServiceServer) SetMsgBusEndpoint(ctx context.Context, req *SetMsgBusEndpointRequest) (*SetRemoteEndpointResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SetMsgBusEndpoint not implemented")
+}
+func (*UnimplementedNativeHWManagementServiceServer) GetMsgBusEndpoint(ctx context.Context, req *empty.Empty) (*GetMsgBusEndpointResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetMsgBusEndpoint not implemented")
+}
+func (*UnimplementedNativeHWManagementServiceServer) GetLoggableEntities(ctx context.Context, req *GetLoggableEntitiesRequest) (*GetLogLevelResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetLoggableEntities not implemented")
+}
+func (*UnimplementedNativeHWManagementServiceServer) SetLogLevel(ctx context.Context, req *SetLogLevelRequest) (*SetLogLevelResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SetLogLevel not implemented")
+}
+func (*UnimplementedNativeHWManagementServiceServer) GetLogLevel(ctx context.Context, req *GetLogLevelRequest) (*GetLogLevelResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetLogLevel not implemented")
+}
+func (*UnimplementedNativeHWManagementServiceServer) HeartbeatCheck(ctx context.Context, req *empty.Empty) (*Heartbeat, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method HeartbeatCheck not implemented")
+}
+func (*UnimplementedNativeHWManagementServiceServer) RebootDevice(ctx context.Context, req *RebootDeviceRequest) (*RebootDeviceResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method RebootDevice not implemented")
 }
 
 func RegisterNativeHWManagementServiceServer(s *grpc.Server, srv NativeHWManagementServiceServer) {
@@ -2159,6 +2517,42 @@
 	return interceptor(ctx, in, info, handler)
 }
 
+func _NativeHWManagementService_HeartbeatCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(empty.Empty)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NativeHWManagementServiceServer).HeartbeatCheck(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/dmi.NativeHWManagementService/HeartbeatCheck",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NativeHWManagementServiceServer).HeartbeatCheck(ctx, req.(*empty.Empty))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _NativeHWManagementService_RebootDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(RebootDeviceRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NativeHWManagementServiceServer).RebootDevice(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/dmi.NativeHWManagementService/RebootDevice",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NativeHWManagementServiceServer).RebootDevice(ctx, req.(*RebootDeviceRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 var _NativeHWManagementService_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "dmi.NativeHWManagementService",
 	HandlerType: (*NativeHWManagementServiceServer)(nil),
@@ -2203,6 +2597,14 @@
 			MethodName: "GetLogLevel",
 			Handler:    _NativeHWManagementService_GetLogLevel_Handler,
 		},
+		{
+			MethodName: "HeartbeatCheck",
+			Handler:    _NativeHWManagementService_HeartbeatCheck_Handler,
+		},
+		{
+			MethodName: "RebootDevice",
+			Handler:    _NativeHWManagementService_RebootDevice_Handler,
+		},
 	},
 	Streams: []grpc.StreamDesc{
 		{
diff --git a/vendor/github.com/opencord/device-management-interface/go/dmi/hw_metrics_mgmt_service.pb.go b/vendor/github.com/opencord/device-management-interface/go/dmi/hw_metrics_mgmt_service.pb.go
index b812950..93426b0 100644
--- a/vendor/github.com/opencord/device-management-interface/go/dmi/hw_metrics_mgmt_service.pb.go
+++ b/vendor/github.com/opencord/device-management-interface/go/dmi/hw_metrics_mgmt_service.pb.go
@@ -7,7 +7,10 @@
 	context "context"
 	fmt "fmt"
 	proto "github.com/golang/protobuf/proto"
+	empty "github.com/golang/protobuf/ptypes/empty"
 	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
 	math "math"
 )
 
@@ -585,7 +588,7 @@
 	return ""
 }
 
-// The Metrics are conveyed to external systems by submitting them on a kafka bus.
+// The Metrics are conveyed to external systems either by submitting them on a message bus or using gRPC server streaming.
 // The topic to which are Metrics are submitted would be configured as startup
 // configuration of the components
 type Metric struct {
@@ -772,82 +775,85 @@
 func init() { proto.RegisterFile("dmi/hw_metrics_mgmt_service.proto", fileDescriptor_6b6c2f1384c11ff5) }
 
 var fileDescriptor_6b6c2f1384c11ff5 = []byte{
-	// 1198 bytes of a gzipped FileDescriptorProto
+	// 1242 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x4d, 0x6f, 0xdb, 0x46,
-	0x13, 0x36, 0xa9, 0xc4, 0x89, 0x57, 0xb6, 0x42, 0xaf, 0xf3, 0xa1, 0x38, 0xc9, 0x1b, 0x59, 0xc1,
-	0x5b, 0x08, 0x69, 0x23, 0x07, 0x0e, 0x8a, 0x7e, 0xe5, 0x50, 0x9a, 0xdc, 0xd8, 0x44, 0x28, 0x4a,
-	0x58, 0x91, 0x72, 0xd2, 0x43, 0x17, 0x1b, 0x71, 0x23, 0x13, 0x10, 0x49, 0x95, 0xa4, 0x9c, 0x9f,
-	0x50, 0xf4, 0xd6, 0xb4, 0xe8, 0x4f, 0x68, 0x4f, 0xfd, 0xfe, 0x01, 0xbd, 0x15, 0xe8, 0xe7, 0xbd,
-	0xfd, 0x1f, 0x6d, 0x81, 0xde, 0x0a, 0xee, 0x52, 0xca, 0x5a, 0x96, 0x9b, 0xba, 0xe8, 0x4d, 0x7a,
-	0xe6, 0x99, 0x99, 0x67, 0x66, 0x96, 0xb3, 0x0b, 0x36, 0xfc, 0x30, 0xd8, 0xdc, 0x7f, 0x42, 0x42,
-	0x96, 0x25, 0x41, 0x3f, 0x25, 0xe1, 0x20, 0xcc, 0x48, 0xca, 0x92, 0x83, 0xa0, 0xcf, 0x9a, 0xa3,
-	0x24, 0xce, 0x62, 0x58, 0xf2, 0xc3, 0x60, 0x7d, 0x35, 0xe7, 0xf5, 0xe3, 0x30, 0x8c, 0xa3, 0x54,
-	0xe0, 0xeb, 0xcb, 0xc2, 0x55, 0xfc, 0xab, 0xbf, 0xab, 0x80, 0xe5, 0x16, 0x0f, 0x62, 0xc4, 0xd1,
-	0xe3, 0x60, 0x00, 0x6f, 0x81, 0x25, 0x11, 0x94, 0x04, 0x7e, 0x55, 0xa9, 0x29, 0x8d, 0xca, 0x96,
-	0xd6, 0xf4, 0xc3, 0xa0, 0x29, 0x58, 0x0e, 0x0d, 0x59, 0x8a, 0xcf, 0x0a, 0x8a, 0xe5, 0xc3, 0x1b,
-	0x60, 0x25, 0x48, 0x49, 0x9f, 0xfb, 0x8e, 0x13, 0xe6, 0x57, 0xd5, 0x9a, 0xd2, 0x38, 0x8b, 0x97,
-	0x83, 0xd4, 0x98, 0x62, 0x39, 0x69, 0x14, 0x0f, 0x87, 0x24, 0x88, 0x32, 0x96, 0x1c, 0xd0, 0x61,
-	0xb5, 0x54, 0x53, 0x1a, 0x2b, 0x78, 0x39, 0x07, 0xad, 0x02, 0xab, 0xdf, 0x05, 0x2b, 0x22, 0x45,
-	0xe1, 0x09, 0x5f, 0x04, 0x67, 0x8a, 0xf2, 0xaa, 0x4a, 0xad, 0xd4, 0x28, 0x6f, 0xad, 0x4a, 0x3a,
-	0x04, 0x07, 0x4f, 0x18, 0xf5, 0x4f, 0x54, 0xb0, 0x66, 0x07, 0x69, 0x56, 0x84, 0xc0, 0x2c, 0x1d,
-	0xc5, 0x51, 0xca, 0xe0, 0x0d, 0xb0, 0x98, 0x66, 0x34, 0x1b, 0xa7, 0x45, 0x2d, 0x65, 0x1e, 0xa3,
-	0xcb, 0x21, 0x5c, 0x98, 0xe0, 0x2b, 0x60, 0x31, 0x61, 0x34, 0x8d, 0x23, 0xae, 0xbe, 0xb2, 0x75,
-	0x9d, 0x93, 0xe6, 0x84, 0x6b, 0x62, 0x4e, 0xc3, 0x05, 0x1d, 0xbe, 0xf4, 0x4c, 0x62, 0x5e, 0x52,
-	0x79, 0x0b, 0x4a, 0x12, 0xd3, 0x19, 0x8d, 0x79, 0x1b, 0x84, 0x1f, 0xf1, 0x59, 0x46, 0x83, 0x61,
-	0xf5, 0x54, 0x4d, 0x69, 0x2c, 0xe1, 0x65, 0x01, 0x9a, 0x1c, 0xab, 0xbf, 0x0d, 0x16, 0x45, 0x12,
-	0x78, 0x1e, 0x68, 0x9e, 0x63, 0xa2, 0x7b, 0x96, 0x83, 0x4c, 0x82, 0x91, 0xde, 0x6d, 0x3b, 0xda,
-	0x02, 0x84, 0xa0, 0xe2, 0x39, 0xf7, 0x9d, 0xf6, 0x9e, 0x43, 0x4c, 0xd4, 0xb3, 0x0c, 0xa4, 0x29,
-	0x39, 0x66, 0x39, 0x2e, 0xc2, 0x8e, 0x6e, 0x13, 0x84, 0x71, 0x1b, 0x6b, 0x2a, 0xbc, 0x08, 0xa0,
-	0xb0, 0x13, 0xcf, 0xc1, 0x48, 0x37, 0x76, 0xf5, 0x6d, 0x1b, 0x69, 0xa5, 0xfa, 0xd7, 0x0a, 0xb8,
-	0x72, 0x48, 0xdf, 0x38, 0xa1, 0x59, 0x10, 0x47, 0x98, 0xbd, 0x33, 0x66, 0x69, 0x06, 0x6f, 0x82,
-	0xb2, 0xcf, 0xf2, 0x63, 0x44, 0xc6, 0xe3, 0xe2, 0x04, 0x94, 0xb7, 0x96, 0x78, 0x59, 0xde, 0x38,
-	0xf0, 0x31, 0x10, 0xd6, 0xfc, 0x37, 0x6c, 0x82, 0x33, 0xfd, 0x7d, 0x1a, 0x0d, 0x58, 0xca, 0x1b,
-	0x37, 0xb7, 0xfc, 0xdd, 0x05, 0x3c, 0x21, 0xc1, 0x9b, 0x40, 0x4b, 0x58, 0xca, 0x32, 0x92, 0xc5,
-	0xc4, 0x67, 0x8f, 0xe9, 0x78, 0x98, 0xf1, 0xbe, 0x9d, 0xdd, 0x5d, 0xc0, 0x15, 0x6e, 0x71, 0x63,
-	0x53, 0xe0, 0xdb, 0x65, 0xb0, 0x14, 0x8f, 0x98, 0xd0, 0x56, 0xff, 0x46, 0x05, 0x57, 0xe7, 0x8b,
-	0x3e, 0xc9, 0x98, 0xdf, 0x9c, 0x19, 0x73, 0xe3, 0xa8, 0xda, 0x99, 0xb8, 0xb3, 0xf3, 0x3e, 0x32,
-	0xc1, 0xd2, 0x9c, 0x09, 0x3e, 0x55, 0xfe, 0xa3, 0x11, 0x5e, 0x03, 0x97, 0x3b, 0x6d, 0xdb, 0x26,
-	0xdc, 0xd0, 0xd3, 0x6d, 0xe2, 0x39, 0x5d, 0xaf, 0xd3, 0x69, 0x63, 0x17, 0x99, 0x5a, 0x49, 0xb8,
-	0xf4, 0x74, 0xdb, 0x32, 0x49, 0x0b, 0xb9, 0xd8, 0x32, 0xb4, 0x53, 0xc7, 0x4c, 0xfd, 0x74, 0xfd,
-	0x23, 0x05, 0x54, 0x44, 0xa1, 0x2d, 0x96, 0x51, 0x93, 0x66, 0xf4, 0x44, 0x83, 0xbe, 0x0d, 0x2a,
-	0xfd, 0x38, 0x1c, 0xc5, 0x11, 0x8b, 0x32, 0x41, 0x57, 0x67, 0xe9, 0x2b, 0x53, 0x02, 0xf7, 0xf8,
-	0xbf, 0xec, 0x11, 0xd1, 0x90, 0x15, 0xad, 0x7a, 0x46, 0xcb, 0x37, 0x49, 0xfd, 0x63, 0x05, 0x2c,
-	0x0a, 0x5d, 0x27, 0x5d, 0x3c, 0x77, 0xc1, 0xb9, 0x82, 0x1e, 0xb2, 0x8c, 0xfa, 0x34, 0xa3, 0x85,
-	0xa6, 0x35, 0xc9, 0x69, 0x52, 0x2c, 0xae, 0x84, 0xd3, 0xff, 0x39, 0x15, 0x36, 0xc1, 0xe9, 0x03,
-	0x3a, 0x1c, 0xb3, 0xe2, 0xb3, 0xad, 0x72, 0x1f, 0x63, 0x22, 0xad, 0xcb, 0xa2, 0x34, 0x4e, 0xb8,
-	0xa3, 0xa0, 0xd5, 0x53, 0xa0, 0xed, 0xb0, 0x62, 0x1b, 0x4c, 0xbe, 0x94, 0xdb, 0x5c, 0x30, 0x25,
-	0x3c, 0xb7, 0x72, 0x7c, 0xee, 0x5c, 0xb3, 0x68, 0xf9, 0xa1, 0x12, 0xd5, 0xe7, 0x95, 0x58, 0xff,
-	0x56, 0x05, 0xab, 0x52, 0xd6, 0x93, 0x1c, 0xf5, 0x97, 0x67, 0x8e, 0xfa, 0x35, 0x4e, 0x3a, 0x12,
-	0xec, 0xe8, 0xf9, 0x5e, 0x14, 0xd9, 0x8b, 0xbe, 0x94, 0x25, 0x75, 0xb8, 0x30, 0xfd, 0xb3, 0x35,
-	0xf6, 0xde, 0xbf, 0xf9, 0x08, 0x2e, 0x80, 0xd5, 0x09, 0x66, 0xb4, 0x5b, 0x9d, 0xb6, 0x83, 0x1c,
-	0x57, 0x53, 0xe7, 0x7c, 0x1b, 0x27, 0x3a, 0xfc, 0x37, 0x7f, 0x3d, 0x0d, 0xca, 0x52, 0x87, 0xe1,
-	0x65, 0x70, 0x41, 0xf8, 0x10, 0x47, 0x6f, 0xe5, 0xe4, 0x42, 0x9c, 0xb6, 0x90, 0x6b, 0x2d, 0x4c,
-	0xf7, 0x74, 0x87, 0x74, 0x3b, 0x08, 0x99, 0x9a, 0x02, 0xd7, 0xc0, 0xb9, 0x02, 0x35, 0x3a, 0x1e,
-	0x71, 0x51, 0xab, 0xa3, 0xf9, 0xf0, 0x3a, 0xb8, 0x22, 0x81, 0x5e, 0x57, 0xdf, 0x41, 0xa4, 0x83,
-	0xb0, 0x81, 0x1c, 0x57, 0xdf, 0x41, 0x1a, 0x83, 0x57, 0xc1, 0xa5, 0x82, 0xe0, 0x62, 0xdd, 0xe9,
-	0x1a, 0xc8, 0xea, 0x21, 0x2c, 0xbc, 0xbf, 0x53, 0xe0, 0x75, 0xb0, 0x3e, 0xc7, 0xda, 0x6b, 0xdb,
-	0xdc, 0xfb, 0x7b, 0xe5, 0x18, 0xf7, 0x6d, 0x4b, 0xef, 0x6a, 0x3f, 0x28, 0xb0, 0x36, 0xcd, 0x2e,
-	0x5b, 0xf1, 0x03, 0xd2, 0x69, 0xef, 0x21, 0xac, 0xfd, 0x78, 0x1c, 0xc3, 0x9d, 0x30, 0x7e, 0x52,
-	0x60, 0x1d, 0x5c, 0x9b, 0xc3, 0xd8, 0xd3, 0x7b, 0xc8, 0x46, 0xce, 0x8e, 0xbb, 0xab, 0xfd, 0x9c,
-	0x8f, 0x64, 0xd2, 0x10, 0xd3, 0xea, 0xde, 0x17, 0xea, 0x3f, 0x55, 0xe1, 0x65, 0x70, 0x5e, 0x86,
-	0x0d, 0xbd, 0xa3, 0x1b, 0x96, 0xfb, 0x50, 0xfb, 0x2c, 0xbf, 0x78, 0x56, 0x65, 0x13, 0x6f, 0x8c,
-	0xf6, 0xb9, 0x0a, 0x37, 0xc0, 0xd5, 0x23, 0xb8, 0xdc, 0xb0, 0x2f, 0x54, 0xf8, 0x02, 0xd8, 0x90,
-	0x29, 0x18, 0xe9, 0x26, 0xd9, 0xc3, 0x96, 0x7b, 0x88, 0xf7, 0xa5, 0x0a, 0x1b, 0xe0, 0x86, 0xcc,
-	0xbb, 0xa7, 0x7b, 0xb6, 0xfb, 0x90, 0x18, 0xc8, 0xb6, 0xbb, 0x32, 0xf3, 0x2b, 0x15, 0x9e, 0x9f,
-	0x4e, 0x0e, 0xeb, 0x2d, 0xa1, 0xfe, 0xfd, 0x12, 0xac, 0x82, 0x35, 0x09, 0x9d, 0x8a, 0x7f, 0x5a,
-	0x92, 0xca, 0xcd, 0x2d, 0x42, 0xfb, 0x07, 0x25, 0xa9, 0x97, 0x53, 0x58, 0x4e, 0xf4, 0xa1, 0xec,
-	0xc8, 0xdb, 0x4b, 0x5a, 0xfa, 0x03, 0xed, 0xb7, 0x12, 0xbc, 0x04, 0xe0, 0x21, 0x58, 0x44, 0xfc,
-	0xbd, 0x24, 0xf5, 0x5e, 0x32, 0xc8, 0x31, 0xff, 0x90, 0x39, 0x96, 0xe3, 0x20, 0x4c, 0xba, 0x1e,
-	0xc6, 0x6d, 0xcf, 0x31, 0x2d, 0x67, 0x47, 0x94, 0xf2, 0xcb, 0xa9, 0xad, 0x3f, 0x15, 0xf0, 0x3f,
-	0x87, 0x66, 0xc1, 0x01, 0x2b, 0xee, 0xb1, 0x16, 0x8d, 0xe8, 0x80, 0x85, 0x7c, 0x8b, 0xf1, 0xe7,
-	0x20, 0x7c, 0x15, 0x94, 0xa5, 0xa7, 0x0c, 0x3c, 0xc7, 0xbf, 0xe9, 0x5d, 0x9a, 0xf8, 0x4f, 0x68,
-	0xc2, 0x2c, 0x73, 0xbd, 0x7a, 0xdc, 0x6b, 0x07, 0x52, 0xb0, 0xee, 0x8d, 0x7c, 0x9a, 0xb1, 0x79,
-	0x77, 0x24, 0xac, 0xfd, 0xcd, 0xf5, 0xc9, 0x37, 0xe4, 0xfa, 0xc6, 0x73, 0x2f, 0x58, 0xf8, 0x3a,
-	0x58, 0x9a, 0x6e, 0x25, 0x78, 0x61, 0x76, 0x4b, 0x89, 0x30, 0x17, 0xe7, 0x2f, 0xaf, 0xed, 0x37,
-	0xde, 0x7a, 0x6d, 0x10, 0x64, 0xfb, 0xe3, 0x47, 0xcd, 0x7e, 0x1c, 0x6e, 0xc6, 0x23, 0x16, 0xf5,
-	0xe3, 0xc4, 0xdf, 0x14, 0xf7, 0xd6, 0xad, 0x70, 0xda, 0x88, 0x5b, 0xfc, 0xdd, 0xf9, 0x98, 0xf6,
-	0xd9, 0xe6, 0xc1, 0x9d, 0xcd, 0x41, 0xbc, 0xe9, 0x87, 0xc1, 0xa3, 0x45, 0xfe, 0xfe, 0xbd, 0xf3,
-	0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa4, 0xee, 0x26, 0xad, 0x4a, 0x0b, 0x00, 0x00,
+	0x13, 0x36, 0xa9, 0xc4, 0x89, 0x57, 0xb6, 0x42, 0xaf, 0xf3, 0xa1, 0x28, 0xc9, 0x1b, 0x59, 0xc1,
+	0x5b, 0x08, 0x69, 0x23, 0x05, 0x0e, 0xfa, 0x9d, 0x43, 0x69, 0x72, 0x63, 0x13, 0x91, 0x28, 0x61,
+	0x45, 0xda, 0x49, 0x0f, 0x5d, 0x6c, 0xc4, 0xb5, 0x4c, 0x40, 0x24, 0x55, 0x92, 0x72, 0xd0, 0x5f,
+	0x50, 0xf4, 0xd6, 0xb4, 0xe8, 0x4f, 0x68, 0x4f, 0xfd, 0x4a, 0x7f, 0x40, 0x6f, 0x05, 0xfa, 0x79,
+	0x6f, 0xff, 0x47, 0xdb, 0x73, 0xc1, 0x5d, 0x4a, 0x59, 0xcb, 0x72, 0x53, 0x17, 0xbd, 0x49, 0xcf,
+	0x3c, 0x33, 0xf3, 0xcc, 0xcc, 0x72, 0x76, 0xc1, 0xba, 0x17, 0xf8, 0xcd, 0xfd, 0xc7, 0x24, 0x60,
+	0x69, 0xec, 0xf7, 0x13, 0x12, 0x0c, 0x82, 0x94, 0x24, 0x2c, 0x3e, 0xf0, 0xfb, 0xac, 0x31, 0x8a,
+	0xa3, 0x34, 0x82, 0x05, 0x2f, 0xf0, 0x2b, 0xab, 0x19, 0xaf, 0x1f, 0x05, 0x41, 0x14, 0x26, 0x02,
+	0xaf, 0x2c, 0x0b, 0xd7, 0xfc, 0xdf, 0x95, 0x41, 0x14, 0x0d, 0x86, 0xac, 0xc9, 0xff, 0x3d, 0x1a,
+	0xef, 0x35, 0x59, 0x30, 0x4a, 0xdf, 0x13, 0xc6, 0xda, 0xfb, 0x0a, 0x58, 0x6e, 0xf3, 0x0c, 0x46,
+	0x14, 0xee, 0xf9, 0x03, 0x78, 0x0b, 0x2c, 0x89, 0x8c, 0xc4, 0xf7, 0xca, 0x4a, 0x55, 0xa9, 0x97,
+	0x36, 0xb4, 0x86, 0x17, 0xf8, 0x0d, 0xc1, 0xb2, 0x69, 0xc0, 0x12, 0x7c, 0x56, 0x50, 0x2c, 0x0f,
+	0xde, 0x00, 0x2b, 0x7e, 0x42, 0xfa, 0xdc, 0x77, 0x1c, 0x33, 0xaf, 0xac, 0x56, 0x95, 0xfa, 0x59,
+	0xbc, 0xec, 0x27, 0xc6, 0x14, 0xcb, 0x48, 0xa3, 0x68, 0x38, 0x24, 0x7e, 0x98, 0xb2, 0xf8, 0x80,
+	0x0e, 0xcb, 0x85, 0xaa, 0x52, 0x5f, 0xc1, 0xcb, 0x19, 0x68, 0xe5, 0x58, 0xed, 0x2e, 0x58, 0x11,
+	0x29, 0x72, 0x4f, 0xf8, 0x22, 0x38, 0x93, 0xd7, 0x5e, 0x56, 0xaa, 0x85, 0x7a, 0x71, 0x63, 0x55,
+	0xd2, 0x21, 0x38, 0x78, 0xc2, 0xa8, 0x7d, 0xa6, 0x82, 0xb5, 0x96, 0x9f, 0xa4, 0x79, 0x08, 0xcc,
+	0x92, 0x51, 0x14, 0x26, 0x0c, 0xde, 0x00, 0x8b, 0x49, 0x4a, 0xd3, 0x71, 0x92, 0xd7, 0x52, 0xe4,
+	0x31, 0x7a, 0x1c, 0xc2, 0xb9, 0x09, 0xbe, 0x0a, 0x16, 0x63, 0x46, 0x93, 0x28, 0xe4, 0xea, 0x4b,
+	0x1b, 0xd7, 0x39, 0x69, 0x4e, 0xb8, 0x06, 0xe6, 0x34, 0x9c, 0xd3, 0xe1, 0x4b, 0xcf, 0x24, 0x66,
+	0x25, 0x15, 0x37, 0xa0, 0x24, 0x31, 0x99, 0xd1, 0x98, 0xb5, 0x41, 0xf8, 0x11, 0x8f, 0xa5, 0xd4,
+	0x1f, 0x96, 0x4f, 0x55, 0x95, 0xfa, 0x12, 0x5e, 0x16, 0xa0, 0xc9, 0xb1, 0xda, 0x3b, 0x60, 0x51,
+	0x24, 0x81, 0xe7, 0x81, 0xe6, 0xda, 0x26, 0xba, 0x67, 0xd9, 0xc8, 0x24, 0x18, 0xe9, 0xbd, 0x8e,
+	0xad, 0x2d, 0x40, 0x08, 0x4a, 0xae, 0x7d, 0xdf, 0xee, 0xec, 0xda, 0xc4, 0x44, 0x3b, 0x96, 0x81,
+	0x34, 0x25, 0xc3, 0x2c, 0xdb, 0x41, 0xd8, 0xd6, 0x5b, 0x04, 0x61, 0xdc, 0xc1, 0x9a, 0x0a, 0x2f,
+	0x02, 0x28, 0xec, 0xc4, 0xb5, 0x31, 0xd2, 0x8d, 0x6d, 0x7d, 0xb3, 0x85, 0xb4, 0x42, 0xed, 0x1b,
+	0x05, 0x5c, 0x39, 0xa4, 0x6f, 0x1c, 0xd3, 0xd4, 0x8f, 0x42, 0xcc, 0xde, 0x1d, 0xb3, 0x24, 0x85,
+	0x37, 0x41, 0xd1, 0x63, 0xd9, 0x19, 0x23, 0xe3, 0x71, 0x7e, 0x02, 0x8a, 0x1b, 0x4b, 0xbc, 0x2c,
+	0x77, 0xec, 0x7b, 0x18, 0x08, 0x6b, 0xf6, 0x1b, 0x36, 0xc0, 0x99, 0xfe, 0x3e, 0x0d, 0x07, 0x2c,
+	0xe1, 0x8d, 0x9b, 0x5b, 0xfe, 0xf6, 0x02, 0x9e, 0x90, 0xe0, 0x4d, 0xa0, 0xc5, 0x2c, 0x61, 0x29,
+	0x49, 0x23, 0xe2, 0xb1, 0x3d, 0x3a, 0x1e, 0xa6, 0xbc, 0x6f, 0x67, 0xb7, 0x17, 0x70, 0x89, 0x5b,
+	0x9c, 0xc8, 0x14, 0xf8, 0x66, 0x11, 0x2c, 0x45, 0x23, 0x26, 0xb4, 0xd5, 0xbe, 0x55, 0xc1, 0xd5,
+	0xf9, 0xa2, 0x4f, 0x32, 0xe6, 0xb7, 0x66, 0xc6, 0x5c, 0x3f, 0xaa, 0x76, 0x26, 0xee, 0xec, 0xbc,
+	0x8f, 0x4c, 0xb0, 0x30, 0x67, 0x82, 0x4f, 0x94, 0xff, 0x68, 0x84, 0xd7, 0xc0, 0xe5, 0x6e, 0xa7,
+	0xd5, 0x22, 0xdc, 0xb0, 0xa3, 0xb7, 0x88, 0x6b, 0xf7, 0xdc, 0x6e, 0xb7, 0x83, 0x1d, 0x64, 0x6a,
+	0x05, 0xe1, 0xb2, 0xa3, 0xb7, 0x2c, 0x93, 0xb4, 0x91, 0x83, 0x2d, 0x43, 0x3b, 0x75, 0xcc, 0xd4,
+	0x4f, 0xd7, 0x3e, 0x51, 0x40, 0x49, 0x14, 0xda, 0x66, 0x29, 0x35, 0x69, 0x4a, 0x4f, 0x34, 0xe8,
+	0xdb, 0xa0, 0xd4, 0x8f, 0x82, 0x51, 0x14, 0xb2, 0x30, 0x15, 0x74, 0x75, 0x96, 0xbe, 0x32, 0x25,
+	0x70, 0x8f, 0xff, 0xcb, 0x1e, 0x21, 0x0d, 0x58, 0xde, 0xaa, 0x67, 0xb4, 0x6c, 0x93, 0xd4, 0x3e,
+	0x55, 0xc0, 0xa2, 0xd0, 0x75, 0xd2, 0xc5, 0x73, 0x17, 0x9c, 0xcb, 0xe9, 0x01, 0x4b, 0xa9, 0x47,
+	0x53, 0x9a, 0x6b, 0x5a, 0x93, 0x9c, 0x26, 0xc5, 0xe2, 0x52, 0x30, 0xfd, 0x9f, 0x51, 0x61, 0x03,
+	0x9c, 0x3e, 0xa0, 0xc3, 0x31, 0xcb, 0x3f, 0xdb, 0x32, 0xf7, 0x31, 0x26, 0xd2, 0x7a, 0x2c, 0x4c,
+	0xa2, 0x98, 0x3b, 0x0a, 0x5a, 0x2d, 0x01, 0xda, 0x16, 0xcb, 0xb7, 0xc1, 0xe4, 0x4b, 0xb9, 0xcd,
+	0x05, 0x53, 0xc2, 0x73, 0x2b, 0xc7, 0xe7, 0xce, 0x34, 0x8b, 0x96, 0x1f, 0x2a, 0x51, 0x7d, 0x5e,
+	0x89, 0xb5, 0xef, 0x54, 0xb0, 0x2a, 0x65, 0x3d, 0xc9, 0x51, 0x7f, 0x79, 0xe6, 0xa8, 0x5f, 0xe3,
+	0xa4, 0x23, 0xc1, 0x8e, 0x9e, 0xef, 0x45, 0x91, 0x3d, 0xef, 0x4b, 0x51, 0x52, 0x87, 0x73, 0xd3,
+	0x3f, 0x5b, 0x63, 0x1f, 0xfc, 0x9b, 0x8f, 0xe0, 0x02, 0x58, 0x9d, 0x60, 0x46, 0xa7, 0xdd, 0xed,
+	0xd8, 0xc8, 0x76, 0x34, 0x75, 0xce, 0xb7, 0x71, 0xa2, 0xc3, 0x7f, 0xf3, 0xb7, 0xd3, 0xa0, 0x28,
+	0x75, 0x18, 0x5e, 0x06, 0x17, 0x84, 0x0f, 0xb1, 0xf5, 0x76, 0x46, 0xce, 0xc5, 0x69, 0x0b, 0x99,
+	0xd6, 0xdc, 0x74, 0x4f, 0xb7, 0x49, 0xaf, 0x8b, 0x90, 0xa9, 0x29, 0x70, 0x0d, 0x9c, 0xcb, 0x51,
+	0xa3, 0xeb, 0x12, 0x07, 0xb5, 0xbb, 0x9a, 0x07, 0xaf, 0x83, 0x2b, 0x12, 0xe8, 0xf6, 0xf4, 0x2d,
+	0x44, 0xba, 0x08, 0x1b, 0xc8, 0x76, 0xf4, 0x2d, 0xa4, 0x31, 0x78, 0x15, 0x5c, 0xca, 0x09, 0x0e,
+	0xd6, 0xed, 0x9e, 0x81, 0xac, 0x1d, 0x84, 0x85, 0xf7, 0xf7, 0x0a, 0xbc, 0x0e, 0x2a, 0x73, 0xac,
+	0x3b, 0x9d, 0x16, 0xf7, 0xfe, 0x41, 0x39, 0xc6, 0x7d, 0xd3, 0xd2, 0x7b, 0xda, 0x8f, 0x0a, 0xac,
+	0x4e, 0xb3, 0xcb, 0x56, 0xfc, 0x80, 0x74, 0x3b, 0xbb, 0x08, 0x6b, 0x3f, 0x1d, 0xc7, 0x70, 0x26,
+	0x8c, 0x9f, 0x15, 0x58, 0x03, 0xd7, 0xe6, 0x30, 0x76, 0xf5, 0x1d, 0xd4, 0x42, 0xf6, 0x96, 0xb3,
+	0xad, 0xfd, 0x92, 0x8d, 0x64, 0xd2, 0x10, 0xd3, 0xea, 0xdd, 0x17, 0xea, 0x3f, 0x57, 0xe1, 0x65,
+	0x70, 0x5e, 0x86, 0x0d, 0xbd, 0xab, 0x1b, 0x96, 0xf3, 0x50, 0xfb, 0x22, 0xbb, 0x78, 0x56, 0x65,
+	0x13, 0x6f, 0x8c, 0xf6, 0xa5, 0x0a, 0xd7, 0xc1, 0xd5, 0x23, 0xb8, 0xdc, 0xb0, 0xaf, 0x54, 0xf8,
+	0x02, 0x58, 0x97, 0x29, 0x18, 0xe9, 0x26, 0xd9, 0xc5, 0x96, 0x73, 0x88, 0xf7, 0xb5, 0x0a, 0xeb,
+	0xe0, 0x86, 0xcc, 0xbb, 0xa7, 0xbb, 0x2d, 0xe7, 0x21, 0x31, 0x50, 0xab, 0xd5, 0x93, 0x99, 0x4f,
+	0x55, 0x78, 0x7e, 0x3a, 0x39, 0xac, 0xb7, 0x85, 0xfa, 0x0f, 0x0b, 0xb0, 0x0c, 0xd6, 0x24, 0x74,
+	0x2a, 0xfe, 0x49, 0x41, 0x2a, 0x37, 0xb3, 0x08, 0xed, 0x1f, 0x15, 0xa4, 0x5e, 0x4e, 0x61, 0x39,
+	0xd1, 0xc7, 0xb2, 0x23, 0x6f, 0x2f, 0x69, 0xeb, 0x0f, 0xb4, 0xdf, 0x0b, 0xf0, 0x12, 0x80, 0x87,
+	0x60, 0x11, 0xf1, 0x8f, 0x82, 0xd4, 0x7b, 0xc9, 0x20, 0xc7, 0xfc, 0x53, 0xe6, 0x58, 0xb6, 0x8d,
+	0x30, 0xe9, 0xb9, 0x18, 0x77, 0x5c, 0xdb, 0xb4, 0xec, 0x2d, 0x51, 0xca, 0xaf, 0xa7, 0x36, 0x9e,
+	0xaa, 0xe0, 0x7f, 0x36, 0x4d, 0xfd, 0x03, 0x96, 0xdf, 0x63, 0x6d, 0x1a, 0xd2, 0x01, 0x0b, 0xf8,
+	0x16, 0xe3, 0x6f, 0x45, 0xf8, 0x1a, 0x28, 0x4a, 0x4f, 0x19, 0x78, 0x8e, 0x7f, 0xd3, 0xdb, 0x34,
+	0xf6, 0x1e, 0xd3, 0x98, 0x59, 0x66, 0xa5, 0x7c, 0xdc, 0x6b, 0x07, 0x52, 0x50, 0x71, 0x47, 0x1e,
+	0x4d, 0xd9, 0xbc, 0x3b, 0x12, 0x56, 0xff, 0xe6, 0xfa, 0xe4, 0x1b, 0xb2, 0xb2, 0xfe, 0xdc, 0x0b,
+	0x16, 0xbe, 0x01, 0x96, 0xa6, 0x5b, 0x09, 0x5e, 0x98, 0xdd, 0x52, 0x22, 0xcc, 0xc5, 0xf9, 0xcb,
+	0x0b, 0xbe, 0x02, 0x56, 0x7a, 0x69, 0xcc, 0x68, 0x30, 0x29, 0xed, 0x62, 0x43, 0x3c, 0x75, 0x1b,
+	0x93, 0xa7, 0x6e, 0x03, 0x65, 0x4f, 0xdd, 0x8a, 0xbc, 0xc6, 0x6e, 0x2b, 0x9b, 0x6f, 0xbe, 0xfd,
+	0xfa, 0xc0, 0x4f, 0xf7, 0xc7, 0x8f, 0x1a, 0xfd, 0x28, 0x68, 0x46, 0x23, 0x16, 0xf6, 0xa3, 0xd8,
+	0x6b, 0x8a, 0xfb, 0xee, 0x56, 0x30, 0x6d, 0xe0, 0x2d, 0xfe, 0x5e, 0xdd, 0xa3, 0x7d, 0xd6, 0x3c,
+	0xb8, 0xd3, 0x1c, 0x44, 0x4d, 0x2f, 0xf0, 0x1f, 0x2d, 0xf2, 0xd8, 0x77, 0xfe, 0x0a, 0x00, 0x00,
+	0xff, 0xff, 0x04, 0xda, 0xd9, 0x9e, 0x9f, 0x0b, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -874,6 +880,8 @@
 	UpdateMetricsConfiguration(ctx context.Context, in *MetricsConfigurationRequest, opts ...grpc.CallOption) (*MetricsConfigurationResponse, error)
 	// Get the instantenous value of a metric
 	GetMetric(ctx context.Context, in *GetMetricRequest, opts ...grpc.CallOption) (*GetMetricResponse, error)
+	// Initiate the server streaming of the metrics
+	StreamMetrics(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (NativeMetricsManagementService_StreamMetricsClient, error)
 }
 
 type nativeMetricsManagementServiceClient struct {
@@ -911,6 +919,38 @@
 	return out, nil
 }
 
+func (c *nativeMetricsManagementServiceClient) StreamMetrics(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (NativeMetricsManagementService_StreamMetricsClient, error) {
+	stream, err := c.cc.NewStream(ctx, &_NativeMetricsManagementService_serviceDesc.Streams[0], "/dmi.NativeMetricsManagementService/StreamMetrics", opts...)
+	if err != nil {
+		return nil, err
+	}
+	x := &nativeMetricsManagementServiceStreamMetricsClient{stream}
+	if err := x.ClientStream.SendMsg(in); err != nil {
+		return nil, err
+	}
+	if err := x.ClientStream.CloseSend(); err != nil {
+		return nil, err
+	}
+	return x, nil
+}
+
+type NativeMetricsManagementService_StreamMetricsClient interface {
+	Recv() (*Metric, error)
+	grpc.ClientStream
+}
+
+type nativeMetricsManagementServiceStreamMetricsClient struct {
+	grpc.ClientStream
+}
+
+func (x *nativeMetricsManagementServiceStreamMetricsClient) Recv() (*Metric, error) {
+	m := new(Metric)
+	if err := x.ClientStream.RecvMsg(m); err != nil {
+		return nil, err
+	}
+	return m, nil
+}
+
 // NativeMetricsManagementServiceServer is the server API for NativeMetricsManagementService service.
 type NativeMetricsManagementServiceServer interface {
 	// List the supported metrics for the passed device.
@@ -925,6 +965,25 @@
 	UpdateMetricsConfiguration(context.Context, *MetricsConfigurationRequest) (*MetricsConfigurationResponse, error)
 	// Get the instantenous value of a metric
 	GetMetric(context.Context, *GetMetricRequest) (*GetMetricResponse, error)
+	// Initiate the server streaming of the metrics
+	StreamMetrics(*empty.Empty, NativeMetricsManagementService_StreamMetricsServer) error
+}
+
+// UnimplementedNativeMetricsManagementServiceServer can be embedded to have forward compatible implementations.
+type UnimplementedNativeMetricsManagementServiceServer struct {
+}
+
+func (*UnimplementedNativeMetricsManagementServiceServer) ListMetrics(ctx context.Context, req *HardwareID) (*ListMetricsResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListMetrics not implemented")
+}
+func (*UnimplementedNativeMetricsManagementServiceServer) UpdateMetricsConfiguration(ctx context.Context, req *MetricsConfigurationRequest) (*MetricsConfigurationResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpdateMetricsConfiguration not implemented")
+}
+func (*UnimplementedNativeMetricsManagementServiceServer) GetMetric(ctx context.Context, req *GetMetricRequest) (*GetMetricResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetMetric not implemented")
+}
+func (*UnimplementedNativeMetricsManagementServiceServer) StreamMetrics(req *empty.Empty, srv NativeMetricsManagementService_StreamMetricsServer) error {
+	return status.Errorf(codes.Unimplemented, "method StreamMetrics not implemented")
 }
 
 func RegisterNativeMetricsManagementServiceServer(s *grpc.Server, srv NativeMetricsManagementServiceServer) {
@@ -985,6 +1044,27 @@
 	return interceptor(ctx, in, info, handler)
 }
 
+func _NativeMetricsManagementService_StreamMetrics_Handler(srv interface{}, stream grpc.ServerStream) error {
+	m := new(empty.Empty)
+	if err := stream.RecvMsg(m); err != nil {
+		return err
+	}
+	return srv.(NativeMetricsManagementServiceServer).StreamMetrics(m, &nativeMetricsManagementServiceStreamMetricsServer{stream})
+}
+
+type NativeMetricsManagementService_StreamMetricsServer interface {
+	Send(*Metric) error
+	grpc.ServerStream
+}
+
+type nativeMetricsManagementServiceStreamMetricsServer struct {
+	grpc.ServerStream
+}
+
+func (x *nativeMetricsManagementServiceStreamMetricsServer) Send(m *Metric) error {
+	return x.ServerStream.SendMsg(m)
+}
+
 var _NativeMetricsManagementService_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "dmi.NativeMetricsManagementService",
 	HandlerType: (*NativeMetricsManagementServiceServer)(nil),
@@ -1002,6 +1082,12 @@
 			Handler:    _NativeMetricsManagementService_GetMetric_Handler,
 		},
 	},
-	Streams:  []grpc.StreamDesc{},
+	Streams: []grpc.StreamDesc{
+		{
+			StreamName:    "StreamMetrics",
+			Handler:       _NativeMetricsManagementService_StreamMetrics_Handler,
+			ServerStreams: true,
+		},
+	},
 	Metadata: "dmi/hw_metrics_mgmt_service.proto",
 }
diff --git a/vendor/github.com/opencord/device-management-interface/go/dmi/sw_management_service.pb.go b/vendor/github.com/opencord/device-management-interface/go/dmi/sw_management_service.pb.go
index 7dbb089..db176be 100644
--- a/vendor/github.com/opencord/device-management-interface/go/dmi/sw_management_service.pb.go
+++ b/vendor/github.com/opencord/device-management-interface/go/dmi/sw_management_service.pb.go
@@ -8,6 +8,8 @@
 	fmt "fmt"
 	proto "github.com/golang/protobuf/proto"
 	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
 	math "math"
 )
 
@@ -773,6 +775,29 @@
 	GetStartupConfigurationInfo(context.Context, *StartupConfigInfoRequest) (*StartupConfigInfoResponse, error)
 }
 
+// UnimplementedNativeSoftwareManagementServiceServer can be embedded to have forward compatible implementations.
+type UnimplementedNativeSoftwareManagementServiceServer struct {
+}
+
+func (*UnimplementedNativeSoftwareManagementServiceServer) GetSoftwareVersion(ctx context.Context, req *HardwareID) (*GetSoftwareVersionInformationResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetSoftwareVersion not implemented")
+}
+func (*UnimplementedNativeSoftwareManagementServiceServer) DownloadImage(req *DownloadImageRequest, srv NativeSoftwareManagementService_DownloadImageServer) error {
+	return status.Errorf(codes.Unimplemented, "method DownloadImage not implemented")
+}
+func (*UnimplementedNativeSoftwareManagementServiceServer) ActivateImage(req *HardwareID, srv NativeSoftwareManagementService_ActivateImageServer) error {
+	return status.Errorf(codes.Unimplemented, "method ActivateImage not implemented")
+}
+func (*UnimplementedNativeSoftwareManagementServiceServer) RevertToStandbyImage(req *HardwareID, srv NativeSoftwareManagementService_RevertToStandbyImageServer) error {
+	return status.Errorf(codes.Unimplemented, "method RevertToStandbyImage not implemented")
+}
+func (*UnimplementedNativeSoftwareManagementServiceServer) UpdateStartupConfiguration(req *ConfigRequest, srv NativeSoftwareManagementService_UpdateStartupConfigurationServer) error {
+	return status.Errorf(codes.Unimplemented, "method UpdateStartupConfiguration not implemented")
+}
+func (*UnimplementedNativeSoftwareManagementServiceServer) GetStartupConfigurationInfo(ctx context.Context, req *StartupConfigInfoRequest) (*StartupConfigInfoResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetStartupConfigurationInfo not implemented")
+}
+
 func RegisterNativeSoftwareManagementServiceServer(s *grpc.Server, srv NativeSoftwareManagementServiceServer) {
 	s.RegisterService(&_NativeSoftwareManagementService_serviceDesc, srv)
 }
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 1b25546..98b7010 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -74,7 +74,7 @@
 github.com/olekukonko/tablewriter
 # github.com/opencord/cordctl v0.0.0-20190909161711-01e9c1f04bf4
 github.com/opencord/cordctl/pkg/format
-# github.com/opencord/device-management-interface v0.11.0
+# github.com/opencord/device-management-interface v1.2.1
 github.com/opencord/device-management-interface/go/dmi
 # github.com/opencord/omci-lib-go/v2 v2.1.2
 github.com/opencord/omci-lib-go/v2
