// * Copyright (c) 2015, 2018 Cirrus Link Solutions and others
// *
// * This program and the accompanying materials are made available under the
// * terms of the Eclipse Public License 2.0 which is available at
// * http://www.eclipse.org/legal/epl-2.0.
// *
// * SPDX-License-Identifier: EPL-2.0
// *
// * Contributors:
// *   Cirrus Link Solutions - initial implementation

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.1
// 	protoc        v3.12.4
// source: third_party/sparkplug_b/sparkplug_b.proto

package sparkplug_b

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type DataType int32

const (
	// Unknown placeholder for future expansion.
	DataType_Unknown DataType = 0
	// Basic Types
	DataType_Int8     DataType = 1
	DataType_Int16    DataType = 2
	DataType_Int32    DataType = 3
	DataType_Int64    DataType = 4
	DataType_UInt8    DataType = 5
	DataType_UInt16   DataType = 6
	DataType_UInt32   DataType = 7
	DataType_UInt64   DataType = 8
	DataType_Float    DataType = 9
	DataType_Double   DataType = 10
	DataType_Boolean  DataType = 11
	DataType_String   DataType = 12
	DataType_DateTime DataType = 13
	DataType_Text     DataType = 14
	// Additional Metric Types
	DataType_UUID     DataType = 15
	DataType_DataSet  DataType = 16
	DataType_Bytes    DataType = 17
	DataType_File     DataType = 18
	DataType_Template DataType = 19
	// Additional PropertyValue Types
	DataType_PropertySet     DataType = 20
	DataType_PropertySetList DataType = 21
	// Array Types
	DataType_Int8Array     DataType = 22
	DataType_Int16Array    DataType = 23
	DataType_Int32Array    DataType = 24
	DataType_Int64Array    DataType = 25
	DataType_UInt8Array    DataType = 26
	DataType_UInt16Array   DataType = 27
	DataType_UInt32Array   DataType = 28
	DataType_UInt64Array   DataType = 29
	DataType_FloatArray    DataType = 30
	DataType_DoubleArray   DataType = 31
	DataType_BooleanArray  DataType = 32
	DataType_StringArray   DataType = 33
	DataType_DateTimeArray DataType = 34
)

// Enum value maps for DataType.
var (
	DataType_name = map[int32]string{
		0:  "Unknown",
		1:  "Int8",
		2:  "Int16",
		3:  "Int32",
		4:  "Int64",
		5:  "UInt8",
		6:  "UInt16",
		7:  "UInt32",
		8:  "UInt64",
		9:  "Float",
		10: "Double",
		11: "Boolean",
		12: "String",
		13: "DateTime",
		14: "Text",
		15: "UUID",
		16: "DataSet",
		17: "Bytes",
		18: "File",
		19: "Template",
		20: "PropertySet",
		21: "PropertySetList",
		22: "Int8Array",
		23: "Int16Array",
		24: "Int32Array",
		25: "Int64Array",
		26: "UInt8Array",
		27: "UInt16Array",
		28: "UInt32Array",
		29: "UInt64Array",
		30: "FloatArray",
		31: "DoubleArray",
		32: "BooleanArray",
		33: "StringArray",
		34: "DateTimeArray",
	}
	DataType_value = map[string]int32{
		"Unknown":         0,
		"Int8":            1,
		"Int16":           2,
		"Int32":           3,
		"Int64":           4,
		"UInt8":           5,
		"UInt16":          6,
		"UInt32":          7,
		"UInt64":          8,
		"Float":           9,
		"Double":          10,
		"Boolean":         11,
		"String":          12,
		"DateTime":        13,
		"Text":            14,
		"UUID":            15,
		"DataSet":         16,
		"Bytes":           17,
		"File":            18,
		"Template":        19,
		"PropertySet":     20,
		"PropertySetList": 21,
		"Int8Array":       22,
		"Int16Array":      23,
		"Int32Array":      24,
		"Int64Array":      25,
		"UInt8Array":      26,
		"UInt16Array":     27,
		"UInt32Array":     28,
		"UInt64Array":     29,
		"FloatArray":      30,
		"DoubleArray":     31,
		"BooleanArray":    32,
		"StringArray":     33,
		"DateTimeArray":   34,
	}
)

func (x DataType) Enum() *DataType {
	p := new(DataType)
	*p = x
	return p
}

func (x DataType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (DataType) Descriptor() protoreflect.EnumDescriptor {
	return file_third_party_sparkplug_b_sparkplug_b_proto_enumTypes[0].Descriptor()
}

func (DataType) Type() protoreflect.EnumType {
	return &file_third_party_sparkplug_b_sparkplug_b_proto_enumTypes[0]
}

func (x DataType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Do not use.
func (x *DataType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = DataType(num)
	return nil
}

// Deprecated: Use DataType.Descriptor instead.
func (DataType) EnumDescriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0}
}

type Payload struct {
	state           protoimpl.MessageState
	sizeCache       protoimpl.SizeCache
	unknownFields   protoimpl.UnknownFields
	extensionFields protoimpl.ExtensionFields

	Timestamp *uint64           `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"` // Timestamp at message sending time
	Metrics   []*Payload_Metric `protobuf:"bytes,2,rep,name=metrics" json:"metrics,omitempty"`      // Repeated forever - no limit in Google Protobufs
	Seq       *uint64           `protobuf:"varint,3,opt,name=seq" json:"seq,omitempty"`             // Sequence number
	Uuid      *string           `protobuf:"bytes,4,opt,name=uuid" json:"uuid,omitempty"`            // UUID to track message type in terms of schema definitions
	Body      []byte            `protobuf:"bytes,5,opt,name=body" json:"body,omitempty"`            // To optionally bypass the whole definition above
}

func (x *Payload) Reset() {
	*x = Payload{}
	if protoimpl.UnsafeEnabled {
		mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Payload) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Payload) ProtoMessage() {}

func (x *Payload) ProtoReflect() protoreflect.Message {
	mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Payload.ProtoReflect.Descriptor instead.
func (*Payload) Descriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0}
}

func (x *Payload) GetTimestamp() uint64 {
	if x != nil && x.Timestamp != nil {
		return *x.Timestamp
	}
	return 0
}

func (x *Payload) GetMetrics() []*Payload_Metric {
	if x != nil {
		return x.Metrics
	}
	return nil
}

func (x *Payload) GetSeq() uint64 {
	if x != nil && x.Seq != nil {
		return *x.Seq
	}
	return 0
}

func (x *Payload) GetUuid() string {
	if x != nil && x.Uuid != nil {
		return *x.Uuid
	}
	return ""
}

func (x *Payload) GetBody() []byte {
	if x != nil {
		return x.Body
	}
	return nil
}

type Payload_Template struct {
	state           protoimpl.MessageState
	sizeCache       protoimpl.SizeCache
	unknownFields   protoimpl.UnknownFields
	extensionFields protoimpl.ExtensionFields

	Version      *string                       `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"` // The version of the Template to prevent mismatches
	Metrics      []*Payload_Metric             `protobuf:"bytes,2,rep,name=metrics" json:"metrics,omitempty"` // Each metric includes a name, datatype, and optionally a value
	Parameters   []*Payload_Template_Parameter `protobuf:"bytes,3,rep,name=parameters" json:"parameters,omitempty"`
	TemplateRef  *string                       `protobuf:"bytes,4,opt,name=template_ref,json=templateRef" json:"template_ref,omitempty"` // Reference to a template if this is extending a Template or an instance - must exist if an instance
	IsDefinition *bool                         `protobuf:"varint,5,opt,name=is_definition,json=isDefinition" json:"is_definition,omitempty"`
}

func (x *Payload_Template) Reset() {
	*x = Payload_Template{}
	if protoimpl.UnsafeEnabled {
		mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Payload_Template) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Payload_Template) ProtoMessage() {}

func (x *Payload_Template) ProtoReflect() protoreflect.Message {
	mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Payload_Template.ProtoReflect.Descriptor instead.
func (*Payload_Template) Descriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0, 0}
}

func (x *Payload_Template) GetVersion() string {
	if x != nil && x.Version != nil {
		return *x.Version
	}
	return ""
}

func (x *Payload_Template) GetMetrics() []*Payload_Metric {
	if x != nil {
		return x.Metrics
	}
	return nil
}

func (x *Payload_Template) GetParameters() []*Payload_Template_Parameter {
	if x != nil {
		return x.Parameters
	}
	return nil
}

func (x *Payload_Template) GetTemplateRef() string {
	if x != nil && x.TemplateRef != nil {
		return *x.TemplateRef
	}
	return ""
}

func (x *Payload_Template) GetIsDefinition() bool {
	if x != nil && x.IsDefinition != nil {
		return *x.IsDefinition
	}
	return false
}

type Payload_DataSet struct {
	state           protoimpl.MessageState
	sizeCache       protoimpl.SizeCache
	unknownFields   protoimpl.UnknownFields
	extensionFields protoimpl.ExtensionFields

	NumOfColumns *uint64                `protobuf:"varint,1,opt,name=num_of_columns,json=numOfColumns" json:"num_of_columns,omitempty"`
	Columns      []string               `protobuf:"bytes,2,rep,name=columns" json:"columns,omitempty"`
	Types        []uint32               `protobuf:"varint,3,rep,name=types" json:"types,omitempty"`
	Rows         []*Payload_DataSet_Row `protobuf:"bytes,4,rep,name=rows" json:"rows,omitempty"`
}

func (x *Payload_DataSet) Reset() {
	*x = Payload_DataSet{}
	if protoimpl.UnsafeEnabled {
		mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Payload_DataSet) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Payload_DataSet) ProtoMessage() {}

func (x *Payload_DataSet) ProtoReflect() protoreflect.Message {
	mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Payload_DataSet.ProtoReflect.Descriptor instead.
func (*Payload_DataSet) Descriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0, 1}
}

func (x *Payload_DataSet) GetNumOfColumns() uint64 {
	if x != nil && x.NumOfColumns != nil {
		return *x.NumOfColumns
	}
	return 0
}

func (x *Payload_DataSet) GetColumns() []string {
	if x != nil {
		return x.Columns
	}
	return nil
}

func (x *Payload_DataSet) GetTypes() []uint32 {
	if x != nil {
		return x.Types
	}
	return nil
}

func (x *Payload_DataSet) GetRows() []*Payload_DataSet_Row {
	if x != nil {
		return x.Rows
	}
	return nil
}

type Payload_PropertyValue struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Type   *uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"`
	IsNull *bool   `protobuf:"varint,2,opt,name=is_null,json=isNull" json:"is_null,omitempty"`
	// Types that are assignable to Value:
	//
	//	*Payload_PropertyValue_IntValue
	//	*Payload_PropertyValue_LongValue
	//	*Payload_PropertyValue_FloatValue
	//	*Payload_PropertyValue_DoubleValue
	//	*Payload_PropertyValue_BooleanValue
	//	*Payload_PropertyValue_StringValue
	//	*Payload_PropertyValue_PropertysetValue
	//	*Payload_PropertyValue_PropertysetsValue
	//	*Payload_PropertyValue_ExtensionValue
	Value isPayload_PropertyValue_Value `protobuf_oneof:"value"`
}

func (x *Payload_PropertyValue) Reset() {
	*x = Payload_PropertyValue{}
	if protoimpl.UnsafeEnabled {
		mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Payload_PropertyValue) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Payload_PropertyValue) ProtoMessage() {}

func (x *Payload_PropertyValue) ProtoReflect() protoreflect.Message {
	mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Payload_PropertyValue.ProtoReflect.Descriptor instead.
func (*Payload_PropertyValue) Descriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0, 2}
}

func (x *Payload_PropertyValue) GetType() uint32 {
	if x != nil && x.Type != nil {
		return *x.Type
	}
	return 0
}

func (x *Payload_PropertyValue) GetIsNull() bool {
	if x != nil && x.IsNull != nil {
		return *x.IsNull
	}
	return false
}

func (m *Payload_PropertyValue) GetValue() isPayload_PropertyValue_Value {
	if m != nil {
		return m.Value
	}
	return nil
}

func (x *Payload_PropertyValue) GetIntValue() uint32 {
	if x, ok := x.GetValue().(*Payload_PropertyValue_IntValue); ok {
		return x.IntValue
	}
	return 0
}

func (x *Payload_PropertyValue) GetLongValue() uint64 {
	if x, ok := x.GetValue().(*Payload_PropertyValue_LongValue); ok {
		return x.LongValue
	}
	return 0
}

func (x *Payload_PropertyValue) GetFloatValue() float32 {
	if x, ok := x.GetValue().(*Payload_PropertyValue_FloatValue); ok {
		return x.FloatValue
	}
	return 0
}

func (x *Payload_PropertyValue) GetDoubleValue() float64 {
	if x, ok := x.GetValue().(*Payload_PropertyValue_DoubleValue); ok {
		return x.DoubleValue
	}
	return 0
}

func (x *Payload_PropertyValue) GetBooleanValue() bool {
	if x, ok := x.GetValue().(*Payload_PropertyValue_BooleanValue); ok {
		return x.BooleanValue
	}
	return false
}

func (x *Payload_PropertyValue) GetStringValue() string {
	if x, ok := x.GetValue().(*Payload_PropertyValue_StringValue); ok {
		return x.StringValue
	}
	return ""
}

func (x *Payload_PropertyValue) GetPropertysetValue() *Payload_PropertySet {
	if x, ok := x.GetValue().(*Payload_PropertyValue_PropertysetValue); ok {
		return x.PropertysetValue
	}
	return nil
}

func (x *Payload_PropertyValue) GetPropertysetsValue() *Payload_PropertySetList {
	if x, ok := x.GetValue().(*Payload_PropertyValue_PropertysetsValue); ok {
		return x.PropertysetsValue
	}
	return nil
}

func (x *Payload_PropertyValue) GetExtensionValue() *Payload_PropertyValue_PropertyValueExtension {
	if x, ok := x.GetValue().(*Payload_PropertyValue_ExtensionValue); ok {
		return x.ExtensionValue
	}
	return nil
}

type isPayload_PropertyValue_Value interface {
	isPayload_PropertyValue_Value()
}

type Payload_PropertyValue_IntValue struct {
	IntValue uint32 `protobuf:"varint,3,opt,name=int_value,json=intValue,oneof"`
}

type Payload_PropertyValue_LongValue struct {
	LongValue uint64 `protobuf:"varint,4,opt,name=long_value,json=longValue,oneof"`
}

type Payload_PropertyValue_FloatValue struct {
	FloatValue float32 `protobuf:"fixed32,5,opt,name=float_value,json=floatValue,oneof"`
}

type Payload_PropertyValue_DoubleValue struct {
	DoubleValue float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue,oneof"`
}

type Payload_PropertyValue_BooleanValue struct {
	BooleanValue bool `protobuf:"varint,7,opt,name=boolean_value,json=booleanValue,oneof"`
}

type Payload_PropertyValue_StringValue struct {
	StringValue string `protobuf:"bytes,8,opt,name=string_value,json=stringValue,oneof"`
}

type Payload_PropertyValue_PropertysetValue struct {
	PropertysetValue *Payload_PropertySet `protobuf:"bytes,9,opt,name=propertyset_value,json=propertysetValue,oneof"`
}

type Payload_PropertyValue_PropertysetsValue struct {
	PropertysetsValue *Payload_PropertySetList `protobuf:"bytes,10,opt,name=propertysets_value,json=propertysetsValue,oneof"` // List of Property Values
}

type Payload_PropertyValue_ExtensionValue struct {
	ExtensionValue *Payload_PropertyValue_PropertyValueExtension `protobuf:"bytes,11,opt,name=extension_value,json=extensionValue,oneof"`
}

func (*Payload_PropertyValue_IntValue) isPayload_PropertyValue_Value() {}

func (*Payload_PropertyValue_LongValue) isPayload_PropertyValue_Value() {}

func (*Payload_PropertyValue_FloatValue) isPayload_PropertyValue_Value() {}

func (*Payload_PropertyValue_DoubleValue) isPayload_PropertyValue_Value() {}

func (*Payload_PropertyValue_BooleanValue) isPayload_PropertyValue_Value() {}

func (*Payload_PropertyValue_StringValue) isPayload_PropertyValue_Value() {}

func (*Payload_PropertyValue_PropertysetValue) isPayload_PropertyValue_Value() {}

func (*Payload_PropertyValue_PropertysetsValue) isPayload_PropertyValue_Value() {}

func (*Payload_PropertyValue_ExtensionValue) isPayload_PropertyValue_Value() {}

type Payload_PropertySet struct {
	state           protoimpl.MessageState
	sizeCache       protoimpl.SizeCache
	unknownFields   protoimpl.UnknownFields
	extensionFields protoimpl.ExtensionFields

	Keys   []string                 `protobuf:"bytes,1,rep,name=keys" json:"keys,omitempty"` // Names of the properties
	Values []*Payload_PropertyValue `protobuf:"bytes,2,rep,name=values" json:"values,omitempty"`
}

func (x *Payload_PropertySet) Reset() {
	*x = Payload_PropertySet{}
	if protoimpl.UnsafeEnabled {
		mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Payload_PropertySet) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Payload_PropertySet) ProtoMessage() {}

func (x *Payload_PropertySet) ProtoReflect() protoreflect.Message {
	mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Payload_PropertySet.ProtoReflect.Descriptor instead.
func (*Payload_PropertySet) Descriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0, 3}
}

func (x *Payload_PropertySet) GetKeys() []string {
	if x != nil {
		return x.Keys
	}
	return nil
}

func (x *Payload_PropertySet) GetValues() []*Payload_PropertyValue {
	if x != nil {
		return x.Values
	}
	return nil
}

type Payload_PropertySetList struct {
	state           protoimpl.MessageState
	sizeCache       protoimpl.SizeCache
	unknownFields   protoimpl.UnknownFields
	extensionFields protoimpl.ExtensionFields

	Propertyset []*Payload_PropertySet `protobuf:"bytes,1,rep,name=propertyset" json:"propertyset,omitempty"`
}

func (x *Payload_PropertySetList) Reset() {
	*x = Payload_PropertySetList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Payload_PropertySetList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Payload_PropertySetList) ProtoMessage() {}

func (x *Payload_PropertySetList) ProtoReflect() protoreflect.Message {
	mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Payload_PropertySetList.ProtoReflect.Descriptor instead.
func (*Payload_PropertySetList) Descriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0, 4}
}

func (x *Payload_PropertySetList) GetPropertyset() []*Payload_PropertySet {
	if x != nil {
		return x.Propertyset
	}
	return nil
}

type Payload_MetaData struct {
	state           protoimpl.MessageState
	sizeCache       protoimpl.SizeCache
	unknownFields   protoimpl.UnknownFields
	extensionFields protoimpl.ExtensionFields

	// Bytes specific metadata
	IsMultiPart *bool `protobuf:"varint,1,opt,name=is_multi_part,json=isMultiPart" json:"is_multi_part,omitempty"`
	// General metadata
	ContentType *string `protobuf:"bytes,2,opt,name=content_type,json=contentType" json:"content_type,omitempty"` // Content/Media type
	Size        *uint64 `protobuf:"varint,3,opt,name=size" json:"size,omitempty"`                                 // File size, String size, Multi-part size, etc
	Seq         *uint64 `protobuf:"varint,4,opt,name=seq" json:"seq,omitempty"`                                   // Sequence number for multi-part messages
	// File metadata
	FileName *string `protobuf:"bytes,5,opt,name=file_name,json=fileName" json:"file_name,omitempty"` // File name
	FileType *string `protobuf:"bytes,6,opt,name=file_type,json=fileType" json:"file_type,omitempty"` // File type (i.e. xml, json, txt, cpp, etc)
	Md5      *string `protobuf:"bytes,7,opt,name=md5" json:"md5,omitempty"`                           // md5 of data
	// Catchalls and future expansion
	Description *string `protobuf:"bytes,8,opt,name=description" json:"description,omitempty"` // Could be anything such as json or xml of custom properties
}

func (x *Payload_MetaData) Reset() {
	*x = Payload_MetaData{}
	if protoimpl.UnsafeEnabled {
		mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Payload_MetaData) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Payload_MetaData) ProtoMessage() {}

func (x *Payload_MetaData) ProtoReflect() protoreflect.Message {
	mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Payload_MetaData.ProtoReflect.Descriptor instead.
func (*Payload_MetaData) Descriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0, 5}
}

func (x *Payload_MetaData) GetIsMultiPart() bool {
	if x != nil && x.IsMultiPart != nil {
		return *x.IsMultiPart
	}
	return false
}

func (x *Payload_MetaData) GetContentType() string {
	if x != nil && x.ContentType != nil {
		return *x.ContentType
	}
	return ""
}

func (x *Payload_MetaData) GetSize() uint64 {
	if x != nil && x.Size != nil {
		return *x.Size
	}
	return 0
}

func (x *Payload_MetaData) GetSeq() uint64 {
	if x != nil && x.Seq != nil {
		return *x.Seq
	}
	return 0
}

func (x *Payload_MetaData) GetFileName() string {
	if x != nil && x.FileName != nil {
		return *x.FileName
	}
	return ""
}

func (x *Payload_MetaData) GetFileType() string {
	if x != nil && x.FileType != nil {
		return *x.FileType
	}
	return ""
}

func (x *Payload_MetaData) GetMd5() string {
	if x != nil && x.Md5 != nil {
		return *x.Md5
	}
	return ""
}

func (x *Payload_MetaData) GetDescription() string {
	if x != nil && x.Description != nil {
		return *x.Description
	}
	return ""
}

type Payload_Metric struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name         *string              `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`                                      // Metric name - should only be included on birth
	Alias        *uint64              `protobuf:"varint,2,opt,name=alias" json:"alias,omitempty"`                                   // Metric alias - tied to name on birth and included in all later DATA messages
	Timestamp    *uint64              `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"`                           // Timestamp associated with data acquisition time
	Datatype     *uint32              `protobuf:"varint,4,opt,name=datatype" json:"datatype,omitempty"`                             // DataType of the metric/tag value
	IsHistorical *bool                `protobuf:"varint,5,opt,name=is_historical,json=isHistorical" json:"is_historical,omitempty"` // If this is historical data and should not update real time tag
	IsTransient  *bool                `protobuf:"varint,6,opt,name=is_transient,json=isTransient" json:"is_transient,omitempty"`    // Tells consuming clients such as MQTT Engine to not store this as a tag
	IsNull       *bool                `protobuf:"varint,7,opt,name=is_null,json=isNull" json:"is_null,omitempty"`                   // If this is null - explicitly say so rather than using -1, false, etc for some datatypes.
	Metadata     *Payload_MetaData    `protobuf:"bytes,8,opt,name=metadata" json:"metadata,omitempty"`                              // Metadata for the payload
	Properties   *Payload_PropertySet `protobuf:"bytes,9,opt,name=properties" json:"properties,omitempty"`
	// Types that are assignable to Value:
	//
	//	*Payload_Metric_IntValue
	//	*Payload_Metric_LongValue
	//	*Payload_Metric_FloatValue
	//	*Payload_Metric_DoubleValue
	//	*Payload_Metric_BooleanValue
	//	*Payload_Metric_StringValue
	//	*Payload_Metric_BytesValue
	//	*Payload_Metric_DatasetValue
	//	*Payload_Metric_TemplateValue
	//	*Payload_Metric_ExtensionValue
	Value isPayload_Metric_Value `protobuf_oneof:"value"`
}

func (x *Payload_Metric) Reset() {
	*x = Payload_Metric{}
	if protoimpl.UnsafeEnabled {
		mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Payload_Metric) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Payload_Metric) ProtoMessage() {}

func (x *Payload_Metric) ProtoReflect() protoreflect.Message {
	mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Payload_Metric.ProtoReflect.Descriptor instead.
func (*Payload_Metric) Descriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0, 6}
}

func (x *Payload_Metric) GetName() string {
	if x != nil && x.Name != nil {
		return *x.Name
	}
	return ""
}

func (x *Payload_Metric) GetAlias() uint64 {
	if x != nil && x.Alias != nil {
		return *x.Alias
	}
	return 0
}

func (x *Payload_Metric) GetTimestamp() uint64 {
	if x != nil && x.Timestamp != nil {
		return *x.Timestamp
	}
	return 0
}

func (x *Payload_Metric) GetDatatype() uint32 {
	if x != nil && x.Datatype != nil {
		return *x.Datatype
	}
	return 0
}

func (x *Payload_Metric) GetIsHistorical() bool {
	if x != nil && x.IsHistorical != nil {
		return *x.IsHistorical
	}
	return false
}

func (x *Payload_Metric) GetIsTransient() bool {
	if x != nil && x.IsTransient != nil {
		return *x.IsTransient
	}
	return false
}

func (x *Payload_Metric) GetIsNull() bool {
	if x != nil && x.IsNull != nil {
		return *x.IsNull
	}
	return false
}

func (x *Payload_Metric) GetMetadata() *Payload_MetaData {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *Payload_Metric) GetProperties() *Payload_PropertySet {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (m *Payload_Metric) GetValue() isPayload_Metric_Value {
	if m != nil {
		return m.Value
	}
	return nil
}

func (x *Payload_Metric) GetIntValue() uint32 {
	if x, ok := x.GetValue().(*Payload_Metric_IntValue); ok {
		return x.IntValue
	}
	return 0
}

func (x *Payload_Metric) GetLongValue() uint64 {
	if x, ok := x.GetValue().(*Payload_Metric_LongValue); ok {
		return x.LongValue
	}
	return 0
}

func (x *Payload_Metric) GetFloatValue() float32 {
	if x, ok := x.GetValue().(*Payload_Metric_FloatValue); ok {
		return x.FloatValue
	}
	return 0
}

func (x *Payload_Metric) GetDoubleValue() float64 {
	if x, ok := x.GetValue().(*Payload_Metric_DoubleValue); ok {
		return x.DoubleValue
	}
	return 0
}

func (x *Payload_Metric) GetBooleanValue() bool {
	if x, ok := x.GetValue().(*Payload_Metric_BooleanValue); ok {
		return x.BooleanValue
	}
	return false
}

func (x *Payload_Metric) GetStringValue() string {
	if x, ok := x.GetValue().(*Payload_Metric_StringValue); ok {
		return x.StringValue
	}
	return ""
}

func (x *Payload_Metric) GetBytesValue() []byte {
	if x, ok := x.GetValue().(*Payload_Metric_BytesValue); ok {
		return x.BytesValue
	}
	return nil
}

func (x *Payload_Metric) GetDatasetValue() *Payload_DataSet {
	if x, ok := x.GetValue().(*Payload_Metric_DatasetValue); ok {
		return x.DatasetValue
	}
	return nil
}

func (x *Payload_Metric) GetTemplateValue() *Payload_Template {
	if x, ok := x.GetValue().(*Payload_Metric_TemplateValue); ok {
		return x.TemplateValue
	}
	return nil
}

func (x *Payload_Metric) GetExtensionValue() *Payload_Metric_MetricValueExtension {
	if x, ok := x.GetValue().(*Payload_Metric_ExtensionValue); ok {
		return x.ExtensionValue
	}
	return nil
}

type isPayload_Metric_Value interface {
	isPayload_Metric_Value()
}

type Payload_Metric_IntValue struct {
	IntValue uint32 `protobuf:"varint,10,opt,name=int_value,json=intValue,oneof"`
}

type Payload_Metric_LongValue struct {
	LongValue uint64 `protobuf:"varint,11,opt,name=long_value,json=longValue,oneof"`
}

type Payload_Metric_FloatValue struct {
	FloatValue float32 `protobuf:"fixed32,12,opt,name=float_value,json=floatValue,oneof"`
}

type Payload_Metric_DoubleValue struct {
	DoubleValue float64 `protobuf:"fixed64,13,opt,name=double_value,json=doubleValue,oneof"`
}

type Payload_Metric_BooleanValue struct {
	BooleanValue bool `protobuf:"varint,14,opt,name=boolean_value,json=booleanValue,oneof"`
}

type Payload_Metric_StringValue struct {
	StringValue string `protobuf:"bytes,15,opt,name=string_value,json=stringValue,oneof"`
}

type Payload_Metric_BytesValue struct {
	BytesValue []byte `protobuf:"bytes,16,opt,name=bytes_value,json=bytesValue,oneof"` // Bytes, File
}

type Payload_Metric_DatasetValue struct {
	DatasetValue *Payload_DataSet `protobuf:"bytes,17,opt,name=dataset_value,json=datasetValue,oneof"`
}

type Payload_Metric_TemplateValue struct {
	TemplateValue *Payload_Template `protobuf:"bytes,18,opt,name=template_value,json=templateValue,oneof"`
}

type Payload_Metric_ExtensionValue struct {
	ExtensionValue *Payload_Metric_MetricValueExtension `protobuf:"bytes,19,opt,name=extension_value,json=extensionValue,oneof"`
}

func (*Payload_Metric_IntValue) isPayload_Metric_Value() {}

func (*Payload_Metric_LongValue) isPayload_Metric_Value() {}

func (*Payload_Metric_FloatValue) isPayload_Metric_Value() {}

func (*Payload_Metric_DoubleValue) isPayload_Metric_Value() {}

func (*Payload_Metric_BooleanValue) isPayload_Metric_Value() {}

func (*Payload_Metric_StringValue) isPayload_Metric_Value() {}

func (*Payload_Metric_BytesValue) isPayload_Metric_Value() {}

func (*Payload_Metric_DatasetValue) isPayload_Metric_Value() {}

func (*Payload_Metric_TemplateValue) isPayload_Metric_Value() {}

func (*Payload_Metric_ExtensionValue) isPayload_Metric_Value() {}

type Payload_Template_Parameter struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Type *uint32 `protobuf:"varint,2,opt,name=type" json:"type,omitempty"`
	// Types that are assignable to Value:
	//
	//	*Payload_Template_Parameter_IntValue
	//	*Payload_Template_Parameter_LongValue
	//	*Payload_Template_Parameter_FloatValue
	//	*Payload_Template_Parameter_DoubleValue
	//	*Payload_Template_Parameter_BooleanValue
	//	*Payload_Template_Parameter_StringValue
	//	*Payload_Template_Parameter_ExtensionValue
	Value isPayload_Template_Parameter_Value `protobuf_oneof:"value"`
}

func (x *Payload_Template_Parameter) Reset() {
	*x = Payload_Template_Parameter{}
	if protoimpl.UnsafeEnabled {
		mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Payload_Template_Parameter) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Payload_Template_Parameter) ProtoMessage() {}

func (x *Payload_Template_Parameter) ProtoReflect() protoreflect.Message {
	mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Payload_Template_Parameter.ProtoReflect.Descriptor instead.
func (*Payload_Template_Parameter) Descriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0, 0, 0}
}

func (x *Payload_Template_Parameter) GetName() string {
	if x != nil && x.Name != nil {
		return *x.Name
	}
	return ""
}

func (x *Payload_Template_Parameter) GetType() uint32 {
	if x != nil && x.Type != nil {
		return *x.Type
	}
	return 0
}

func (m *Payload_Template_Parameter) GetValue() isPayload_Template_Parameter_Value {
	if m != nil {
		return m.Value
	}
	return nil
}

func (x *Payload_Template_Parameter) GetIntValue() uint32 {
	if x, ok := x.GetValue().(*Payload_Template_Parameter_IntValue); ok {
		return x.IntValue
	}
	return 0
}

func (x *Payload_Template_Parameter) GetLongValue() uint64 {
	if x, ok := x.GetValue().(*Payload_Template_Parameter_LongValue); ok {
		return x.LongValue
	}
	return 0
}

func (x *Payload_Template_Parameter) GetFloatValue() float32 {
	if x, ok := x.GetValue().(*Payload_Template_Parameter_FloatValue); ok {
		return x.FloatValue
	}
	return 0
}

func (x *Payload_Template_Parameter) GetDoubleValue() float64 {
	if x, ok := x.GetValue().(*Payload_Template_Parameter_DoubleValue); ok {
		return x.DoubleValue
	}
	return 0
}

func (x *Payload_Template_Parameter) GetBooleanValue() bool {
	if x, ok := x.GetValue().(*Payload_Template_Parameter_BooleanValue); ok {
		return x.BooleanValue
	}
	return false
}

func (x *Payload_Template_Parameter) GetStringValue() string {
	if x, ok := x.GetValue().(*Payload_Template_Parameter_StringValue); ok {
		return x.StringValue
	}
	return ""
}

func (x *Payload_Template_Parameter) GetExtensionValue() *Payload_Template_Parameter_ParameterValueExtension {
	if x, ok := x.GetValue().(*Payload_Template_Parameter_ExtensionValue); ok {
		return x.ExtensionValue
	}
	return nil
}

type isPayload_Template_Parameter_Value interface {
	isPayload_Template_Parameter_Value()
}

type Payload_Template_Parameter_IntValue struct {
	IntValue uint32 `protobuf:"varint,3,opt,name=int_value,json=intValue,oneof"`
}

type Payload_Template_Parameter_LongValue struct {
	LongValue uint64 `protobuf:"varint,4,opt,name=long_value,json=longValue,oneof"`
}

type Payload_Template_Parameter_FloatValue struct {
	FloatValue float32 `protobuf:"fixed32,5,opt,name=float_value,json=floatValue,oneof"`
}

type Payload_Template_Parameter_DoubleValue struct {
	DoubleValue float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue,oneof"`
}

type Payload_Template_Parameter_BooleanValue struct {
	BooleanValue bool `protobuf:"varint,7,opt,name=boolean_value,json=booleanValue,oneof"`
}

type Payload_Template_Parameter_StringValue struct {
	StringValue string `protobuf:"bytes,8,opt,name=string_value,json=stringValue,oneof"`
}

type Payload_Template_Parameter_ExtensionValue struct {
	ExtensionValue *Payload_Template_Parameter_ParameterValueExtension `protobuf:"bytes,9,opt,name=extension_value,json=extensionValue,oneof"`
}

func (*Payload_Template_Parameter_IntValue) isPayload_Template_Parameter_Value() {}

func (*Payload_Template_Parameter_LongValue) isPayload_Template_Parameter_Value() {}

func (*Payload_Template_Parameter_FloatValue) isPayload_Template_Parameter_Value() {}

func (*Payload_Template_Parameter_DoubleValue) isPayload_Template_Parameter_Value() {}

func (*Payload_Template_Parameter_BooleanValue) isPayload_Template_Parameter_Value() {}

func (*Payload_Template_Parameter_StringValue) isPayload_Template_Parameter_Value() {}

func (*Payload_Template_Parameter_ExtensionValue) isPayload_Template_Parameter_Value() {}

type Payload_Template_Parameter_ParameterValueExtension struct {
	state           protoimpl.MessageState
	sizeCache       protoimpl.SizeCache
	unknownFields   protoimpl.UnknownFields
	extensionFields protoimpl.ExtensionFields
}

func (x *Payload_Template_Parameter_ParameterValueExtension) Reset() {
	*x = Payload_Template_Parameter_ParameterValueExtension{}
	if protoimpl.UnsafeEnabled {
		mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Payload_Template_Parameter_ParameterValueExtension) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Payload_Template_Parameter_ParameterValueExtension) ProtoMessage() {}

func (x *Payload_Template_Parameter_ParameterValueExtension) ProtoReflect() protoreflect.Message {
	mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Payload_Template_Parameter_ParameterValueExtension.ProtoReflect.Descriptor instead.
func (*Payload_Template_Parameter_ParameterValueExtension) Descriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0, 0, 0, 0}
}

type Payload_DataSet_DataSetValue struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Value:
	//
	//	*Payload_DataSet_DataSetValue_IntValue
	//	*Payload_DataSet_DataSetValue_LongValue
	//	*Payload_DataSet_DataSetValue_FloatValue
	//	*Payload_DataSet_DataSetValue_DoubleValue
	//	*Payload_DataSet_DataSetValue_BooleanValue
	//	*Payload_DataSet_DataSetValue_StringValue
	//	*Payload_DataSet_DataSetValue_ExtensionValue
	Value isPayload_DataSet_DataSetValue_Value `protobuf_oneof:"value"`
}

func (x *Payload_DataSet_DataSetValue) Reset() {
	*x = Payload_DataSet_DataSetValue{}
	if protoimpl.UnsafeEnabled {
		mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Payload_DataSet_DataSetValue) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Payload_DataSet_DataSetValue) ProtoMessage() {}

func (x *Payload_DataSet_DataSetValue) ProtoReflect() protoreflect.Message {
	mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Payload_DataSet_DataSetValue.ProtoReflect.Descriptor instead.
func (*Payload_DataSet_DataSetValue) Descriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0, 1, 0}
}

func (m *Payload_DataSet_DataSetValue) GetValue() isPayload_DataSet_DataSetValue_Value {
	if m != nil {
		return m.Value
	}
	return nil
}

func (x *Payload_DataSet_DataSetValue) GetIntValue() uint32 {
	if x, ok := x.GetValue().(*Payload_DataSet_DataSetValue_IntValue); ok {
		return x.IntValue
	}
	return 0
}

func (x *Payload_DataSet_DataSetValue) GetLongValue() uint64 {
	if x, ok := x.GetValue().(*Payload_DataSet_DataSetValue_LongValue); ok {
		return x.LongValue
	}
	return 0
}

func (x *Payload_DataSet_DataSetValue) GetFloatValue() float32 {
	if x, ok := x.GetValue().(*Payload_DataSet_DataSetValue_FloatValue); ok {
		return x.FloatValue
	}
	return 0
}

func (x *Payload_DataSet_DataSetValue) GetDoubleValue() float64 {
	if x, ok := x.GetValue().(*Payload_DataSet_DataSetValue_DoubleValue); ok {
		return x.DoubleValue
	}
	return 0
}

func (x *Payload_DataSet_DataSetValue) GetBooleanValue() bool {
	if x, ok := x.GetValue().(*Payload_DataSet_DataSetValue_BooleanValue); ok {
		return x.BooleanValue
	}
	return false
}

func (x *Payload_DataSet_DataSetValue) GetStringValue() string {
	if x, ok := x.GetValue().(*Payload_DataSet_DataSetValue_StringValue); ok {
		return x.StringValue
	}
	return ""
}

func (x *Payload_DataSet_DataSetValue) GetExtensionValue() *Payload_DataSet_DataSetValue_DataSetValueExtension {
	if x, ok := x.GetValue().(*Payload_DataSet_DataSetValue_ExtensionValue); ok {
		return x.ExtensionValue
	}
	return nil
}

type isPayload_DataSet_DataSetValue_Value interface {
	isPayload_DataSet_DataSetValue_Value()
}

type Payload_DataSet_DataSetValue_IntValue struct {
	IntValue uint32 `protobuf:"varint,1,opt,name=int_value,json=intValue,oneof"`
}

type Payload_DataSet_DataSetValue_LongValue struct {
	LongValue uint64 `protobuf:"varint,2,opt,name=long_value,json=longValue,oneof"`
}

type Payload_DataSet_DataSetValue_FloatValue struct {
	FloatValue float32 `protobuf:"fixed32,3,opt,name=float_value,json=floatValue,oneof"`
}

type Payload_DataSet_DataSetValue_DoubleValue struct {
	DoubleValue float64 `protobuf:"fixed64,4,opt,name=double_value,json=doubleValue,oneof"`
}

type Payload_DataSet_DataSetValue_BooleanValue struct {
	BooleanValue bool `protobuf:"varint,5,opt,name=boolean_value,json=booleanValue,oneof"`
}

type Payload_DataSet_DataSetValue_StringValue struct {
	StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,oneof"`
}

type Payload_DataSet_DataSetValue_ExtensionValue struct {
	ExtensionValue *Payload_DataSet_DataSetValue_DataSetValueExtension `protobuf:"bytes,7,opt,name=extension_value,json=extensionValue,oneof"`
}

func (*Payload_DataSet_DataSetValue_IntValue) isPayload_DataSet_DataSetValue_Value() {}

func (*Payload_DataSet_DataSetValue_LongValue) isPayload_DataSet_DataSetValue_Value() {}

func (*Payload_DataSet_DataSetValue_FloatValue) isPayload_DataSet_DataSetValue_Value() {}

func (*Payload_DataSet_DataSetValue_DoubleValue) isPayload_DataSet_DataSetValue_Value() {}

func (*Payload_DataSet_DataSetValue_BooleanValue) isPayload_DataSet_DataSetValue_Value() {}

func (*Payload_DataSet_DataSetValue_StringValue) isPayload_DataSet_DataSetValue_Value() {}

func (*Payload_DataSet_DataSetValue_ExtensionValue) isPayload_DataSet_DataSetValue_Value() {}

type Payload_DataSet_Row struct {
	state           protoimpl.MessageState
	sizeCache       protoimpl.SizeCache
	unknownFields   protoimpl.UnknownFields
	extensionFields protoimpl.ExtensionFields

	Elements []*Payload_DataSet_DataSetValue `protobuf:"bytes,1,rep,name=elements" json:"elements,omitempty"`
}

func (x *Payload_DataSet_Row) Reset() {
	*x = Payload_DataSet_Row{}
	if protoimpl.UnsafeEnabled {
		mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Payload_DataSet_Row) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Payload_DataSet_Row) ProtoMessage() {}

func (x *Payload_DataSet_Row) ProtoReflect() protoreflect.Message {
	mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Payload_DataSet_Row.ProtoReflect.Descriptor instead.
func (*Payload_DataSet_Row) Descriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0, 1, 1}
}

func (x *Payload_DataSet_Row) GetElements() []*Payload_DataSet_DataSetValue {
	if x != nil {
		return x.Elements
	}
	return nil
}

type Payload_DataSet_DataSetValue_DataSetValueExtension struct {
	state           protoimpl.MessageState
	sizeCache       protoimpl.SizeCache
	unknownFields   protoimpl.UnknownFields
	extensionFields protoimpl.ExtensionFields
}

func (x *Payload_DataSet_DataSetValue_DataSetValueExtension) Reset() {
	*x = Payload_DataSet_DataSetValue_DataSetValueExtension{}
	if protoimpl.UnsafeEnabled {
		mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Payload_DataSet_DataSetValue_DataSetValueExtension) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Payload_DataSet_DataSetValue_DataSetValueExtension) ProtoMessage() {}

func (x *Payload_DataSet_DataSetValue_DataSetValueExtension) ProtoReflect() protoreflect.Message {
	mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Payload_DataSet_DataSetValue_DataSetValueExtension.ProtoReflect.Descriptor instead.
func (*Payload_DataSet_DataSetValue_DataSetValueExtension) Descriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0, 1, 0, 0}
}

type Payload_PropertyValue_PropertyValueExtension struct {
	state           protoimpl.MessageState
	sizeCache       protoimpl.SizeCache
	unknownFields   protoimpl.UnknownFields
	extensionFields protoimpl.ExtensionFields
}

func (x *Payload_PropertyValue_PropertyValueExtension) Reset() {
	*x = Payload_PropertyValue_PropertyValueExtension{}
	if protoimpl.UnsafeEnabled {
		mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Payload_PropertyValue_PropertyValueExtension) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Payload_PropertyValue_PropertyValueExtension) ProtoMessage() {}

func (x *Payload_PropertyValue_PropertyValueExtension) ProtoReflect() protoreflect.Message {
	mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Payload_PropertyValue_PropertyValueExtension.ProtoReflect.Descriptor instead.
func (*Payload_PropertyValue_PropertyValueExtension) Descriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0, 2, 0}
}

type Payload_Metric_MetricValueExtension struct {
	state           protoimpl.MessageState
	sizeCache       protoimpl.SizeCache
	unknownFields   protoimpl.UnknownFields
	extensionFields protoimpl.ExtensionFields
}

func (x *Payload_Metric_MetricValueExtension) Reset() {
	*x = Payload_Metric_MetricValueExtension{}
	if protoimpl.UnsafeEnabled {
		mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Payload_Metric_MetricValueExtension) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Payload_Metric_MetricValueExtension) ProtoMessage() {}

func (x *Payload_Metric_MetricValueExtension) ProtoReflect() protoreflect.Message {
	mi := &file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Payload_Metric_MetricValueExtension.ProtoReflect.Descriptor instead.
func (*Payload_Metric_MetricValueExtension) Descriptor() ([]byte, []int) {
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP(), []int{0, 6, 0}
}

var File_third_party_sparkplug_b_sparkplug_b_proto protoreflect.FileDescriptor

var file_third_party_sparkplug_b_sparkplug_b_proto_rawDesc = []byte{
	0x0a, 0x29, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x79, 0x2f, 0x73, 0x70,
	0x61, 0x72, 0x6b, 0x70, 0x6c, 0x75, 0x67, 0x5f, 0x62, 0x2f, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x70,
	0x6c, 0x75, 0x67, 0x5f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x6f, 0x72, 0x67,
	0x2e, 0x65, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x65, 0x2e, 0x74, 0x61, 0x68, 0x75, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x22, 0x87, 0x1c, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
	0x12, 0x43, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x65, 0x2e,
	0x74, 0x61, 0x68, 0x75, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x6d, 0x65,
	0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x62,
	0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x1a,
	0xc4, 0x05, 0x0a, 0x08, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07,
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x63,
	0x6c, 0x69, 0x70, 0x73, 0x65, 0x2e, 0x74, 0x61, 0x68, 0x75, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x55, 0x0a, 0x0a, 0x70,
	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x35, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x65, 0x2e, 0x74, 0x61,
	0x68, 0x75, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x72,
	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
	0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72,
	0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
	0x74, 0x65, 0x52, 0x65, 0x66, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x69,
	0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73,
	0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xaf, 0x03, 0x0a, 0x09, 0x50,
	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04,
	0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
	0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
	0x1f, 0x0a, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75,
	0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c,
	0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48,
	0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
	0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
	0x61, 0x6c, 0x75, 0x65, 0x12, 0x78, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
	0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e,
	0x6f, 0x72, 0x67, 0x2e, 0x65, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x65, 0x2e, 0x74, 0x61, 0x68, 0x75,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d,
	0x65, 0x74, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e,
	0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x23,
	0x0a, 0x17, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2a, 0x08, 0x08, 0x01, 0x10, 0x80, 0x80,
	0x80, 0x80, 0x02, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0x08, 0x08, 0x06,
	0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x1a, 0x9e, 0x05, 0x0a, 0x07, 0x44, 0x61, 0x74, 0x61, 0x53,
	0x65, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x6f, 0x66, 0x5f, 0x63, 0x6f, 0x6c,
	0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x4f,
	0x66, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75,
	0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d,
	0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
	0x0d, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73,
	0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x63, 0x6c,
	0x69, 0x70, 0x73, 0x65, 0x2e, 0x74, 0x61, 0x68, 0x75, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53,
	0x65, 0x74, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x1a, 0x88, 0x03, 0x0a,
	0x0c, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a,
	0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
	0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a,
	0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
	0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a,
	0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e,
	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c,
	0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c,
	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
	0x65, 0x12, 0x78, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x6f, 0x72, 0x67,
	0x2e, 0x65, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x65, 0x2e, 0x74, 0x61, 0x68, 0x75, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x44,
	0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x65, 0x78, 0x74,
	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x21, 0x0a, 0x15, 0x44,
	0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e,
	0x73, 0x69, 0x6f, 0x6e, 0x2a, 0x08, 0x08, 0x01, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x42, 0x07,
	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x64, 0x0a, 0x03, 0x52, 0x6f, 0x77, 0x12, 0x53,
	0x0a, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x37, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x65, 0x2e, 0x74,
	0x61, 0x68, 0x75, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x2e, 0x44, 0x61, 0x74,
	0x61, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x73, 0x2a, 0x08, 0x08, 0x02, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x2a, 0x08, 0x08,
	0x05, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x1a, 0xf5, 0x04, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70,
	0x65, 0x72, 0x74, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a,
	0x07, 0x69, 0x73, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
	0x69, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x6e,
	0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x66,
	0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75,
	0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48,
	0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25,
	0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x5d, 0x0a, 0x11, 0x70, 0x72,
	0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x73, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x63, 0x6c, 0x69,
	0x70, 0x73, 0x65, 0x2e, 0x74, 0x61, 0x68, 0x75, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x79, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
	0x79, 0x73, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x70, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x79, 0x73, 0x65, 0x74, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x63, 0x6c, 0x69,
	0x70, 0x73, 0x65, 0x2e, 0x74, 0x61, 0x68, 0x75, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x79, 0x53, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x11, 0x70, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x79, 0x73, 0x65, 0x74, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x72,
	0x0a, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x63,
	0x6c, 0x69, 0x70, 0x73, 0x65, 0x2e, 0x74, 0x61, 0x68, 0x75, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x70,
	0x65, 0x72, 0x74, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
	0x48, 0x00, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c,
	0x75, 0x65, 0x1a, 0x22, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2a, 0x08, 0x08, 0x01,
	0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a,
	0x75, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x12,
	0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65,
	0x79, 0x73, 0x12, 0x48, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x65,
	0x2e, 0x74, 0x61, 0x68, 0x75, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x56,
	0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2a, 0x08, 0x08, 0x03,
	0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x1a, 0x6d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x79, 0x53, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x0b, 0x70, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x79, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x65, 0x2e, 0x74, 0x61, 0x68,
	0x75, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x0b,
	0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x73, 0x65, 0x74, 0x2a, 0x08, 0x08, 0x02, 0x10,
	0x80, 0x80, 0x80, 0x80, 0x02, 0x1a, 0xef, 0x01, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61,
	0x74, 0x61, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x70,
	0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4d, 0x75, 0x6c,
	0x74, 0x69, 0x50, 0x61, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
	0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f,
	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x10, 0x0a,
	0x03, 0x73, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12,
	0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09,
	0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x64, 0x35,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x64, 0x35, 0x12, 0x20, 0x0a, 0x0b, 0x64,
	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x08, 0x08,
	0x09, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x1a, 0x9c, 0x07, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1c, 0x0a, 0x09,
	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61,
	0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x61,
	0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x73,
	0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69,
	0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x69,
	0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0b, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x17,
	0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x06, 0x69, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x12, 0x47, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
	0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x65, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x65, 0x2e, 0x74, 0x61, 0x68, 0x75, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x4d, 0x65,
	0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x12, 0x4e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x63, 0x6c, 0x69, 0x70,
	0x73, 0x65, 0x2e, 0x74, 0x61, 0x68, 0x75, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
	0x79, 0x53, 0x65, 0x74, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
	0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
	0x1f, 0x0a, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0b, 0x20,
	0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x0c, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75,
	0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c,
	0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x48,
	0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
	0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x0f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
	0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x79, 0x74,
	0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x73,
	0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x65, 0x2e, 0x74, 0x61, 0x68,
	0x75, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x61,
	0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x54, 0x0a, 0x0e, 0x74, 0x65,
	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x12, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x65,
	0x2e, 0x74, 0x61, 0x68, 0x75, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x48,
	0x00, 0x52, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x12, 0x69, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x65, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x65, 0x2e, 0x74, 0x61, 0x68, 0x75, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x4d, 0x65,
	0x74, 0x72, 0x69, 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x65, 0x78, 0x74,
	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x20, 0x0a, 0x14, 0x4d,
	0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
	0x69, 0x6f, 0x6e, 0x2a, 0x08, 0x08, 0x01, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x42, 0x07, 0x0a,
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0x08, 0x08, 0x06, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02,
	0x2a, 0xf2, 0x03, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a,
	0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x6e,
	0x74, 0x38, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x6e, 0x74, 0x31, 0x36, 0x10, 0x02, 0x12,
	0x09, 0x0a, 0x05, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x6e,
	0x74, 0x36, 0x34, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x49, 0x6e, 0x74, 0x38, 0x10, 0x05,
	0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x6e, 0x74, 0x31, 0x36, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06,
	0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x10, 0x07, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x6e, 0x74,
	0x36, 0x34, 0x10, 0x08, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x10, 0x09, 0x12,
	0x0a, 0x0a, 0x06, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x42,
	0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x10, 0x0b, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x69,
	0x6e, 0x67, 0x10, 0x0c, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
	0x10, 0x0d, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x65, 0x78, 0x74, 0x10, 0x0e, 0x12, 0x08, 0x0a, 0x04,
	0x55, 0x55, 0x49, 0x44, 0x10, 0x0f, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65,
	0x74, 0x10, 0x10, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x79, 0x74, 0x65, 0x73, 0x10, 0x11, 0x12, 0x08,
	0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x10, 0x12, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x65, 0x6d, 0x70,
	0x6c, 0x61, 0x74, 0x65, 0x10, 0x13, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x79, 0x53, 0x65, 0x74, 0x10, 0x14, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65,
	0x72, 0x74, 0x79, 0x53, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x10, 0x15, 0x12, 0x0d, 0x0a, 0x09,
	0x49, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x10, 0x16, 0x12, 0x0e, 0x0a, 0x0a, 0x49,
	0x6e, 0x74, 0x31, 0x36, 0x41, 0x72, 0x72, 0x61, 0x79, 0x10, 0x17, 0x12, 0x0e, 0x0a, 0x0a, 0x49,
	0x6e, 0x74, 0x33, 0x32, 0x41, 0x72, 0x72, 0x61, 0x79, 0x10, 0x18, 0x12, 0x0e, 0x0a, 0x0a, 0x49,
	0x6e, 0x74, 0x36, 0x34, 0x41, 0x72, 0x72, 0x61, 0x79, 0x10, 0x19, 0x12, 0x0e, 0x0a, 0x0a, 0x55,
	0x49, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x10, 0x1a, 0x12, 0x0f, 0x0a, 0x0b, 0x55,
	0x49, 0x6e, 0x74, 0x31, 0x36, 0x41, 0x72, 0x72, 0x61, 0x79, 0x10, 0x1b, 0x12, 0x0f, 0x0a, 0x0b,
	0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x41, 0x72, 0x72, 0x61, 0x79, 0x10, 0x1c, 0x12, 0x0f, 0x0a,
	0x0b, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x41, 0x72, 0x72, 0x61, 0x79, 0x10, 0x1d, 0x12, 0x0e,
	0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x10, 0x1e, 0x12, 0x0f,
	0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x10, 0x1f, 0x12,
	0x10, 0x0a, 0x0c, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x10,
	0x20, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x72, 0x72, 0x61, 0x79,
	0x10, 0x21, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x72,
	0x72, 0x61, 0x79, 0x10, 0x22, 0x42, 0x19, 0x5a, 0x17, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x70,
	0x61, 0x72, 0x74, 0x79, 0x2f, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x70, 0x6c, 0x75, 0x67, 0x5f, 0x62,
}

var (
	file_third_party_sparkplug_b_sparkplug_b_proto_rawDescOnce sync.Once
	file_third_party_sparkplug_b_sparkplug_b_proto_rawDescData = file_third_party_sparkplug_b_sparkplug_b_proto_rawDesc
)

func file_third_party_sparkplug_b_sparkplug_b_proto_rawDescGZIP() []byte {
	file_third_party_sparkplug_b_sparkplug_b_proto_rawDescOnce.Do(func() {
		file_third_party_sparkplug_b_sparkplug_b_proto_rawDescData = protoimpl.X.CompressGZIP(file_third_party_sparkplug_b_sparkplug_b_proto_rawDescData)
	})
	return file_third_party_sparkplug_b_sparkplug_b_proto_rawDescData
}

var file_third_party_sparkplug_b_sparkplug_b_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_third_party_sparkplug_b_sparkplug_b_proto_goTypes = []interface{}{
	(DataType)(0),                                              // 0: org.eclipse.tahu.protobuf.DataType
	(*Payload)(nil),                                            // 1: org.eclipse.tahu.protobuf.Payload
	(*Payload_Template)(nil),                                   // 2: org.eclipse.tahu.protobuf.Payload.Template
	(*Payload_DataSet)(nil),                                    // 3: org.eclipse.tahu.protobuf.Payload.DataSet
	(*Payload_PropertyValue)(nil),                              // 4: org.eclipse.tahu.protobuf.Payload.PropertyValue
	(*Payload_PropertySet)(nil),                                // 5: org.eclipse.tahu.protobuf.Payload.PropertySet
	(*Payload_PropertySetList)(nil),                            // 6: org.eclipse.tahu.protobuf.Payload.PropertySetList
	(*Payload_MetaData)(nil),                                   // 7: org.eclipse.tahu.protobuf.Payload.MetaData
	(*Payload_Metric)(nil),                                     // 8: org.eclipse.tahu.protobuf.Payload.Metric
	(*Payload_Template_Parameter)(nil),                         // 9: org.eclipse.tahu.protobuf.Payload.Template.Parameter
	(*Payload_Template_Parameter_ParameterValueExtension)(nil), // 10: org.eclipse.tahu.protobuf.Payload.Template.Parameter.ParameterValueExtension
	(*Payload_DataSet_DataSetValue)(nil),                       // 11: org.eclipse.tahu.protobuf.Payload.DataSet.DataSetValue
	(*Payload_DataSet_Row)(nil),                                // 12: org.eclipse.tahu.protobuf.Payload.DataSet.Row
	(*Payload_DataSet_DataSetValue_DataSetValueExtension)(nil), // 13: org.eclipse.tahu.protobuf.Payload.DataSet.DataSetValue.DataSetValueExtension
	(*Payload_PropertyValue_PropertyValueExtension)(nil),       // 14: org.eclipse.tahu.protobuf.Payload.PropertyValue.PropertyValueExtension
	(*Payload_Metric_MetricValueExtension)(nil),                // 15: org.eclipse.tahu.protobuf.Payload.Metric.MetricValueExtension
}
var file_third_party_sparkplug_b_sparkplug_b_proto_depIdxs = []int32{
	8,  // 0: org.eclipse.tahu.protobuf.Payload.metrics:type_name -> org.eclipse.tahu.protobuf.Payload.Metric
	8,  // 1: org.eclipse.tahu.protobuf.Payload.Template.metrics:type_name -> org.eclipse.tahu.protobuf.Payload.Metric
	9,  // 2: org.eclipse.tahu.protobuf.Payload.Template.parameters:type_name -> org.eclipse.tahu.protobuf.Payload.Template.Parameter
	12, // 3: org.eclipse.tahu.protobuf.Payload.DataSet.rows:type_name -> org.eclipse.tahu.protobuf.Payload.DataSet.Row
	5,  // 4: org.eclipse.tahu.protobuf.Payload.PropertyValue.propertyset_value:type_name -> org.eclipse.tahu.protobuf.Payload.PropertySet
	6,  // 5: org.eclipse.tahu.protobuf.Payload.PropertyValue.propertysets_value:type_name -> org.eclipse.tahu.protobuf.Payload.PropertySetList
	14, // 6: org.eclipse.tahu.protobuf.Payload.PropertyValue.extension_value:type_name -> org.eclipse.tahu.protobuf.Payload.PropertyValue.PropertyValueExtension
	4,  // 7: org.eclipse.tahu.protobuf.Payload.PropertySet.values:type_name -> org.eclipse.tahu.protobuf.Payload.PropertyValue
	5,  // 8: org.eclipse.tahu.protobuf.Payload.PropertySetList.propertyset:type_name -> org.eclipse.tahu.protobuf.Payload.PropertySet
	7,  // 9: org.eclipse.tahu.protobuf.Payload.Metric.metadata:type_name -> org.eclipse.tahu.protobuf.Payload.MetaData
	5,  // 10: org.eclipse.tahu.protobuf.Payload.Metric.properties:type_name -> org.eclipse.tahu.protobuf.Payload.PropertySet
	3,  // 11: org.eclipse.tahu.protobuf.Payload.Metric.dataset_value:type_name -> org.eclipse.tahu.protobuf.Payload.DataSet
	2,  // 12: org.eclipse.tahu.protobuf.Payload.Metric.template_value:type_name -> org.eclipse.tahu.protobuf.Payload.Template
	15, // 13: org.eclipse.tahu.protobuf.Payload.Metric.extension_value:type_name -> org.eclipse.tahu.protobuf.Payload.Metric.MetricValueExtension
	10, // 14: org.eclipse.tahu.protobuf.Payload.Template.Parameter.extension_value:type_name -> org.eclipse.tahu.protobuf.Payload.Template.Parameter.ParameterValueExtension
	13, // 15: org.eclipse.tahu.protobuf.Payload.DataSet.DataSetValue.extension_value:type_name -> org.eclipse.tahu.protobuf.Payload.DataSet.DataSetValue.DataSetValueExtension
	11, // 16: org.eclipse.tahu.protobuf.Payload.DataSet.Row.elements:type_name -> org.eclipse.tahu.protobuf.Payload.DataSet.DataSetValue
	17, // [17:17] is the sub-list for method output_type
	17, // [17:17] is the sub-list for method input_type
	17, // [17:17] is the sub-list for extension type_name
	17, // [17:17] is the sub-list for extension extendee
	0,  // [0:17] is the sub-list for field type_name
}

func init() { file_third_party_sparkplug_b_sparkplug_b_proto_init() }
func file_third_party_sparkplug_b_sparkplug_b_proto_init() {
	if File_third_party_sparkplug_b_sparkplug_b_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Payload); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			case 3:
				return &v.extensionFields
			default:
				return nil
			}
		}
		file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Payload_Template); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			case 3:
				return &v.extensionFields
			default:
				return nil
			}
		}
		file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Payload_DataSet); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			case 3:
				return &v.extensionFields
			default:
				return nil
			}
		}
		file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Payload_PropertyValue); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Payload_PropertySet); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			case 3:
				return &v.extensionFields
			default:
				return nil
			}
		}
		file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Payload_PropertySetList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			case 3:
				return &v.extensionFields
			default:
				return nil
			}
		}
		file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Payload_MetaData); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			case 3:
				return &v.extensionFields
			default:
				return nil
			}
		}
		file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Payload_Metric); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Payload_Template_Parameter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Payload_Template_Parameter_ParameterValueExtension); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			case 3:
				return &v.extensionFields
			default:
				return nil
			}
		}
		file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Payload_DataSet_DataSetValue); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Payload_DataSet_Row); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			case 3:
				return &v.extensionFields
			default:
				return nil
			}
		}
		file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Payload_DataSet_DataSetValue_DataSetValueExtension); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			case 3:
				return &v.extensionFields
			default:
				return nil
			}
		}
		file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Payload_PropertyValue_PropertyValueExtension); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			case 3:
				return &v.extensionFields
			default:
				return nil
			}
		}
		file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Payload_Metric_MetricValueExtension); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			case 3:
				return &v.extensionFields
			default:
				return nil
			}
		}
	}
	file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[3].OneofWrappers = []interface{}{
		(*Payload_PropertyValue_IntValue)(nil),
		(*Payload_PropertyValue_LongValue)(nil),
		(*Payload_PropertyValue_FloatValue)(nil),
		(*Payload_PropertyValue_DoubleValue)(nil),
		(*Payload_PropertyValue_BooleanValue)(nil),
		(*Payload_PropertyValue_StringValue)(nil),
		(*Payload_PropertyValue_PropertysetValue)(nil),
		(*Payload_PropertyValue_PropertysetsValue)(nil),
		(*Payload_PropertyValue_ExtensionValue)(nil),
	}
	file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[7].OneofWrappers = []interface{}{
		(*Payload_Metric_IntValue)(nil),
		(*Payload_Metric_LongValue)(nil),
		(*Payload_Metric_FloatValue)(nil),
		(*Payload_Metric_DoubleValue)(nil),
		(*Payload_Metric_BooleanValue)(nil),
		(*Payload_Metric_StringValue)(nil),
		(*Payload_Metric_BytesValue)(nil),
		(*Payload_Metric_DatasetValue)(nil),
		(*Payload_Metric_TemplateValue)(nil),
		(*Payload_Metric_ExtensionValue)(nil),
	}
	file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[8].OneofWrappers = []interface{}{
		(*Payload_Template_Parameter_IntValue)(nil),
		(*Payload_Template_Parameter_LongValue)(nil),
		(*Payload_Template_Parameter_FloatValue)(nil),
		(*Payload_Template_Parameter_DoubleValue)(nil),
		(*Payload_Template_Parameter_BooleanValue)(nil),
		(*Payload_Template_Parameter_StringValue)(nil),
		(*Payload_Template_Parameter_ExtensionValue)(nil),
	}
	file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes[10].OneofWrappers = []interface{}{
		(*Payload_DataSet_DataSetValue_IntValue)(nil),
		(*Payload_DataSet_DataSetValue_LongValue)(nil),
		(*Payload_DataSet_DataSetValue_FloatValue)(nil),
		(*Payload_DataSet_DataSetValue_DoubleValue)(nil),
		(*Payload_DataSet_DataSetValue_BooleanValue)(nil),
		(*Payload_DataSet_DataSetValue_StringValue)(nil),
		(*Payload_DataSet_DataSetValue_ExtensionValue)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_third_party_sparkplug_b_sparkplug_b_proto_rawDesc,
			NumEnums:      1,
			NumMessages:   15,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_third_party_sparkplug_b_sparkplug_b_proto_goTypes,
		DependencyIndexes: file_third_party_sparkplug_b_sparkplug_b_proto_depIdxs,
		EnumInfos:         file_third_party_sparkplug_b_sparkplug_b_proto_enumTypes,
		MessageInfos:      file_third_party_sparkplug_b_sparkplug_b_proto_msgTypes,
	}.Build()
	File_third_party_sparkplug_b_sparkplug_b_proto = out.File
	file_third_party_sparkplug_b_sparkplug_b_proto_rawDesc = nil
	file_third_party_sparkplug_b_sparkplug_b_proto_goTypes = nil
	file_third_party_sparkplug_b_sparkplug_b_proto_depIdxs = nil
}
