blob: 7b944effa1d63d810e9bc8eda773686ed706ef41 [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: dmi/hw.proto
package dmi
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type ComponentType int32
const (
ComponentType_COMPONENT_TYPE_UNDEFINED ComponentType = 0
ComponentType_COMPONENT_TYPE_UNKNOWN ComponentType = 1
ComponentType_COMPONENT_TYPE_CHASSIS ComponentType = 2
ComponentType_COMPONENT_TYPE_BACKPLANE ComponentType = 3
ComponentType_COMPONENT_TYPE_CONTAINER ComponentType = 4
ComponentType_COMPONENT_TYPE_POWER_SUPPLY ComponentType = 5
ComponentType_COMPONENT_TYPE_FAN ComponentType = 6
ComponentType_COMPONENT_TYPE_SENSOR ComponentType = 7
ComponentType_COMPONENT_TYPE_MODULE ComponentType = 8
ComponentType_COMPONENT_TYPE_PORT ComponentType = 9
ComponentType_COMPONENT_TYPE_CPU ComponentType = 10
ComponentType_COMPONENT_TYPE_BATTERY ComponentType = 11
ComponentType_COMPONENT_TYPE_STORAGE ComponentType = 12
ComponentType_COMPONENT_TYPE_MEMORY ComponentType = 13
// A component of type "TRANSCEIVER" could have 0 or more components of type "PORT" as children.
ComponentType_COMPONENT_TYPE_TRANSCEIVER ComponentType = 14
)
var ComponentType_name = map[int32]string{
0: "COMPONENT_TYPE_UNDEFINED",
1: "COMPONENT_TYPE_UNKNOWN",
2: "COMPONENT_TYPE_CHASSIS",
3: "COMPONENT_TYPE_BACKPLANE",
4: "COMPONENT_TYPE_CONTAINER",
5: "COMPONENT_TYPE_POWER_SUPPLY",
6: "COMPONENT_TYPE_FAN",
7: "COMPONENT_TYPE_SENSOR",
8: "COMPONENT_TYPE_MODULE",
9: "COMPONENT_TYPE_PORT",
10: "COMPONENT_TYPE_CPU",
11: "COMPONENT_TYPE_BATTERY",
12: "COMPONENT_TYPE_STORAGE",
13: "COMPONENT_TYPE_MEMORY",
14: "COMPONENT_TYPE_TRANSCEIVER",
}
var ComponentType_value = map[string]int32{
"COMPONENT_TYPE_UNDEFINED": 0,
"COMPONENT_TYPE_UNKNOWN": 1,
"COMPONENT_TYPE_CHASSIS": 2,
"COMPONENT_TYPE_BACKPLANE": 3,
"COMPONENT_TYPE_CONTAINER": 4,
"COMPONENT_TYPE_POWER_SUPPLY": 5,
"COMPONENT_TYPE_FAN": 6,
"COMPONENT_TYPE_SENSOR": 7,
"COMPONENT_TYPE_MODULE": 8,
"COMPONENT_TYPE_PORT": 9,
"COMPONENT_TYPE_CPU": 10,
"COMPONENT_TYPE_BATTERY": 11,
"COMPONENT_TYPE_STORAGE": 12,
"COMPONENT_TYPE_MEMORY": 13,
"COMPONENT_TYPE_TRANSCEIVER": 14,
}
func (x ComponentType) String() string {
return proto.EnumName(ComponentType_name, int32(x))
}
func (ComponentType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{0}
}
type ComponentAdminState int32
const (
ComponentAdminState_COMP_ADMIN_STATE_UNDEFINED ComponentAdminState = 0
ComponentAdminState_COMP_ADMIN_STATE_UNKNOWN ComponentAdminState = 1
ComponentAdminState_COMP_ADMIN_STATE_LOCKED ComponentAdminState = 2
ComponentAdminState_COMP_ADMIN_STATE_SHUTTING_DOWN ComponentAdminState = 3
ComponentAdminState_COMP_ADMIN_STATE_UNLOCKED ComponentAdminState = 4
)
var ComponentAdminState_name = map[int32]string{
0: "COMP_ADMIN_STATE_UNDEFINED",
1: "COMP_ADMIN_STATE_UNKNOWN",
2: "COMP_ADMIN_STATE_LOCKED",
3: "COMP_ADMIN_STATE_SHUTTING_DOWN",
4: "COMP_ADMIN_STATE_UNLOCKED",
}
var ComponentAdminState_value = map[string]int32{
"COMP_ADMIN_STATE_UNDEFINED": 0,
"COMP_ADMIN_STATE_UNKNOWN": 1,
"COMP_ADMIN_STATE_LOCKED": 2,
"COMP_ADMIN_STATE_SHUTTING_DOWN": 3,
"COMP_ADMIN_STATE_UNLOCKED": 4,
}
func (x ComponentAdminState) String() string {
return proto.EnumName(ComponentAdminState_name, int32(x))
}
func (ComponentAdminState) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{1}
}
type ComponentOperState int32
const (
ComponentOperState_COMP_OPER_STATE_UNDEFINED ComponentOperState = 0
ComponentOperState_COMP_OPER_STATE_UNKNOWN ComponentOperState = 1
ComponentOperState_COMP_OPER_STATE_DISABLED ComponentOperState = 2
ComponentOperState_COMP_OPER_STATE_ENABLED ComponentOperState = 3
ComponentOperState_COMP_OPER_STATE_TESTING ComponentOperState = 4
)
var ComponentOperState_name = map[int32]string{
0: "COMP_OPER_STATE_UNDEFINED",
1: "COMP_OPER_STATE_UNKNOWN",
2: "COMP_OPER_STATE_DISABLED",
3: "COMP_OPER_STATE_ENABLED",
4: "COMP_OPER_STATE_TESTING",
}
var ComponentOperState_value = map[string]int32{
"COMP_OPER_STATE_UNDEFINED": 0,
"COMP_OPER_STATE_UNKNOWN": 1,
"COMP_OPER_STATE_DISABLED": 2,
"COMP_OPER_STATE_ENABLED": 3,
"COMP_OPER_STATE_TESTING": 4,
}
func (x ComponentOperState) String() string {
return proto.EnumName(ComponentOperState_name, int32(x))
}
func (ComponentOperState) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{2}
}
type ComponentUsageState int32
const (
ComponentUsageState_COMP_USAGE_STATE_UNDEFINED ComponentUsageState = 0
ComponentUsageState_COMP_USAGE_STATE_UNKNOWN ComponentUsageState = 1
ComponentUsageState_COMP_USAGE_STATE_IDLE ComponentUsageState = 2
ComponentUsageState_COMP_USAGE_STATE_ACTIVE ComponentUsageState = 3
ComponentUsageState_COMP_USAGE_STATE_BUSY ComponentUsageState = 4
)
var ComponentUsageState_name = map[int32]string{
0: "COMP_USAGE_STATE_UNDEFINED",
1: "COMP_USAGE_STATE_UNKNOWN",
2: "COMP_USAGE_STATE_IDLE",
3: "COMP_USAGE_STATE_ACTIVE",
4: "COMP_USAGE_STATE_BUSY",
}
var ComponentUsageState_value = map[string]int32{
"COMP_USAGE_STATE_UNDEFINED": 0,
"COMP_USAGE_STATE_UNKNOWN": 1,
"COMP_USAGE_STATE_IDLE": 2,
"COMP_USAGE_STATE_ACTIVE": 3,
"COMP_USAGE_STATE_BUSY": 4,
}
func (x ComponentUsageState) String() string {
return proto.EnumName(ComponentUsageState_name, int32(x))
}
func (ComponentUsageState) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{3}
}
type ComponentAlarmState int32
const (
ComponentAlarmState_COMP_ALARM_STATE_UNDEFINED ComponentAlarmState = 0
ComponentAlarmState_COMP_ALARM_STATE_UNKNOWN ComponentAlarmState = 1
ComponentAlarmState_COMP_ALARM_STATE_UNDER_REPAIR ComponentAlarmState = 2
ComponentAlarmState_COMP_ALARM_STATE_CRITICAL ComponentAlarmState = 3
ComponentAlarmState_COMP_ALARM_STATE_MAJOR ComponentAlarmState = 4
ComponentAlarmState_COMP_ALARM_STATE_MINOR ComponentAlarmState = 5
ComponentAlarmState_COMP_ALARM_STATE_WARNING ComponentAlarmState = 6
ComponentAlarmState_COMP_ALARM_STATE_INDETERMINATE ComponentAlarmState = 7
)
var ComponentAlarmState_name = map[int32]string{
0: "COMP_ALARM_STATE_UNDEFINED",
1: "COMP_ALARM_STATE_UNKNOWN",
2: "COMP_ALARM_STATE_UNDER_REPAIR",
3: "COMP_ALARM_STATE_CRITICAL",
4: "COMP_ALARM_STATE_MAJOR",
5: "COMP_ALARM_STATE_MINOR",
6: "COMP_ALARM_STATE_WARNING",
7: "COMP_ALARM_STATE_INDETERMINATE",
}
var ComponentAlarmState_value = map[string]int32{
"COMP_ALARM_STATE_UNDEFINED": 0,
"COMP_ALARM_STATE_UNKNOWN": 1,
"COMP_ALARM_STATE_UNDER_REPAIR": 2,
"COMP_ALARM_STATE_CRITICAL": 3,
"COMP_ALARM_STATE_MAJOR": 4,
"COMP_ALARM_STATE_MINOR": 5,
"COMP_ALARM_STATE_WARNING": 6,
"COMP_ALARM_STATE_INDETERMINATE": 7,
}
func (x ComponentAlarmState) String() string {
return proto.EnumName(ComponentAlarmState_name, int32(x))
}
func (ComponentAlarmState) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{4}
}
type ComponentStandbyState int32
const (
ComponentStandbyState_COMP_STANDBY_STATE_UNDEFINED ComponentStandbyState = 0
ComponentStandbyState_COMP_STANDBY_STATE_UNKNOWN ComponentStandbyState = 1
ComponentStandbyState_COMP_STANDBY_STATE_HOT ComponentStandbyState = 2
ComponentStandbyState_COMP_STANDBY_STATE_COLD ComponentStandbyState = 3
ComponentStandbyState_COMP_STANDBY_STATE_PROVIDING_SERVICE ComponentStandbyState = 4
)
var ComponentStandbyState_name = map[int32]string{
0: "COMP_STANDBY_STATE_UNDEFINED",
1: "COMP_STANDBY_STATE_UNKNOWN",
2: "COMP_STANDBY_STATE_HOT",
3: "COMP_STANDBY_STATE_COLD",
4: "COMP_STANDBY_STATE_PROVIDING_SERVICE",
}
var ComponentStandbyState_value = map[string]int32{
"COMP_STANDBY_STATE_UNDEFINED": 0,
"COMP_STANDBY_STATE_UNKNOWN": 1,
"COMP_STANDBY_STATE_HOT": 2,
"COMP_STANDBY_STATE_COLD": 3,
"COMP_STANDBY_STATE_PROVIDING_SERVICE": 4,
}
func (x ComponentStandbyState) String() string {
return proto.EnumName(ComponentStandbyState_name, int32(x))
}
func (ComponentStandbyState) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{5}
}
type DataValueType int32
const (
DataValueType_VALUE_TYPE_UNDEFINED DataValueType = 0
DataValueType_VALUE_TYPE_OTHER DataValueType = 1
DataValueType_VALUE_TYPE_UNKNOWN DataValueType = 2
DataValueType_VALUE_TYPE_VOLTS_AC DataValueType = 3
DataValueType_VALUE_TYPE_VOLTS_DC DataValueType = 4
DataValueType_VALUE_TYPE_AMPERES DataValueType = 5
DataValueType_VALUE_TYPE_WATTS DataValueType = 6
DataValueType_VALUE_TYPE_HERTZ DataValueType = 7
DataValueType_VALUE_TYPE_CELSIUS DataValueType = 8
DataValueType_VALUE_TYPE_PERCENT_RH DataValueType = 9
DataValueType_VALUE_TYPE_RPM DataValueType = 10
DataValueType_VALUE_TYPE_CMM DataValueType = 11
DataValueType_VALUE_TYPE_TRUTH_VALUE DataValueType = 12
DataValueType_VALUE_TYPE_PERCENT DataValueType = 13
DataValueType_VALUE_TYPE_METERS DataValueType = 14
DataValueType_VALUE_TYPE_BYTES DataValueType = 15
DataValueType_VALUE_TYPE_DBM DataValueType = 16
)
var DataValueType_name = map[int32]string{
0: "VALUE_TYPE_UNDEFINED",
1: "VALUE_TYPE_OTHER",
2: "VALUE_TYPE_UNKNOWN",
3: "VALUE_TYPE_VOLTS_AC",
4: "VALUE_TYPE_VOLTS_DC",
5: "VALUE_TYPE_AMPERES",
6: "VALUE_TYPE_WATTS",
7: "VALUE_TYPE_HERTZ",
8: "VALUE_TYPE_CELSIUS",
9: "VALUE_TYPE_PERCENT_RH",
10: "VALUE_TYPE_RPM",
11: "VALUE_TYPE_CMM",
12: "VALUE_TYPE_TRUTH_VALUE",
13: "VALUE_TYPE_PERCENT",
14: "VALUE_TYPE_METERS",
15: "VALUE_TYPE_BYTES",
16: "VALUE_TYPE_DBM",
}
var DataValueType_value = map[string]int32{
"VALUE_TYPE_UNDEFINED": 0,
"VALUE_TYPE_OTHER": 1,
"VALUE_TYPE_UNKNOWN": 2,
"VALUE_TYPE_VOLTS_AC": 3,
"VALUE_TYPE_VOLTS_DC": 4,
"VALUE_TYPE_AMPERES": 5,
"VALUE_TYPE_WATTS": 6,
"VALUE_TYPE_HERTZ": 7,
"VALUE_TYPE_CELSIUS": 8,
"VALUE_TYPE_PERCENT_RH": 9,
"VALUE_TYPE_RPM": 10,
"VALUE_TYPE_CMM": 11,
"VALUE_TYPE_TRUTH_VALUE": 12,
"VALUE_TYPE_PERCENT": 13,
"VALUE_TYPE_METERS": 14,
"VALUE_TYPE_BYTES": 15,
"VALUE_TYPE_DBM": 16,
}
func (x DataValueType) String() string {
return proto.EnumName(DataValueType_name, int32(x))
}
func (DataValueType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{6}
}
type ValueScale int32
const (
ValueScale_VALUE_SCALE_UNDEFINED ValueScale = 0
ValueScale_VALUE_SCALE_YOCTO ValueScale = 1
ValueScale_VALUE_SCALE_ZEPTO ValueScale = 2
ValueScale_VALUE_SCALE_ATTO ValueScale = 3
ValueScale_VALUE_SCALE_FEMTO ValueScale = 4
ValueScale_VALUE_SCALE_PICO ValueScale = 5
ValueScale_VALUE_SCALE_NANO ValueScale = 6
ValueScale_VALUE_SCALE_MICRO ValueScale = 7
ValueScale_VALUE_SCALE_MILLI ValueScale = 8
ValueScale_VALUE_SCALE_UNITS ValueScale = 9
ValueScale_VALUE_SCALE_KILO ValueScale = 10
ValueScale_VALUE_SCALE_MEGA ValueScale = 11
ValueScale_VALUE_SCALE_GIGA ValueScale = 12
ValueScale_VALUE_SCALE_TERA ValueScale = 13
ValueScale_VALUE_SCALE_PETA ValueScale = 14
ValueScale_VALUE_SCALE_EXA ValueScale = 15
ValueScale_VALUE_SCALE_ZETTA ValueScale = 16
ValueScale_VALUE_SCALE_YOTTA ValueScale = 17
)
var ValueScale_name = map[int32]string{
0: "VALUE_SCALE_UNDEFINED",
1: "VALUE_SCALE_YOCTO",
2: "VALUE_SCALE_ZEPTO",
3: "VALUE_SCALE_ATTO",
4: "VALUE_SCALE_FEMTO",
5: "VALUE_SCALE_PICO",
6: "VALUE_SCALE_NANO",
7: "VALUE_SCALE_MICRO",
8: "VALUE_SCALE_MILLI",
9: "VALUE_SCALE_UNITS",
10: "VALUE_SCALE_KILO",
11: "VALUE_SCALE_MEGA",
12: "VALUE_SCALE_GIGA",
13: "VALUE_SCALE_TERA",
14: "VALUE_SCALE_PETA",
15: "VALUE_SCALE_EXA",
16: "VALUE_SCALE_ZETTA",
17: "VALUE_SCALE_YOTTA",
}
var ValueScale_value = map[string]int32{
"VALUE_SCALE_UNDEFINED": 0,
"VALUE_SCALE_YOCTO": 1,
"VALUE_SCALE_ZEPTO": 2,
"VALUE_SCALE_ATTO": 3,
"VALUE_SCALE_FEMTO": 4,
"VALUE_SCALE_PICO": 5,
"VALUE_SCALE_NANO": 6,
"VALUE_SCALE_MICRO": 7,
"VALUE_SCALE_MILLI": 8,
"VALUE_SCALE_UNITS": 9,
"VALUE_SCALE_KILO": 10,
"VALUE_SCALE_MEGA": 11,
"VALUE_SCALE_GIGA": 12,
"VALUE_SCALE_TERA": 13,
"VALUE_SCALE_PETA": 14,
"VALUE_SCALE_EXA": 15,
"VALUE_SCALE_ZETTA": 16,
"VALUE_SCALE_YOTTA": 17,
}
func (x ValueScale) String() string {
return proto.EnumName(ValueScale_name, int32(x))
}
func (ValueScale) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{7}
}
type SensorStatus int32
const (
SensorStatus_SENSOR_STATUS_UNDEFINED SensorStatus = 0
SensorStatus_SENSOR_STATUS_OK SensorStatus = 1
SensorStatus_SENSOR_STATUS_UNAVAILABLE SensorStatus = 2
SensorStatus_SENSOR_STATUS_NONOPERATIONAL SensorStatus = 3
)
var SensorStatus_name = map[int32]string{
0: "SENSOR_STATUS_UNDEFINED",
1: "SENSOR_STATUS_OK",
2: "SENSOR_STATUS_UNAVAILABLE",
3: "SENSOR_STATUS_NONOPERATIONAL",
}
var SensorStatus_value = map[string]int32{
"SENSOR_STATUS_UNDEFINED": 0,
"SENSOR_STATUS_OK": 1,
"SENSOR_STATUS_UNAVAILABLE": 2,
"SENSOR_STATUS_NONOPERATIONAL": 3,
}
func (x SensorStatus) String() string {
return proto.EnumName(SensorStatus_name, int32(x))
}
func (SensorStatus) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{8}
}
type TransceiverType int32
const (
TransceiverType_TYPE_UNDEFINED TransceiverType = 0
TransceiverType_ETHERNET TransceiverType = 1
TransceiverType_GPON TransceiverType = 2
TransceiverType_XGPON TransceiverType = 3
TransceiverType_XGSPON TransceiverType = 4
TransceiverType_CPON TransceiverType = 5
TransceiverType_NG_PON2 TransceiverType = 6
TransceiverType_EPON TransceiverType = 7
TransceiverType_COMBO_GPON_XGSPON TransceiverType = 8
TransceiverType_TYPE_NOT_DETECTED TransceiverType = 255
)
var TransceiverType_name = map[int32]string{
0: "TYPE_UNDEFINED",
1: "ETHERNET",
2: "GPON",
3: "XGPON",
4: "XGSPON",
5: "CPON",
6: "NG_PON2",
7: "EPON",
8: "COMBO_GPON_XGSPON",
255: "TYPE_NOT_DETECTED",
}
var TransceiverType_value = map[string]int32{
"TYPE_UNDEFINED": 0,
"ETHERNET": 1,
"GPON": 2,
"XGPON": 3,
"XGSPON": 4,
"CPON": 5,
"NG_PON2": 6,
"EPON": 7,
"COMBO_GPON_XGSPON": 8,
"TYPE_NOT_DETECTED": 255,
}
func (x TransceiverType) String() string {
return proto.EnumName(TransceiverType_name, int32(x))
}
func (TransceiverType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{9}
}
type PortComponentAttributes_ConnectorType int32
const (
PortComponentAttributes_CONNECTOR_TYPE_UNDEFINED PortComponentAttributes_ConnectorType = 0
PortComponentAttributes_RJ45 PortComponentAttributes_ConnectorType = 1
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{
0: "CONNECTOR_TYPE_UNDEFINED",
1: "RJ45",
2: "FIBER_LC",
3: "FIBER_SC_PC",
4: "FIBER_MPO",
5: "RS232",
}
var PortComponentAttributes_ConnectorType_value = map[string]int32{
"CONNECTOR_TYPE_UNDEFINED": 0,
"RJ45": 1,
"FIBER_LC": 2,
"FIBER_SC_PC": 3,
"FIBER_MPO": 4,
"RS232": 5,
}
func (x PortComponentAttributes_ConnectorType) String() string {
return proto.EnumName(PortComponentAttributes_ConnectorType_name, int32(x))
}
func (PortComponentAttributes_ConnectorType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{5, 0}
}
type PortComponentAttributes_Speed int32
const (
PortComponentAttributes_SPEED_UNDEFINED PortComponentAttributes_Speed = 0
PortComponentAttributes_DYNAMIC PortComponentAttributes_Speed = 1
PortComponentAttributes_GIGABIT_1 PortComponentAttributes_Speed = 2
PortComponentAttributes_GIGABIT_10 PortComponentAttributes_Speed = 3
PortComponentAttributes_GIGABIT_25 PortComponentAttributes_Speed = 4
PortComponentAttributes_GIGABIT_40 PortComponentAttributes_Speed = 5
PortComponentAttributes_GIGABIT_100 PortComponentAttributes_Speed = 6
PortComponentAttributes_GIGABIT_400 PortComponentAttributes_Speed = 7
PortComponentAttributes_MEGABIT_2500 PortComponentAttributes_Speed = 8
PortComponentAttributes_MEGABIT_1250 PortComponentAttributes_Speed = 9
)
var PortComponentAttributes_Speed_name = map[int32]string{
0: "SPEED_UNDEFINED",
1: "DYNAMIC",
2: "GIGABIT_1",
3: "GIGABIT_10",
4: "GIGABIT_25",
5: "GIGABIT_40",
6: "GIGABIT_100",
7: "GIGABIT_400",
8: "MEGABIT_2500",
9: "MEGABIT_1250",
}
var PortComponentAttributes_Speed_value = map[string]int32{
"SPEED_UNDEFINED": 0,
"DYNAMIC": 1,
"GIGABIT_1": 2,
"GIGABIT_10": 3,
"GIGABIT_25": 4,
"GIGABIT_40": 5,
"GIGABIT_100": 6,
"GIGABIT_400": 7,
"MEGABIT_2500": 8,
"MEGABIT_1250": 9,
}
func (x PortComponentAttributes_Speed) String() string {
return proto.EnumName(PortComponentAttributes_Speed_name, int32(x))
}
func (PortComponentAttributes_Speed) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{5, 1}
}
type PortComponentAttributes_Protocol int32
const (
PortComponentAttributes_PROTOCOL_UNDEFINED PortComponentAttributes_Protocol = 0
PortComponentAttributes_ETHERNET PortComponentAttributes_Protocol = 1
PortComponentAttributes_GPON PortComponentAttributes_Protocol = 2
PortComponentAttributes_XGPON PortComponentAttributes_Protocol = 3
PortComponentAttributes_XGSPON PortComponentAttributes_Protocol = 4
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{
0: "PROTOCOL_UNDEFINED",
1: "ETHERNET",
2: "GPON",
3: "XGPON",
4: "XGSPON",
5: "GFAST",
6: "SERIAL",
7: "EPON",
8: "BITS",
}
var PortComponentAttributes_Protocol_value = map[string]int32{
"PROTOCOL_UNDEFINED": 0,
"ETHERNET": 1,
"GPON": 2,
"XGPON": 3,
"XGSPON": 4,
"GFAST": 5,
"SERIAL": 6,
"EPON": 7,
"BITS": 8,
}
func (x PortComponentAttributes_Protocol) String() string {
return proto.EnumName(PortComponentAttributes_Protocol_name, int32(x))
}
func (PortComponentAttributes_Protocol) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{5, 2}
}
type PsuComponentAttributes_SupportedVoltage int32
const (
PsuComponentAttributes_SUPPORTED_VOLTAGE_UNDEFINED PsuComponentAttributes_SupportedVoltage = 0
PsuComponentAttributes_V48 PsuComponentAttributes_SupportedVoltage = 1
PsuComponentAttributes_V230 PsuComponentAttributes_SupportedVoltage = 2
PsuComponentAttributes_V115 PsuComponentAttributes_SupportedVoltage = 3
)
var PsuComponentAttributes_SupportedVoltage_name = map[int32]string{
0: "SUPPORTED_VOLTAGE_UNDEFINED",
1: "V48",
2: "V230",
3: "V115",
}
var PsuComponentAttributes_SupportedVoltage_value = map[string]int32{
"SUPPORTED_VOLTAGE_UNDEFINED": 0,
"V48": 1,
"V230": 2,
"V115": 3,
}
func (x PsuComponentAttributes_SupportedVoltage) String() string {
return proto.EnumName(PsuComponentAttributes_SupportedVoltage_name, int32(x))
}
func (PsuComponentAttributes_SupportedVoltage) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{11, 0}
}
type TransceiverComponentsAttributes_FormFactor int32
const (
TransceiverComponentsAttributes_FORM_FACTOR_UNKNOWN TransceiverComponentsAttributes_FormFactor = 0
TransceiverComponentsAttributes_QSFP TransceiverComponentsAttributes_FormFactor = 1
TransceiverComponentsAttributes_QSFP_PLUS TransceiverComponentsAttributes_FormFactor = 2
TransceiverComponentsAttributes_QSFP28 TransceiverComponentsAttributes_FormFactor = 3
TransceiverComponentsAttributes_SFP TransceiverComponentsAttributes_FormFactor = 4
TransceiverComponentsAttributes_SFP_PLUS TransceiverComponentsAttributes_FormFactor = 5
TransceiverComponentsAttributes_XFP TransceiverComponentsAttributes_FormFactor = 6
TransceiverComponentsAttributes_CFP4 TransceiverComponentsAttributes_FormFactor = 7
TransceiverComponentsAttributes_CFP2 TransceiverComponentsAttributes_FormFactor = 8
TransceiverComponentsAttributes_CPAK TransceiverComponentsAttributes_FormFactor = 9
TransceiverComponentsAttributes_X2 TransceiverComponentsAttributes_FormFactor = 10
TransceiverComponentsAttributes_OTHER TransceiverComponentsAttributes_FormFactor = 11
TransceiverComponentsAttributes_CFP TransceiverComponentsAttributes_FormFactor = 12
TransceiverComponentsAttributes_CFP2_ACO TransceiverComponentsAttributes_FormFactor = 13
TransceiverComponentsAttributes_CFP2_DCO TransceiverComponentsAttributes_FormFactor = 14
TransceiverComponentsAttributes_QSFP_DD TransceiverComponentsAttributes_FormFactor = 15
)
var TransceiverComponentsAttributes_FormFactor_name = map[int32]string{
0: "FORM_FACTOR_UNKNOWN",
1: "QSFP",
2: "QSFP_PLUS",
3: "QSFP28",
4: "SFP",
5: "SFP_PLUS",
6: "XFP",
7: "CFP4",
8: "CFP2",
9: "CPAK",
10: "X2",
11: "OTHER",
12: "CFP",
13: "CFP2_ACO",
14: "CFP2_DCO",
15: "QSFP_DD",
}
var TransceiverComponentsAttributes_FormFactor_value = map[string]int32{
"FORM_FACTOR_UNKNOWN": 0,
"QSFP": 1,
"QSFP_PLUS": 2,
"QSFP28": 3,
"SFP": 4,
"SFP_PLUS": 5,
"XFP": 6,
"CFP4": 7,
"CFP2": 8,
"CPAK": 9,
"X2": 10,
"OTHER": 11,
"CFP": 12,
"CFP2_ACO": 13,
"CFP2_DCO": 14,
"QSFP_DD": 15,
}
func (x TransceiverComponentsAttributes_FormFactor) String() string {
return proto.EnumName(TransceiverComponentsAttributes_FormFactor_name, int32(x))
}
func (TransceiverComponentsAttributes_FormFactor) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{12, 0}
}
type Uuid struct {
Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Uuid) Reset() { *m = Uuid{} }
func (m *Uuid) String() string { return proto.CompactTextString(m) }
func (*Uuid) ProtoMessage() {}
func (*Uuid) Descriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{0}
}
func (m *Uuid) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Uuid.Unmarshal(m, b)
}
func (m *Uuid) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Uuid.Marshal(b, m, deterministic)
}
func (m *Uuid) XXX_Merge(src proto.Message) {
xxx_messageInfo_Uuid.Merge(m, src)
}
func (m *Uuid) XXX_Size() int {
return xxx_messageInfo_Uuid.Size(m)
}
func (m *Uuid) XXX_DiscardUnknown() {
xxx_messageInfo_Uuid.DiscardUnknown(m)
}
var xxx_messageInfo_Uuid proto.InternalMessageInfo
func (m *Uuid) GetUuid() string {
if m != nil {
return m.Uuid
}
return ""
}
type HardwareID struct {
Uuid *Uuid `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *HardwareID) Reset() { *m = HardwareID{} }
func (m *HardwareID) String() string { return proto.CompactTextString(m) }
func (*HardwareID) ProtoMessage() {}
func (*HardwareID) Descriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{1}
}
func (m *HardwareID) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_HardwareID.Unmarshal(m, b)
}
func (m *HardwareID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_HardwareID.Marshal(b, m, deterministic)
}
func (m *HardwareID) XXX_Merge(src proto.Message) {
xxx_messageInfo_HardwareID.Merge(m, src)
}
func (m *HardwareID) XXX_Size() int {
return xxx_messageInfo_HardwareID.Size(m)
}
func (m *HardwareID) XXX_DiscardUnknown() {
xxx_messageInfo_HardwareID.DiscardUnknown(m)
}
var xxx_messageInfo_HardwareID proto.InternalMessageInfo
func (m *HardwareID) GetUuid() *Uuid {
if m != nil {
return m.Uuid
}
return nil
}
type Uri struct {
Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Uri) Reset() { *m = Uri{} }
func (m *Uri) String() string { return proto.CompactTextString(m) }
func (*Uri) ProtoMessage() {}
func (*Uri) Descriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{2}
}
func (m *Uri) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Uri.Unmarshal(m, b)
}
func (m *Uri) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Uri.Marshal(b, m, deterministic)
}
func (m *Uri) XXX_Merge(src proto.Message) {
xxx_messageInfo_Uri.Merge(m, src)
}
func (m *Uri) XXX_Size() int {
return xxx_messageInfo_Uri.Size(m)
}
func (m *Uri) XXX_DiscardUnknown() {
xxx_messageInfo_Uri.DiscardUnknown(m)
}
var xxx_messageInfo_Uri proto.InternalMessageInfo
func (m *Uri) GetUri() string {
if m != nil {
return m.Uri
}
return ""
}
type ComponentState struct {
StateLastChanged *timestamp.Timestamp `protobuf:"bytes,1,opt,name=state_last_changed,json=stateLastChanged,proto3" json:"state_last_changed,omitempty"`
AdminState ComponentAdminState `protobuf:"varint,2,opt,name=admin_state,json=adminState,proto3,enum=dmi.ComponentAdminState" json:"admin_state,omitempty"`
OperState ComponentOperState `protobuf:"varint,3,opt,name=oper_state,json=operState,proto3,enum=dmi.ComponentOperState" json:"oper_state,omitempty"`
UsageState ComponentUsageState `protobuf:"varint,4,opt,name=usage_state,json=usageState,proto3,enum=dmi.ComponentUsageState" json:"usage_state,omitempty"`
AlarmState ComponentAlarmState `protobuf:"varint,5,opt,name=alarm_state,json=alarmState,proto3,enum=dmi.ComponentAlarmState" json:"alarm_state,omitempty"`
StandbyState ComponentStandbyState `protobuf:"varint,6,opt,name=standby_state,json=standbyState,proto3,enum=dmi.ComponentStandbyState" json:"standby_state,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ComponentState) Reset() { *m = ComponentState{} }
func (m *ComponentState) String() string { return proto.CompactTextString(m) }
func (*ComponentState) ProtoMessage() {}
func (*ComponentState) Descriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{3}
}
func (m *ComponentState) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ComponentState.Unmarshal(m, b)
}
func (m *ComponentState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ComponentState.Marshal(b, m, deterministic)
}
func (m *ComponentState) XXX_Merge(src proto.Message) {
xxx_messageInfo_ComponentState.Merge(m, src)
}
func (m *ComponentState) XXX_Size() int {
return xxx_messageInfo_ComponentState.Size(m)
}
func (m *ComponentState) XXX_DiscardUnknown() {
xxx_messageInfo_ComponentState.DiscardUnknown(m)
}
var xxx_messageInfo_ComponentState proto.InternalMessageInfo
func (m *ComponentState) GetStateLastChanged() *timestamp.Timestamp {
if m != nil {
return m.StateLastChanged
}
return nil
}
func (m *ComponentState) GetAdminState() ComponentAdminState {
if m != nil {
return m.AdminState
}
return ComponentAdminState_COMP_ADMIN_STATE_UNDEFINED
}
func (m *ComponentState) GetOperState() ComponentOperState {
if m != nil {
return m.OperState
}
return ComponentOperState_COMP_OPER_STATE_UNDEFINED
}
func (m *ComponentState) GetUsageState() ComponentUsageState {
if m != nil {
return m.UsageState
}
return ComponentUsageState_COMP_USAGE_STATE_UNDEFINED
}
func (m *ComponentState) GetAlarmState() ComponentAlarmState {
if m != nil {
return m.AlarmState
}
return ComponentAlarmState_COMP_ALARM_STATE_UNDEFINED
}
func (m *ComponentState) GetStandbyState() ComponentStandbyState {
if m != nil {
return m.StandbyState
}
return ComponentStandbyState_COMP_STANDBY_STATE_UNDEFINED
}
type ComponentSensorData struct {
Value int32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
Type DataValueType `protobuf:"varint,2,opt,name=type,proto3,enum=dmi.DataValueType" json:"type,omitempty"`
Scale ValueScale `protobuf:"varint,3,opt,name=scale,proto3,enum=dmi.ValueScale" json:"scale,omitempty"`
Precision int32 `protobuf:"varint,4,opt,name=precision,proto3" json:"precision,omitempty"`
Status SensorStatus `protobuf:"varint,5,opt,name=status,proto3,enum=dmi.SensorStatus" json:"status,omitempty"`
UnitsDisplay string `protobuf:"bytes,6,opt,name=units_display,json=unitsDisplay,proto3" json:"units_display,omitempty"`
Timestamp *timestamp.Timestamp `protobuf:"bytes,7,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
ValueUpdateRate uint32 `protobuf:"varint,8,opt,name=value_update_rate,json=valueUpdateRate,proto3" json:"value_update_rate,omitempty"`
// data_type can be of the string representation of MetricNames or something else as well
DataType string `protobuf:"bytes,9,opt,name=data_type,json=dataType,proto3" json:"data_type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ComponentSensorData) Reset() { *m = ComponentSensorData{} }
func (m *ComponentSensorData) String() string { return proto.CompactTextString(m) }
func (*ComponentSensorData) ProtoMessage() {}
func (*ComponentSensorData) Descriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{4}
}
func (m *ComponentSensorData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ComponentSensorData.Unmarshal(m, b)
}
func (m *ComponentSensorData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ComponentSensorData.Marshal(b, m, deterministic)
}
func (m *ComponentSensorData) XXX_Merge(src proto.Message) {
xxx_messageInfo_ComponentSensorData.Merge(m, src)
}
func (m *ComponentSensorData) XXX_Size() int {
return xxx_messageInfo_ComponentSensorData.Size(m)
}
func (m *ComponentSensorData) XXX_DiscardUnknown() {
xxx_messageInfo_ComponentSensorData.DiscardUnknown(m)
}
var xxx_messageInfo_ComponentSensorData proto.InternalMessageInfo
func (m *ComponentSensorData) GetValue() int32 {
if m != nil {
return m.Value
}
return 0
}
func (m *ComponentSensorData) GetType() DataValueType {
if m != nil {
return m.Type
}
return DataValueType_VALUE_TYPE_UNDEFINED
}
func (m *ComponentSensorData) GetScale() ValueScale {
if m != nil {
return m.Scale
}
return ValueScale_VALUE_SCALE_UNDEFINED
}
func (m *ComponentSensorData) GetPrecision() int32 {
if m != nil {
return m.Precision
}
return 0
}
func (m *ComponentSensorData) GetStatus() SensorStatus {
if m != nil {
return m.Status
}
return SensorStatus_SENSOR_STATUS_UNDEFINED
}
func (m *ComponentSensorData) GetUnitsDisplay() string {
if m != nil {
return m.UnitsDisplay
}
return ""
}
func (m *ComponentSensorData) GetTimestamp() *timestamp.Timestamp {
if m != nil {
return m.Timestamp
}
return nil
}
func (m *ComponentSensorData) GetValueUpdateRate() uint32 {
if m != nil {
return m.ValueUpdateRate
}
return 0
}
func (m *ComponentSensorData) GetDataType() string {
if m != nil {
return m.DataType
}
return ""
}
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"`
// 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"`
Distance *PonDistance `protobuf:"bytes,8,opt,name=distance,proto3" json:"distance,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PortComponentAttributes) Reset() { *m = PortComponentAttributes{} }
func (m *PortComponentAttributes) String() string { return proto.CompactTextString(m) }
func (*PortComponentAttributes) ProtoMessage() {}
func (*PortComponentAttributes) Descriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{5}
}
func (m *PortComponentAttributes) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PortComponentAttributes.Unmarshal(m, b)
}
func (m *PortComponentAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PortComponentAttributes.Marshal(b, m, deterministic)
}
func (m *PortComponentAttributes) XXX_Merge(src proto.Message) {
xxx_messageInfo_PortComponentAttributes.Merge(m, src)
}
func (m *PortComponentAttributes) XXX_Size() int {
return xxx_messageInfo_PortComponentAttributes.Size(m)
}
func (m *PortComponentAttributes) XXX_DiscardUnknown() {
xxx_messageInfo_PortComponentAttributes.DiscardUnknown(m)
}
var xxx_messageInfo_PortComponentAttributes proto.InternalMessageInfo
func (m *PortComponentAttributes) GetConnectorType() PortComponentAttributes_ConnectorType {
if m != nil {
return m.ConnectorType
}
return PortComponentAttributes_CONNECTOR_TYPE_UNDEFINED
}
func (m *PortComponentAttributes) GetSpeed() PortComponentAttributes_Speed {
if m != nil {
return m.Speed
}
return PortComponentAttributes_SPEED_UNDEFINED
}
func (m *PortComponentAttributes) GetProtocol() PortComponentAttributes_Protocol {
if m != nil {
return m.Protocol
}
return PortComponentAttributes_PROTOCOL_UNDEFINED
}
func (m *PortComponentAttributes) GetPhysicalLabel() string {
if m != nil {
return m.PhysicalLabel
}
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
}
func (m *PortComponentAttributes) GetDistance() *PonDistance {
if m != nil {
return m.Distance
}
return nil
}
type PonDistance struct {
//
// The ITU-T G.987.x series of Recommendations addresses the linear extent parameters of XG-PON
// using the single concept of fibre distance. An ONU is characterized by its fibre distance, and for
// each pair of ONUs on the same OLT PON interface, the differential fibre distance is the difference
// between the two individual fibre distances. Each specific PMD layer parameter set contains a
// provision to support a specific maximum fibre distance. The XG-PON TC layer specification
// contains a provision to support specific ranges of maximum fibre distance and maximum
// differential fibre distance. These ranges can be configurable for a given system. One can expect that
// for each XG-PON deployment, the configured TC layer maximum fibre distance will match the
// maximum fibre distance supported by the selected PMD layer parameter set.
MaxDistance uint32 `protobuf:"varint,1,opt,name=max_distance,json=maxDistance,proto3" json:"max_distance,omitempty"`
MaxDifferentialDistance uint32 `protobuf:"varint,2,opt,name=max_differential_distance,json=maxDifferentialDistance,proto3" json:"max_differential_distance,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PonDistance) Reset() { *m = PonDistance{} }
func (m *PonDistance) String() string { return proto.CompactTextString(m) }
func (*PonDistance) ProtoMessage() {}
func (*PonDistance) Descriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{6}
}
func (m *PonDistance) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PonDistance.Unmarshal(m, b)
}
func (m *PonDistance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PonDistance.Marshal(b, m, deterministic)
}
func (m *PonDistance) XXX_Merge(src proto.Message) {
xxx_messageInfo_PonDistance.Merge(m, src)
}
func (m *PonDistance) XXX_Size() int {
return xxx_messageInfo_PonDistance.Size(m)
}
func (m *PonDistance) XXX_DiscardUnknown() {
xxx_messageInfo_PonDistance.DiscardUnknown(m)
}
var xxx_messageInfo_PonDistance proto.InternalMessageInfo
func (m *PonDistance) GetMaxDistance() uint32 {
if m != nil {
return m.MaxDistance
}
return 0
}
func (m *PonDistance) GetMaxDifferentialDistance() uint32 {
if m != nil {
return m.MaxDifferentialDistance
}
return 0
}
type PortComponentChangeAttributes struct {
PonIdConfig *PonIdConfig `protobuf:"bytes,1,opt,name=pon_id_config,json=ponIdConfig,proto3" json:"pon_id_config,omitempty"`
Distance *PonDistance `protobuf:"bytes,2,opt,name=distance,proto3" json:"distance,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{7}
}
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
}
func (m *PortComponentChangeAttributes) GetDistance() *PonDistance {
if m != nil {
return m.Distance
}
return nil
}
type TransceiverComponentChangeAttributes struct {
TransType TransceiverType `protobuf:"varint,1,opt,name=trans_type,json=transType,proto3,enum=dmi.TransceiverType" json:"trans_type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TransceiverComponentChangeAttributes) Reset() { *m = TransceiverComponentChangeAttributes{} }
func (m *TransceiverComponentChangeAttributes) String() string { return proto.CompactTextString(m) }
func (*TransceiverComponentChangeAttributes) ProtoMessage() {}
func (*TransceiverComponentChangeAttributes) Descriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{8}
}
func (m *TransceiverComponentChangeAttributes) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransceiverComponentChangeAttributes.Unmarshal(m, b)
}
func (m *TransceiverComponentChangeAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TransceiverComponentChangeAttributes.Marshal(b, m, deterministic)
}
func (m *TransceiverComponentChangeAttributes) XXX_Merge(src proto.Message) {
xxx_messageInfo_TransceiverComponentChangeAttributes.Merge(m, src)
}
func (m *TransceiverComponentChangeAttributes) XXX_Size() int {
return xxx_messageInfo_TransceiverComponentChangeAttributes.Size(m)
}
func (m *TransceiverComponentChangeAttributes) XXX_DiscardUnknown() {
xxx_messageInfo_TransceiverComponentChangeAttributes.DiscardUnknown(m)
}
var xxx_messageInfo_TransceiverComponentChangeAttributes proto.InternalMessageInfo
func (m *TransceiverComponentChangeAttributes) GetTransType() TransceiverType {
if m != nil {
return m.TransType
}
return TransceiverType_TYPE_UNDEFINED
}
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{9}
}
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:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ContainerComponentAttributes) Reset() { *m = ContainerComponentAttributes{} }
func (m *ContainerComponentAttributes) String() string { return proto.CompactTextString(m) }
func (*ContainerComponentAttributes) ProtoMessage() {}
func (*ContainerComponentAttributes) Descriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{10}
}
func (m *ContainerComponentAttributes) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ContainerComponentAttributes.Unmarshal(m, b)
}
func (m *ContainerComponentAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ContainerComponentAttributes.Marshal(b, m, deterministic)
}
func (m *ContainerComponentAttributes) XXX_Merge(src proto.Message) {
xxx_messageInfo_ContainerComponentAttributes.Merge(m, src)
}
func (m *ContainerComponentAttributes) XXX_Size() int {
return xxx_messageInfo_ContainerComponentAttributes.Size(m)
}
func (m *ContainerComponentAttributes) XXX_DiscardUnknown() {
xxx_messageInfo_ContainerComponentAttributes.DiscardUnknown(m)
}
var xxx_messageInfo_ContainerComponentAttributes proto.InternalMessageInfo
func (m *ContainerComponentAttributes) GetPhysicalLabel() string {
if m != nil {
return m.PhysicalLabel
}
return ""
}
type PsuComponentAttributes struct {
SupportedVoltage PsuComponentAttributes_SupportedVoltage `protobuf:"varint,1,opt,name=supported_voltage,json=supportedVoltage,proto3,enum=dmi.PsuComponentAttributes_SupportedVoltage" json:"supported_voltage,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PsuComponentAttributes) Reset() { *m = PsuComponentAttributes{} }
func (m *PsuComponentAttributes) String() string { return proto.CompactTextString(m) }
func (*PsuComponentAttributes) ProtoMessage() {}
func (*PsuComponentAttributes) Descriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{11}
}
func (m *PsuComponentAttributes) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PsuComponentAttributes.Unmarshal(m, b)
}
func (m *PsuComponentAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PsuComponentAttributes.Marshal(b, m, deterministic)
}
func (m *PsuComponentAttributes) XXX_Merge(src proto.Message) {
xxx_messageInfo_PsuComponentAttributes.Merge(m, src)
}
func (m *PsuComponentAttributes) XXX_Size() int {
return xxx_messageInfo_PsuComponentAttributes.Size(m)
}
func (m *PsuComponentAttributes) XXX_DiscardUnknown() {
xxx_messageInfo_PsuComponentAttributes.DiscardUnknown(m)
}
var xxx_messageInfo_PsuComponentAttributes proto.InternalMessageInfo
func (m *PsuComponentAttributes) GetSupportedVoltage() PsuComponentAttributes_SupportedVoltage {
if m != nil {
return m.SupportedVoltage
}
return PsuComponentAttributes_SUPPORTED_VOLTAGE_UNDEFINED
}
type TransceiverComponentsAttributes struct {
FormFactor TransceiverComponentsAttributes_FormFactor `protobuf:"varint,1,opt,name=form_factor,json=formFactor,proto3,enum=dmi.TransceiverComponentsAttributes_FormFactor" json:"form_factor,omitempty"`
TransType TransceiverType `protobuf:"varint,2,opt,name=trans_type,json=transType,proto3,enum=dmi.TransceiverType" json:"trans_type,omitempty"`
// The maximum reach that can be achieved by this transceiver
MaxDistance uint32 `protobuf:"varint,3,opt,name=max_distance,json=maxDistance,proto3" json:"max_distance,omitempty"`
MaxDistanceScale ValueScale `protobuf:"varint,4,opt,name=max_distance_scale,json=maxDistanceScale,proto3,enum=dmi.ValueScale" json:"max_distance_scale,omitempty"`
// The receive and transmit wavelengths that the transeiver operates on
RxWavelength []uint32 `protobuf:"varint,5,rep,packed,name=rx_wavelength,json=rxWavelength,proto3" json:"rx_wavelength,omitempty"`
TxWavelength []uint32 `protobuf:"varint,6,rep,packed,name=tx_wavelength,json=txWavelength,proto3" json:"tx_wavelength,omitempty"`
WavelengthScale ValueScale `protobuf:"varint,7,opt,name=wavelength_scale,json=wavelengthScale,proto3,enum=dmi.ValueScale" json:"wavelength_scale,omitempty"`
// The tx powers on the transceiver; the value type of tx_power should be dBm.
// Note: When there are multiple rx/tx wavelengths and powers
// each of the corresponding ones should be aligned on the same index of the array
TxPower []int32 `protobuf:"varint,8,rep,packed,name=tx_power,json=txPower,proto3" json:"tx_power,omitempty"`
TxPowerScale ValueScale `protobuf:"varint,9,opt,name=tx_power_scale,json=txPowerScale,proto3,enum=dmi.ValueScale" json:"tx_power_scale,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TransceiverComponentsAttributes) Reset() { *m = TransceiverComponentsAttributes{} }
func (m *TransceiverComponentsAttributes) String() string { return proto.CompactTextString(m) }
func (*TransceiverComponentsAttributes) ProtoMessage() {}
func (*TransceiverComponentsAttributes) Descriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{12}
}
func (m *TransceiverComponentsAttributes) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransceiverComponentsAttributes.Unmarshal(m, b)
}
func (m *TransceiverComponentsAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TransceiverComponentsAttributes.Marshal(b, m, deterministic)
}
func (m *TransceiverComponentsAttributes) XXX_Merge(src proto.Message) {
xxx_messageInfo_TransceiverComponentsAttributes.Merge(m, src)
}
func (m *TransceiverComponentsAttributes) XXX_Size() int {
return xxx_messageInfo_TransceiverComponentsAttributes.Size(m)
}
func (m *TransceiverComponentsAttributes) XXX_DiscardUnknown() {
xxx_messageInfo_TransceiverComponentsAttributes.DiscardUnknown(m)
}
var xxx_messageInfo_TransceiverComponentsAttributes proto.InternalMessageInfo
func (m *TransceiverComponentsAttributes) GetFormFactor() TransceiverComponentsAttributes_FormFactor {
if m != nil {
return m.FormFactor
}
return TransceiverComponentsAttributes_FORM_FACTOR_UNKNOWN
}
func (m *TransceiverComponentsAttributes) GetTransType() TransceiverType {
if m != nil {
return m.TransType
}
return TransceiverType_TYPE_UNDEFINED
}
func (m *TransceiverComponentsAttributes) GetMaxDistance() uint32 {
if m != nil {
return m.MaxDistance
}
return 0
}
func (m *TransceiverComponentsAttributes) GetMaxDistanceScale() ValueScale {
if m != nil {
return m.MaxDistanceScale
}
return ValueScale_VALUE_SCALE_UNDEFINED
}
func (m *TransceiverComponentsAttributes) GetRxWavelength() []uint32 {
if m != nil {
return m.RxWavelength
}
return nil
}
func (m *TransceiverComponentsAttributes) GetTxWavelength() []uint32 {
if m != nil {
return m.TxWavelength
}
return nil
}
func (m *TransceiverComponentsAttributes) GetWavelengthScale() ValueScale {
if m != nil {
return m.WavelengthScale
}
return ValueScale_VALUE_SCALE_UNDEFINED
}
func (m *TransceiverComponentsAttributes) GetTxPower() []int32 {
if m != nil {
return m.TxPower
}
return nil
}
func (m *TransceiverComponentsAttributes) GetTxPowerScale() ValueScale {
if m != nil {
return m.TxPowerScale
}
return ValueScale_VALUE_SCALE_UNDEFINED
}
type Component struct {
// The name of a component uniquely identifies a component within the hardware
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"`
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
// The name of the parent of this component, empty string("") in case of the root component
Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
ParentRelPos int32 `protobuf:"varint,5,opt,name=parent_rel_pos,json=parentRelPos,proto3" json:"parent_rel_pos,omitempty"`
Children []*Component `protobuf:"bytes,6,rep,name=children,proto3" json:"children,omitempty"`
HardwareRev string `protobuf:"bytes,7,opt,name=hardware_rev,json=hardwareRev,proto3" json:"hardware_rev,omitempty"`
FirmwareRev string `protobuf:"bytes,8,opt,name=firmware_rev,json=firmwareRev,proto3" json:"firmware_rev,omitempty"`
SoftwareRev string `protobuf:"bytes,9,opt,name=software_rev,json=softwareRev,proto3" json:"software_rev,omitempty"`
SerialNum string `protobuf:"bytes,10,opt,name=serial_num,json=serialNum,proto3" json:"serial_num,omitempty"`
MfgName string `protobuf:"bytes,11,opt,name=mfg_name,json=mfgName,proto3" json:"mfg_name,omitempty"`
// Apart from the definition of this attribute as defined in RFC 8348, implementations could choose to carry
// the manufacturer's part number in this attribute.
ModelName string `protobuf:"bytes,12,opt,name=model_name,json=modelName,proto3" json:"model_name,omitempty"`
Alias string `protobuf:"bytes,13,opt,name=alias,proto3" json:"alias,omitempty"`
AssetId string `protobuf:"bytes,14,opt,name=asset_id,json=assetId,proto3" json:"asset_id,omitempty"`
IsFru bool `protobuf:"varint,15,opt,name=is_fru,json=isFru,proto3" json:"is_fru,omitempty"`
MfgDate *timestamp.Timestamp `protobuf:"bytes,16,opt,name=mfg_date,json=mfgDate,proto3" json:"mfg_date,omitempty"`
Uri *Uri `protobuf:"bytes,17,opt,name=uri,proto3" json:"uri,omitempty"`
// The uuid of the component uniquely identifies the component across the entire system
Uuid *Uuid `protobuf:"bytes,18,opt,name=uuid,proto3" json:"uuid,omitempty"`
State *ComponentState `protobuf:"bytes,19,opt,name=state,proto3" json:"state,omitempty"`
SensorData []*ComponentSensorData `protobuf:"bytes,20,rep,name=sensor_data,json=sensorData,proto3" json:"sensor_data,omitempty"`
// The attribute 'specific' can be populated for components where more details are required by the users of the DMI interface
//
// Types that are valid to be assigned to Specific:
// *Component_PortAttr
// *Component_ContainerAttr
// *Component_PsuAttr
// *Component_TransceiverAttr
Specific isComponent_Specific `protobuf_oneof:"specific"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Component) Reset() { *m = Component{} }
func (m *Component) String() string { return proto.CompactTextString(m) }
func (*Component) ProtoMessage() {}
func (*Component) Descriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{13}
}
func (m *Component) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Component.Unmarshal(m, b)
}
func (m *Component) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Component.Marshal(b, m, deterministic)
}
func (m *Component) XXX_Merge(src proto.Message) {
xxx_messageInfo_Component.Merge(m, src)
}
func (m *Component) XXX_Size() int {
return xxx_messageInfo_Component.Size(m)
}
func (m *Component) XXX_DiscardUnknown() {
xxx_messageInfo_Component.DiscardUnknown(m)
}
var xxx_messageInfo_Component proto.InternalMessageInfo
func (m *Component) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *Component) GetClass() ComponentType {
if m != nil {
return m.Class
}
return ComponentType_COMPONENT_TYPE_UNDEFINED
}
func (m *Component) GetDescription() string {
if m != nil {
return m.Description
}
return ""
}
func (m *Component) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *Component) GetParentRelPos() int32 {
if m != nil {
return m.ParentRelPos
}
return 0
}
func (m *Component) GetChildren() []*Component {
if m != nil {
return m.Children
}
return nil
}
func (m *Component) GetHardwareRev() string {
if m != nil {
return m.HardwareRev
}
return ""
}
func (m *Component) GetFirmwareRev() string {
if m != nil {
return m.FirmwareRev
}
return ""
}
func (m *Component) GetSoftwareRev() string {
if m != nil {
return m.SoftwareRev
}
return ""
}
func (m *Component) GetSerialNum() string {
if m != nil {
return m.SerialNum
}
return ""
}
func (m *Component) GetMfgName() string {
if m != nil {
return m.MfgName
}
return ""
}
func (m *Component) GetModelName() string {
if m != nil {
return m.ModelName
}
return ""
}
func (m *Component) GetAlias() string {
if m != nil {
return m.Alias
}
return ""
}
func (m *Component) GetAssetId() string {
if m != nil {
return m.AssetId
}
return ""
}
func (m *Component) GetIsFru() bool {
if m != nil {
return m.IsFru
}
return false
}
func (m *Component) GetMfgDate() *timestamp.Timestamp {
if m != nil {
return m.MfgDate
}
return nil
}
func (m *Component) GetUri() *Uri {
if m != nil {
return m.Uri
}
return nil
}
func (m *Component) GetUuid() *Uuid {
if m != nil {
return m.Uuid
}
return nil
}
func (m *Component) GetState() *ComponentState {
if m != nil {
return m.State
}
return nil
}
func (m *Component) GetSensorData() []*ComponentSensorData {
if m != nil {
return m.SensorData
}
return nil
}
type isComponent_Specific interface {
isComponent_Specific()
}
type Component_PortAttr struct {
PortAttr *PortComponentAttributes `protobuf:"bytes,50,opt,name=port_attr,json=portAttr,proto3,oneof"`
}
type Component_ContainerAttr struct {
ContainerAttr *ContainerComponentAttributes `protobuf:"bytes,51,opt,name=container_attr,json=containerAttr,proto3,oneof"`
}
type Component_PsuAttr struct {
PsuAttr *PsuComponentAttributes `protobuf:"bytes,52,opt,name=psu_attr,json=psuAttr,proto3,oneof"`
}
type Component_TransceiverAttr struct {
TransceiverAttr *TransceiverComponentsAttributes `protobuf:"bytes,53,opt,name=transceiver_attr,json=transceiverAttr,proto3,oneof"`
}
func (*Component_PortAttr) isComponent_Specific() {}
func (*Component_ContainerAttr) isComponent_Specific() {}
func (*Component_PsuAttr) isComponent_Specific() {}
func (*Component_TransceiverAttr) isComponent_Specific() {}
func (m *Component) GetSpecific() isComponent_Specific {
if m != nil {
return m.Specific
}
return nil
}
func (m *Component) GetPortAttr() *PortComponentAttributes {
if x, ok := m.GetSpecific().(*Component_PortAttr); ok {
return x.PortAttr
}
return nil
}
func (m *Component) GetContainerAttr() *ContainerComponentAttributes {
if x, ok := m.GetSpecific().(*Component_ContainerAttr); ok {
return x.ContainerAttr
}
return nil
}
func (m *Component) GetPsuAttr() *PsuComponentAttributes {
if x, ok := m.GetSpecific().(*Component_PsuAttr); ok {
return x.PsuAttr
}
return nil
}
func (m *Component) GetTransceiverAttr() *TransceiverComponentsAttributes {
if x, ok := m.GetSpecific().(*Component_TransceiverAttr); ok {
return x.TransceiverAttr
}
return nil
}
// XXX_OneofWrappers is for the internal use of the proto package.
func (*Component) XXX_OneofWrappers() []interface{} {
return []interface{}{
(*Component_PortAttr)(nil),
(*Component_ContainerAttr)(nil),
(*Component_PsuAttr)(nil),
(*Component_TransceiverAttr)(nil),
}
}
type Hardware struct {
LastChange *timestamp.Timestamp `protobuf:"bytes,1,opt,name=last_change,json=lastChange,proto3" json:"last_change,omitempty"`
// Each HW has one parent/root and all other components are children of this
// The class of the root component would be set as UNDEFINED
Root *Component `protobuf:"bytes,2,opt,name=root,proto3" json:"root,omitempty"`
// TODO: Authentication?
// Timestamp at which the hardware last booted
LastBooted *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_booted,json=lastBooted,proto3" json:"last_booted,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Hardware) Reset() { *m = Hardware{} }
func (m *Hardware) String() string { return proto.CompactTextString(m) }
func (*Hardware) ProtoMessage() {}
func (*Hardware) Descriptor() ([]byte, []int) {
return fileDescriptor_d7c33d745c4ab367, []int{14}
}
func (m *Hardware) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Hardware.Unmarshal(m, b)
}
func (m *Hardware) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Hardware.Marshal(b, m, deterministic)
}
func (m *Hardware) XXX_Merge(src proto.Message) {
xxx_messageInfo_Hardware.Merge(m, src)
}
func (m *Hardware) XXX_Size() int {
return xxx_messageInfo_Hardware.Size(m)
}
func (m *Hardware) XXX_DiscardUnknown() {
xxx_messageInfo_Hardware.DiscardUnknown(m)
}
var xxx_messageInfo_Hardware proto.InternalMessageInfo
func (m *Hardware) GetLastChange() *timestamp.Timestamp {
if m != nil {
return m.LastChange
}
return nil
}
func (m *Hardware) GetRoot() *Component {
if m != nil {
return m.Root
}
return nil
}
func (m *Hardware) GetLastBooted() *timestamp.Timestamp {
if m != nil {
return m.LastBooted
}
return nil
}
// The attributes of a component which are modifiable from the client side
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"`
// The attribute 'specific' can be populated for specific class of components
//
// Types that are valid to be assigned to Specific:
// *ModifiableComponent_PortAttr
// *ModifiableComponent_TrxAttr
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{15}
}
func (m *ModifiableComponent) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ModifiableComponent.Unmarshal(m, b)
}
func (m *ModifiableComponent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ModifiableComponent.Marshal(b, m, deterministic)
}
func (m *ModifiableComponent) XXX_Merge(src proto.Message) {
xxx_messageInfo_ModifiableComponent.Merge(m, src)
}
func (m *ModifiableComponent) XXX_Size() int {
return xxx_messageInfo_ModifiableComponent.Size(m)
}
func (m *ModifiableComponent) XXX_DiscardUnknown() {
xxx_messageInfo_ModifiableComponent.DiscardUnknown(m)
}
var xxx_messageInfo_ModifiableComponent proto.InternalMessageInfo
func (m *ModifiableComponent) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *ModifiableComponent) GetClass() ComponentType {
if m != nil {
return m.Class
}
return ComponentType_COMPONENT_TYPE_UNDEFINED
}
func (m *ModifiableComponent) GetParent() *Component {
if m != nil {
return m.Parent
}
return nil
}
func (m *ModifiableComponent) GetParentRelPos() int32 {
if m != nil {
return m.ParentRelPos
}
return 0
}
func (m *ModifiableComponent) GetAlias() string {
if m != nil {
return m.Alias
}
return ""
}
func (m *ModifiableComponent) GetAssetId() string {
if m != nil {
return m.AssetId
}
return ""
}
func (m *ModifiableComponent) GetUri() *Uri {
if m != nil {
return m.Uri
}
return nil
}
func (m *ModifiableComponent) GetAdminState() ComponentAdminState {
if m != nil {
return m.AdminState
}
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"`
}
type ModifiableComponent_TrxAttr struct {
TrxAttr *TransceiverComponentChangeAttributes `protobuf:"bytes,51,opt,name=trx_attr,json=trxAttr,proto3,oneof"`
}
func (*ModifiableComponent_PortAttr) isModifiableComponent_Specific() {}
func (*ModifiableComponent_TrxAttr) 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
}
func (m *ModifiableComponent) GetTrxAttr() *TransceiverComponentChangeAttributes {
if x, ok := m.GetSpecific().(*ModifiableComponent_TrxAttr); ok {
return x.TrxAttr
}
return nil
}
// XXX_OneofWrappers is for the internal use of the proto package.
func (*ModifiableComponent) XXX_OneofWrappers() []interface{} {
return []interface{}{
(*ModifiableComponent_PortAttr)(nil),
(*ModifiableComponent_TrxAttr)(nil),
}
}
func init() {
proto.RegisterEnum("dmi.ComponentType", ComponentType_name, ComponentType_value)
proto.RegisterEnum("dmi.ComponentAdminState", ComponentAdminState_name, ComponentAdminState_value)
proto.RegisterEnum("dmi.ComponentOperState", ComponentOperState_name, ComponentOperState_value)
proto.RegisterEnum("dmi.ComponentUsageState", ComponentUsageState_name, ComponentUsageState_value)
proto.RegisterEnum("dmi.ComponentAlarmState", ComponentAlarmState_name, ComponentAlarmState_value)
proto.RegisterEnum("dmi.ComponentStandbyState", ComponentStandbyState_name, ComponentStandbyState_value)
proto.RegisterEnum("dmi.DataValueType", DataValueType_name, DataValueType_value)
proto.RegisterEnum("dmi.ValueScale", ValueScale_name, ValueScale_value)
proto.RegisterEnum("dmi.SensorStatus", SensorStatus_name, SensorStatus_value)
proto.RegisterEnum("dmi.TransceiverType", TransceiverType_name, TransceiverType_value)
proto.RegisterEnum("dmi.PortComponentAttributes_ConnectorType", PortComponentAttributes_ConnectorType_name, PortComponentAttributes_ConnectorType_value)
proto.RegisterEnum("dmi.PortComponentAttributes_Speed", PortComponentAttributes_Speed_name, PortComponentAttributes_Speed_value)
proto.RegisterEnum("dmi.PortComponentAttributes_Protocol", PortComponentAttributes_Protocol_name, PortComponentAttributes_Protocol_value)
proto.RegisterEnum("dmi.PsuComponentAttributes_SupportedVoltage", PsuComponentAttributes_SupportedVoltage_name, PsuComponentAttributes_SupportedVoltage_value)
proto.RegisterEnum("dmi.TransceiverComponentsAttributes_FormFactor", TransceiverComponentsAttributes_FormFactor_name, TransceiverComponentsAttributes_FormFactor_value)
proto.RegisterType((*Uuid)(nil), "dmi.Uuid")
proto.RegisterType((*HardwareID)(nil), "dmi.HardwareID")
proto.RegisterType((*Uri)(nil), "dmi.Uri")
proto.RegisterType((*ComponentState)(nil), "dmi.ComponentState")
proto.RegisterType((*ComponentSensorData)(nil), "dmi.ComponentSensorData")
proto.RegisterType((*PortComponentAttributes)(nil), "dmi.PortComponentAttributes")
proto.RegisterType((*PonDistance)(nil), "dmi.PonDistance")
proto.RegisterType((*PortComponentChangeAttributes)(nil), "dmi.PortComponentChangeAttributes")
proto.RegisterType((*TransceiverComponentChangeAttributes)(nil), "dmi.TransceiverComponentChangeAttributes")
proto.RegisterType((*PonIdConfig)(nil), "dmi.PonIdConfig")
proto.RegisterType((*ContainerComponentAttributes)(nil), "dmi.ContainerComponentAttributes")
proto.RegisterType((*PsuComponentAttributes)(nil), "dmi.PsuComponentAttributes")
proto.RegisterType((*TransceiverComponentsAttributes)(nil), "dmi.TransceiverComponentsAttributes")
proto.RegisterType((*Component)(nil), "dmi.Component")
proto.RegisterType((*Hardware)(nil), "dmi.Hardware")
proto.RegisterType((*ModifiableComponent)(nil), "dmi.ModifiableComponent")
}
func init() { proto.RegisterFile("dmi/hw.proto", fileDescriptor_d7c33d745c4ab367) }
var fileDescriptor_d7c33d745c4ab367 = []byte{
// 2926 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x59, 0xcd, 0x92, 0xdb, 0xc6,
0x11, 0x16, 0xff, 0xc9, 0x26, 0xb9, 0x3b, 0x3b, 0xfa, 0xa3, 0xfe, 0x6c, 0x99, 0x91, 0x5d, 0xf2,
0xc6, 0xde, 0x5d, 0xad, 0xa4, 0x94, 0x6c, 0x97, 0x2b, 0x85, 0x05, 0xc1, 0x5d, 0x58, 0x24, 0x00,
0x0f, 0xc0, 0x95, 0xd6, 0x39, 0xa0, 0xb0, 0x24, 0x48, 0xa1, 0x8a, 0x24, 0x58, 0x00, 0xb8, 0x5a,
0x55, 0xe5, 0x94, 0xe4, 0x9e, 0x27, 0xc8, 0xcd, 0x95, 0xf2, 0x29, 0x87, 0x24, 0xc7, 0x1c, 0x72,
0xc9, 0x31, 0x0f, 0x90, 0x67, 0xc8, 0x21, 0x8f, 0x90, 0xd4, 0xcc, 0x00, 0x20, 0x08, 0x42, 0xb2,
0x5c, 0x95, 0xdb, 0x4c, 0xf7, 0xd7, 0x3d, 0x3d, 0xdd, 0x3d, 0x3d, 0xd3, 0x00, 0x34, 0x46, 0x33,
0x67, 0xff, 0xd5, 0xeb, 0xbd, 0x85, 0xe7, 0x06, 0x2e, 0x2e, 0x8c, 0x66, 0xce, 0xed, 0x0f, 0x27,
0xae, 0x3b, 0x99, 0xda, 0xfb, 0x8c, 0x74, 0xbe, 0x1c, 0xef, 0x07, 0xce, 0xcc, 0xf6, 0x03, 0x6b,
0xb6, 0xe0, 0xa8, 0xf6, 0x6d, 0x28, 0x0e, 0x96, 0xce, 0x08, 0x63, 0x28, 0x2e, 0x97, 0xce, 0xa8,
0x95, 0xbb, 0x9f, 0x7b, 0x58, 0x23, 0x6c, 0xdc, 0xfe, 0x39, 0xc0, 0x89, 0xe5, 0x8d, 0x5e, 0x5b,
0x9e, 0x2d, 0x77, 0xf0, 0xbd, 0x04, 0xa2, 0x7e, 0x58, 0xdb, 0x1b, 0xcd, 0x9c, 0x3d, 0x2a, 0x1a,
0x82, 0x6f, 0x42, 0x61, 0xe0, 0x39, 0x18, 0x41, 0x61, 0xe9, 0x39, 0xa1, 0x1a, 0x3a, 0x6c, 0xff,
0xae, 0x00, 0x5b, 0xa2, 0x3b, 0x5b, 0xb8, 0x73, 0x7b, 0x1e, 0xe8, 0x81, 0x15, 0xd8, 0xf8, 0x04,
0xb0, 0x4f, 0x07, 0xe6, 0xd4, 0xf2, 0x03, 0x73, 0xf8, 0xca, 0x9a, 0x4f, 0xec, 0x48, 0xf1, 0xed,
0x3d, 0x6e, 0xf2, 0x5e, 0x64, 0xf2, 0x9e, 0x11, 0x99, 0x4c, 0x10, 0x93, 0xea, 0x59, 0x7e, 0x20,
0x72, 0x19, 0xfc, 0x05, 0xd4, 0xad, 0xd1, 0xcc, 0x99, 0x9b, 0x8c, 0xd3, 0xca, 0xdf, 0xcf, 0x3d,
0xdc, 0x3a, 0x6c, 0x31, 0xdb, 0xe2, 0x35, 0x05, 0x0a, 0x60, 0x0b, 0x13, 0xb0, 0xe2, 0x31, 0xfe,
0x05, 0x80, 0xbb, 0xb0, 0xbd, 0x50, 0xb2, 0xc0, 0x24, 0x6f, 0xae, 0x4b, 0xaa, 0x0b, 0xdb, 0xe3,
0x82, 0x35, 0x37, 0x1a, 0xd2, 0x25, 0x97, 0xbe, 0x35, 0xb1, 0x43, 0xc1, 0x62, 0xd6, 0x92, 0x03,
0x0a, 0x08, 0x97, 0x5c, 0xc6, 0x63, 0x66, 0xed, 0xd4, 0xf2, 0x66, 0xa1, 0x68, 0x29, 0xd3, 0x5a,
0x0a, 0x88, 0xac, 0x8d, 0xc7, 0xf8, 0x97, 0xd0, 0xf4, 0x03, 0x6b, 0x3e, 0x3a, 0x7f, 0x13, 0x0a,
0x97, 0x99, 0xf0, 0xed, 0x75, 0x61, 0x9d, 0x43, 0xb8, 0x78, 0xc3, 0x4f, 0xcc, 0xda, 0xff, 0xce,
0xc3, 0xd5, 0x15, 0xce, 0x9e, 0xfb, 0xae, 0xd7, 0xb1, 0x02, 0x0b, 0x5f, 0x83, 0xd2, 0x85, 0x35,
0x5d, 0xda, 0xcc, 0xfd, 0x25, 0xc2, 0x27, 0xf8, 0x13, 0x28, 0x06, 0x6f, 0x16, 0x91, 0x43, 0x31,
0x5b, 0x85, 0xc2, 0x4f, 0x29, 0xd7, 0x78, 0xb3, 0xb0, 0x09, 0xe3, 0xe3, 0x8f, 0xa1, 0xe4, 0x0f,
0xad, 0x69, 0xe4, 0xbf, 0x6d, 0x06, 0x64, 0x20, 0x9d, 0x92, 0x09, 0xe7, 0xe2, 0xbb, 0x50, 0x5b,
0x78, 0xf6, 0xd0, 0xf1, 0x1d, 0x77, 0xce, 0x3c, 0x56, 0x22, 0x2b, 0x02, 0xfe, 0x14, 0xca, 0x74,
0x4f, 0x4b, 0x3f, 0xf4, 0xc8, 0x0e, 0xd3, 0xc2, 0x6d, 0xd4, 0x19, 0x83, 0x84, 0x00, 0xfc, 0x33,
0x68, 0x2e, 0xe7, 0x4e, 0xe0, 0x9b, 0x23, 0xc7, 0x5f, 0x4c, 0xad, 0x37, 0xcc, 0x0d, 0x35, 0xd2,
0x60, 0xc4, 0x0e, 0xa7, 0xe1, 0x67, 0x50, 0x8b, 0xd3, 0xbc, 0x55, 0xf9, 0xd1, 0xac, 0x5a, 0x81,
0xf1, 0x2e, 0xec, 0xb0, 0xfd, 0x9b, 0xcb, 0xc5, 0x88, 0xe6, 0xa7, 0x47, 0x3d, 0x5d, 0xbd, 0x9f,
0x7b, 0xd8, 0x24, 0xdb, 0x8c, 0x31, 0x60, 0x74, 0x42, 0x23, 0x72, 0x07, 0x6a, 0x23, 0x2b, 0xb0,
0x4c, 0xe6, 0xa7, 0x1a, 0x33, 0xa3, 0x4a, 0x09, 0xd4, 0x3b, 0xed, 0xff, 0x94, 0xe1, 0xa6, 0xe6,
0x7a, 0xc1, 0x2a, 0xac, 0x41, 0xe0, 0x39, 0xe7, 0xcb, 0xc0, 0xf6, 0xf1, 0xb7, 0xb0, 0x35, 0x74,
0xe7, 0x73, 0x7b, 0x18, 0xb8, 0x1e, 0x97, 0xce, 0xb1, 0x6d, 0xef, 0xb2, 0x6d, 0xbf, 0x45, 0x6a,
0x4f, 0x8c, 0x44, 0x98, 0xf7, 0x9b, 0xc3, 0xe4, 0x14, 0x3f, 0x83, 0x92, 0xbf, 0xb0, 0xed, 0x51,
0x18, 0xaf, 0xf6, 0x3b, 0x35, 0xe9, 0x14, 0x49, 0xb8, 0x00, 0x16, 0xa0, 0xca, 0x5c, 0x32, 0x74,
0xa7, 0x61, 0x0c, 0x3f, 0x7e, 0xa7, 0xb0, 0x16, 0x82, 0x49, 0x2c, 0x86, 0x3f, 0x86, 0xad, 0xc5,
0xab, 0x37, 0xbe, 0x33, 0xb4, 0xa6, 0xe6, 0xd4, 0x3a, 0xb7, 0xa7, 0x2c, 0xc2, 0x35, 0xd2, 0x8c,
0xa8, 0x3d, 0x4a, 0xa4, 0xa1, 0x9b, 0x59, 0x8b, 0x85, 0x33, 0x9f, 0x84, 0xa8, 0x12, 0x0f, 0x5d,
0x48, 0xe4, 0xa0, 0x27, 0xd0, 0x5c, 0xb8, 0x73, 0xd3, 0x19, 0x99, 0x43, 0x77, 0x3e, 0x76, 0x26,
0x2c, 0xbe, 0xf5, 0x43, 0x14, 0xda, 0x34, 0x97, 0x47, 0x22, 0xa3, 0x93, 0xfa, 0x62, 0x35, 0xc1,
0x8f, 0xe1, 0x3a, 0xdb, 0x8d, 0x69, 0x2d, 0x03, 0x77, 0x6e, 0x4f, 0xdc, 0xc0, 0xb1, 0x02, 0x9a,
0x6a, 0x34, 0xf8, 0x55, 0x72, 0x8d, 0x31, 0x85, 0x75, 0x1e, 0xfe, 0x0c, 0xaa, 0x23, 0x87, 0x1e,
0x91, 0x21, 0x0f, 0x71, 0x62, 0x95, 0x4e, 0x48, 0x27, 0x31, 0xa2, 0xbd, 0x80, 0xe6, 0x5a, 0x04,
0xf0, 0x5d, 0x68, 0x89, 0xaa, 0xa2, 0x48, 0xa2, 0xa1, 0x12, 0xd3, 0x38, 0xd3, 0x24, 0x73, 0xa0,
0x74, 0xa4, 0xae, 0xac, 0x48, 0x1d, 0x74, 0x05, 0x57, 0xa1, 0x48, 0xbe, 0x79, 0xf2, 0x14, 0xe5,
0x70, 0x03, 0xaa, 0x5d, 0xf9, 0x48, 0x22, 0x66, 0x4f, 0x44, 0x79, 0xbc, 0x0d, 0x75, 0x3e, 0xd3,
0x45, 0x53, 0x13, 0x51, 0x01, 0x37, 0xa1, 0xc6, 0x09, 0x7d, 0x4d, 0x45, 0x45, 0x5c, 0x83, 0x12,
0xd1, 0x0f, 0x1f, 0x1f, 0xa2, 0x52, 0xfb, 0x4f, 0x39, 0x28, 0xb1, 0x50, 0xe1, 0xab, 0xb0, 0xad,
0x6b, 0x92, 0xd4, 0x59, 0x5b, 0xa1, 0x0e, 0x95, 0xce, 0x99, 0x22, 0xf4, 0x65, 0x11, 0xe5, 0xa8,
0x96, 0x63, 0xf9, 0x58, 0x38, 0x92, 0x0d, 0xf3, 0x11, 0xca, 0xe3, 0x2d, 0x80, 0x78, 0x7a, 0x80,
0x0a, 0xc9, 0xf9, 0xe1, 0x53, 0x54, 0x4c, 0xce, 0x9f, 0x1c, 0xa0, 0x12, 0xb5, 0x6a, 0x85, 0x3f,
0x40, 0xe5, 0x24, 0xe1, 0xc9, 0xc1, 0x01, 0xaa, 0x60, 0x04, 0x8d, 0xbe, 0x14, 0x69, 0x38, 0x38,
0x40, 0xd5, 0x24, 0xe5, 0xd1, 0xe1, 0xd3, 0x03, 0x54, 0x6b, 0xff, 0x1a, 0xaa, 0x51, 0x76, 0xe0,
0x1b, 0x80, 0x35, 0xa2, 0x1a, 0xaa, 0xa8, 0xf6, 0xd6, 0xac, 0x6e, 0x40, 0x55, 0x32, 0x4e, 0x24,
0xa2, 0x48, 0x06, 0xca, 0x51, 0x2f, 0x1d, 0x6b, 0xaa, 0x82, 0xf2, 0x74, 0xdf, 0x2f, 0xd9, 0xb0,
0x80, 0x01, 0xca, 0x2f, 0x8f, 0x75, 0x3a, 0x66, 0xee, 0x38, 0xee, 0x0a, 0xba, 0x81, 0x4a, 0x94,
0xac, 0x4b, 0x44, 0x16, 0x7a, 0xa8, 0x4c, 0xe5, 0x24, 0x0a, 0xa8, 0xd0, 0xd1, 0x91, 0x6c, 0xe8,
0xa8, 0xda, 0x9e, 0x42, 0x3d, 0x11, 0x39, 0xfc, 0x11, 0x34, 0x66, 0xd6, 0xa5, 0x19, 0x47, 0x38,
0xc7, 0x0e, 0x71, 0x7d, 0x66, 0x5d, 0xc6, 0x90, 0x2f, 0xe1, 0x16, 0x87, 0x8c, 0xc7, 0xb6, 0x67,
0xcf, 0x03, 0xc7, 0x9a, 0xae, 0xf0, 0x79, 0x86, 0xbf, 0xc9, 0xf0, 0x2b, 0x7e, 0x24, 0xdb, 0xfe,
0x6d, 0x0e, 0xee, 0xad, 0x1d, 0x11, 0x7e, 0x21, 0x25, 0x4e, 0xf9, 0x46, 0x26, 0xe7, 0xde, 0x27,
0x93, 0x93, 0x49, 0x99, 0xff, 0xd1, 0xa4, 0xfc, 0x15, 0x3c, 0x30, 0x3c, 0x6b, 0xee, 0x0f, 0x6d,
0xe7, 0xc2, 0xf6, 0xde, 0x6e, 0xcb, 0x63, 0x80, 0x80, 0xe2, 0x92, 0xd5, 0xe6, 0x1a, 0xd3, 0x9b,
0x10, 0x67, 0x75, 0xa5, 0xc6, 0x70, 0xac, 0x84, 0x0d, 0x99, 0x43, 0x63, 0xcb, 0xae, 0x43, 0x99,
0xef, 0x87, 0xc9, 0x37, 0x48, 0x89, 0x99, 0x8d, 0xbf, 0x86, 0x3b, 0xe1, 0x36, 0x99, 0xe4, 0xcc,
0x09, 0xcc, 0x85, 0xed, 0x39, 0xee, 0xc8, 0x19, 0x3a, 0xc1, 0x9b, 0xd0, 0x8d, 0x2d, 0x86, 0x35,
0x42, 0x80, 0xb6, 0xe2, 0xb7, 0x25, 0xb8, 0x2b, 0xba, 0xf3, 0xc0, 0x72, 0xe6, 0x09, 0xfb, 0x13,
0x96, 0x6f, 0xd6, 0x96, 0x5c, 0x46, 0x6d, 0x69, 0xff, 0x23, 0x07, 0x37, 0x34, 0x7f, 0x99, 0xa5,
0xe1, 0x0c, 0x76, 0xfc, 0xe5, 0x62, 0xe1, 0x7a, 0x81, 0x3d, 0x32, 0x2f, 0xdc, 0x69, 0x60, 0x4d,
0x22, 0x17, 0x7c, 0xc6, 0x5d, 0x9b, 0x29, 0xb7, 0xa7, 0x47, 0x42, 0xa7, 0x5c, 0x86, 0x20, 0x3f,
0x45, 0x69, 0x6b, 0x80, 0xd2, 0x28, 0xfc, 0x21, 0xdc, 0xd1, 0x07, 0x9a, 0xa6, 0x12, 0x43, 0xea,
0x98, 0xa7, 0x6a, 0xcf, 0x10, 0x8e, 0xd7, 0x2b, 0x43, 0x05, 0x0a, 0xa7, 0x4f, 0x9e, 0xf1, 0xe4,
0x3f, 0x3d, 0x7c, 0x7c, 0x80, 0xf2, 0x6c, 0xf4, 0xe8, 0xd1, 0x53, 0x54, 0x68, 0xff, 0xb9, 0x04,
0x1f, 0x66, 0x45, 0xd4, 0x4f, 0x6c, 0x48, 0x83, 0xfa, 0xd8, 0xf5, 0x66, 0xe6, 0xd8, 0xa2, 0xb5,
0x28, 0xdc, 0xca, 0x7e, 0x3a, 0x9a, 0x59, 0xa2, 0x7b, 0x5d, 0xd7, 0x9b, 0x75, 0x99, 0x18, 0x81,
0x71, 0x3c, 0x4e, 0xa5, 0x47, 0xfe, 0xbd, 0xd2, 0x63, 0xe3, 0x80, 0x15, 0x36, 0x0f, 0xd8, 0xd7,
0x80, 0x93, 0x10, 0x93, 0xbf, 0x14, 0x8a, 0xd9, 0x2f, 0x05, 0x94, 0x90, 0x64, 0x14, 0x7a, 0x61,
0x78, 0x97, 0xe6, 0x6b, 0xeb, 0xc2, 0x9e, 0xda, 0xf3, 0x49, 0xf0, 0xaa, 0x55, 0xba, 0x5f, 0x78,
0xd8, 0x24, 0x0d, 0xef, 0xf2, 0x45, 0x4c, 0xa3, 0xa0, 0x60, 0x0d, 0x54, 0xe6, 0xa0, 0x20, 0x09,
0xfa, 0x12, 0xd0, 0x0a, 0x11, 0x9a, 0x51, 0xc9, 0x36, 0x63, 0x7b, 0x05, 0xe4, 0x56, 0xdc, 0x82,
0x6a, 0x70, 0x69, 0x2e, 0xdc, 0xd7, 0xb6, 0xd7, 0xaa, 0xde, 0x2f, 0x3c, 0x2c, 0x91, 0x4a, 0x70,
0xa9, 0xd1, 0x29, 0x7e, 0x0a, 0x5b, 0x11, 0x2b, 0x54, 0x5a, 0xcb, 0x56, 0xda, 0x08, 0x25, 0xd8,
0xac, 0xfd, 0xcf, 0x1c, 0xc0, 0x2a, 0x12, 0xf8, 0x26, 0x5c, 0xed, 0xaa, 0xa4, 0x6f, 0x76, 0x05,
0x76, 0x95, 0x0c, 0x94, 0xe7, 0x8a, 0xfa, 0x42, 0xe1, 0x77, 0xc8, 0xb7, 0x7a, 0x57, 0xe3, 0xe5,
0x9d, 0x8e, 0x4c, 0xad, 0x37, 0xd0, 0x51, 0x9e, 0x96, 0x42, 0x3a, 0x3d, 0x7c, 0x86, 0x0a, 0x34,
0x9d, 0x28, 0xa6, 0x48, 0x2b, 0x6b, 0x0c, 0x29, 0x51, 0xf2, 0xcb, 0xae, 0xc6, 0x4b, 0xa5, 0xd8,
0xd5, 0x9e, 0xf0, 0x52, 0x29, 0x76, 0xb5, 0x43, 0x54, 0x65, 0x23, 0x4d, 0x78, 0x8e, 0x6a, 0xb8,
0x0c, 0xf9, 0x97, 0x87, 0x08, 0x68, 0x9d, 0x55, 0x69, 0x59, 0x46, 0x75, 0x2a, 0x29, 0x76, 0x35,
0xd4, 0xa0, 0x0a, 0x29, 0xde, 0x14, 0x44, 0x15, 0x35, 0xe3, 0x59, 0x47, 0x54, 0xd1, 0x16, 0xbd,
0x7c, 0x98, 0x41, 0x9d, 0x0e, 0xda, 0x6e, 0xff, 0xab, 0x02, 0xb5, 0x38, 0xdd, 0x68, 0x23, 0x31,
0xb7, 0x66, 0x76, 0xd4, 0x48, 0xd0, 0x31, 0x7e, 0x08, 0xa5, 0xe1, 0xd4, 0xf2, 0xfd, 0xb5, 0xe7,
0x64, 0x2c, 0xc2, 0x32, 0x8b, 0x03, 0xf0, 0x7d, 0xa8, 0x8f, 0x6c, 0x7f, 0xe8, 0x39, 0x0b, 0x76,
0x7f, 0x17, 0x98, 0x92, 0x24, 0x09, 0xdf, 0x80, 0xf2, 0xc2, 0xa2, 0xe5, 0x38, 0x7c, 0x65, 0x84,
0x33, 0xfc, 0x00, 0xb6, 0xf8, 0xc8, 0xf4, 0xec, 0xa9, 0xb9, 0x70, 0xf9, 0x63, 0xb2, 0x44, 0x1a,
0x9c, 0x4a, 0xec, 0xa9, 0xe6, 0xfa, 0x78, 0x17, 0xaa, 0xc3, 0x57, 0xce, 0x74, 0xe4, 0xd9, 0x73,
0x96, 0x29, 0xf5, 0xc3, 0xad, 0x75, 0x63, 0x48, 0xcc, 0xa7, 0x19, 0xfe, 0x2a, 0x6c, 0x7f, 0x4c,
0xcf, 0xbe, 0x60, 0x19, 0x53, 0x23, 0xf5, 0x88, 0x46, 0xec, 0x0b, 0x0a, 0x19, 0x3b, 0xde, 0x2c,
0x86, 0x54, 0x39, 0x24, 0xa2, 0x85, 0x10, 0xdf, 0x1d, 0x07, 0x31, 0x84, 0xbf, 0x14, 0xeb, 0x11,
0x8d, 0x42, 0xee, 0x01, 0xf8, 0xb6, 0x47, 0xaf, 0x9f, 0xf9, 0x72, 0xd6, 0x02, 0x06, 0xa8, 0x71,
0x8a, 0xb2, 0x9c, 0xd1, 0x0c, 0x9c, 0x8d, 0x27, 0x26, 0xf3, 0x6a, 0x9d, 0x31, 0x2b, 0xb3, 0xf1,
0x44, 0xa1, 0x8e, 0xbd, 0x07, 0x30, 0x73, 0x47, 0xf6, 0x94, 0x33, 0x1b, 0x5c, 0x92, 0x51, 0x18,
0xfb, 0x1a, 0x94, 0xac, 0xa9, 0x63, 0xf9, 0xad, 0x26, 0xe3, 0xf0, 0x09, 0xd5, 0x67, 0xf9, 0xbe,
0x1d, 0xd0, 0x5a, 0xbe, 0xc5, 0xf5, 0xb1, 0xb9, 0x3c, 0xa2, 0x45, 0xde, 0xf1, 0xcd, 0xb1, 0xb7,
0x6c, 0x6d, 0xb3, 0x97, 0x53, 0xc9, 0xf1, 0xbb, 0xde, 0x12, 0x3f, 0xe5, 0x16, 0xd0, 0xa7, 0x6f,
0x0b, 0xfd, 0xe8, 0x7b, 0x9a, 0x5a, 0xd7, 0xa1, 0x2f, 0xe4, 0xdb, 0xbc, 0x17, 0xdc, 0x61, 0x12,
0x55, 0xde, 0x30, 0x7a, 0x0e, 0xeb, 0x0a, 0xe3, 0x6e, 0x12, 0x67, 0x76, 0x93, 0xf8, 0x53, 0x28,
0xf1, 0x36, 0xe7, 0x2a, 0xe3, 0x5f, 0xdd, 0x68, 0x73, 0x02, 0xda, 0x5b, 0x44, 0x4d, 0x95, 0xcf,
0x5a, 0x05, 0x6a, 0x9f, 0xd5, 0xba, 0xc6, 0xa2, 0x9a, 0x6a, 0xaa, 0x56, 0xfd, 0x0e, 0x01, 0x7f,
0xd5, 0xfb, 0x7c, 0x05, 0x35, 0x5a, 0xbd, 0x4d, 0x2b, 0x08, 0xbc, 0xd6, 0x21, 0x5b, 0xe9, 0xee,
0xbb, 0x5e, 0xbf, 0x27, 0x57, 0x48, 0x95, 0x0a, 0x50, 0x0a, 0xfe, 0x86, 0x3d, 0xe3, 0xf9, 0xd5,
0xc5, 0x35, 0x3c, 0x66, 0x1a, 0x3e, 0x0a, 0x97, 0x7e, 0xfb, 0xad, 0x76, 0x72, 0x85, 0xbd, 0xdf,
0x39, 0x9f, 0xe9, 0x7a, 0x06, 0xd5, 0x85, 0xbf, 0xe4, 0x5a, 0x9e, 0x30, 0x2d, 0x77, 0xde, 0x71,
0x37, 0x9d, 0x5c, 0x21, 0x95, 0x85, 0xbf, 0x64, 0x92, 0xdf, 0x02, 0x0a, 0x56, 0x45, 0x9a, 0x6b,
0x78, 0xca, 0x34, 0x3c, 0x78, 0x9f, 0x2b, 0xe1, 0xe4, 0x0a, 0xd9, 0x4e, 0xc8, 0x53, 0xc6, 0x11,
0x40, 0xd5, 0x5f, 0xd8, 0x43, 0x67, 0xec, 0x0c, 0xdb, 0x3f, 0xe4, 0xa0, 0x1a, 0x7d, 0x03, 0xc0,
0x5f, 0x41, 0x3d, 0xd1, 0xb0, 0xbf, 0x47, 0xbf, 0x0e, 0xd3, 0xb8, 0x55, 0xc7, 0x6d, 0x28, 0x7a,
0xae, 0x1b, 0x84, 0xaf, 0x9a, 0xf4, 0xa9, 0x63, 0xbc, 0x78, 0x81, 0x73, 0xd7, 0x0d, 0xec, 0x11,
0x3b, 0xfd, 0xef, 0xb1, 0xc0, 0x11, 0x43, 0xb7, 0xff, 0x5e, 0x80, 0xab, 0x7d, 0x77, 0xe4, 0x8c,
0x1d, 0xeb, 0x7c, 0x6a, 0xff, 0xbf, 0x0a, 0xd2, 0x27, 0x71, 0xb9, 0x29, 0x64, 0x1a, 0xfe, 0xf6,
0xf2, 0x53, 0xcc, 0x28, 0x3f, 0xf1, 0x81, 0x2c, 0xbd, 0xed, 0x40, 0x96, 0xd7, 0x0f, 0x64, 0x78,
0x84, 0x2a, 0x59, 0x47, 0x28, 0xf5, 0xed, 0xa3, 0xfa, 0x13, 0xbe, 0x7d, 0x08, 0x9b, 0x89, 0x9f,
0xd1, 0x33, 0xa6, 0xdf, 0x91, 0x6b, 0xe9, 0xdf, 0x85, 0x6a, 0xe0, 0x5d, 0x26, 0x13, 0xff, 0xd3,
0xb7, 0x26, 0x5c, 0x86, 0xa2, 0x4a, 0xe0, 0x5d, 0xa6, 0xb3, 0x6d, 0xf7, 0xaf, 0x05, 0xda, 0x65,
0x25, 0xa2, 0xc0, 0xbb, 0xac, 0xbe, 0xa6, 0x2a, 0x92, 0x62, 0x6c, 0x76, 0x59, 0xb7, 0xe1, 0xc6,
0x06, 0x97, 0xdf, 0x9e, 0xb9, 0x0c, 0x9e, 0x78, 0x22, 0xe8, 0xba, 0x4c, 0x2f, 0xd0, 0x4d, 0xad,
0x47, 0x82, 0xf8, 0x5c, 0xeb, 0x09, 0x8a, 0x84, 0x0a, 0x19, 0x5c, 0x51, 0x55, 0x0c, 0x41, 0x56,
0x24, 0x82, 0x8a, 0xf4, 0x81, 0x97, 0xe2, 0x6a, 0xea, 0x0b, 0xda, 0xd0, 0x0d, 0x34, 0xad, 0x77,
0x86, 0x4a, 0xb4, 0xf5, 0x49, 0x01, 0xba, 0x82, 0x82, 0xca, 0xf8, 0x16, 0x5c, 0x4f, 0xd1, 0x75,
0x49, 0xd1, 0x55, 0x82, 0x2a, 0x19, 0xac, 0xbe, 0xda, 0x19, 0xf4, 0x24, 0x54, 0xa5, 0xaf, 0x83,
0x8d, 0xe5, 0x88, 0x81, 0x6a, 0x19, 0xcb, 0x88, 0xda, 0x00, 0x41, 0xc6, 0xbe, 0x8f, 0x04, 0xc3,
0x90, 0xc8, 0x19, 0xaa, 0x67, 0xf0, 0x74, 0x43, 0x25, 0xc2, 0xb1, 0x84, 0x1a, 0x59, 0x36, 0x48,
0x7d, 0x95, 0x9c, 0xa1, 0x26, 0xfe, 0x00, 0x6e, 0xa7, 0x58, 0x06, 0x11, 0x14, 0x5d, 0x94, 0xe4,
0x53, 0x89, 0xa0, 0xad, 0xdd, 0xbf, 0xe4, 0x12, 0x9f, 0x96, 0x56, 0x19, 0x17, 0xc9, 0x99, 0x42,
0xa7, 0x2f, 0x2b, 0xa6, 0x6e, 0x08, 0xc6, 0x7a, 0xf8, 0x42, 0x47, 0xa7, 0xf8, 0x51, 0x00, 0xef,
0xc0, 0xcd, 0x0d, 0x6e, 0x4f, 0x15, 0x9f, 0x4b, 0x1d, 0x94, 0xc7, 0x6d, 0xf8, 0x60, 0x83, 0xa9,
0x9f, 0x0c, 0x0c, 0x43, 0x56, 0x8e, 0xcd, 0x0e, 0x55, 0x50, 0xc0, 0xf7, 0xe0, 0x56, 0x86, 0xfa,
0x50, 0x45, 0x71, 0xf7, 0x87, 0x1c, 0xe0, 0xcd, 0x2f, 0x7d, 0xb1, 0x94, 0xaa, 0xd1, 0xa0, 0x6e,
0xd8, 0x1c, 0x59, 0xb5, 0xc6, 0x8e, 0x4c, 0x8e, 0x36, 0x94, 0x60, 0x76, 0x64, 0x5d, 0x38, 0xea,
0x31, 0x9b, 0x33, 0x44, 0x25, 0x85, 0x33, 0x0b, 0x59, 0x4c, 0x43, 0xd2, 0xe9, 0x76, 0x50, 0x71,
0xf7, 0x8f, 0x49, 0x07, 0xaf, 0xbe, 0x2d, 0xc6, 0x0e, 0x1e, 0xe8, 0xb4, 0xcb, 0x78, 0xbb, 0x83,
0xd7, 0xf9, 0x91, 0xb5, 0x61, 0xc4, 0xd7, 0xb8, 0x72, 0xa7, 0x27, 0x25, 0x4c, 0x4d, 0xb2, 0x04,
0xd1, 0x90, 0x4f, 0xe9, 0xf9, 0xc8, 0x92, 0x3b, 0x1a, 0xe8, 0x67, 0xa8, 0xb8, 0xfb, 0xfb, 0xe4,
0x47, 0xc6, 0xd5, 0x97, 0xcc, 0x55, 0x26, 0xf4, 0x04, 0xd2, 0x7f, 0x57, 0x26, 0xac, 0xf1, 0x23,
0x43, 0x3f, 0x82, 0x7b, 0x99, 0xd2, 0xc4, 0x24, 0x92, 0x26, 0xc8, 0x04, 0xe5, 0x57, 0xb1, 0x4e,
0x40, 0x44, 0x22, 0x1b, 0xb2, 0x28, 0xf4, 0x50, 0x21, 0x4a, 0xfc, 0x35, 0x76, 0x5f, 0xf8, 0x46,
0xa5, 0x07, 0x3a, 0x93, 0x27, 0x2b, 0x2a, 0x41, 0xa5, 0x4c, 0xbb, 0x5e, 0x08, 0x44, 0xa1, 0x61,
0x29, 0xaf, 0x92, 0x30, 0xc1, 0x95, 0x95, 0x8e, 0x64, 0x48, 0xa4, 0x2f, 0x2b, 0x82, 0x21, 0xa1,
0xca, 0xee, 0xdf, 0x72, 0x70, 0x3d, 0xf3, 0xf3, 0x2c, 0xbe, 0x0f, 0x77, 0x99, 0xb4, 0x6e, 0x08,
0x4a, 0xe7, 0xe8, 0x2c, 0xc3, 0x2b, 0x91, 0xd7, 0xd2, 0x88, 0x54, 0x89, 0x4b, 0xf1, 0x4f, 0x54,
0x23, 0x11, 0xc1, 0x75, 0x9e, 0xa8, 0xf6, 0x68, 0xb2, 0x3d, 0x84, 0x07, 0x19, 0x4c, 0x8d, 0xa8,
0xa7, 0x72, 0x87, 0x1e, 0x20, 0x5d, 0x22, 0xa7, 0xb2, 0x28, 0xa1, 0xe2, 0xee, 0x1f, 0x0a, 0xd0,
0x5c, 0xfb, 0xee, 0x8b, 0x5b, 0x70, 0xed, 0x54, 0xe8, 0x0d, 0xa4, 0xcd, 0x6a, 0x7c, 0x0d, 0x50,
0x82, 0xc3, 0xfb, 0x89, 0x1c, 0xad, 0x53, 0x6b, 0x78, 0x6e, 0x7c, 0x9e, 0x16, 0xb6, 0x04, 0x9d,
0x76, 0xca, 0xba, 0x29, 0x88, 0xa8, 0x90, 0xc9, 0xe8, 0x88, 0xa8, 0x98, 0xd2, 0x24, 0xf4, 0x35,
0x89, 0x48, 0xb4, 0xd7, 0x59, 0x5f, 0xf7, 0x85, 0x60, 0x18, 0x3a, 0x2a, 0xa7, 0xa8, 0x27, 0x12,
0x31, 0xbe, 0x43, 0x95, 0x94, 0x0e, 0x51, 0xea, 0xe9, 0xf2, 0x40, 0x47, 0x55, 0x9a, 0xd3, 0x09,
0xba, 0x26, 0x11, 0x91, 0xd6, 0x3a, 0x72, 0x82, 0x6a, 0x18, 0xc3, 0x56, 0x82, 0x45, 0xb4, 0x3e,
0x82, 0x14, 0x4d, 0xec, 0xf7, 0x79, 0x71, 0x4d, 0xd0, 0x0c, 0x32, 0x30, 0x4e, 0x4c, 0x46, 0x40,
0x8d, 0xd4, 0xb2, 0xa1, 0x7a, 0xd4, 0xc4, 0xd7, 0x61, 0x27, 0x41, 0xef, 0xd3, 0xcc, 0xd1, 0xd1,
0x56, 0xca, 0xf6, 0xa3, 0x33, 0x43, 0xd2, 0xd1, 0x76, 0x6a, 0xd1, 0xce, 0x51, 0x1f, 0xa1, 0xdd,
0xef, 0x0b, 0x00, 0xab, 0x46, 0x73, 0xb5, 0x0d, 0x5d, 0x14, 0x7a, 0xeb, 0xd1, 0x89, 0x97, 0xe2,
0xac, 0x33, 0x55, 0x34, 0x54, 0x94, 0x4b, 0x93, 0xbf, 0x93, 0x34, 0x43, 0x45, 0xf9, 0x95, 0x05,
0x9c, 0x2c, 0x18, 0x86, 0x8a, 0x0a, 0x69, 0x70, 0x57, 0xea, 0x1b, 0x2a, 0x2a, 0xa6, 0xc1, 0x9a,
0x2c, 0xaa, 0xc9, 0xb0, 0x70, 0xaa, 0x22, 0x28, 0x2a, 0x2a, 0xa7, 0x55, 0xf4, 0x65, 0x91, 0xa8,
0xa8, 0xb2, 0x49, 0xee, 0xf5, 0x64, 0x54, 0x4d, 0x93, 0x07, 0x8a, 0x6c, 0xe8, 0xa8, 0x96, 0x56,
0xfd, 0x5c, 0xee, 0xa9, 0x08, 0xd2, 0xd4, 0xbe, 0x74, 0x2c, 0xa0, 0x7a, 0x9a, 0x7a, 0x2c, 0x1f,
0x0b, 0xa8, 0x91, 0xa6, 0x1a, 0x12, 0x11, 0x50, 0x73, 0x63, 0x23, 0x92, 0x21, 0xa0, 0x2d, 0x7c,
0x15, 0xb6, 0x93, 0x54, 0xe9, 0xa5, 0x80, 0xb6, 0x37, 0xfd, 0x66, 0x18, 0x02, 0x42, 0x9b, 0x5e,
0xa6, 0xe4, 0x9d, 0xdd, 0xdf, 0xe4, 0xa0, 0x91, 0xfc, 0x9f, 0x41, 0x8f, 0x27, 0xbf, 0xfd, 0xd9,
0xd9, 0x1b, 0xe8, 0xe9, 0x83, 0xb4, 0xce, 0x54, 0x9f, 0xa3, 0x1c, 0x2d, 0x71, 0x69, 0x11, 0xe1,
0x54, 0x90, 0x7b, 0xf4, 0x06, 0x41, 0x79, 0x5a, 0x4e, 0xd6, 0xd9, 0x8a, 0xaa, 0xd0, 0xcb, 0x44,
0x30, 0x64, 0x55, 0xa1, 0x45, 0x70, 0xf7, 0xfb, 0x1c, 0x6c, 0xa7, 0x3e, 0xe8, 0xd0, 0x9c, 0xda,
0x38, 0xc7, 0x3f, 0xf1, 0x1b, 0x2d, 0xfb, 0x9a, 0xa0, 0x2a, 0xa8, 0x84, 0xeb, 0x50, 0x51, 0x8e,
0x4d, 0x4d, 0x55, 0x0e, 0xd7, 0xbe, 0xd1, 0x5e, 0x87, 0x1d, 0x51, 0xed, 0x1f, 0xa9, 0x26, 0x15,
0x36, 0x43, 0xb9, 0x2a, 0xbe, 0x01, 0x3b, 0x6c, 0x69, 0x45, 0x35, 0x4c, 0x5a, 0x33, 0x45, 0x43,
0xea, 0xa0, 0xff, 0xe6, 0x8e, 0xbe, 0xfa, 0xee, 0x8b, 0x89, 0x13, 0xbc, 0x5a, 0x9e, 0xef, 0x0d,
0xdd, 0xd9, 0xbe, 0xbb, 0xb0, 0xe7, 0x43, 0xd7, 0x1b, 0xed, 0x8f, 0xec, 0x0b, 0x67, 0x68, 0x7f,
0x3e, 0xb3, 0xe6, 0xd6, 0xc4, 0x9e, 0xd9, 0xf3, 0xe0, 0x73, 0x67, 0x1e, 0xd8, 0xde, 0xd8, 0x1a,
0xda, 0xfb, 0x17, 0x8f, 0xf7, 0x27, 0xee, 0xfe, 0x68, 0xe6, 0x9c, 0x97, 0x59, 0x93, 0xf0, 0xf8,
0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x35, 0x9b, 0x5d, 0x4d, 0x0b, 0x1d, 0x00, 0x00,
}