encoding/textpb: move test protos under encoding/testprotos
These test proto definitions will be reused for encoding/jsonpb package
and hence move these one directory up.
Also, add and simplify some tests.
Change-Id: I5297546fd9b853a7fd3e72dfab2fdc7237332c9c
Reviewed-on: https://go-review.googlesource.com/c/162537
Reviewed-by: Damien Neil <dneil@google.com>
diff --git a/encoding/testprotos/pb2/test.pb.go b/encoding/testprotos/pb2/test.pb.go
new file mode 100644
index 0000000..d0f7706
--- /dev/null
+++ b/encoding/testprotos/pb2/test.pb.go
@@ -0,0 +1,2120 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: encoding/testprotos/pb2/test.proto
+
+package pb2
+
+import (
+ bytes "bytes"
+ gzip "compress/gzip"
+ proto "github.com/golang/protobuf/proto"
+ any "github.com/golang/protobuf/ptypes/any"
+ duration "github.com/golang/protobuf/ptypes/duration"
+ empty "github.com/golang/protobuf/ptypes/empty"
+ _struct "github.com/golang/protobuf/ptypes/struct"
+ timestamp "github.com/golang/protobuf/ptypes/timestamp"
+ wrappers "github.com/golang/protobuf/ptypes/wrappers"
+ protoreflect "github.com/golang/protobuf/v2/reflect/protoreflect"
+ protoimpl "github.com/golang/protobuf/v2/runtime/protoimpl"
+ reflect "reflect"
+)
+
+// 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 Enum int32
+
+const (
+ Enum_ONE Enum = 1
+ Enum_TWO Enum = 2
+ Enum_TEN Enum = 10
+)
+
+func (e Enum) Type() protoreflect.EnumType {
+ return xxx_Test_protoFile_enumTypes[0]
+}
+func (e Enum) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(e)
+}
+
+var Enum_name = map[int32]string{
+ 1: "ONE",
+ 2: "TWO",
+ 10: "TEN",
+}
+
+var Enum_value = map[string]int32{
+ "ONE": 1,
+ "TWO": 2,
+ "TEN": 10,
+}
+
+func (x Enum) Enum() *Enum {
+ p := new(Enum)
+ *p = x
+ return p
+}
+
+func (x Enum) String() string {
+ return proto.EnumName(Enum_name, int32(x))
+}
+
+func (x *Enum) UnmarshalJSON(data []byte) error {
+ value, err := proto.UnmarshalJSONEnum(Enum_value, data, "Enum")
+ if err != nil {
+ return err
+ }
+ *x = Enum(value)
+ return nil
+}
+
+func (Enum) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{0}
+}
+
+type Enums_NestedEnum int32
+
+const (
+ Enums_UNO Enums_NestedEnum = 1
+ Enums_DOS Enums_NestedEnum = 2
+ Enums_DIEZ Enums_NestedEnum = 10
+)
+
+func (e Enums_NestedEnum) Type() protoreflect.EnumType {
+ return xxx_Test_protoFile_enumTypes[1]
+}
+func (e Enums_NestedEnum) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(e)
+}
+
+var Enums_NestedEnum_name = map[int32]string{
+ 1: "UNO",
+ 2: "DOS",
+ 10: "DIEZ",
+}
+
+var Enums_NestedEnum_value = map[string]int32{
+ "UNO": 1,
+ "DOS": 2,
+ "DIEZ": 10,
+}
+
+func (x Enums_NestedEnum) Enum() *Enums_NestedEnum {
+ p := new(Enums_NestedEnum)
+ *p = x
+ return p
+}
+
+func (x Enums_NestedEnum) String() string {
+ return proto.EnumName(Enums_NestedEnum_name, int32(x))
+}
+
+func (x *Enums_NestedEnum) UnmarshalJSON(data []byte) error {
+ value, err := proto.UnmarshalJSONEnum(Enums_NestedEnum_value, data, "Enums_NestedEnum")
+ if err != nil {
+ return err
+ }
+ *x = Enums_NestedEnum(value)
+ return nil
+}
+
+func (Enums_NestedEnum) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{1, 0}
+}
+
+// Scalars contains optional scalar fields.
+type Scalars struct {
+ OptBool *bool `protobuf:"varint,1,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
+ OptInt32 *int32 `protobuf:"varint,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"`
+ OptInt64 *int64 `protobuf:"varint,3,opt,name=opt_int64,json=optInt64" json:"opt_int64,omitempty"`
+ OptUint32 *uint32 `protobuf:"varint,4,opt,name=opt_uint32,json=optUint32" json:"opt_uint32,omitempty"`
+ OptUint64 *uint64 `protobuf:"varint,5,opt,name=opt_uint64,json=optUint64" json:"opt_uint64,omitempty"`
+ OptSint32 *int32 `protobuf:"zigzag32,6,opt,name=opt_sint32,json=optSint32" json:"opt_sint32,omitempty"`
+ OptSint64 *int64 `protobuf:"zigzag64,7,opt,name=opt_sint64,json=optSint64" json:"opt_sint64,omitempty"`
+ OptFixed32 *uint32 `protobuf:"fixed32,8,opt,name=opt_fixed32,json=optFixed32" json:"opt_fixed32,omitempty"`
+ OptFixed64 *uint64 `protobuf:"fixed64,9,opt,name=opt_fixed64,json=optFixed64" json:"opt_fixed64,omitempty"`
+ OptSfixed32 *int32 `protobuf:"fixed32,10,opt,name=opt_sfixed32,json=optSfixed32" json:"opt_sfixed32,omitempty"`
+ OptSfixed64 *int64 `protobuf:"fixed64,11,opt,name=opt_sfixed64,json=optSfixed64" json:"opt_sfixed64,omitempty"`
+ OptFloat *float32 `protobuf:"fixed32,20,opt,name=opt_float,json=optFloat" json:"opt_float,omitempty"`
+ OptDouble *float64 `protobuf:"fixed64,21,opt,name=opt_double,json=optDouble" json:"opt_double,omitempty"`
+ OptBytes []byte `protobuf:"bytes,14,opt,name=opt_bytes,json=optBytes" json:"opt_bytes,omitempty"`
+ OptString *string `protobuf:"bytes,13,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Scalars) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[0].MessageOf(m)
+}
+func (m *Scalars) Reset() { *m = Scalars{} }
+func (m *Scalars) String() string { return proto.CompactTextString(m) }
+func (*Scalars) ProtoMessage() {}
+func (*Scalars) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{0}
+}
+
+func (m *Scalars) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Scalars.Unmarshal(m, b)
+}
+func (m *Scalars) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Scalars.Marshal(b, m, deterministic)
+}
+func (m *Scalars) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Scalars.Merge(m, src)
+}
+func (m *Scalars) XXX_Size() int {
+ return xxx_messageInfo_Scalars.Size(m)
+}
+func (m *Scalars) XXX_DiscardUnknown() {
+ xxx_messageInfo_Scalars.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Scalars proto.InternalMessageInfo
+
+func (m *Scalars) GetOptBool() bool {
+ if m != nil && m.OptBool != nil {
+ return *m.OptBool
+ }
+ return false
+}
+
+func (m *Scalars) GetOptInt32() int32 {
+ if m != nil && m.OptInt32 != nil {
+ return *m.OptInt32
+ }
+ return 0
+}
+
+func (m *Scalars) GetOptInt64() int64 {
+ if m != nil && m.OptInt64 != nil {
+ return *m.OptInt64
+ }
+ return 0
+}
+
+func (m *Scalars) GetOptUint32() uint32 {
+ if m != nil && m.OptUint32 != nil {
+ return *m.OptUint32
+ }
+ return 0
+}
+
+func (m *Scalars) GetOptUint64() uint64 {
+ if m != nil && m.OptUint64 != nil {
+ return *m.OptUint64
+ }
+ return 0
+}
+
+func (m *Scalars) GetOptSint32() int32 {
+ if m != nil && m.OptSint32 != nil {
+ return *m.OptSint32
+ }
+ return 0
+}
+
+func (m *Scalars) GetOptSint64() int64 {
+ if m != nil && m.OptSint64 != nil {
+ return *m.OptSint64
+ }
+ return 0
+}
+
+func (m *Scalars) GetOptFixed32() uint32 {
+ if m != nil && m.OptFixed32 != nil {
+ return *m.OptFixed32
+ }
+ return 0
+}
+
+func (m *Scalars) GetOptFixed64() uint64 {
+ if m != nil && m.OptFixed64 != nil {
+ return *m.OptFixed64
+ }
+ return 0
+}
+
+func (m *Scalars) GetOptSfixed32() int32 {
+ if m != nil && m.OptSfixed32 != nil {
+ return *m.OptSfixed32
+ }
+ return 0
+}
+
+func (m *Scalars) GetOptSfixed64() int64 {
+ if m != nil && m.OptSfixed64 != nil {
+ return *m.OptSfixed64
+ }
+ return 0
+}
+
+func (m *Scalars) GetOptFloat() float32 {
+ if m != nil && m.OptFloat != nil {
+ return *m.OptFloat
+ }
+ return 0
+}
+
+func (m *Scalars) GetOptDouble() float64 {
+ if m != nil && m.OptDouble != nil {
+ return *m.OptDouble
+ }
+ return 0
+}
+
+func (m *Scalars) GetOptBytes() []byte {
+ if m != nil {
+ return m.OptBytes
+ }
+ return nil
+}
+
+func (m *Scalars) GetOptString() string {
+ if m != nil && m.OptString != nil {
+ return *m.OptString
+ }
+ return ""
+}
+
+// Message contains enum fields.
+type Enums struct {
+ OptEnum *Enum `protobuf:"varint,1,opt,name=opt_enum,json=optEnum,enum=pb2.Enum" json:"opt_enum,omitempty"`
+ RptEnum []Enum `protobuf:"varint,2,rep,name=rpt_enum,json=rptEnum,enum=pb2.Enum" json:"rpt_enum,omitempty"`
+ OptNestedEnum *Enums_NestedEnum `protobuf:"varint,3,opt,name=opt_nested_enum,json=optNestedEnum,enum=pb2.Enums_NestedEnum" json:"opt_nested_enum,omitempty"`
+ RptNestedEnum []Enums_NestedEnum `protobuf:"varint,4,rep,name=rpt_nested_enum,json=rptNestedEnum,enum=pb2.Enums_NestedEnum" json:"rpt_nested_enum,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Enums) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[1].MessageOf(m)
+}
+func (m *Enums) Reset() { *m = Enums{} }
+func (m *Enums) String() string { return proto.CompactTextString(m) }
+func (*Enums) ProtoMessage() {}
+func (*Enums) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{1}
+}
+
+func (m *Enums) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Enums.Unmarshal(m, b)
+}
+func (m *Enums) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Enums.Marshal(b, m, deterministic)
+}
+func (m *Enums) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Enums.Merge(m, src)
+}
+func (m *Enums) XXX_Size() int {
+ return xxx_messageInfo_Enums.Size(m)
+}
+func (m *Enums) XXX_DiscardUnknown() {
+ xxx_messageInfo_Enums.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Enums proto.InternalMessageInfo
+
+func (m *Enums) GetOptEnum() Enum {
+ if m != nil && m.OptEnum != nil {
+ return *m.OptEnum
+ }
+ return Enum_ONE
+}
+
+func (m *Enums) GetRptEnum() []Enum {
+ if m != nil {
+ return m.RptEnum
+ }
+ return nil
+}
+
+func (m *Enums) GetOptNestedEnum() Enums_NestedEnum {
+ if m != nil && m.OptNestedEnum != nil {
+ return *m.OptNestedEnum
+ }
+ return Enums_UNO
+}
+
+func (m *Enums) GetRptNestedEnum() []Enums_NestedEnum {
+ if m != nil {
+ return m.RptNestedEnum
+ }
+ return nil
+}
+
+// Message contains repeated fields.
+type Repeats struct {
+ RptBool []bool `protobuf:"varint,1,rep,name=rpt_bool,json=rptBool" json:"rpt_bool,omitempty"`
+ RptInt32 []int32 `protobuf:"varint,2,rep,name=rpt_int32,json=rptInt32" json:"rpt_int32,omitempty"`
+ RptInt64 []int64 `protobuf:"varint,3,rep,name=rpt_int64,json=rptInt64" json:"rpt_int64,omitempty"`
+ RptUint32 []uint32 `protobuf:"varint,4,rep,name=rpt_uint32,json=rptUint32" json:"rpt_uint32,omitempty"`
+ RptUint64 []uint64 `protobuf:"varint,5,rep,name=rpt_uint64,json=rptUint64" json:"rpt_uint64,omitempty"`
+ RptFloat []float32 `protobuf:"fixed32,6,rep,name=rpt_float,json=rptFloat" json:"rpt_float,omitempty"`
+ RptDouble []float64 `protobuf:"fixed64,7,rep,name=rpt_double,json=rptDouble" json:"rpt_double,omitempty"`
+ RptString []string `protobuf:"bytes,8,rep,name=rpt_string,json=rptString" json:"rpt_string,omitempty"`
+ RptBytes [][]byte `protobuf:"bytes,9,rep,name=rpt_bytes,json=rptBytes" json:"rpt_bytes,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Repeats) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[2].MessageOf(m)
+}
+func (m *Repeats) Reset() { *m = Repeats{} }
+func (m *Repeats) String() string { return proto.CompactTextString(m) }
+func (*Repeats) ProtoMessage() {}
+func (*Repeats) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{2}
+}
+
+func (m *Repeats) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Repeats.Unmarshal(m, b)
+}
+func (m *Repeats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Repeats.Marshal(b, m, deterministic)
+}
+func (m *Repeats) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Repeats.Merge(m, src)
+}
+func (m *Repeats) XXX_Size() int {
+ return xxx_messageInfo_Repeats.Size(m)
+}
+func (m *Repeats) XXX_DiscardUnknown() {
+ xxx_messageInfo_Repeats.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Repeats proto.InternalMessageInfo
+
+func (m *Repeats) GetRptBool() []bool {
+ if m != nil {
+ return m.RptBool
+ }
+ return nil
+}
+
+func (m *Repeats) GetRptInt32() []int32 {
+ if m != nil {
+ return m.RptInt32
+ }
+ return nil
+}
+
+func (m *Repeats) GetRptInt64() []int64 {
+ if m != nil {
+ return m.RptInt64
+ }
+ return nil
+}
+
+func (m *Repeats) GetRptUint32() []uint32 {
+ if m != nil {
+ return m.RptUint32
+ }
+ return nil
+}
+
+func (m *Repeats) GetRptUint64() []uint64 {
+ if m != nil {
+ return m.RptUint64
+ }
+ return nil
+}
+
+func (m *Repeats) GetRptFloat() []float32 {
+ if m != nil {
+ return m.RptFloat
+ }
+ return nil
+}
+
+func (m *Repeats) GetRptDouble() []float64 {
+ if m != nil {
+ return m.RptDouble
+ }
+ return nil
+}
+
+func (m *Repeats) GetRptString() []string {
+ if m != nil {
+ return m.RptString
+ }
+ return nil
+}
+
+func (m *Repeats) GetRptBytes() [][]byte {
+ if m != nil {
+ return m.RptBytes
+ }
+ return nil
+}
+
+// Message type used as submessage.
+type Nested struct {
+ OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+ OptNested *Nested `protobuf:"bytes,2,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Nested) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[3].MessageOf(m)
+}
+func (m *Nested) Reset() { *m = Nested{} }
+func (m *Nested) String() string { return proto.CompactTextString(m) }
+func (*Nested) ProtoMessage() {}
+func (*Nested) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{3}
+}
+
+func (m *Nested) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Nested.Unmarshal(m, b)
+}
+func (m *Nested) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Nested.Marshal(b, m, deterministic)
+}
+func (m *Nested) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Nested.Merge(m, src)
+}
+func (m *Nested) XXX_Size() int {
+ return xxx_messageInfo_Nested.Size(m)
+}
+func (m *Nested) XXX_DiscardUnknown() {
+ xxx_messageInfo_Nested.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Nested proto.InternalMessageInfo
+
+func (m *Nested) GetOptString() string {
+ if m != nil && m.OptString != nil {
+ return *m.OptString
+ }
+ return ""
+}
+
+func (m *Nested) GetOptNested() *Nested {
+ if m != nil {
+ return m.OptNested
+ }
+ return nil
+}
+
+// Message contains message and group fields.
+type Nests struct {
+ OptNested *Nested `protobuf:"bytes,1,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
+ Optgroup *Nests_OptGroup `protobuf:"group,2,opt,name=OptGroup,json=optgroup" json:"optgroup,omitempty"`
+ RptNested []*Nested `protobuf:"bytes,4,rep,name=rpt_nested,json=rptNested" json:"rpt_nested,omitempty"`
+ Rptgroup []*Nests_RptGroup `protobuf:"group,5,rep,name=RptGroup,json=rptgroup" json:"rptgroup,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Nests) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[4].MessageOf(m)
+}
+func (m *Nests) Reset() { *m = Nests{} }
+func (m *Nests) String() string { return proto.CompactTextString(m) }
+func (*Nests) ProtoMessage() {}
+func (*Nests) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{4}
+}
+
+func (m *Nests) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Nests.Unmarshal(m, b)
+}
+func (m *Nests) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Nests.Marshal(b, m, deterministic)
+}
+func (m *Nests) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Nests.Merge(m, src)
+}
+func (m *Nests) XXX_Size() int {
+ return xxx_messageInfo_Nests.Size(m)
+}
+func (m *Nests) XXX_DiscardUnknown() {
+ xxx_messageInfo_Nests.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Nests proto.InternalMessageInfo
+
+func (m *Nests) GetOptNested() *Nested {
+ if m != nil {
+ return m.OptNested
+ }
+ return nil
+}
+
+func (m *Nests) GetOptgroup() *Nests_OptGroup {
+ if m != nil {
+ return m.Optgroup
+ }
+ return nil
+}
+
+func (m *Nests) GetRptNested() []*Nested {
+ if m != nil {
+ return m.RptNested
+ }
+ return nil
+}
+
+func (m *Nests) GetRptgroup() []*Nests_RptGroup {
+ if m != nil {
+ return m.Rptgroup
+ }
+ return nil
+}
+
+// Message contains required fields.
+type Requireds struct {
+ ReqBool *bool `protobuf:"varint,1,req,name=req_bool,json=reqBool" json:"req_bool,omitempty"`
+ ReqSfixed64 *int64 `protobuf:"fixed64,2,req,name=req_sfixed64,json=reqSfixed64" json:"req_sfixed64,omitempty"`
+ ReqDouble *float64 `protobuf:"fixed64,3,req,name=req_double,json=reqDouble" json:"req_double,omitempty"`
+ ReqString *string `protobuf:"bytes,4,req,name=req_string,json=reqString" json:"req_string,omitempty"`
+ ReqEnum *Enum `protobuf:"varint,5,req,name=req_enum,json=reqEnum,enum=pb2.Enum" json:"req_enum,omitempty"`
+ ReqNested *Nested `protobuf:"bytes,6,req,name=req_nested,json=reqNested" json:"req_nested,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Requireds) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[5].MessageOf(m)
+}
+func (m *Requireds) Reset() { *m = Requireds{} }
+func (m *Requireds) String() string { return proto.CompactTextString(m) }
+func (*Requireds) ProtoMessage() {}
+func (*Requireds) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{5}
+}
+
+func (m *Requireds) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Requireds.Unmarshal(m, b)
+}
+func (m *Requireds) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Requireds.Marshal(b, m, deterministic)
+}
+func (m *Requireds) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Requireds.Merge(m, src)
+}
+func (m *Requireds) XXX_Size() int {
+ return xxx_messageInfo_Requireds.Size(m)
+}
+func (m *Requireds) XXX_DiscardUnknown() {
+ xxx_messageInfo_Requireds.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Requireds proto.InternalMessageInfo
+
+func (m *Requireds) GetReqBool() bool {
+ if m != nil && m.ReqBool != nil {
+ return *m.ReqBool
+ }
+ return false
+}
+
+func (m *Requireds) GetReqSfixed64() int64 {
+ if m != nil && m.ReqSfixed64 != nil {
+ return *m.ReqSfixed64
+ }
+ return 0
+}
+
+func (m *Requireds) GetReqDouble() float64 {
+ if m != nil && m.ReqDouble != nil {
+ return *m.ReqDouble
+ }
+ return 0
+}
+
+func (m *Requireds) GetReqString() string {
+ if m != nil && m.ReqString != nil {
+ return *m.ReqString
+ }
+ return ""
+}
+
+func (m *Requireds) GetReqEnum() Enum {
+ if m != nil && m.ReqEnum != nil {
+ return *m.ReqEnum
+ }
+ return Enum_ONE
+}
+
+func (m *Requireds) GetReqNested() *Nested {
+ if m != nil {
+ return m.ReqNested
+ }
+ return nil
+}
+
+// Message contains both required and optional fields.
+type PartialRequired struct {
+ ReqString *string `protobuf:"bytes,1,req,name=req_string,json=reqString" json:"req_string,omitempty"`
+ OptString *string `protobuf:"bytes,2,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PartialRequired) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[6].MessageOf(m)
+}
+func (m *PartialRequired) Reset() { *m = PartialRequired{} }
+func (m *PartialRequired) String() string { return proto.CompactTextString(m) }
+func (*PartialRequired) ProtoMessage() {}
+func (*PartialRequired) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{6}
+}
+
+func (m *PartialRequired) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PartialRequired.Unmarshal(m, b)
+}
+func (m *PartialRequired) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PartialRequired.Marshal(b, m, deterministic)
+}
+func (m *PartialRequired) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PartialRequired.Merge(m, src)
+}
+func (m *PartialRequired) XXX_Size() int {
+ return xxx_messageInfo_PartialRequired.Size(m)
+}
+func (m *PartialRequired) XXX_DiscardUnknown() {
+ xxx_messageInfo_PartialRequired.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PartialRequired proto.InternalMessageInfo
+
+func (m *PartialRequired) GetReqString() string {
+ if m != nil && m.ReqString != nil {
+ return *m.ReqString
+ }
+ return ""
+}
+
+func (m *PartialRequired) GetOptString() string {
+ if m != nil && m.OptString != nil {
+ return *m.OptString
+ }
+ return ""
+}
+
+type NestedWithRequired struct {
+ ReqString *string `protobuf:"bytes,1,req,name=req_string,json=reqString" json:"req_string,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *NestedWithRequired) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[7].MessageOf(m)
+}
+func (m *NestedWithRequired) Reset() { *m = NestedWithRequired{} }
+func (m *NestedWithRequired) String() string { return proto.CompactTextString(m) }
+func (*NestedWithRequired) ProtoMessage() {}
+func (*NestedWithRequired) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{7}
+}
+
+func (m *NestedWithRequired) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_NestedWithRequired.Unmarshal(m, b)
+}
+func (m *NestedWithRequired) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_NestedWithRequired.Marshal(b, m, deterministic)
+}
+func (m *NestedWithRequired) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_NestedWithRequired.Merge(m, src)
+}
+func (m *NestedWithRequired) XXX_Size() int {
+ return xxx_messageInfo_NestedWithRequired.Size(m)
+}
+func (m *NestedWithRequired) XXX_DiscardUnknown() {
+ xxx_messageInfo_NestedWithRequired.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_NestedWithRequired proto.InternalMessageInfo
+
+func (m *NestedWithRequired) GetReqString() string {
+ if m != nil && m.ReqString != nil {
+ return *m.ReqString
+ }
+ return ""
+}
+
+type IndirectRequired struct {
+ OptNested *NestedWithRequired `protobuf:"bytes,1,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
+ RptNested []*NestedWithRequired `protobuf:"bytes,2,rep,name=rpt_nested,json=rptNested" json:"rpt_nested,omitempty"`
+ StrToNested map[string]*NestedWithRequired `protobuf:"bytes,3,rep,name=str_to_nested,json=strToNested" json:"str_to_nested,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+ // Types that are valid to be assigned to Union:
+ // *IndirectRequired_OneofNested
+ Union isIndirectRequired_Union `protobuf_oneof:"union"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *IndirectRequired) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[8].MessageOf(m)
+}
+func (m *IndirectRequired) Reset() { *m = IndirectRequired{} }
+func (m *IndirectRequired) String() string { return proto.CompactTextString(m) }
+func (*IndirectRequired) ProtoMessage() {}
+func (*IndirectRequired) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{8}
+}
+
+func (m *IndirectRequired) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_IndirectRequired.Unmarshal(m, b)
+}
+func (m *IndirectRequired) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_IndirectRequired.Marshal(b, m, deterministic)
+}
+func (m *IndirectRequired) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_IndirectRequired.Merge(m, src)
+}
+func (m *IndirectRequired) XXX_Size() int {
+ return xxx_messageInfo_IndirectRequired.Size(m)
+}
+func (m *IndirectRequired) XXX_DiscardUnknown() {
+ xxx_messageInfo_IndirectRequired.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_IndirectRequired proto.InternalMessageInfo
+
+func (m *IndirectRequired) GetOptNested() *NestedWithRequired {
+ if m != nil {
+ return m.OptNested
+ }
+ return nil
+}
+
+func (m *IndirectRequired) GetRptNested() []*NestedWithRequired {
+ if m != nil {
+ return m.RptNested
+ }
+ return nil
+}
+
+func (m *IndirectRequired) GetStrToNested() map[string]*NestedWithRequired {
+ if m != nil {
+ return m.StrToNested
+ }
+ return nil
+}
+
+type isIndirectRequired_Union interface {
+ isIndirectRequired_Union()
+}
+
+type IndirectRequired_OneofNested struct {
+ OneofNested *NestedWithRequired `protobuf:"bytes,4,opt,name=oneof_nested,json=oneofNested,oneof"`
+}
+
+func (*IndirectRequired_OneofNested) isIndirectRequired_Union() {}
+
+func (m *IndirectRequired) GetUnion() isIndirectRequired_Union {
+ if m != nil {
+ return m.Union
+ }
+ return nil
+}
+
+func (m *IndirectRequired) GetOneofNested() *NestedWithRequired {
+ if x, ok := m.GetUnion().(*IndirectRequired_OneofNested); ok {
+ return x.OneofNested
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*IndirectRequired) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*IndirectRequired_OneofNested)(nil),
+ }
+}
+
+type Extensions struct {
+ OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+ OptBool *bool `protobuf:"varint,101,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
+ OptInt32 *int32 `protobuf:"varint,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ proto.XXX_InternalExtensions `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Extensions) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[9].MessageOf(m)
+}
+func (m *Extensions) Reset() { *m = Extensions{} }
+func (m *Extensions) String() string { return proto.CompactTextString(m) }
+func (*Extensions) ProtoMessage() {}
+func (*Extensions) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{9}
+}
+
+var extRange_Extensions = []proto.ExtensionRange{
+ {Start: 20, End: 100},
+}
+
+func (*Extensions) ExtensionRangeArray() []proto.ExtensionRange {
+ return extRange_Extensions
+}
+
+func (m *Extensions) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Extensions.Unmarshal(m, b)
+}
+func (m *Extensions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Extensions.Marshal(b, m, deterministic)
+}
+func (m *Extensions) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Extensions.Merge(m, src)
+}
+func (m *Extensions) XXX_Size() int {
+ return xxx_messageInfo_Extensions.Size(m)
+}
+func (m *Extensions) XXX_DiscardUnknown() {
+ xxx_messageInfo_Extensions.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Extensions proto.InternalMessageInfo
+
+func (m *Extensions) GetOptString() string {
+ if m != nil && m.OptString != nil {
+ return *m.OptString
+ }
+ return ""
+}
+
+func (m *Extensions) GetOptBool() bool {
+ if m != nil && m.OptBool != nil {
+ return *m.OptBool
+ }
+ return false
+}
+
+func (m *Extensions) GetOptInt32() int32 {
+ if m != nil && m.OptInt32 != nil {
+ return *m.OptInt32
+ }
+ return 0
+}
+
+type ExtensionsContainer struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ExtensionsContainer) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[10].MessageOf(m)
+}
+func (m *ExtensionsContainer) Reset() { *m = ExtensionsContainer{} }
+func (m *ExtensionsContainer) String() string { return proto.CompactTextString(m) }
+func (*ExtensionsContainer) ProtoMessage() {}
+func (*ExtensionsContainer) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{10}
+}
+
+func (m *ExtensionsContainer) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ExtensionsContainer.Unmarshal(m, b)
+}
+func (m *ExtensionsContainer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ExtensionsContainer.Marshal(b, m, deterministic)
+}
+func (m *ExtensionsContainer) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ExtensionsContainer.Merge(m, src)
+}
+func (m *ExtensionsContainer) XXX_Size() int {
+ return xxx_messageInfo_ExtensionsContainer.Size(m)
+}
+func (m *ExtensionsContainer) XXX_DiscardUnknown() {
+ xxx_messageInfo_ExtensionsContainer.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ExtensionsContainer proto.InternalMessageInfo
+
+type MessageSet struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ proto.XXX_InternalExtensions `protobuf_messageset:"1" json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MessageSet) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[11].MessageOf(m)
+}
+func (m *MessageSet) Reset() { *m = MessageSet{} }
+func (m *MessageSet) String() string { return proto.CompactTextString(m) }
+func (*MessageSet) ProtoMessage() {}
+func (*MessageSet) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{11}
+}
+
+var extRange_MessageSet = []proto.ExtensionRange{
+ {Start: 4, End: 2147483646},
+}
+
+func (*MessageSet) ExtensionRangeArray() []proto.ExtensionRange {
+ return extRange_MessageSet
+}
+
+func (m *MessageSet) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MessageSet.Unmarshal(m, b)
+}
+func (m *MessageSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MessageSet.Marshal(b, m, deterministic)
+}
+func (m *MessageSet) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MessageSet.Merge(m, src)
+}
+func (m *MessageSet) XXX_Size() int {
+ return xxx_messageInfo_MessageSet.Size(m)
+}
+func (m *MessageSet) XXX_DiscardUnknown() {
+ xxx_messageInfo_MessageSet.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MessageSet proto.InternalMessageInfo
+
+type MessageSetExtension struct {
+ OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MessageSetExtension) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[12].MessageOf(m)
+}
+func (m *MessageSetExtension) Reset() { *m = MessageSetExtension{} }
+func (m *MessageSetExtension) String() string { return proto.CompactTextString(m) }
+func (*MessageSetExtension) ProtoMessage() {}
+func (*MessageSetExtension) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{12}
+}
+
+func (m *MessageSetExtension) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MessageSetExtension.Unmarshal(m, b)
+}
+func (m *MessageSetExtension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MessageSetExtension.Marshal(b, m, deterministic)
+}
+func (m *MessageSetExtension) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MessageSetExtension.Merge(m, src)
+}
+func (m *MessageSetExtension) XXX_Size() int {
+ return xxx_messageInfo_MessageSetExtension.Size(m)
+}
+func (m *MessageSetExtension) XXX_DiscardUnknown() {
+ xxx_messageInfo_MessageSetExtension.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MessageSetExtension proto.InternalMessageInfo
+
+func (m *MessageSetExtension) GetOptString() string {
+ if m != nil && m.OptString != nil {
+ return *m.OptString
+ }
+ return ""
+}
+
+type FakeMessageSet struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ proto.XXX_InternalExtensions `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *FakeMessageSet) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[13].MessageOf(m)
+}
+func (m *FakeMessageSet) Reset() { *m = FakeMessageSet{} }
+func (m *FakeMessageSet) String() string { return proto.CompactTextString(m) }
+func (*FakeMessageSet) ProtoMessage() {}
+func (*FakeMessageSet) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{13}
+}
+
+var extRange_FakeMessageSet = []proto.ExtensionRange{
+ {Start: 4, End: 536870911},
+}
+
+func (*FakeMessageSet) ExtensionRangeArray() []proto.ExtensionRange {
+ return extRange_FakeMessageSet
+}
+
+func (m *FakeMessageSet) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_FakeMessageSet.Unmarshal(m, b)
+}
+func (m *FakeMessageSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_FakeMessageSet.Marshal(b, m, deterministic)
+}
+func (m *FakeMessageSet) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_FakeMessageSet.Merge(m, src)
+}
+func (m *FakeMessageSet) XXX_Size() int {
+ return xxx_messageInfo_FakeMessageSet.Size(m)
+}
+func (m *FakeMessageSet) XXX_DiscardUnknown() {
+ xxx_messageInfo_FakeMessageSet.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FakeMessageSet proto.InternalMessageInfo
+
+type FakeMessageSetExtension struct {
+ OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *FakeMessageSetExtension) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[14].MessageOf(m)
+}
+func (m *FakeMessageSetExtension) Reset() { *m = FakeMessageSetExtension{} }
+func (m *FakeMessageSetExtension) String() string { return proto.CompactTextString(m) }
+func (*FakeMessageSetExtension) ProtoMessage() {}
+func (*FakeMessageSetExtension) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{14}
+}
+
+func (m *FakeMessageSetExtension) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_FakeMessageSetExtension.Unmarshal(m, b)
+}
+func (m *FakeMessageSetExtension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_FakeMessageSetExtension.Marshal(b, m, deterministic)
+}
+func (m *FakeMessageSetExtension) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_FakeMessageSetExtension.Merge(m, src)
+}
+func (m *FakeMessageSetExtension) XXX_Size() int {
+ return xxx_messageInfo_FakeMessageSetExtension.Size(m)
+}
+func (m *FakeMessageSetExtension) XXX_DiscardUnknown() {
+ xxx_messageInfo_FakeMessageSetExtension.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FakeMessageSetExtension proto.InternalMessageInfo
+
+func (m *FakeMessageSetExtension) GetOptString() string {
+ if m != nil && m.OptString != nil {
+ return *m.OptString
+ }
+ return ""
+}
+
+// Message contains well-known type fields.
+type KnownTypes struct {
+ OptBool *wrappers.BoolValue `protobuf:"bytes,1,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
+ OptInt32 *wrappers.Int32Value `protobuf:"bytes,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"`
+ OptInt64 *wrappers.Int64Value `protobuf:"bytes,3,opt,name=opt_int64,json=optInt64" json:"opt_int64,omitempty"`
+ OptUint32 *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=opt_uint32,json=optUint32" json:"opt_uint32,omitempty"`
+ OptUint64 *wrappers.UInt64Value `protobuf:"bytes,5,opt,name=opt_uint64,json=optUint64" json:"opt_uint64,omitempty"`
+ OptFloat *wrappers.FloatValue `protobuf:"bytes,6,opt,name=opt_float,json=optFloat" json:"opt_float,omitempty"`
+ OptDouble *wrappers.DoubleValue `protobuf:"bytes,7,opt,name=opt_double,json=optDouble" json:"opt_double,omitempty"`
+ OptString *wrappers.StringValue `protobuf:"bytes,8,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+ OptBytes *wrappers.BytesValue `protobuf:"bytes,9,opt,name=opt_bytes,json=optBytes" json:"opt_bytes,omitempty"`
+ OptDuration *duration.Duration `protobuf:"bytes,20,opt,name=opt_duration,json=optDuration" json:"opt_duration,omitempty"`
+ OptTimestamp *timestamp.Timestamp `protobuf:"bytes,21,opt,name=opt_timestamp,json=optTimestamp" json:"opt_timestamp,omitempty"`
+ OptStruct *_struct.Struct `protobuf:"bytes,25,opt,name=opt_struct,json=optStruct" json:"opt_struct,omitempty"`
+ OptList *_struct.ListValue `protobuf:"bytes,26,opt,name=opt_list,json=optList" json:"opt_list,omitempty"`
+ OptValue *_struct.Value `protobuf:"bytes,27,opt,name=opt_value,json=optValue" json:"opt_value,omitempty"`
+ OptEmpty *empty.Empty `protobuf:"bytes,30,opt,name=opt_empty,json=optEmpty" json:"opt_empty,omitempty"`
+ OptAny *any.Any `protobuf:"bytes,32,opt,name=opt_any,json=optAny" json:"opt_any,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *KnownTypes) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[15].MessageOf(m)
+}
+func (m *KnownTypes) Reset() { *m = KnownTypes{} }
+func (m *KnownTypes) String() string { return proto.CompactTextString(m) }
+func (*KnownTypes) ProtoMessage() {}
+func (*KnownTypes) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{15}
+}
+
+func (m *KnownTypes) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_KnownTypes.Unmarshal(m, b)
+}
+func (m *KnownTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_KnownTypes.Marshal(b, m, deterministic)
+}
+func (m *KnownTypes) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_KnownTypes.Merge(m, src)
+}
+func (m *KnownTypes) XXX_Size() int {
+ return xxx_messageInfo_KnownTypes.Size(m)
+}
+func (m *KnownTypes) XXX_DiscardUnknown() {
+ xxx_messageInfo_KnownTypes.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_KnownTypes proto.InternalMessageInfo
+
+func (m *KnownTypes) GetOptBool() *wrappers.BoolValue {
+ if m != nil {
+ return m.OptBool
+ }
+ return nil
+}
+
+func (m *KnownTypes) GetOptInt32() *wrappers.Int32Value {
+ if m != nil {
+ return m.OptInt32
+ }
+ return nil
+}
+
+func (m *KnownTypes) GetOptInt64() *wrappers.Int64Value {
+ if m != nil {
+ return m.OptInt64
+ }
+ return nil
+}
+
+func (m *KnownTypes) GetOptUint32() *wrappers.UInt32Value {
+ if m != nil {
+ return m.OptUint32
+ }
+ return nil
+}
+
+func (m *KnownTypes) GetOptUint64() *wrappers.UInt64Value {
+ if m != nil {
+ return m.OptUint64
+ }
+ return nil
+}
+
+func (m *KnownTypes) GetOptFloat() *wrappers.FloatValue {
+ if m != nil {
+ return m.OptFloat
+ }
+ return nil
+}
+
+func (m *KnownTypes) GetOptDouble() *wrappers.DoubleValue {
+ if m != nil {
+ return m.OptDouble
+ }
+ return nil
+}
+
+func (m *KnownTypes) GetOptString() *wrappers.StringValue {
+ if m != nil {
+ return m.OptString
+ }
+ return nil
+}
+
+func (m *KnownTypes) GetOptBytes() *wrappers.BytesValue {
+ if m != nil {
+ return m.OptBytes
+ }
+ return nil
+}
+
+func (m *KnownTypes) GetOptDuration() *duration.Duration {
+ if m != nil {
+ return m.OptDuration
+ }
+ return nil
+}
+
+func (m *KnownTypes) GetOptTimestamp() *timestamp.Timestamp {
+ if m != nil {
+ return m.OptTimestamp
+ }
+ return nil
+}
+
+func (m *KnownTypes) GetOptStruct() *_struct.Struct {
+ if m != nil {
+ return m.OptStruct
+ }
+ return nil
+}
+
+func (m *KnownTypes) GetOptList() *_struct.ListValue {
+ if m != nil {
+ return m.OptList
+ }
+ return nil
+}
+
+func (m *KnownTypes) GetOptValue() *_struct.Value {
+ if m != nil {
+ return m.OptValue
+ }
+ return nil
+}
+
+func (m *KnownTypes) GetOptEmpty() *empty.Empty {
+ if m != nil {
+ return m.OptEmpty
+ }
+ return nil
+}
+
+func (m *KnownTypes) GetOptAny() *any.Any {
+ if m != nil {
+ return m.OptAny
+ }
+ return nil
+}
+
+type Nests_OptGroup struct {
+ OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+ OptNested *Nested `protobuf:"bytes,2,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
+ Optnestedgroup *Nests_OptGroup_OptNestedGroup `protobuf:"group,3,opt,name=OptNestedGroup,json=optnestedgroup" json:"optnestedgroup,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Nests_OptGroup) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[16].MessageOf(m)
+}
+func (m *Nests_OptGroup) Reset() { *m = Nests_OptGroup{} }
+func (m *Nests_OptGroup) String() string { return proto.CompactTextString(m) }
+func (*Nests_OptGroup) ProtoMessage() {}
+func (*Nests_OptGroup) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{4, 0}
+}
+
+func (m *Nests_OptGroup) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Nests_OptGroup.Unmarshal(m, b)
+}
+func (m *Nests_OptGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Nests_OptGroup.Marshal(b, m, deterministic)
+}
+func (m *Nests_OptGroup) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Nests_OptGroup.Merge(m, src)
+}
+func (m *Nests_OptGroup) XXX_Size() int {
+ return xxx_messageInfo_Nests_OptGroup.Size(m)
+}
+func (m *Nests_OptGroup) XXX_DiscardUnknown() {
+ xxx_messageInfo_Nests_OptGroup.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Nests_OptGroup proto.InternalMessageInfo
+
+func (m *Nests_OptGroup) GetOptString() string {
+ if m != nil && m.OptString != nil {
+ return *m.OptString
+ }
+ return ""
+}
+
+func (m *Nests_OptGroup) GetOptNested() *Nested {
+ if m != nil {
+ return m.OptNested
+ }
+ return nil
+}
+
+func (m *Nests_OptGroup) GetOptnestedgroup() *Nests_OptGroup_OptNestedGroup {
+ if m != nil {
+ return m.Optnestedgroup
+ }
+ return nil
+}
+
+type Nests_RptGroup struct {
+ RptString []string `protobuf:"bytes,1,rep,name=rpt_string,json=rptString" json:"rpt_string,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Nests_RptGroup) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[17].MessageOf(m)
+}
+func (m *Nests_RptGroup) Reset() { *m = Nests_RptGroup{} }
+func (m *Nests_RptGroup) String() string { return proto.CompactTextString(m) }
+func (*Nests_RptGroup) ProtoMessage() {}
+func (*Nests_RptGroup) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{4, 1}
+}
+
+func (m *Nests_RptGroup) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Nests_RptGroup.Unmarshal(m, b)
+}
+func (m *Nests_RptGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Nests_RptGroup.Marshal(b, m, deterministic)
+}
+func (m *Nests_RptGroup) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Nests_RptGroup.Merge(m, src)
+}
+func (m *Nests_RptGroup) XXX_Size() int {
+ return xxx_messageInfo_Nests_RptGroup.Size(m)
+}
+func (m *Nests_RptGroup) XXX_DiscardUnknown() {
+ xxx_messageInfo_Nests_RptGroup.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Nests_RptGroup proto.InternalMessageInfo
+
+func (m *Nests_RptGroup) GetRptString() []string {
+ if m != nil {
+ return m.RptString
+ }
+ return nil
+}
+
+type Nests_OptGroup_OptNestedGroup struct {
+ OptFixed32 *uint32 `protobuf:"fixed32,1,opt,name=opt_fixed32,json=optFixed32" json:"opt_fixed32,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Nests_OptGroup_OptNestedGroup) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[18].MessageOf(m)
+}
+func (m *Nests_OptGroup_OptNestedGroup) Reset() { *m = Nests_OptGroup_OptNestedGroup{} }
+func (m *Nests_OptGroup_OptNestedGroup) String() string { return proto.CompactTextString(m) }
+func (*Nests_OptGroup_OptNestedGroup) ProtoMessage() {}
+func (*Nests_OptGroup_OptNestedGroup) Descriptor() ([]byte, []int) {
+ return fileDescriptor_72e37deb177b50f8_gzipped, []int{4, 0, 0}
+}
+
+func (m *Nests_OptGroup_OptNestedGroup) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Nests_OptGroup_OptNestedGroup.Unmarshal(m, b)
+}
+func (m *Nests_OptGroup_OptNestedGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Nests_OptGroup_OptNestedGroup.Marshal(b, m, deterministic)
+}
+func (m *Nests_OptGroup_OptNestedGroup) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Nests_OptGroup_OptNestedGroup.Merge(m, src)
+}
+func (m *Nests_OptGroup_OptNestedGroup) XXX_Size() int {
+ return xxx_messageInfo_Nests_OptGroup_OptNestedGroup.Size(m)
+}
+func (m *Nests_OptGroup_OptNestedGroup) XXX_DiscardUnknown() {
+ xxx_messageInfo_Nests_OptGroup_OptNestedGroup.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Nests_OptGroup_OptNestedGroup proto.InternalMessageInfo
+
+func (m *Nests_OptGroup_OptNestedGroup) GetOptFixed32() uint32 {
+ if m != nil && m.OptFixed32 != nil {
+ return *m.OptFixed32
+ }
+ return 0
+}
+
+var E_OptExtBool = &proto.ExtensionDesc{
+ ExtendedType: (*Extensions)(nil),
+ ExtensionType: (*bool)(nil),
+ Field: 21,
+ Name: "pb2.opt_ext_bool",
+ Tag: "varint,21,opt,name=opt_ext_bool",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_OptExtString = &proto.ExtensionDesc{
+ ExtendedType: (*Extensions)(nil),
+ ExtensionType: (*string)(nil),
+ Field: 22,
+ Name: "pb2.opt_ext_string",
+ Tag: "bytes,22,opt,name=opt_ext_string",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_OptExtEnum = &proto.ExtensionDesc{
+ ExtendedType: (*Extensions)(nil),
+ ExtensionType: (*Enum)(nil),
+ Field: 23,
+ Name: "pb2.opt_ext_enum",
+ Tag: "varint,23,opt,name=opt_ext_enum,enum=pb2.Enum",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_OptExtNested = &proto.ExtensionDesc{
+ ExtendedType: (*Extensions)(nil),
+ ExtensionType: (*Nested)(nil),
+ Field: 24,
+ Name: "pb2.opt_ext_nested",
+ Tag: "bytes,24,opt,name=opt_ext_nested",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_RptExtFixed32 = &proto.ExtensionDesc{
+ ExtendedType: (*Extensions)(nil),
+ ExtensionType: ([]uint32)(nil),
+ Field: 31,
+ Name: "pb2.rpt_ext_fixed32",
+ Tag: "fixed32,31,rep,name=rpt_ext_fixed32",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_RptExtEnum = &proto.ExtensionDesc{
+ ExtendedType: (*Extensions)(nil),
+ ExtensionType: ([]Enum)(nil),
+ Field: 32,
+ Name: "pb2.rpt_ext_enum",
+ Tag: "varint,32,rep,name=rpt_ext_enum,enum=pb2.Enum",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_RptExtNested = &proto.ExtensionDesc{
+ ExtendedType: (*Extensions)(nil),
+ ExtensionType: ([]*Nested)(nil),
+ Field: 33,
+ Name: "pb2.rpt_ext_nested",
+ Tag: "bytes,33,rep,name=rpt_ext_nested",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_MessageSetExtension = &proto.ExtensionDesc{
+ ExtendedType: (*MessageSet)(nil),
+ ExtensionType: (*FakeMessageSetExtension)(nil),
+ Field: 50,
+ Name: "pb2.",
+ Tag: "bytes,50,opt,name=message_set_extension",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_ExtensionsContainer_OptExtBool = &proto.ExtensionDesc{
+ ExtendedType: (*Extensions)(nil),
+ ExtensionType: (*bool)(nil),
+ Field: 51,
+ Name: "pb2.ExtensionsContainer.opt_ext_bool",
+ Tag: "varint,51,opt,name=opt_ext_bool",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_ExtensionsContainer_OptExtString = &proto.ExtensionDesc{
+ ExtendedType: (*Extensions)(nil),
+ ExtensionType: (*string)(nil),
+ Field: 52,
+ Name: "pb2.ExtensionsContainer.opt_ext_string",
+ Tag: "bytes,52,opt,name=opt_ext_string",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_ExtensionsContainer_OptExtEnum = &proto.ExtensionDesc{
+ ExtendedType: (*Extensions)(nil),
+ ExtensionType: (*Enum)(nil),
+ Field: 53,
+ Name: "pb2.ExtensionsContainer.opt_ext_enum",
+ Tag: "varint,53,opt,name=opt_ext_enum,enum=pb2.Enum",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_ExtensionsContainer_OptExtNested = &proto.ExtensionDesc{
+ ExtendedType: (*Extensions)(nil),
+ ExtensionType: (*Nested)(nil),
+ Field: 54,
+ Name: "pb2.ExtensionsContainer.opt_ext_nested",
+ Tag: "bytes,54,opt,name=opt_ext_nested",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_ExtensionsContainer_RptExtString = &proto.ExtensionDesc{
+ ExtendedType: (*Extensions)(nil),
+ ExtensionType: ([]string)(nil),
+ Field: 61,
+ Name: "pb2.ExtensionsContainer.rpt_ext_string",
+ Tag: "bytes,61,rep,name=rpt_ext_string",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_ExtensionsContainer_RptExtEnum = &proto.ExtensionDesc{
+ ExtendedType: (*Extensions)(nil),
+ ExtensionType: ([]Enum)(nil),
+ Field: 62,
+ Name: "pb2.ExtensionsContainer.rpt_ext_enum",
+ Tag: "varint,62,rep,name=rpt_ext_enum,enum=pb2.Enum",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_ExtensionsContainer_RptExtNested = &proto.ExtensionDesc{
+ ExtendedType: (*Extensions)(nil),
+ ExtensionType: ([]*Nested)(nil),
+ Field: 63,
+ Name: "pb2.ExtensionsContainer.rpt_ext_nested",
+ Tag: "bytes,63,rep,name=rpt_ext_nested",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_MessageSetExtension_MessageSetExtension = &proto.ExtensionDesc{
+ ExtendedType: (*MessageSet)(nil),
+ ExtensionType: (*MessageSetExtension)(nil),
+ Field: 10,
+ Name: "pb2.MessageSetExtension",
+ Tag: "bytes,10,opt,name=message_set_extension",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_MessageSetExtension_NotMessageSetExtension = &proto.ExtensionDesc{
+ ExtendedType: (*MessageSet)(nil),
+ ExtensionType: (*MessageSetExtension)(nil),
+ Field: 20,
+ Name: "pb2.MessageSetExtension.not_message_set_extension",
+ Tag: "bytes,20,opt,name=not_message_set_extension",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_MessageSetExtension_ExtNested = &proto.ExtensionDesc{
+ ExtendedType: (*MessageSet)(nil),
+ ExtensionType: (*Nested)(nil),
+ Field: 30,
+ Name: "pb2.MessageSetExtension.ext_nested",
+ Tag: "bytes,30,opt,name=ext_nested",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+var E_FakeMessageSetExtension_MessageSetExtension = &proto.ExtensionDesc{
+ ExtendedType: (*FakeMessageSet)(nil),
+ ExtensionType: (*FakeMessageSetExtension)(nil),
+ Field: 10,
+ Name: "pb2.FakeMessageSetExtension.message_set_extension",
+ Tag: "bytes,10,opt,name=message_set_extension",
+ Filename: "encoding/testprotos/pb2/test.proto",
+}
+
+func init() {
+ proto.RegisterFile("encoding/testprotos/pb2/test.proto", fileDescriptor_72e37deb177b50f8_gzipped)
+ proto.RegisterEnum("pb2.Enum", Enum_name, Enum_value)
+ proto.RegisterEnum("pb2.Enums_NestedEnum", Enums_NestedEnum_name, Enums_NestedEnum_value)
+ proto.RegisterType((*Scalars)(nil), "pb2.Scalars")
+ proto.RegisterType((*Enums)(nil), "pb2.Enums")
+ proto.RegisterType((*Repeats)(nil), "pb2.Repeats")
+ proto.RegisterType((*Nested)(nil), "pb2.Nested")
+ proto.RegisterType((*Nests)(nil), "pb2.Nests")
+ proto.RegisterType((*Requireds)(nil), "pb2.Requireds")
+ proto.RegisterType((*PartialRequired)(nil), "pb2.PartialRequired")
+ proto.RegisterType((*NestedWithRequired)(nil), "pb2.NestedWithRequired")
+ proto.RegisterType((*IndirectRequired)(nil), "pb2.IndirectRequired")
+ proto.RegisterMapType((map[string]*NestedWithRequired)(nil), "pb2.IndirectRequired.StrToNestedEntry")
+ proto.RegisterType((*Extensions)(nil), "pb2.Extensions")
+ proto.RegisterType((*ExtensionsContainer)(nil), "pb2.ExtensionsContainer")
+ proto.RegisterType((*MessageSet)(nil), "pb2.MessageSet")
+ proto.RegisterType((*MessageSetExtension)(nil), "pb2.MessageSetExtension")
+ proto.RegisterType((*FakeMessageSet)(nil), "pb2.FakeMessageSet")
+ proto.RegisterType((*FakeMessageSetExtension)(nil), "pb2.FakeMessageSetExtension")
+ proto.RegisterType((*KnownTypes)(nil), "pb2.KnownTypes")
+ proto.RegisterType((*Nests_OptGroup)(nil), "pb2.Nests.OptGroup")
+ proto.RegisterType((*Nests_RptGroup)(nil), "pb2.Nests.RptGroup")
+ proto.RegisterType((*Nests_OptGroup_OptNestedGroup)(nil), "pb2.Nests.OptGroup.OptNestedGroup")
+ proto.RegisterExtension(E_OptExtBool)
+ proto.RegisterExtension(E_OptExtString)
+ proto.RegisterExtension(E_OptExtEnum)
+ proto.RegisterExtension(E_OptExtNested)
+ proto.RegisterExtension(E_RptExtFixed32)
+ proto.RegisterExtension(E_RptExtEnum)
+ proto.RegisterExtension(E_RptExtNested)
+ proto.RegisterExtension(E_MessageSetExtension)
+ proto.RegisterExtension(E_ExtensionsContainer_OptExtBool)
+ proto.RegisterExtension(E_ExtensionsContainer_OptExtString)
+ proto.RegisterExtension(E_ExtensionsContainer_OptExtEnum)
+ proto.RegisterExtension(E_ExtensionsContainer_OptExtNested)
+ proto.RegisterExtension(E_ExtensionsContainer_RptExtString)
+ proto.RegisterExtension(E_ExtensionsContainer_RptExtEnum)
+ proto.RegisterExtension(E_ExtensionsContainer_RptExtNested)
+ proto.RegisterExtension(E_MessageSetExtension_MessageSetExtension)
+ proto.RegisterExtension(E_MessageSetExtension_NotMessageSetExtension)
+ proto.RegisterExtension(E_MessageSetExtension_ExtNested)
+ proto.RegisterExtension(E_FakeMessageSetExtension_MessageSetExtension)
+}
+
+var fileDescriptor_72e37deb177b50f8 = []byte{
+ // 5146 bytes of the wire-encoded FileDescriptorProto
+ 0x0a, 0x22, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x70, 0x62, 0x32, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x70, 0x62, 0x32, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xda, 0x03, 0x0a, 0x07, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08,
+ 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
+ 0x6f, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69,
+ 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36,
+ 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x36,
+ 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x11, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x12, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x07, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x06, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12,
+ 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64,
+ 0x33, 0x32, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64,
+ 0x36, 0x34, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x10, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x53, 0x66, 0x69,
+ 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f,
+ 0x61, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x46, 0x6c, 0x6f,
+ 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
+ 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c,
+ 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xfb, 0x01,
+ 0x0a, 0x05, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x65,
+ 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e,
+ 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x24, 0x0a,
+ 0x08, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32,
+ 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, 0x72, 0x70, 0x74, 0x45,
+ 0x6e, 0x75, 0x6d, 0x12, 0x3d, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65,
+ 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70,
+ 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
+ 0x6e, 0x75, 0x6d, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e,
+ 0x75, 0x6d, 0x12, 0x3d, 0x0a, 0x0f, 0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64,
+ 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x62,
+ 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e,
+ 0x75, 0x6d, 0x52, 0x0d, 0x72, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75,
+ 0x6d, 0x22, 0x28, 0x0a, 0x0a, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12,
+ 0x07, 0x0a, 0x03, 0x55, 0x4e, 0x4f, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4f, 0x53, 0x10,
+ 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x49, 0x45, 0x5a, 0x10, 0x0a, 0x22, 0x94, 0x02, 0x0a, 0x07,
+ 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x70, 0x74, 0x5f, 0x62,
+ 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x08, 0x52, 0x07, 0x72, 0x70, 0x74, 0x42, 0x6f,
+ 0x6f, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x72, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12,
+ 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x03, 0x52, 0x08, 0x72, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x72, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x09, 0x72, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x72,
+ 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52,
+ 0x09, 0x72, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70,
+ 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x02, 0x52, 0x08, 0x72,
+ 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x64,
+ 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x01, 0x52, 0x09, 0x72, 0x70, 0x74,
+ 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x73, 0x74,
+ 0x72, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x70, 0x74, 0x53,
+ 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74,
+ 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x70, 0x74, 0x42, 0x79, 0x74,
+ 0x65, 0x73, 0x22, 0x53, 0x0a, 0x06, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x0a, 0x6f,
+ 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70,
+ 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0xd3, 0x03, 0x0a, 0x05, 0x4e, 0x65, 0x73, 0x74,
+ 0x73, 0x12, 0x2a, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74,
+ 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x2f, 0x0a,
+ 0x08, 0x6f, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0a, 0x32,
+ 0x13, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x47,
+ 0x72, 0x6f, 0x75, 0x70, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a,
+ 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52,
+ 0x09, 0x72, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x08, 0x72, 0x70,
+ 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x13, 0x2e, 0x70,
+ 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x52, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75,
+ 0x70, 0x52, 0x08, 0x72, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0xd4, 0x01, 0x0a, 0x08,
+ 0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f,
+ 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70,
+ 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x6e,
+ 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62,
+ 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64,
+ 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0a, 0x32, 0x22, 0x2e, 0x70, 0x62,
+ 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70,
+ 0x2e, 0x4f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
+ 0x0e, 0x6f, 0x70, 0x74, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a,
+ 0x31, 0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75,
+ 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64,
+ 0x33, 0x32, 0x1a, 0x29, 0x0a, 0x08, 0x52, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x09, 0x72, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0e, 0x72,
+ 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0xd9, 0x01,
+ 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x72,
+ 0x65, 0x71, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x02, 0x28, 0x08, 0x52, 0x07, 0x72,
+ 0x65, 0x71, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x02, 0x20, 0x02, 0x28, 0x10, 0x52, 0x0b, 0x72, 0x65,
+ 0x71, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71,
+ 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x01, 0x52, 0x09, 0x72,
+ 0x65, 0x71, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f,
+ 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x02, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65,
+ 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x5f, 0x65,
+ 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e,
+ 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, 0x72, 0x65, 0x71, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x2a, 0x0a,
+ 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x02, 0x28,
+ 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09,
+ 0x72, 0x65, 0x71, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x4f, 0x0a, 0x0f, 0x50, 0x61, 0x72,
+ 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x72, 0x65, 0x71, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09,
+ 0x52, 0x09, 0x72, 0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x6f,
+ 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x33, 0x0a, 0x12, 0x4e, 0x65,
+ 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01,
+ 0x20, 0x02, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22,
+ 0xee, 0x02, 0x0a, 0x10, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
+ 0x69, 0x72, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74,
+ 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e,
+ 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
+ 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x0a,
+ 0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x17, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74,
+ 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x09, 0x72, 0x70, 0x74, 0x4e, 0x65,
+ 0x73, 0x74, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6e,
+ 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x62,
+ 0x32, 0x2e, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72,
+ 0x65, 0x64, 0x2e, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
+ 0x12, 0x3c, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x48,
+ 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x1a, 0x57,
+ 0x0a, 0x10, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
+ 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e,
+ 0x22, 0x69, 0x0a, 0x0a, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a,
+ 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x65, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x07, 0x6f, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f,
+ 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x70, 0x74,
+ 0x49, 0x6e, 0x74, 0x33, 0x32, 0x2a, 0x04, 0x08, 0x14, 0x10, 0x65, 0x22, 0xba, 0x03, 0x0a, 0x13,
+ 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
+ 0x6e, 0x65, 0x72, 0x32, 0x31, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x62,
+ 0x6f, 0x6f, 0x6c, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45,
+ 0x78, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x32, 0x35, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78,
+ 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x3c, 0x0a,
+ 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x2e,
+ 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x35,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52,
+ 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x32, 0x42, 0x0a, 0x0e, 0x6f,
+ 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x0f, 0x2e,
+ 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x36,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
+ 0x64, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x32,
+ 0x35, 0x0a, 0x0e, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x3d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74,
+ 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x3c, 0x0a, 0x0c, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78,
+ 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x09, 0x2e,
+ 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0a, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74,
+ 0x45, 0x6e, 0x75, 0x6d, 0x32, 0x42, 0x0a, 0x0e, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f,
+ 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
+ 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x72, 0x70, 0x74, 0x45,
+ 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x1a, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x2a, 0x08, 0x08, 0x04, 0x10, 0xff, 0xff, 0xff, 0xff, 0x07,
+ 0x3a, 0x02, 0x08, 0x01, 0x22, 0xb6, 0x02, 0x0a, 0x13, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x5d, 0x0a, 0x15, 0x6d,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
+ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x62,
+ 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65,
+ 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x64, 0x0a, 0x19, 0x6e, 0x6f,
+ 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
+ 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6e, 0x6f, 0x74, 0x4d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x32, 0x3b, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x0f,
+ 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18,
+ 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74,
+ 0x65, 0x64, 0x52, 0x09, 0x65, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x1a, 0x0a,
+ 0x0e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x2a,
+ 0x08, 0x08, 0x04, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x9f, 0x01, 0x0a, 0x17, 0x46, 0x61,
+ 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72,
+ 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74,
+ 0x72, 0x69, 0x6e, 0x67, 0x32, 0x65, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f,
+ 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x2e,
+ 0x70, 0x62, 0x32, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53,
+ 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x46,
+ 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53,
+ 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x07, 0x0a, 0x0a,
+ 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x70,
+ 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42,
+ 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x42, 0x6f, 0x6f,
+ 0x6c, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x38, 0x0a, 0x09, 0x6f,
+ 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74,
+ 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e,
+ 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74,
+ 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74,
+ 0x33, 0x32, 0x12, 0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
+ 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
+ 0x08, 0x6f, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74,
+ 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x74,
+ 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74,
+ 0x72, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
+ 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72,
+ 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x0a,
+ 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b,
+ 0x6f, 0x70, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0d, 0x6f,
+ 0x70, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x15, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c,
+ 0x6f, 0x70, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x0a,
+ 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74,
+ 0x72, 0x75, 0x63, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x09, 0x6f,
+ 0x70, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x12, 0x33, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x1e, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x08, 0x6f, 0x70, 0x74,
+ 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2d, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x5f, 0x61, 0x6e, 0x79,
+ 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x6f, 0x70,
+ 0x74, 0x41, 0x6e, 0x79, 0x2a, 0x21, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03,
+ 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x57, 0x4f, 0x10, 0x02, 0x12, 0x07,
+ 0x0a, 0x03, 0x54, 0x45, 0x4e, 0x10, 0x0a, 0x3a, 0x31, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65,
+ 0x78, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
+ 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x3a, 0x35, 0x0a, 0x0e, 0x6f, 0x70,
+ 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x0f, 0x2e, 0x70,
+ 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x3a, 0x3c, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e, 0x75,
+ 0x6d, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45,
+ 0x6e, 0x75, 0x6d, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x3a,
+ 0x42, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65,
+ 0x64, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e,
+ 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x3a, 0x37, 0x0a, 0x0f, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0d, 0x72,
+ 0x70, 0x74, 0x45, 0x78, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, 0x3c, 0x0a, 0x0c,
+ 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x2e, 0x70,
+ 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x20, 0x20,
+ 0x03, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0a,
+ 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x42, 0x0a, 0x0e, 0x72, 0x70,
+ 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x0f, 0x2e, 0x70,
+ 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x21, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
+ 0x52, 0x0c, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x3a, 0x61,
+ 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
+ 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
+ 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
+ 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x74, 0x65, 0x73, 0x74,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x70, 0x62, 0x32,
+}
+
+var fileDescriptor_72e37deb177b50f8_gzipped = func() []byte {
+ bb := new(bytes.Buffer)
+ zw, _ := gzip.NewWriterLevel(bb, gzip.NoCompression)
+ zw.Write(fileDescriptor_72e37deb177b50f8)
+ zw.Close()
+ return bb.Bytes()
+}()
+
+const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
+
+var Test_protoFile protoreflect.FileDescriptor
+
+var xxx_Test_protoFile_enumTypes [2]protoreflect.EnumType
+var xxx_Test_protoFile_messageTypes [20]protoimpl.MessageType
+var xxx_Test_protoFile_goTypes = []interface{}{
+ (Enum)(0), // 0: pb2.Enum
+ (Enums_NestedEnum)(0), // 1: pb2.Enums.NestedEnum
+ (*Scalars)(nil), // 2: pb2.Scalars
+ (*Enums)(nil), // 3: pb2.Enums
+ (*Repeats)(nil), // 4: pb2.Repeats
+ (*Nested)(nil), // 5: pb2.Nested
+ (*Nests)(nil), // 6: pb2.Nests
+ (*Requireds)(nil), // 7: pb2.Requireds
+ (*PartialRequired)(nil), // 8: pb2.PartialRequired
+ (*NestedWithRequired)(nil), // 9: pb2.NestedWithRequired
+ (*IndirectRequired)(nil), // 10: pb2.IndirectRequired
+ (*Extensions)(nil), // 11: pb2.Extensions
+ (*ExtensionsContainer)(nil), // 12: pb2.ExtensionsContainer
+ (*MessageSet)(nil), // 13: pb2.MessageSet
+ (*MessageSetExtension)(nil), // 14: pb2.MessageSetExtension
+ (*FakeMessageSet)(nil), // 15: pb2.FakeMessageSet
+ (*FakeMessageSetExtension)(nil), // 16: pb2.FakeMessageSetExtension
+ (*KnownTypes)(nil), // 17: pb2.KnownTypes
+ (*Nests_OptGroup)(nil), // 18: pb2.Nests.OptGroup
+ (*Nests_RptGroup)(nil), // 19: pb2.Nests.RptGroup
+ (*Nests_OptGroup_OptNestedGroup)(nil), // 20: pb2.Nests.OptGroup.OptNestedGroup
+ nil, // 21: pb2.IndirectRequired.StrToNestedEntry
+ (*wrappers.BoolValue)(nil), // 22: google.protobuf.BoolValue
+ (*wrappers.Int32Value)(nil), // 23: google.protobuf.Int32Value
+ (*wrappers.Int64Value)(nil), // 24: google.protobuf.Int64Value
+ (*wrappers.UInt32Value)(nil), // 25: google.protobuf.UInt32Value
+ (*wrappers.UInt64Value)(nil), // 26: google.protobuf.UInt64Value
+ (*wrappers.FloatValue)(nil), // 27: google.protobuf.FloatValue
+ (*wrappers.DoubleValue)(nil), // 28: google.protobuf.DoubleValue
+ (*wrappers.StringValue)(nil), // 29: google.protobuf.StringValue
+ (*wrappers.BytesValue)(nil), // 30: google.protobuf.BytesValue
+ (*duration.Duration)(nil), // 31: google.protobuf.Duration
+ (*timestamp.Timestamp)(nil), // 32: google.protobuf.Timestamp
+ (*_struct.Struct)(nil), // 33: google.protobuf.Struct
+ (*_struct.ListValue)(nil), // 34: google.protobuf.ListValue
+ (*_struct.Value)(nil), // 35: google.protobuf.Value
+ (*empty.Empty)(nil), // 36: google.protobuf.Empty
+ (*any.Any)(nil), // 37: google.protobuf.Any
+}
+var xxx_Test_protoFile_depIdxs = []int32{
+ 11, // pb2.opt_ext_bool:extendee -> pb2.Extensions
+ 11, // pb2.opt_ext_string:extendee -> pb2.Extensions
+ 11, // pb2.opt_ext_enum:extendee -> pb2.Extensions
+ 11, // pb2.opt_ext_nested:extendee -> pb2.Extensions
+ 11, // pb2.rpt_ext_fixed32:extendee -> pb2.Extensions
+ 11, // pb2.rpt_ext_enum:extendee -> pb2.Extensions
+ 11, // pb2.rpt_ext_nested:extendee -> pb2.Extensions
+ 13, // pb2.message_set_extension:extendee -> pb2.MessageSet
+ 11, // pb2.ExtensionsContainer.opt_ext_bool:extendee -> pb2.Extensions
+ 11, // pb2.ExtensionsContainer.opt_ext_string:extendee -> pb2.Extensions
+ 11, // pb2.ExtensionsContainer.opt_ext_enum:extendee -> pb2.Extensions
+ 11, // pb2.ExtensionsContainer.opt_ext_nested:extendee -> pb2.Extensions
+ 11, // pb2.ExtensionsContainer.rpt_ext_string:extendee -> pb2.Extensions
+ 11, // pb2.ExtensionsContainer.rpt_ext_enum:extendee -> pb2.Extensions
+ 11, // pb2.ExtensionsContainer.rpt_ext_nested:extendee -> pb2.Extensions
+ 13, // pb2.MessageSetExtension.message_set_extension:extendee -> pb2.MessageSet
+ 13, // pb2.MessageSetExtension.not_message_set_extension:extendee -> pb2.MessageSet
+ 13, // pb2.MessageSetExtension.ext_nested:extendee -> pb2.MessageSet
+ 15, // pb2.FakeMessageSetExtension.message_set_extension:extendee -> pb2.FakeMessageSet
+ 0, // pb2.Enums.opt_enum:type_name -> pb2.Enum
+ 0, // pb2.Enums.rpt_enum:type_name -> pb2.Enum
+ 1, // pb2.Enums.opt_nested_enum:type_name -> pb2.Enums.NestedEnum
+ 1, // pb2.Enums.rpt_nested_enum:type_name -> pb2.Enums.NestedEnum
+ 5, // pb2.Nested.opt_nested:type_name -> pb2.Nested
+ 5, // pb2.Nests.opt_nested:type_name -> pb2.Nested
+ 18, // pb2.Nests.optgroup:type_name -> pb2.Nests.OptGroup
+ 5, // pb2.Nests.rpt_nested:type_name -> pb2.Nested
+ 19, // pb2.Nests.rptgroup:type_name -> pb2.Nests.RptGroup
+ 0, // pb2.Requireds.req_enum:type_name -> pb2.Enum
+ 5, // pb2.Requireds.req_nested:type_name -> pb2.Nested
+ 9, // pb2.IndirectRequired.opt_nested:type_name -> pb2.NestedWithRequired
+ 9, // pb2.IndirectRequired.rpt_nested:type_name -> pb2.NestedWithRequired
+ 21, // pb2.IndirectRequired.str_to_nested:type_name -> pb2.IndirectRequired.StrToNestedEntry
+ 9, // pb2.IndirectRequired.oneof_nested:type_name -> pb2.NestedWithRequired
+ 22, // pb2.KnownTypes.opt_bool:type_name -> google.protobuf.BoolValue
+ 23, // pb2.KnownTypes.opt_int32:type_name -> google.protobuf.Int32Value
+ 24, // pb2.KnownTypes.opt_int64:type_name -> google.protobuf.Int64Value
+ 25, // pb2.KnownTypes.opt_uint32:type_name -> google.protobuf.UInt32Value
+ 26, // pb2.KnownTypes.opt_uint64:type_name -> google.protobuf.UInt64Value
+ 27, // pb2.KnownTypes.opt_float:type_name -> google.protobuf.FloatValue
+ 28, // pb2.KnownTypes.opt_double:type_name -> google.protobuf.DoubleValue
+ 29, // pb2.KnownTypes.opt_string:type_name -> google.protobuf.StringValue
+ 30, // pb2.KnownTypes.opt_bytes:type_name -> google.protobuf.BytesValue
+ 31, // pb2.KnownTypes.opt_duration:type_name -> google.protobuf.Duration
+ 32, // pb2.KnownTypes.opt_timestamp:type_name -> google.protobuf.Timestamp
+ 33, // pb2.KnownTypes.opt_struct:type_name -> google.protobuf.Struct
+ 34, // pb2.KnownTypes.opt_list:type_name -> google.protobuf.ListValue
+ 35, // pb2.KnownTypes.opt_value:type_name -> google.protobuf.Value
+ 36, // pb2.KnownTypes.opt_empty:type_name -> google.protobuf.Empty
+ 37, // pb2.KnownTypes.opt_any:type_name -> google.protobuf.Any
+ 5, // pb2.Nests.OptGroup.opt_nested:type_name -> pb2.Nested
+ 20, // pb2.Nests.OptGroup.optnestedgroup:type_name -> pb2.Nests.OptGroup.OptNestedGroup
+ 9, // pb2.IndirectRequired.StrToNestedEntry.value:type_name -> pb2.NestedWithRequired
+ 0, // pb2.opt_ext_enum:type_name -> pb2.Enum
+ 5, // pb2.opt_ext_nested:type_name -> pb2.Nested
+ 0, // pb2.rpt_ext_enum:type_name -> pb2.Enum
+ 5, // pb2.rpt_ext_nested:type_name -> pb2.Nested
+ 16, // pb2.message_set_extension:type_name -> pb2.FakeMessageSetExtension
+ 0, // pb2.ExtensionsContainer.opt_ext_enum:type_name -> pb2.Enum
+ 5, // pb2.ExtensionsContainer.opt_ext_nested:type_name -> pb2.Nested
+ 0, // pb2.ExtensionsContainer.rpt_ext_enum:type_name -> pb2.Enum
+ 5, // pb2.ExtensionsContainer.rpt_ext_nested:type_name -> pb2.Nested
+ 14, // pb2.MessageSetExtension.message_set_extension:type_name -> pb2.MessageSetExtension
+ 14, // pb2.MessageSetExtension.not_message_set_extension:type_name -> pb2.MessageSetExtension
+ 5, // pb2.MessageSetExtension.ext_nested:type_name -> pb2.Nested
+ 16, // pb2.FakeMessageSetExtension.message_set_extension:type_name -> pb2.FakeMessageSetExtension
+}
+
+func init() {
+ var messageTypes [20]protoreflect.MessageType
+ var extensionTypes [19]protoreflect.ExtensionType
+ Test_protoFile = protoimpl.FileBuilder{
+ RawDescriptor: fileDescriptor_72e37deb177b50f8,
+ GoTypes: xxx_Test_protoFile_goTypes,
+ DependencyIndexes: xxx_Test_protoFile_depIdxs,
+ EnumOutputTypes: xxx_Test_protoFile_enumTypes[:],
+ MessageOutputTypes: messageTypes[:],
+ ExtensionOutputTypes: extensionTypes[:],
+ }.Init()
+ messageGoTypes := xxx_Test_protoFile_goTypes[2:][:20]
+ for i, mt := range messageTypes[:] {
+ xxx_Test_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+ xxx_Test_protoFile_messageTypes[i].PBType = mt
+ }
+ E_OptExtBool.Type = extensionTypes[0]
+ E_OptExtString.Type = extensionTypes[1]
+ E_OptExtEnum.Type = extensionTypes[2]
+ E_OptExtNested.Type = extensionTypes[3]
+ E_RptExtFixed32.Type = extensionTypes[4]
+ E_RptExtEnum.Type = extensionTypes[5]
+ E_RptExtNested.Type = extensionTypes[6]
+ E_MessageSetExtension.Type = extensionTypes[7]
+ E_ExtensionsContainer_OptExtBool.Type = extensionTypes[8]
+ E_ExtensionsContainer_OptExtString.Type = extensionTypes[9]
+ E_ExtensionsContainer_OptExtEnum.Type = extensionTypes[10]
+ E_ExtensionsContainer_OptExtNested.Type = extensionTypes[11]
+ E_ExtensionsContainer_RptExtString.Type = extensionTypes[12]
+ E_ExtensionsContainer_RptExtEnum.Type = extensionTypes[13]
+ E_ExtensionsContainer_RptExtNested.Type = extensionTypes[14]
+ E_MessageSetExtension_MessageSetExtension.Type = extensionTypes[15]
+ E_MessageSetExtension_NotMessageSetExtension.Type = extensionTypes[16]
+ E_MessageSetExtension_ExtNested.Type = extensionTypes[17]
+ E_FakeMessageSetExtension_MessageSetExtension.Type = extensionTypes[18]
+ xxx_Test_protoFile_goTypes = nil
+ xxx_Test_protoFile_depIdxs = nil
+}
diff --git a/encoding/textpb/testprotos/pb2/test.proto b/encoding/testprotos/pb2/test.proto
similarity index 79%
rename from encoding/textpb/testprotos/pb2/test.proto
rename to encoding/testprotos/pb2/test.proto
index b242750..d41583a 100644
--- a/encoding/textpb/testprotos/pb2/test.proto
+++ b/encoding/testprotos/pb2/test.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 The Go Authors. All rights reserved.
+// Copyright 2019 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
@@ -6,7 +6,7 @@
syntax = "proto2";
package pb2;
-option go_package = "github.com/golang/protobuf/v2/encoding/textpb/testprotos/pb2";
+option go_package = "github.com/golang/protobuf/v2/encoding/testprotos/pb2";
import "google/protobuf/any.proto";
import "google/protobuf/empty.proto";
@@ -18,7 +18,6 @@
// Scalars contains optional scalar fields.
message Scalars {
optional bool opt_bool = 1;
-
optional int32 opt_int32 = 2;
optional int64 opt_int64 = 3;
optional uint32 opt_uint32 = 4;
@@ -30,6 +29,10 @@
optional sfixed32 opt_sfixed32 = 10;
optional sfixed64 opt_sfixed64 = 11;
+ // Textproto marshal outputs fields in the same order as this proto
+ // definition regardless of field number. Following fields are intended to
+ // test that assumption.
+
optional float opt_float = 20;
optional double opt_double = 21;
@@ -37,24 +40,10 @@
optional string opt_string = 13;
}
-// Message contains repeated fields.
-message Repeats {
- repeated bool rpt_bool = 1;
- repeated int32 rpt_int32 = 2;
- repeated int64 rpt_int64 = 3;
- repeated uint32 rpt_uint32 = 4;
- repeated uint64 rpt_uint64 = 5;
- repeated float rpt_float = 6;
- repeated double rpt_double = 7;
- repeated string rpt_string = 15;
- repeated bytes rpt_bytes = 14;
-}
-
enum Enum {
- UNKNOWN = 0;
- FIRST = 1;
- SECOND = 2;
- TENTH = 10;
+ ONE = 1;
+ TWO = 2;
+ TEN = 10;
}
// Message contains enum fields.
@@ -71,25 +60,17 @@
repeated NestedEnum rpt_nested_enum = 4;
}
-// Message contains message and group fields.
-message Nests {
- optional Nested opt_nested = 1;
- optional group OptGroup = 2 {
- optional bool opt_bool = 1;
- optional string opt_string = 2;
- optional Nested opt_nested = 3;
-
- optional group OptNestedGroup = 4 {
- optional Enum opt_enum = 1;
- }
- }
-
- repeated Nested rpt_nested = 3;
- repeated group RptGroup = 4 {
- repeated bool rpt_bool = 1;
- }
-
- reserved "reserved_field";
+// Message contains repeated fields.
+message Repeats {
+ repeated bool rpt_bool = 1;
+ repeated int32 rpt_int32 = 2;
+ repeated int64 rpt_int64 = 3;
+ repeated uint32 rpt_uint32 = 4;
+ repeated uint64 rpt_uint64 = 5;
+ repeated float rpt_float = 6;
+ repeated double rpt_double = 7;
+ repeated string rpt_string = 8;
+ repeated bytes rpt_bytes = 9;
}
// Message type used as submessage.
@@ -98,19 +79,34 @@
optional Nested opt_nested = 2;
}
+// Message contains message and group fields.
+message Nests {
+ optional Nested opt_nested = 1;
+ optional group OptGroup = 2 {
+ optional string opt_string = 1;
+ optional Nested opt_nested = 2;
+
+ optional group OptNestedGroup = 3 {
+ optional fixed32 opt_fixed32 = 1;
+ }
+ }
+
+ repeated Nested rpt_nested = 4;
+ repeated group RptGroup = 5 {
+ repeated string rpt_string = 1;
+ }
+
+ reserved "reserved_field";
+}
+
// Message contains required fields.
message Requireds {
required bool req_bool = 1;
- required fixed32 req_fixed32 = 2;
- required fixed64 req_fixed64 = 3;
- required sfixed32 req_sfixed32 = 4;
- required sfixed64 req_sfixed64 = 5;
- required float req_float = 6;
- required double req_double = 7;
- required string req_string = 8;
- required bytes req_bytes = 9;
- required Enum req_enum = 10;
- required Nested req_nested = 11;
+ required sfixed64 req_sfixed64 = 2;
+ required double req_double = 3;
+ required string req_string = 4;
+ required Enum req_enum = 5;
+ required Nested req_nested = 6;
}
// Message contains both required and optional fields.
@@ -119,24 +115,6 @@
optional string opt_string = 2;
}
-// Message contains oneof field.
-message Oneofs {
- oneof union {
- string str = 1;
- Nested msg = 2;
- }
-}
-
-// Message contains map fields.
-message Maps {
- map<int32, string> int32_to_str = 1;
- map<sfixed64, bool> sfixed64_to_bool = 2;
- map<bool, uint32> bool_to_uint32 = 3;
- map<uint64, Enum> uint64_to_enum = 4;
- map<string, Nested> str_to_nested = 5;
- map<string, Oneofs> str_to_oneofs = 6;
-}
-
// Following messages are for testing required field nested in optional, repeated and map fields.
message NestedWithRequired {
@@ -147,6 +125,10 @@
optional NestedWithRequired opt_nested = 1;
repeated NestedWithRequired rpt_nested = 2;
map<string, NestedWithRequired> str_to_nested = 3;
+
+ oneof union {
+ NestedWithRequired oneof_nested = 4;
+ }
}
// Following messages are for testing extensions.
diff --git a/encoding/testprotos/pb3/test.pb.go b/encoding/testprotos/pb3/test.pb.go
new file mode 100644
index 0000000..54209a9
--- /dev/null
+++ b/encoding/testprotos/pb3/test.pb.go
@@ -0,0 +1,760 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: encoding/testprotos/pb3/test.proto
+
+package pb3
+
+import (
+ bytes "bytes"
+ gzip "compress/gzip"
+ proto "github.com/golang/protobuf/proto"
+ protoreflect "github.com/golang/protobuf/v2/reflect/protoreflect"
+ protoimpl "github.com/golang/protobuf/v2/runtime/protoimpl"
+ reflect "reflect"
+)
+
+// 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 Enum int32
+
+const (
+ Enum_ZERO Enum = 0
+ Enum_ONE Enum = 1
+ Enum_TWO Enum = 2
+ Enum_TEN Enum = 10
+)
+
+func (e Enum) Type() protoreflect.EnumType {
+ return xxx_Test_protoFile_enumTypes[0]
+}
+func (e Enum) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(e)
+}
+
+var Enum_name = map[int32]string{
+ 0: "ZERO",
+ 1: "ONE",
+ 2: "TWO",
+ 10: "TEN",
+}
+
+var Enum_value = map[string]int32{
+ "ZERO": 0,
+ "ONE": 1,
+ "TWO": 2,
+ "TEN": 10,
+}
+
+func (x Enum) String() string {
+ return proto.EnumName(Enum_name, int32(x))
+}
+
+func (Enum) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_33e0a17922cde063_gzipped, []int{0}
+}
+
+type Enums_NestedEnum int32
+
+const (
+ Enums_CERO Enums_NestedEnum = 0
+ Enums_UNO Enums_NestedEnum = 1
+ Enums_DOS Enums_NestedEnum = 2
+ Enums_DIEZ Enums_NestedEnum = 10
+)
+
+func (e Enums_NestedEnum) Type() protoreflect.EnumType {
+ return xxx_Test_protoFile_enumTypes[1]
+}
+func (e Enums_NestedEnum) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(e)
+}
+
+var Enums_NestedEnum_name = map[int32]string{
+ 0: "CERO",
+ 1: "UNO",
+ 2: "DOS",
+ 10: "DIEZ",
+}
+
+var Enums_NestedEnum_value = map[string]int32{
+ "CERO": 0,
+ "UNO": 1,
+ "DOS": 2,
+ "DIEZ": 10,
+}
+
+func (x Enums_NestedEnum) String() string {
+ return proto.EnumName(Enums_NestedEnum_name, int32(x))
+}
+
+func (Enums_NestedEnum) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_33e0a17922cde063_gzipped, []int{1, 0}
+}
+
+// Scalars contains scalar field types.
+type Scalars struct {
+ SBool bool `protobuf:"varint,1,opt,name=s_bool,json=sBool,proto3" json:"s_bool,omitempty"`
+ SInt32 int32 `protobuf:"varint,2,opt,name=s_int32,json=sInt32,proto3" json:"s_int32,omitempty"`
+ SInt64 int64 `protobuf:"varint,3,opt,name=s_int64,json=sInt64,proto3" json:"s_int64,omitempty"`
+ SUint32 uint32 `protobuf:"varint,4,opt,name=s_uint32,json=sUint32,proto3" json:"s_uint32,omitempty"`
+ SUint64 uint64 `protobuf:"varint,5,opt,name=s_uint64,json=sUint64,proto3" json:"s_uint64,omitempty"`
+ SSint32 int32 `protobuf:"zigzag32,6,opt,name=s_sint32,json=sSint32,proto3" json:"s_sint32,omitempty"`
+ SSint64 int64 `protobuf:"zigzag64,7,opt,name=s_sint64,json=sSint64,proto3" json:"s_sint64,omitempty"`
+ SFixed32 uint32 `protobuf:"fixed32,8,opt,name=s_fixed32,json=sFixed32,proto3" json:"s_fixed32,omitempty"`
+ SFixed64 uint64 `protobuf:"fixed64,9,opt,name=s_fixed64,json=sFixed64,proto3" json:"s_fixed64,omitempty"`
+ SSfixed32 int32 `protobuf:"fixed32,10,opt,name=s_sfixed32,json=sSfixed32,proto3" json:"s_sfixed32,omitempty"`
+ SSfixed64 int64 `protobuf:"fixed64,11,opt,name=s_sfixed64,json=sSfixed64,proto3" json:"s_sfixed64,omitempty"`
+ SFloat float32 `protobuf:"fixed32,20,opt,name=s_float,json=sFloat,proto3" json:"s_float,omitempty"`
+ SDouble float64 `protobuf:"fixed64,21,opt,name=s_double,json=sDouble,proto3" json:"s_double,omitempty"`
+ SBytes []byte `protobuf:"bytes,14,opt,name=s_bytes,json=sBytes,proto3" json:"s_bytes,omitempty"`
+ SString string `protobuf:"bytes,13,opt,name=s_string,json=sString,proto3" json:"s_string,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Scalars) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[0].MessageOf(m)
+}
+func (m *Scalars) Reset() { *m = Scalars{} }
+func (m *Scalars) String() string { return proto.CompactTextString(m) }
+func (*Scalars) ProtoMessage() {}
+func (*Scalars) Descriptor() ([]byte, []int) {
+ return fileDescriptor_33e0a17922cde063_gzipped, []int{0}
+}
+
+func (m *Scalars) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Scalars.Unmarshal(m, b)
+}
+func (m *Scalars) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Scalars.Marshal(b, m, deterministic)
+}
+func (m *Scalars) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Scalars.Merge(m, src)
+}
+func (m *Scalars) XXX_Size() int {
+ return xxx_messageInfo_Scalars.Size(m)
+}
+func (m *Scalars) XXX_DiscardUnknown() {
+ xxx_messageInfo_Scalars.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Scalars proto.InternalMessageInfo
+
+func (m *Scalars) GetSBool() bool {
+ if m != nil {
+ return m.SBool
+ }
+ return false
+}
+
+func (m *Scalars) GetSInt32() int32 {
+ if m != nil {
+ return m.SInt32
+ }
+ return 0
+}
+
+func (m *Scalars) GetSInt64() int64 {
+ if m != nil {
+ return m.SInt64
+ }
+ return 0
+}
+
+func (m *Scalars) GetSUint32() uint32 {
+ if m != nil {
+ return m.SUint32
+ }
+ return 0
+}
+
+func (m *Scalars) GetSUint64() uint64 {
+ if m != nil {
+ return m.SUint64
+ }
+ return 0
+}
+
+func (m *Scalars) GetSSint32() int32 {
+ if m != nil {
+ return m.SSint32
+ }
+ return 0
+}
+
+func (m *Scalars) GetSSint64() int64 {
+ if m != nil {
+ return m.SSint64
+ }
+ return 0
+}
+
+func (m *Scalars) GetSFixed32() uint32 {
+ if m != nil {
+ return m.SFixed32
+ }
+ return 0
+}
+
+func (m *Scalars) GetSFixed64() uint64 {
+ if m != nil {
+ return m.SFixed64
+ }
+ return 0
+}
+
+func (m *Scalars) GetSSfixed32() int32 {
+ if m != nil {
+ return m.SSfixed32
+ }
+ return 0
+}
+
+func (m *Scalars) GetSSfixed64() int64 {
+ if m != nil {
+ return m.SSfixed64
+ }
+ return 0
+}
+
+func (m *Scalars) GetSFloat() float32 {
+ if m != nil {
+ return m.SFloat
+ }
+ return 0
+}
+
+func (m *Scalars) GetSDouble() float64 {
+ if m != nil {
+ return m.SDouble
+ }
+ return 0
+}
+
+func (m *Scalars) GetSBytes() []byte {
+ if m != nil {
+ return m.SBytes
+ }
+ return nil
+}
+
+func (m *Scalars) GetSString() string {
+ if m != nil {
+ return m.SString
+ }
+ return ""
+}
+
+// Message contains enum fields.
+type Enums struct {
+ SEnum Enum `protobuf:"varint,1,opt,name=s_enum,json=sEnum,proto3,enum=pb3.Enum" json:"s_enum,omitempty"`
+ SNestedEnum Enums_NestedEnum `protobuf:"varint,3,opt,name=s_nested_enum,json=sNestedEnum,proto3,enum=pb3.Enums_NestedEnum" json:"s_nested_enum,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Enums) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[1].MessageOf(m)
+}
+func (m *Enums) Reset() { *m = Enums{} }
+func (m *Enums) String() string { return proto.CompactTextString(m) }
+func (*Enums) ProtoMessage() {}
+func (*Enums) Descriptor() ([]byte, []int) {
+ return fileDescriptor_33e0a17922cde063_gzipped, []int{1}
+}
+
+func (m *Enums) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Enums.Unmarshal(m, b)
+}
+func (m *Enums) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Enums.Marshal(b, m, deterministic)
+}
+func (m *Enums) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Enums.Merge(m, src)
+}
+func (m *Enums) XXX_Size() int {
+ return xxx_messageInfo_Enums.Size(m)
+}
+func (m *Enums) XXX_DiscardUnknown() {
+ xxx_messageInfo_Enums.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Enums proto.InternalMessageInfo
+
+func (m *Enums) GetSEnum() Enum {
+ if m != nil {
+ return m.SEnum
+ }
+ return Enum_ZERO
+}
+
+func (m *Enums) GetSNestedEnum() Enums_NestedEnum {
+ if m != nil {
+ return m.SNestedEnum
+ }
+ return Enums_CERO
+}
+
+// Message contains nested message field.
+type Nests struct {
+ SNested *Nested `protobuf:"bytes,2,opt,name=s_nested,json=sNested,proto3" json:"s_nested,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Nests) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[2].MessageOf(m)
+}
+func (m *Nests) Reset() { *m = Nests{} }
+func (m *Nests) String() string { return proto.CompactTextString(m) }
+func (*Nests) ProtoMessage() {}
+func (*Nests) Descriptor() ([]byte, []int) {
+ return fileDescriptor_33e0a17922cde063_gzipped, []int{2}
+}
+
+func (m *Nests) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Nests.Unmarshal(m, b)
+}
+func (m *Nests) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Nests.Marshal(b, m, deterministic)
+}
+func (m *Nests) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Nests.Merge(m, src)
+}
+func (m *Nests) XXX_Size() int {
+ return xxx_messageInfo_Nests.Size(m)
+}
+func (m *Nests) XXX_DiscardUnknown() {
+ xxx_messageInfo_Nests.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Nests proto.InternalMessageInfo
+
+func (m *Nests) GetSNested() *Nested {
+ if m != nil {
+ return m.SNested
+ }
+ return nil
+}
+
+// Message type used as submessage.
+type Nested struct {
+ SString string `protobuf:"bytes,1,opt,name=s_string,json=sString,proto3" json:"s_string,omitempty"`
+ SNested *Nested `protobuf:"bytes,2,opt,name=s_nested,json=sNested,proto3" json:"s_nested,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Nested) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[3].MessageOf(m)
+}
+func (m *Nested) Reset() { *m = Nested{} }
+func (m *Nested) String() string { return proto.CompactTextString(m) }
+func (*Nested) ProtoMessage() {}
+func (*Nested) Descriptor() ([]byte, []int) {
+ return fileDescriptor_33e0a17922cde063_gzipped, []int{3}
+}
+
+func (m *Nested) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Nested.Unmarshal(m, b)
+}
+func (m *Nested) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Nested.Marshal(b, m, deterministic)
+}
+func (m *Nested) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Nested.Merge(m, src)
+}
+func (m *Nested) XXX_Size() int {
+ return xxx_messageInfo_Nested.Size(m)
+}
+func (m *Nested) XXX_DiscardUnknown() {
+ xxx_messageInfo_Nested.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Nested proto.InternalMessageInfo
+
+func (m *Nested) GetSString() string {
+ if m != nil {
+ return m.SString
+ }
+ return ""
+}
+
+func (m *Nested) GetSNested() *Nested {
+ if m != nil {
+ return m.SNested
+ }
+ return nil
+}
+
+// Message contains oneof field.
+type Oneofs struct {
+ // Types that are valid to be assigned to Union:
+ // *Oneofs_OneofEnum
+ // *Oneofs_OneofString
+ // *Oneofs_OneofNested
+ Union isOneofs_Union `protobuf_oneof:"union"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Oneofs) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[4].MessageOf(m)
+}
+func (m *Oneofs) Reset() { *m = Oneofs{} }
+func (m *Oneofs) String() string { return proto.CompactTextString(m) }
+func (*Oneofs) ProtoMessage() {}
+func (*Oneofs) Descriptor() ([]byte, []int) {
+ return fileDescriptor_33e0a17922cde063_gzipped, []int{4}
+}
+
+func (m *Oneofs) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Oneofs.Unmarshal(m, b)
+}
+func (m *Oneofs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Oneofs.Marshal(b, m, deterministic)
+}
+func (m *Oneofs) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Oneofs.Merge(m, src)
+}
+func (m *Oneofs) XXX_Size() int {
+ return xxx_messageInfo_Oneofs.Size(m)
+}
+func (m *Oneofs) XXX_DiscardUnknown() {
+ xxx_messageInfo_Oneofs.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Oneofs proto.InternalMessageInfo
+
+type isOneofs_Union interface {
+ isOneofs_Union()
+}
+
+type Oneofs_OneofEnum struct {
+ OneofEnum Enum `protobuf:"varint,1,opt,name=oneof_enum,json=oneofEnum,proto3,enum=pb3.Enum,oneof"`
+}
+
+type Oneofs_OneofString struct {
+ OneofString string `protobuf:"bytes,2,opt,name=oneof_string,json=oneofString,proto3,oneof"`
+}
+
+type Oneofs_OneofNested struct {
+ OneofNested *Nested `protobuf:"bytes,3,opt,name=oneof_nested,json=oneofNested,proto3,oneof"`
+}
+
+func (*Oneofs_OneofEnum) isOneofs_Union() {}
+
+func (*Oneofs_OneofString) isOneofs_Union() {}
+
+func (*Oneofs_OneofNested) isOneofs_Union() {}
+
+func (m *Oneofs) GetUnion() isOneofs_Union {
+ if m != nil {
+ return m.Union
+ }
+ return nil
+}
+
+func (m *Oneofs) GetOneofEnum() Enum {
+ if x, ok := m.GetUnion().(*Oneofs_OneofEnum); ok {
+ return x.OneofEnum
+ }
+ return Enum_ZERO
+}
+
+func (m *Oneofs) GetOneofString() string {
+ if x, ok := m.GetUnion().(*Oneofs_OneofString); ok {
+ return x.OneofString
+ }
+ return ""
+}
+
+func (m *Oneofs) GetOneofNested() *Nested {
+ if x, ok := m.GetUnion().(*Oneofs_OneofNested); ok {
+ return x.OneofNested
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*Oneofs) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*Oneofs_OneofEnum)(nil),
+ (*Oneofs_OneofString)(nil),
+ (*Oneofs_OneofNested)(nil),
+ }
+}
+
+// Message contains map fields.
+type Maps struct {
+ Int32ToStr map[int32]string `protobuf:"bytes,1,rep,name=int32_to_str,json=int32ToStr,proto3" json:"int32_to_str,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ BoolToUint32 map[bool]uint32 `protobuf:"bytes,2,rep,name=bool_to_uint32,json=boolToUint32,proto3" json:"bool_to_uint32,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ Uint64ToEnum map[uint64]Enum `protobuf:"bytes,3,rep,name=uint64_to_enum,json=uint64ToEnum,proto3" json:"uint64_to_enum,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=pb3.Enum"`
+ StrToNested map[string]*Nested `protobuf:"bytes,4,rep,name=str_to_nested,json=strToNested,proto3" json:"str_to_nested,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ StrToOneofs map[string]*Oneofs `protobuf:"bytes,5,rep,name=str_to_oneofs,json=strToOneofs,proto3" json:"str_to_oneofs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Maps) ProtoReflect() protoreflect.Message {
+ return xxx_Test_protoFile_messageTypes[5].MessageOf(m)
+}
+func (m *Maps) Reset() { *m = Maps{} }
+func (m *Maps) String() string { return proto.CompactTextString(m) }
+func (*Maps) ProtoMessage() {}
+func (*Maps) Descriptor() ([]byte, []int) {
+ return fileDescriptor_33e0a17922cde063_gzipped, []int{5}
+}
+
+func (m *Maps) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Maps.Unmarshal(m, b)
+}
+func (m *Maps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Maps.Marshal(b, m, deterministic)
+}
+func (m *Maps) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Maps.Merge(m, src)
+}
+func (m *Maps) XXX_Size() int {
+ return xxx_messageInfo_Maps.Size(m)
+}
+func (m *Maps) XXX_DiscardUnknown() {
+ xxx_messageInfo_Maps.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Maps proto.InternalMessageInfo
+
+func (m *Maps) GetInt32ToStr() map[int32]string {
+ if m != nil {
+ return m.Int32ToStr
+ }
+ return nil
+}
+
+func (m *Maps) GetBoolToUint32() map[bool]uint32 {
+ if m != nil {
+ return m.BoolToUint32
+ }
+ return nil
+}
+
+func (m *Maps) GetUint64ToEnum() map[uint64]Enum {
+ if m != nil {
+ return m.Uint64ToEnum
+ }
+ return nil
+}
+
+func (m *Maps) GetStrToNested() map[string]*Nested {
+ if m != nil {
+ return m.StrToNested
+ }
+ return nil
+}
+
+func (m *Maps) GetStrToOneofs() map[string]*Oneofs {
+ if m != nil {
+ return m.StrToOneofs
+ }
+ return nil
+}
+
+func init() {
+ proto.RegisterFile("encoding/testprotos/pb3/test.proto", fileDescriptor_33e0a17922cde063_gzipped)
+ proto.RegisterEnum("pb3.Enum", Enum_name, Enum_value)
+ proto.RegisterEnum("pb3.Enums_NestedEnum", Enums_NestedEnum_name, Enums_NestedEnum_value)
+ proto.RegisterType((*Scalars)(nil), "pb3.Scalars")
+ proto.RegisterType((*Enums)(nil), "pb3.Enums")
+ proto.RegisterType((*Nests)(nil), "pb3.Nests")
+ proto.RegisterType((*Nested)(nil), "pb3.Nested")
+ proto.RegisterType((*Oneofs)(nil), "pb3.Oneofs")
+ proto.RegisterType((*Maps)(nil), "pb3.Maps")
+ proto.RegisterMapType((map[bool]uint32)(nil), "pb3.Maps.BoolToUint32Entry")
+ proto.RegisterMapType((map[int32]string)(nil), "pb3.Maps.Int32ToStrEntry")
+ proto.RegisterMapType((map[string]*Nested)(nil), "pb3.Maps.StrToNestedEntry")
+ proto.RegisterMapType((map[string]*Oneofs)(nil), "pb3.Maps.StrToOneofsEntry")
+ proto.RegisterMapType((map[uint64]Enum)(nil), "pb3.Maps.Uint64ToEnumEntry")
+}
+
+var fileDescriptor_33e0a17922cde063 = []byte{
+ // 1690 bytes of the wire-encoded FileDescriptorProto
+ 0x0a, 0x22, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x70, 0x62, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x70, 0x62, 0x33, 0x22, 0x9e, 0x03, 0x0a, 0x07, 0x53, 0x63,
+ 0x61, 0x6c, 0x61, 0x72, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x17, 0x0a, 0x07,
+ 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73,
+ 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x19,
+ 0x0a, 0x08, 0x73, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x73, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x75,
+ 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x55, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x73, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x12, 0x52, 0x07, 0x73, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x5f,
+ 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x52, 0x08, 0x73,
+ 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x5f, 0x66, 0x69, 0x78,
+ 0x65, 0x64, 0x36, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x06, 0x52, 0x08, 0x73, 0x46, 0x69, 0x78,
+ 0x65, 0x64, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64,
+ 0x33, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x09, 0x73, 0x53, 0x66, 0x69, 0x78, 0x65,
+ 0x64, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
+ 0x34, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x10, 0x52, 0x09, 0x73, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64,
+ 0x36, 0x34, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x14, 0x20,
+ 0x01, 0x28, 0x02, 0x52, 0x06, 0x73, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73,
+ 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x73,
+ 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65,
+ 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x07, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x98, 0x01, 0x0a, 0x05, 0x45,
+ 0x6e, 0x75, 0x6d, 0x73, 0x12, 0x20, 0x0a, 0x06, 0x73, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52,
+ 0x05, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x39, 0x0a, 0x0d, 0x73, 0x5f, 0x6e, 0x65, 0x73, 0x74,
+ 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e,
+ 0x70, 0x62, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
+ 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0b, 0x73, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75,
+ 0x6d, 0x22, 0x32, 0x0a, 0x0a, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12,
+ 0x08, 0x0a, 0x04, 0x43, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x4e, 0x4f,
+ 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4f, 0x53, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44,
+ 0x49, 0x45, 0x5a, 0x10, 0x0a, 0x22, 0x2f, 0x0a, 0x05, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x12, 0x26,
+ 0x0a, 0x08, 0x73, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x07, 0x73,
+ 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x4b, 0x0a, 0x06, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
+ 0x12, 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x07, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a, 0x08, 0x73,
+ 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
+ 0x70, 0x62, 0x33, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x07, 0x73, 0x4e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x06, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x73, 0x12, 0x2a,
+ 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52,
+ 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e,
+ 0x65, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12,
+ 0x30, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x4e, 0x65, 0x73, 0x74,
+ 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4e, 0x65, 0x73, 0x74, 0x65,
+ 0x64, 0x42, 0x07, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x05, 0x0a, 0x04, 0x4d,
+ 0x61, 0x70, 0x73, 0x12, 0x3b, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x74, 0x6f, 0x5f,
+ 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x62, 0x33, 0x2e,
+ 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x6f, 0x53, 0x74, 0x72, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x6f, 0x53, 0x74, 0x72,
+ 0x12, 0x41, 0x0a, 0x0e, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x69, 0x6e, 0x74,
+ 0x33, 0x32, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x4d,
+ 0x61, 0x70, 0x73, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x54, 0x6f, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x54, 0x6f, 0x55, 0x69, 0x6e,
+ 0x74, 0x33, 0x32, 0x12, 0x41, 0x0a, 0x0e, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x74, 0x6f,
+ 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x62,
+ 0x33, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x54, 0x6f, 0x45,
+ 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
+ 0x54, 0x6f, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x5f, 0x74, 0x6f,
+ 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
+ 0x70, 0x62, 0x33, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65,
+ 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x54, 0x6f,
+ 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x5f, 0x74, 0x6f,
+ 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
+ 0x70, 0x62, 0x33, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4f, 0x6e,
+ 0x65, 0x6f, 0x66, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x54, 0x6f,
+ 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x54,
+ 0x6f, 0x53, 0x74, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x42, 0x6f, 0x6f, 0x6c, 0x54, 0x6f, 0x55,
+ 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4a, 0x0a, 0x11, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
+ 0x54, 0x6f, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70,
+ 0x62, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x1a, 0x4b, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65,
+ 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x4e, 0x65,
+ 0x73, 0x74, 0x65, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x4b, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66,
+ 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x2b, 0x0a, 0x04,
+ 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x08, 0x0a, 0x04, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x07,
+ 0x0a, 0x03, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x57, 0x4f, 0x10, 0x02,
+ 0x12, 0x07, 0x0a, 0x03, 0x54, 0x45, 0x4e, 0x10, 0x0a, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74,
+ 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x64,
+ 0x69, 0x6e, 0x67, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x70,
+ 0x62, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var fileDescriptor_33e0a17922cde063_gzipped = func() []byte {
+ bb := new(bytes.Buffer)
+ zw, _ := gzip.NewWriterLevel(bb, gzip.NoCompression)
+ zw.Write(fileDescriptor_33e0a17922cde063)
+ zw.Close()
+ return bb.Bytes()
+}()
+
+const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
+
+var Test_protoFile protoreflect.FileDescriptor
+
+var xxx_Test_protoFile_enumTypes [2]protoreflect.EnumType
+var xxx_Test_protoFile_messageTypes [11]protoimpl.MessageType
+var xxx_Test_protoFile_goTypes = []interface{}{
+ (Enum)(0), // 0: pb3.Enum
+ (Enums_NestedEnum)(0), // 1: pb3.Enums.NestedEnum
+ (*Scalars)(nil), // 2: pb3.Scalars
+ (*Enums)(nil), // 3: pb3.Enums
+ (*Nests)(nil), // 4: pb3.Nests
+ (*Nested)(nil), // 5: pb3.Nested
+ (*Oneofs)(nil), // 6: pb3.Oneofs
+ (*Maps)(nil), // 7: pb3.Maps
+ nil, // 8: pb3.Maps.Int32ToStrEntry
+ nil, // 9: pb3.Maps.BoolToUint32Entry
+ nil, // 10: pb3.Maps.Uint64ToEnumEntry
+ nil, // 11: pb3.Maps.StrToNestedEntry
+ nil, // 12: pb3.Maps.StrToOneofsEntry
+}
+var xxx_Test_protoFile_depIdxs = []int32{
+ 0, // pb3.Enums.s_enum:type_name -> pb3.Enum
+ 1, // pb3.Enums.s_nested_enum:type_name -> pb3.Enums.NestedEnum
+ 5, // pb3.Nests.s_nested:type_name -> pb3.Nested
+ 5, // pb3.Nested.s_nested:type_name -> pb3.Nested
+ 0, // pb3.Oneofs.oneof_enum:type_name -> pb3.Enum
+ 5, // pb3.Oneofs.oneof_nested:type_name -> pb3.Nested
+ 8, // pb3.Maps.int32_to_str:type_name -> pb3.Maps.Int32ToStrEntry
+ 9, // pb3.Maps.bool_to_uint32:type_name -> pb3.Maps.BoolToUint32Entry
+ 10, // pb3.Maps.uint64_to_enum:type_name -> pb3.Maps.Uint64ToEnumEntry
+ 11, // pb3.Maps.str_to_nested:type_name -> pb3.Maps.StrToNestedEntry
+ 12, // pb3.Maps.str_to_oneofs:type_name -> pb3.Maps.StrToOneofsEntry
+ 0, // pb3.Maps.Uint64ToEnumEntry.value:type_name -> pb3.Enum
+ 5, // pb3.Maps.StrToNestedEntry.value:type_name -> pb3.Nested
+ 6, // pb3.Maps.StrToOneofsEntry.value:type_name -> pb3.Oneofs
+}
+
+func init() {
+ var messageTypes [11]protoreflect.MessageType
+ Test_protoFile = protoimpl.FileBuilder{
+ RawDescriptor: fileDescriptor_33e0a17922cde063,
+ GoTypes: xxx_Test_protoFile_goTypes,
+ DependencyIndexes: xxx_Test_protoFile_depIdxs,
+ EnumOutputTypes: xxx_Test_protoFile_enumTypes[:],
+ MessageOutputTypes: messageTypes[:],
+ }.Init()
+ messageGoTypes := xxx_Test_protoFile_goTypes[2:][:11]
+ for i, mt := range messageTypes[:] {
+ xxx_Test_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+ xxx_Test_protoFile_messageTypes[i].PBType = mt
+ }
+ xxx_Test_protoFile_goTypes = nil
+ xxx_Test_protoFile_depIdxs = nil
+}
diff --git a/encoding/textpb/testprotos/pb3/test.proto b/encoding/testprotos/pb3/test.proto
similarity index 70%
rename from encoding/textpb/testprotos/pb3/test.proto
rename to encoding/testprotos/pb3/test.proto
index d672816..20638d6 100644
--- a/encoding/textpb/testprotos/pb3/test.proto
+++ b/encoding/testprotos/pb3/test.proto
@@ -6,12 +6,11 @@
syntax = "proto3";
package pb3;
-option go_package = "github.com/golang/protobuf/v2/encoding/textpb/testprotos/pb3";
+option go_package = "github.com/golang/protobuf/v2/encoding/testprotos/pb3";
// Scalars contains scalar field types.
message Scalars {
bool s_bool = 1;
-
int32 s_int32 = 2;
int64 s_int64 = 3;
uint32 s_uint32 = 4;
@@ -56,7 +55,7 @@
// Message contains nested message field.
message Nests {
- Nested s_nested = 1;
+ Nested s_nested = 2;
}
// Message type used as submessage.
@@ -64,3 +63,21 @@
string s_string = 1;
Nested s_nested = 2;
}
+
+// Message contains oneof field.
+message Oneofs {
+ oneof union {
+ Enum oneof_enum = 1;
+ string oneof_string = 2;
+ Nested oneof_nested = 3;
+ }
+}
+
+// Message contains map fields.
+message Maps {
+ map<int32, string> int32_to_str = 1;
+ map<bool, uint32> bool_to_uint32 = 2;
+ map<uint64, Enum> uint64_to_enum = 3;
+ map<string, Nested> str_to_nested = 4;
+ map<string, Oneofs> str_to_oneofs = 5;
+}
diff --git a/encoding/textpb/decode_test.go b/encoding/textpb/decode_test.go
index fa9c5a3..56c09b2 100644
--- a/encoding/textpb/decode_test.go
+++ b/encoding/textpb/decode_test.go
@@ -21,12 +21,13 @@
// TODO: Remove this when protoV1 registers these hooks for you.
_ "github.com/golang/protobuf/v2/internal/legacy"
- "github.com/golang/protobuf/v2/encoding/textpb/testprotos/pb2"
- "github.com/golang/protobuf/v2/encoding/textpb/testprotos/pb3"
+ "github.com/golang/protobuf/v2/encoding/testprotos/pb2"
+ "github.com/golang/protobuf/v2/encoding/testprotos/pb3"
)
func init() {
- // TODO: remove this when generated code registers to V2 global registry.
+ // TODO: remove these registerExtension calls when generated code registers
+ // to V2 global registry.
registerExtension(pb2.E_OptExtBool)
registerExtension(pb2.E_OptExtString)
registerExtension(pb2.E_OptExtEnum)
@@ -66,7 +67,7 @@
inputMessage: &pb2.Scalars{},
wantMessage: &pb2.Scalars{},
}, {
- desc: "proto2 optional scalar fields set to zero values",
+ desc: "proto2 optional scalars set to zero values",
inputMessage: &pb2.Scalars{},
inputText: `opt_bool: false
opt_int32: 0
@@ -102,7 +103,7 @@
OptString: scalar.String(""),
},
}, {
- desc: "proto3 scalar fields set to zero values",
+ desc: "proto3 scalars set to zero values",
inputMessage: &pb3.Scalars{},
inputText: `s_bool: false
s_int32: 0
@@ -122,7 +123,7 @@
`,
wantMessage: &pb3.Scalars{},
}, {
- desc: "proto2 optional scalar fields",
+ desc: "proto2 optional scalars",
inputMessage: &pb2.Scalars{},
inputText: `opt_bool: true
opt_int32: 255
@@ -154,7 +155,7 @@
OptString: scalar.String("è°·æŒ"),
},
}, {
- desc: "proto3 scalar fields",
+ desc: "proto3 scalars",
inputMessage: &pb3.Scalars{},
inputText: `s_bool: true
s_int32: 255
@@ -261,28 +262,28 @@
inputText: "s_sfixed64: bad",
wantErr: true,
}, {
- desc: "float32 positive infinity",
+ desc: "float positive infinity",
inputMessage: &pb3.Scalars{},
inputText: "s_float: inf",
wantMessage: &pb3.Scalars{
SFloat: float32(math.Inf(1)),
},
}, {
- desc: "float32 negative infinity",
+ desc: "float negative infinity",
inputMessage: &pb3.Scalars{},
inputText: "s_float: -inf",
wantMessage: &pb3.Scalars{
SFloat: float32(math.Inf(-1)),
},
}, {
- desc: "float64 positive infinity",
+ desc: "double positive infinity",
inputMessage: &pb3.Scalars{},
inputText: "s_double: inf",
wantMessage: &pb3.Scalars{
SDouble: math.Inf(1),
},
}, {
- desc: "float64 negative infinity",
+ desc: "double negative infinity",
inputMessage: &pb3.Scalars{},
inputText: "s_double: -inf",
wantMessage: &pb3.Scalars{
@@ -314,13 +315,6 @@
`,
wantErr: true,
}, {
- desc: "proto2 invalid singular field",
- inputMessage: &pb2.Scalars{},
- inputText: `
-opt_bool: [true, false]
-`,
- wantErr: true,
- }, {
desc: "proto2 more duplicate singular field",
inputMessage: &pb2.Scalars{},
inputText: `
@@ -330,6 +324,13 @@
`,
wantErr: true,
}, {
+ desc: "proto2 invalid singular field",
+ inputMessage: &pb2.Scalars{},
+ inputText: `
+opt_bool: [true, false]
+`,
+ wantErr: true,
+ }, {
desc: "proto3 duplicate singular field",
inputMessage: &pb3.Scalars{},
inputText: `
@@ -350,22 +351,22 @@
desc: "proto2 enum",
inputMessage: &pb2.Enums{},
inputText: `
-opt_enum: FIRST
+opt_enum: ONE
opt_nested_enum: UNO
`,
wantMessage: &pb2.Enums{
- OptEnum: pb2.Enum_FIRST.Enum(),
+ OptEnum: pb2.Enum_ONE.Enum(),
OptNestedEnum: pb2.Enums_UNO.Enum(),
},
}, {
desc: "proto2 enum set to numeric values",
inputMessage: &pb2.Enums{},
inputText: `
-opt_enum: 1
+opt_enum: 2
opt_nested_enum: 2
`,
wantMessage: &pb2.Enums{
- OptEnum: pb2.Enum_FIRST.Enum(),
+ OptEnum: pb2.Enum_TWO.Enum(),
OptNestedEnum: pb2.Enums_DOS.Enum(),
},
}, {
@@ -383,7 +384,7 @@
desc: "proto2 enum set to invalid named",
inputMessage: &pb2.Enums{},
inputText: `
-opt_enum: UNNAMED
+opt_enum: UNNAMED
opt_nested_enum: UNNAMED_TOO
`,
wantErr: true,
@@ -403,11 +404,11 @@
inputMessage: &pb3.Enums{},
inputText: `
s_enum: 2
-s_nested_enum: 1
+s_nested_enum: 2
`,
wantMessage: &pb3.Enums{
SEnum: pb3.Enum_TWO,
- SNestedEnum: pb3.Enums_UNO,
+ SNestedEnum: pb3.Enums_DOS,
},
}, {
desc: "proto3 enum unnamed numeric value",
@@ -477,57 +478,67 @@
},
},
}, {
- desc: "oneof field set to empty string",
- inputMessage: &pb2.Oneofs{},
- inputText: "str: ''",
- wantMessage: &pb2.Oneofs{
- Union: &pb2.Oneofs_Str{},
+ desc: "oneof set to empty string",
+ inputMessage: &pb3.Oneofs{},
+ inputText: "oneof_string: ''",
+ wantMessage: &pb3.Oneofs{
+ Union: &pb3.Oneofs_OneofString{},
},
}, {
- desc: "oneof field set to string",
- inputMessage: &pb2.Oneofs{},
- inputText: "str: 'hello'",
- wantMessage: &pb2.Oneofs{
- Union: &pb2.Oneofs_Str{
- Str: "hello",
+ desc: "oneof set to string",
+ inputMessage: &pb3.Oneofs{},
+ inputText: "oneof_string: 'hello'",
+ wantMessage: &pb3.Oneofs{
+ Union: &pb3.Oneofs_OneofString{
+ OneofString: "hello",
},
},
}, {
- desc: "oneof field set to empty message",
- inputMessage: &pb2.Oneofs{},
- inputText: "msg: {}",
- wantMessage: &pb2.Oneofs{
- Union: &pb2.Oneofs_Msg{
- Msg: &pb2.Nested{},
+ desc: "oneof set to enum",
+ inputMessage: &pb3.Oneofs{},
+ inputText: "oneof_enum: TEN",
+ wantMessage: &pb3.Oneofs{
+ Union: &pb3.Oneofs_OneofEnum{
+ OneofEnum: pb3.Enum_TEN,
},
},
}, {
- desc: "oneof field set to message",
- inputMessage: &pb2.Oneofs{},
+ desc: "oneof set to empty message",
+ inputMessage: &pb3.Oneofs{},
+ inputText: "oneof_nested: {}",
+ wantMessage: &pb3.Oneofs{
+ Union: &pb3.Oneofs_OneofNested{
+ OneofNested: &pb3.Nested{},
+ },
+ },
+ }, {
+ desc: "oneof set to message",
+ inputMessage: &pb3.Oneofs{},
inputText: `
-msg: {
- opt_string: "nested message"
+oneof_nested: {
+ s_string: "nested message"
}
`,
- wantMessage: &pb2.Oneofs{
- Union: &pb2.Oneofs_Msg{
- Msg: &pb2.Nested{
- OptString: scalar.String("nested message"),
+ wantMessage: &pb3.Oneofs{
+ Union: &pb3.Oneofs_OneofNested{
+ OneofNested: &pb3.Nested{
+ SString: "nested message",
},
},
},
}, {
- desc: "oneof field set to last value",
- inputMessage: &pb2.Oneofs{},
+ desc: "oneof set to last value",
+ inputMessage: &pb3.Oneofs{},
inputText: `
-msg: {
- opt_string: "nested message"
+oneof_nested: {
+ s_string: "nested message"
}
-str: "wins"
+oneof_enum: TEN
+oneof_string: "wins"
`,
- wantMessage: &pb2.Oneofs{
- Union: &pb2.Oneofs_Str{
- Str: "wins",
+ wantMessage: &pb3.Oneofs{
+ Union: &pb3.Oneofs_OneofString{
+ OneofString: "wins",
},
},
}, {
@@ -564,14 +575,14 @@
desc: "repeated enums",
inputMessage: &pb2.Enums{},
inputText: `
-rpt_enum: TENTH
+rpt_enum: TEN
rpt_enum: 1
rpt_nested_enum: [DOS, 2]
rpt_enum: 42
rpt_nested_enum: -47
`,
wantMessage: &pb2.Enums{
- RptEnum: []pb2.Enum{pb2.Enum_TENTH, pb2.Enum_FIRST, 42},
+ RptEnum: []pb2.Enum{pb2.Enum_TEN, pb2.Enum_ONE, 42},
RptNestedEnum: []pb2.Enums_NestedEnum{pb2.Enums_DOS, pb2.Enums_DOS, -47},
},
}, {
@@ -608,22 +619,22 @@
inputMessage: &pb2.Nests{},
inputText: `
RptGroup: {
- rpt_bool: true
- rpt_bool: false
+ rpt_string: "hello"
+ rpt_string: "world"
}
RptGroup: {}
`,
wantMessage: &pb2.Nests{
Rptgroup: []*pb2.Nests_RptGroup{
{
- RptBool: []bool{true, false},
+ RptString: []string{"hello", "world"},
},
{},
},
},
}, {
desc: "map fields 1",
- inputMessage: &pb2.Maps{},
+ inputMessage: &pb3.Maps{},
inputText: `
int32_to_str: {
key: -101
@@ -633,37 +644,25 @@
key: 0
value: "zero"
}
-sfixed64_to_bool: {
- key: 0
- value: false
+bool_to_uint32: {
+ key: false
+ value: 101
}
int32_to_str: {
key: 255
value: "0xff"
}
bool_to_uint32: {
- key: false
- value: 101
-}
-sfixed64_to_bool: {
- key: 51966
- value: true
-}
-bool_to_uint32: {
key: true
value: 42
}
`,
- wantMessage: &pb2.Maps{
+ wantMessage: &pb3.Maps{
Int32ToStr: map[int32]string{
-101: "-101",
0xff: "0xff",
0: "zero",
},
- Sfixed64ToBool: map[int64]bool{
- 0xcafe: true,
- 0: false,
- },
BoolToUint32: map[bool]uint32{
true: 42,
false: 101,
@@ -671,76 +670,76 @@
},
}, {
desc: "map fields 2",
- inputMessage: &pb2.Maps{},
+ inputMessage: &pb3.Maps{},
inputText: `
uint64_to_enum: {
key: 1
- value: FIRST
+ value: ONE
}
uint64_to_enum: {
key: 2
- value: SECOND
+ value: 2
}
uint64_to_enum: {
key: 10
- value: TENTH
+ value: 101
}
`,
- wantMessage: &pb2.Maps{
- Uint64ToEnum: map[uint64]pb2.Enum{
- 1: pb2.Enum_FIRST,
- 2: pb2.Enum_SECOND,
- 10: pb2.Enum_TENTH,
+ wantMessage: &pb3.Maps{
+ Uint64ToEnum: map[uint64]pb3.Enum{
+ 1: pb3.Enum_ONE,
+ 2: pb3.Enum_TWO,
+ 10: 101,
},
},
}, {
desc: "map fields 3",
- inputMessage: &pb2.Maps{},
+ inputMessage: &pb3.Maps{},
inputText: `
str_to_nested: {
key: "nested_one"
value: {
- opt_string: "nested in a map"
+ s_string: "nested in a map"
}
}
`,
- wantMessage: &pb2.Maps{
- StrToNested: map[string]*pb2.Nested{
- "nested_one": &pb2.Nested{
- OptString: scalar.String("nested in a map"),
+ wantMessage: &pb3.Maps{
+ StrToNested: map[string]*pb3.Nested{
+ "nested_one": &pb3.Nested{
+ SString: "nested in a map",
},
},
},
}, {
desc: "map fields 4",
- inputMessage: &pb2.Maps{},
+ inputMessage: &pb3.Maps{},
inputText: `
str_to_oneofs: {
key: "nested"
value: {
- msg: {
- opt_string: "nested oneof in map field value"
+ oneof_nested: {
+ s_string: "nested oneof in map field value"
}
}
}
str_to_oneofs: {
key: "string"
value: {
- str: "hello"
+ oneof_string: "hello"
}
}
`,
- wantMessage: &pb2.Maps{
- StrToOneofs: map[string]*pb2.Oneofs{
- "string": &pb2.Oneofs{
- Union: &pb2.Oneofs_Str{
- Str: "hello",
+ wantMessage: &pb3.Maps{
+ StrToOneofs: map[string]*pb3.Oneofs{
+ "string": &pb3.Oneofs{
+ Union: &pb3.Oneofs_OneofString{
+ OneofString: "hello",
},
},
- "nested": &pb2.Oneofs{
- Union: &pb2.Oneofs_Msg{
- Msg: &pb2.Nested{
- OptString: scalar.String("nested oneof in map field value"),
+ "nested": &pb3.Oneofs{
+ Union: &pb3.Oneofs_OneofNested{
+ OneofNested: &pb3.Nested{
+ SString: "nested oneof in map field value",
},
},
},
@@ -748,7 +747,7 @@
},
}, {
desc: "map contains duplicate keys",
- inputMessage: &pb2.Maps{},
+ inputMessage: &pb3.Maps{},
inputText: `
int32_to_str: {
key: 0
@@ -759,14 +758,14 @@
value: "zero"
}
`,
- wantMessage: &pb2.Maps{
+ wantMessage: &pb3.Maps{
Int32ToStr: map[int32]string{
0: "zero",
},
},
}, {
desc: "map contains duplicate key fields",
- inputMessage: &pb2.Maps{},
+ inputMessage: &pb3.Maps{},
inputText: `
int32_to_str: {
key: 0
@@ -777,7 +776,7 @@
wantErr: true,
}, {
desc: "map contains duplicate value fields",
- inputMessage: &pb2.Maps{},
+ inputMessage: &pb3.Maps{},
inputText: `
int32_to_str: {
key: 1
@@ -788,44 +787,103 @@
wantErr: true,
}, {
desc: "map contains missing key",
- inputMessage: &pb2.Maps{},
+ inputMessage: &pb3.Maps{},
inputText: `
int32_to_str: {
value: "zero"
}
+bool_to_uint32: {
+ value: 47
+}
+str_to_nested: {
+ value: {}
+}
`,
- wantMessage: &pb2.Maps{
+ wantMessage: &pb3.Maps{
Int32ToStr: map[int32]string{
0: "zero",
},
+ BoolToUint32: map[bool]uint32{
+ false: 47,
+ },
+ StrToNested: map[string]*pb3.Nested{
+ "": {},
+ },
},
}, {
desc: "map contains missing value",
- inputMessage: &pb2.Maps{},
+ inputMessage: &pb3.Maps{},
inputText: `
int32_to_str: {
key: 100
}
+bool_to_uint32: {
+ key: true
+}
+uint64_to_enum: {
+ key: 101
+}
+str_to_nested: {
+ key: "hello"
+}
`,
- wantMessage: &pb2.Maps{
+ wantMessage: &pb3.Maps{
Int32ToStr: map[int32]string{
100: "",
},
+ BoolToUint32: map[bool]uint32{
+ true: 0,
+ },
+ Uint64ToEnum: map[uint64]pb3.Enum{
+ 101: pb3.Enum_ZERO,
+ },
+ StrToNested: map[string]*pb3.Nested{
+ "hello": {},
+ },
},
}, {
desc: "map contains missing key and value",
- inputMessage: &pb2.Maps{},
+ inputMessage: &pb3.Maps{},
inputText: `
int32_to_str: {}
+bool_to_uint32: {}
+uint64_to_enum: {}
+str_to_nested: {}
`,
- wantMessage: &pb2.Maps{
+ wantMessage: &pb3.Maps{
+ Int32ToStr: map[int32]string{
+ 0: "",
+ },
+ BoolToUint32: map[bool]uint32{
+ false: 0,
+ },
+ Uint64ToEnum: map[uint64]pb3.Enum{
+ 0: pb3.Enum_ZERO,
+ },
+ StrToNested: map[string]*pb3.Nested{
+ "": {},
+ },
+ },
+ }, {
+ desc: "map contains overriding entries",
+ inputMessage: &pb3.Maps{},
+ inputText: `
+int32_to_str: {
+ key: 0
+}
+int32_to_str: {
+ value: "empty"
+}
+int32_to_str: {}
+`,
+ wantMessage: &pb3.Maps{
Int32ToStr: map[int32]string{
0: "",
},
},
}, {
desc: "map contains unknown field",
- inputMessage: &pb2.Maps{},
+ inputMessage: &pb3.Maps{},
inputText: `
int32_to_str: {
key: 0
@@ -836,7 +894,7 @@
wantErr: true,
}, {
desc: "map contains extension-like key field",
- inputMessage: &pb2.Maps{},
+ inputMessage: &pb3.Maps{},
inputText: `
int32_to_str: {
[key]: 10
@@ -846,7 +904,7 @@
wantErr: true,
}, {
desc: "map contains invalid key",
- inputMessage: &pb2.Maps{},
+ inputMessage: &pb3.Maps{},
inputText: `
int32_to_str: {
key: "invalid"
@@ -856,7 +914,7 @@
wantErr: true,
}, {
desc: "map contains invalid value",
- inputMessage: &pb2.Maps{},
+ inputMessage: &pb3.Maps{},
inputText: `
int32_to_str: {
key: 100
@@ -866,7 +924,7 @@
wantErr: true,
}, {
desc: "map using mix of [] and repeated",
- inputMessage: &pb2.Maps{},
+ inputMessage: &pb3.Maps{},
inputText: `
int32_to_str: {
key: 1
@@ -889,7 +947,7 @@
value: "two"
}
`,
- wantMessage: &pb2.Maps{
+ wantMessage: &pb3.Maps{
Int32ToStr: map[int32]string{
0: "",
1: "one",
@@ -902,7 +960,7 @@
inputMessage: &pb2.Requireds{},
wantErr: true,
}, {
- desc: "proto2 required field set but not optional",
+ desc: "proto2 required field set",
inputMessage: &pb2.PartialRequired{},
inputText: "req_string: 'this is required'",
wantMessage: &pb2.PartialRequired{
@@ -913,17 +971,15 @@
inputMessage: &pb2.Requireds{},
inputText: `
req_bool: false
-req_fixed32: 47
req_sfixed64: 3203386110
req_string: "hello"
-req_enum: FIRST
+req_enum: ONE
`,
wantMessage: &pb2.Requireds{
ReqBool: scalar.Bool(false),
- ReqFixed32: scalar.Uint32(47),
ReqSfixed64: scalar.Int64(0xbeefcafe),
ReqString: scalar.String("hello"),
- ReqEnum: pb2.Enum_FIRST.Enum(),
+ ReqEnum: pb2.Enum_ONE.Enum(),
},
wantErr: true,
}, {
@@ -931,28 +987,18 @@
inputMessage: &pb2.Requireds{},
inputText: `
req_bool: false
-req_fixed32: 0
-req_fixed64: 0
-req_sfixed32: 0
req_sfixed64: 0
-req_float: 0
req_double: 0
req_string: ""
-req_bytes: ""
-req_enum: UNKNOWN
+req_enum: ONE
req_nested: {}
`,
wantMessage: &pb2.Requireds{
ReqBool: scalar.Bool(false),
- ReqFixed32: scalar.Uint32(0),
- ReqFixed64: scalar.Uint64(0),
- ReqSfixed32: scalar.Int32(0),
ReqSfixed64: scalar.Int64(0),
- ReqFloat: scalar.Float32(0),
ReqDouble: scalar.Float64(0),
ReqString: scalar.String(""),
- ReqEnum: pb2.Enum_UNKNOWN.Enum(),
- ReqBytes: []byte{},
+ ReqEnum: pb2.Enum_ONE.Enum(),
ReqNested: &pb2.Nested{},
},
}, {
@@ -1011,6 +1057,17 @@
},
wantErr: true,
}, {
+ desc: "indirect required field in oneof",
+ inputMessage: &pb2.IndirectRequired{},
+ inputText: `oneof_nested: {}
+`,
+ wantMessage: &pb2.IndirectRequired{
+ Union: &pb2.IndirectRequired_OneofNested{
+ OneofNested: &pb2.NestedWithRequired{},
+ },
+ },
+ wantErr: true,
+ }, {
desc: "ignore reserved field",
inputMessage: &pb2.Nests{},
inputText: "reserved_field: 'ignore this'",
@@ -1029,7 +1086,7 @@
}
[pb2.opt_ext_string]: "extension field"
opt_int32: 42
-[pb2.opt_ext_enum]: TENTH
+[pb2.opt_ext_enum]: TEN
`,
wantMessage: func() proto.Message {
m := &pb2.Extensions{
@@ -1039,7 +1096,7 @@
}
setExtension(m, pb2.E_OptExtBool, true)
setExtension(m, pb2.E_OptExtString, "extension field")
- setExtension(m, pb2.E_OptExtEnum, pb2.Enum_TENTH)
+ setExtension(m, pb2.E_OptExtEnum, pb2.Enum_TEN)
setExtension(m, pb2.E_OptExtNested, &pb2.Nested{
OptString: scalar.String("nested in an extension"),
OptNested: &pb2.Nested{
@@ -1051,10 +1108,10 @@
}, {
desc: "extensions of repeated fields",
inputMessage: &pb2.Extensions{},
- inputText: `[pb2.rpt_ext_enum]: TENTH
+ inputText: `[pb2.rpt_ext_enum]: TEN
[pb2.rpt_ext_enum]: 101
[pb2.rpt_ext_fixed32]: 42
-[pb2.rpt_ext_enum]: FIRST
+[pb2.rpt_ext_enum]: ONE
[pb2.rpt_ext_nested]: {
opt_string: "one"
}
@@ -1068,7 +1125,7 @@
`,
wantMessage: func() proto.Message {
m := &pb2.Extensions{}
- setExtension(m, pb2.E_RptExtEnum, &[]pb2.Enum{pb2.Enum_TENTH, 101, pb2.Enum_FIRST})
+ setExtension(m, pb2.E_RptExtEnum, &[]pb2.Enum{pb2.Enum_TEN, 101, pb2.Enum_ONE})
setExtension(m, pb2.E_RptExtFixed32, &[]uint32{42, 47})
setExtension(m, pb2.E_RptExtNested, &[]*pb2.Nested{
&pb2.Nested{OptString: scalar.String("one")},
@@ -1081,7 +1138,7 @@
desc: "extensions of non-repeated fields in another message",
inputMessage: &pb2.Extensions{},
inputText: `[pb2.ExtensionsContainer.opt_ext_bool]: true
-[pb2.ExtensionsContainer.opt_ext_enum]: TENTH
+[pb2.ExtensionsContainer.opt_ext_enum]: TEN
[pb2.ExtensionsContainer.opt_ext_nested]: {
opt_string: "nested in an extension"
opt_nested: {
@@ -1094,7 +1151,7 @@
m := &pb2.Extensions{}
setExtension(m, pb2.E_ExtensionsContainer_OptExtBool, true)
setExtension(m, pb2.E_ExtensionsContainer_OptExtString, "extension field")
- setExtension(m, pb2.E_ExtensionsContainer_OptExtEnum, pb2.Enum_TENTH)
+ setExtension(m, pb2.E_ExtensionsContainer_OptExtEnum, pb2.Enum_TEN)
setExtension(m, pb2.E_ExtensionsContainer_OptExtNested, &pb2.Nested{
OptString: scalar.String("nested in an extension"),
OptNested: &pb2.Nested{
@@ -1112,13 +1169,13 @@
[pb2.ExtensionsContainer.rpt_ext_nested]: {
opt_string: "one"
}
-[pb2.ExtensionsContainer.rpt_ext_enum]: TENTH
+[pb2.ExtensionsContainer.rpt_ext_enum]: TEN
[pb2.ExtensionsContainer.rpt_ext_nested]: {
opt_string: "two"
}
[pb2.ExtensionsContainer.rpt_ext_enum]: 101
[pb2.ExtensionsContainer.rpt_ext_string]: "hello"
-[pb2.ExtensionsContainer.rpt_ext_enum]: FIRST
+[pb2.ExtensionsContainer.rpt_ext_enum]: ONE
[pb2.ExtensionsContainer.rpt_ext_nested]: {
opt_string: "three"
}
@@ -1130,7 +1187,7 @@
OptBool: scalar.Bool(true),
OptInt32: scalar.Int32(42),
}
- setExtension(m, pb2.E_ExtensionsContainer_RptExtEnum, &[]pb2.Enum{pb2.Enum_TENTH, 101, pb2.Enum_FIRST})
+ setExtension(m, pb2.E_ExtensionsContainer_RptExtEnum, &[]pb2.Enum{pb2.Enum_TEN, 101, pb2.Enum_ONE})
setExtension(m, pb2.E_ExtensionsContainer_RptExtString, &[]string{"hello", "world"})
setExtension(m, pb2.E_ExtensionsContainer_RptExtNested, &[]*pb2.Nested{
&pb2.Nested{OptString: scalar.String("one")},
@@ -1211,6 +1268,8 @@
return m
}(),
}, {
+ // TODO: Change these tests to directly use anypb.Any type instead once
+ // type has been regenerated with V2 compiler.
desc: "Any not expanded",
inputMessage: &pb2.KnownTypes{},
inputText: `opt_any: {
diff --git a/encoding/textpb/encode_test.go b/encoding/textpb/encode_test.go
index b32d2db..36a2648 100644
--- a/encoding/textpb/encode_test.go
+++ b/encoding/textpb/encode_test.go
@@ -29,8 +29,8 @@
_ "github.com/golang/protobuf/v2/internal/legacy"
anypb "github.com/golang/protobuf/ptypes/any"
- "github.com/golang/protobuf/v2/encoding/textpb/testprotos/pb2"
- "github.com/golang/protobuf/v2/encoding/textpb/testprotos/pb3"
+ "github.com/golang/protobuf/v2/encoding/testprotos/pb2"
+ "github.com/golang/protobuf/v2/encoding/testprotos/pb3"
)
func init() {
@@ -67,7 +67,7 @@
knownFields.Set(wire.Number(xd.Field), pval)
}
-func wrapAnyPB(any *anypb.Any) proto.Message {
+func wrapV1Message(any *anypb.Any) proto.Message {
return impl.Export{}.MessageOf(any).Interface()
}
@@ -88,15 +88,15 @@
want string
wantErr bool
}{{
- desc: "proto2 optional scalar fields not set",
+ desc: "proto2 optional scalars not set",
input: &pb2.Scalars{},
want: "\n",
}, {
- desc: "proto3 scalar fields not set",
+ desc: "proto3 scalars not set",
input: &pb3.Scalars{},
want: "\n",
}, {
- desc: "proto2 optional scalar fields set to zero values",
+ desc: "proto2 optional scalars set to zero values",
input: &pb2.Scalars{
OptBool: scalar.Bool(false),
OptInt32: scalar.Int32(0),
@@ -131,7 +131,7 @@
opt_string: ""
`,
}, {
- desc: "proto3 scalar fields set to zero values",
+ desc: "proto3 scalars set to zero values",
input: &pb3.Scalars{
SBool: false,
SInt32: 0,
@@ -151,7 +151,7 @@
},
want: "\n",
}, {
- desc: "proto2 optional scalar fields set to some values",
+ desc: "proto2 optional scalars set to some values",
input: &pb2.Scalars{
OptBool: scalar.Bool(true),
OptInt32: scalar.Int32(0xff),
@@ -164,9 +164,8 @@
OptSfixed32: scalar.Int32(-32),
OptFloat: scalar.Float32(1.02),
OptDouble: scalar.Float64(1.0199999809265137),
- // TODO: Update encoder to not output UTF8 for bytes.
- OptBytes: []byte("\xe8\xb0\xb7\xe6\xad\x8c"),
- OptString: scalar.String("è°·æŒ"),
+ OptBytes: []byte("\xe8\xb0\xb7\xe6\xad\x8c"),
+ OptString: scalar.String("è°·æŒ"),
},
want: `opt_bool: true
opt_int32: 255
@@ -183,82 +182,70 @@
opt_string: "è°·æŒ"
`,
}, {
- desc: "float32 nan",
+ desc: "float nan",
input: &pb3.Scalars{
SFloat: float32(math.NaN()),
},
want: "s_float: nan\n",
}, {
- desc: "float32 positive infinity",
+ desc: "float positive infinity",
input: &pb3.Scalars{
SFloat: float32(math.Inf(1)),
},
want: "s_float: inf\n",
}, {
- desc: "float32 negative infinity",
+ desc: "float negative infinity",
input: &pb3.Scalars{
SFloat: float32(math.Inf(-1)),
},
want: "s_float: -inf\n",
}, {
- desc: "float64 nan",
+ desc: "double nan",
input: &pb3.Scalars{
SDouble: math.NaN(),
},
want: "s_double: nan\n",
}, {
- desc: "float64 positive infinity",
+ desc: "double positive infinity",
input: &pb3.Scalars{
SDouble: math.Inf(1),
},
want: "s_double: inf\n",
}, {
- desc: "float64 negative infinity",
+ desc: "double negative infinity",
input: &pb3.Scalars{
SDouble: math.Inf(-1),
},
want: "s_double: -inf\n",
}, {
- desc: "proto2 bytes set to empty string",
- input: &pb2.Scalars{
- OptBytes: []byte(""),
- },
- want: "opt_bytes: \"\"\n",
- }, {
- desc: "proto3 bytes set to empty string",
- input: &pb3.Scalars{
- SBytes: []byte(""),
- },
- want: "\n",
- }, {
desc: "proto2 enum not set",
input: &pb2.Enums{},
want: "\n",
}, {
desc: "proto2 enum set to zero value",
input: &pb2.Enums{
- OptEnum: pb2.Enum_UNKNOWN.Enum(),
+ OptEnum: pb2Enum(0),
OptNestedEnum: pb2Enums_NestedEnum(0),
},
- want: `opt_enum: UNKNOWN
+ want: `opt_enum: 0
opt_nested_enum: 0
`,
}, {
desc: "proto2 enum",
input: &pb2.Enums{
- OptEnum: pb2.Enum_FIRST.Enum(),
+ OptEnum: pb2.Enum_ONE.Enum(),
OptNestedEnum: pb2.Enums_UNO.Enum(),
},
- want: `opt_enum: FIRST
+ want: `opt_enum: ONE
opt_nested_enum: UNO
`,
}, {
desc: "proto2 enum set to numeric values",
input: &pb2.Enums{
- OptEnum: pb2Enum(1),
+ OptEnum: pb2Enum(2),
OptNestedEnum: pb2Enums_NestedEnum(2),
},
- want: `opt_enum: FIRST
+ want: `opt_enum: TWO
opt_nested_enum: DOS
`,
}, {
@@ -285,19 +272,19 @@
desc: "proto3 enum",
input: &pb3.Enums{
SEnum: pb3.Enum_ONE,
- SNestedEnum: pb3.Enums_DIEZ,
+ SNestedEnum: pb3.Enums_UNO,
},
want: `s_enum: ONE
-s_nested_enum: DIEZ
+s_nested_enum: UNO
`,
}, {
desc: "proto3 enum set to numeric values",
input: &pb3.Enums{
SEnum: 2,
- SNestedEnum: 1,
+ SNestedEnum: 2,
},
want: `s_enum: TWO
-s_nested_enum: UNO
+s_nested_enum: DOS
`,
}, {
desc: "proto3 enum set to unnamed numeric values",
@@ -339,27 +326,25 @@
}
`,
}, {
- desc: "proto2 group fields",
+ desc: "proto2 groups",
input: &pb2.Nests{
Optgroup: &pb2.Nests_OptGroup{
- OptBool: scalar.Bool(true),
OptString: scalar.String("inside a group"),
OptNested: &pb2.Nested{
OptString: scalar.String("nested message inside a group"),
},
Optnestedgroup: &pb2.Nests_OptGroup_OptNestedGroup{
- OptEnum: pb2.Enum_TENTH.Enum(),
+ OptFixed32: scalar.Uint32(47),
},
},
},
want: `OptGroup: {
- opt_bool: true
opt_string: "inside a group"
opt_nested: {
opt_string: "nested message inside a group"
}
OptNestedGroup: {
- opt_enum: TENTH
+ opt_fixed32: 47
}
}
`,
@@ -368,6 +353,12 @@
input: &pb3.Nests{},
want: "\n",
}, {
+ desc: "proto3 nested message set to empty",
+ input: &pb3.Nests{
+ SNested: &pb3.Nested{},
+ },
+ want: "s_nested: {}\n",
+ }, {
desc: "proto3 nested message",
input: &pb3.Nests{
SNested: &pb3.Nested{
@@ -385,50 +376,61 @@
}
`,
}, {
- desc: "oneof fields",
- input: &pb2.Oneofs{},
+ desc: "oneof not set",
+ input: &pb3.Oneofs{},
want: "\n",
}, {
- desc: "oneof field set to empty string",
- input: &pb2.Oneofs{
- Union: &pb2.Oneofs_Str{},
+ desc: "oneof set to empty string",
+ input: &pb3.Oneofs{
+ Union: &pb3.Oneofs_OneofString{},
},
- want: "str: \"\"\n",
+ want: `oneof_string: ""
+`,
}, {
- desc: "oneof field set to string",
- input: &pb2.Oneofs{
- Union: &pb2.Oneofs_Str{
- Str: "hello",
+ desc: "oneof set to string",
+ input: &pb3.Oneofs{
+ Union: &pb3.Oneofs_OneofString{
+ OneofString: "hello",
},
},
- want: "str: \"hello\"\n",
+ want: `oneof_string: "hello"
+`,
}, {
- desc: "oneof field set to empty message",
- input: &pb2.Oneofs{
- Union: &pb2.Oneofs_Msg{
- Msg: &pb2.Nested{},
+ desc: "oneof set to enum",
+ input: &pb3.Oneofs{
+ Union: &pb3.Oneofs_OneofEnum{
+ OneofEnum: pb3.Enum_ZERO,
},
},
- want: "msg: {}\n",
+ want: `oneof_enum: ZERO
+`,
}, {
- desc: "oneof field set to message",
- input: &pb2.Oneofs{
- Union: &pb2.Oneofs_Msg{
- Msg: &pb2.Nested{
- OptString: scalar.String("nested message"),
+ desc: "oneof set to empty message",
+ input: &pb3.Oneofs{
+ Union: &pb3.Oneofs_OneofNested{
+ OneofNested: &pb3.Nested{},
+ },
+ },
+ want: "oneof_nested: {}\n",
+ }, {
+ desc: "oneof set to message",
+ input: &pb3.Oneofs{
+ Union: &pb3.Oneofs_OneofNested{
+ OneofNested: &pb3.Nested{
+ SString: "nested message",
},
},
},
- want: `msg: {
- opt_string: "nested message"
+ want: `oneof_nested: {
+ s_string: "nested message"
}
`,
}, {
- desc: "repeated not set",
+ desc: "repeated fields not set",
input: &pb2.Repeats{},
want: "\n",
}, {
- desc: "repeated set to empty slices",
+ desc: "repeated fields set to empty slices",
input: &pb2.Repeats{
RptBool: []bool{},
RptInt32: []int32{},
@@ -441,7 +443,7 @@
},
want: "\n",
}, {
- desc: "repeated set to some values",
+ desc: "repeated fields set to some values",
input: &pb2.Repeats{
RptBool: []bool{true, false, true, true},
RptInt32: []int32{1, 6, 0, 0},
@@ -483,28 +485,28 @@
rpt_bytes: "世界"
`,
}, {
- desc: "repeated enum",
+ desc: "repeated enums",
input: &pb2.Enums{
- RptEnum: []pb2.Enum{pb2.Enum_FIRST, 2, pb2.Enum_TENTH, 42},
+ RptEnum: []pb2.Enum{pb2.Enum_ONE, 2, pb2.Enum_TEN, 42},
RptNestedEnum: []pb2.Enums_NestedEnum{2, 47, 10},
},
- want: `rpt_enum: FIRST
-rpt_enum: SECOND
-rpt_enum: TENTH
+ want: `rpt_enum: ONE
+rpt_enum: TWO
+rpt_enum: TEN
rpt_enum: 42
rpt_nested_enum: DOS
rpt_nested_enum: 47
rpt_nested_enum: DIEZ
`,
}, {
- desc: "repeated nested message set to empty",
+ desc: "repeated messages set to empty",
input: &pb2.Nests{
RptNested: []*pb2.Nested{},
Rptgroup: []*pb2.Nests_RptGroup{},
},
want: "\n",
}, {
- desc: "repeated nested messages",
+ desc: "repeated messages",
input: &pb2.Nests{
RptNested: []*pb2.Nested{
{
@@ -531,7 +533,7 @@
rpt_nested: {}
`,
}, {
- desc: "repeated nested messages contains nil value",
+ desc: "repeated messages contains nil value",
input: &pb2.Nests{
RptNested: []*pb2.Nested{nil, {}},
},
@@ -539,48 +541,45 @@
rpt_nested: {}
`,
}, {
- desc: "repeated group fields",
+ desc: "repeated groups",
input: &pb2.Nests{
Rptgroup: []*pb2.Nests_RptGroup{
{
- RptBool: []bool{true, false},
+ RptString: []string{"hello", "world"},
},
{},
+ nil,
},
},
want: `RptGroup: {
- rpt_bool: true
- rpt_bool: false
+ rpt_string: "hello"
+ rpt_string: "world"
}
RptGroup: {}
+RptGroup: {}
`,
}, {
- desc: "map fields empty",
- input: &pb2.Maps{},
+ desc: "map fields not set",
+ input: &pb3.Maps{},
want: "\n",
}, {
- desc: "map fields set to empty maps",
- input: &pb2.Maps{
- Int32ToStr: map[int32]string{},
- Sfixed64ToBool: map[int64]bool{},
- BoolToUint32: map[bool]uint32{},
- Uint64ToEnum: map[uint64]pb2.Enum{},
- StrToNested: map[string]*pb2.Nested{},
- StrToOneofs: map[string]*pb2.Oneofs{},
+ desc: "map fields set to empty",
+ input: &pb3.Maps{
+ Int32ToStr: map[int32]string{},
+ BoolToUint32: map[bool]uint32{},
+ Uint64ToEnum: map[uint64]pb3.Enum{},
+ StrToNested: map[string]*pb3.Nested{},
+ StrToOneofs: map[string]*pb3.Oneofs{},
},
want: "\n",
}, {
desc: "map fields 1",
- input: &pb2.Maps{
+ input: &pb3.Maps{
Int32ToStr: map[int32]string{
-101: "-101",
0xff: "0xff",
0: "zero",
},
- Sfixed64ToBool: map[int64]bool{
- 0xcafe: true,
- 0: false,
- },
BoolToUint32: map[bool]uint32{
true: 42,
false: 101,
@@ -598,14 +597,6 @@
key: 255
value: "0xff"
}
-sfixed64_to_bool: {
- key: 0
- value: false
-}
-sfixed64_to_bool: {
- key: 51966
- value: true
-}
bool_to_uint32: {
key: false
value: 101
@@ -617,55 +608,60 @@
`,
}, {
desc: "map fields 2",
- input: &pb2.Maps{
- Uint64ToEnum: map[uint64]pb2.Enum{
- 1: pb2.Enum_FIRST,
- 2: pb2.Enum_SECOND,
- 10: pb2.Enum_TENTH,
+ input: &pb3.Maps{
+ Uint64ToEnum: map[uint64]pb3.Enum{
+ 1: pb3.Enum_ONE,
+ 2: pb3.Enum_TWO,
+ 10: pb3.Enum_TEN,
+ 47: 47,
},
},
want: `uint64_to_enum: {
key: 1
- value: FIRST
+ value: ONE
}
uint64_to_enum: {
key: 2
- value: SECOND
+ value: TWO
}
uint64_to_enum: {
key: 10
- value: TENTH
+ value: TEN
+}
+uint64_to_enum: {
+ key: 47
+ value: 47
}
`,
}, {
desc: "map fields 3",
- input: &pb2.Maps{
- StrToNested: map[string]*pb2.Nested{
- "nested_one": &pb2.Nested{
- OptString: scalar.String("nested in a map"),
+ input: &pb3.Maps{
+ StrToNested: map[string]*pb3.Nested{
+ "nested": &pb3.Nested{
+ SString: "nested in a map",
},
},
},
want: `str_to_nested: {
- key: "nested_one"
+ key: "nested"
value: {
- opt_string: "nested in a map"
+ s_string: "nested in a map"
}
}
`,
}, {
desc: "map fields 4",
- input: &pb2.Maps{
- StrToOneofs: map[string]*pb2.Oneofs{
- "string": &pb2.Oneofs{
- Union: &pb2.Oneofs_Str{
- Str: "hello",
+ input: &pb3.Maps{
+ StrToOneofs: map[string]*pb3.Oneofs{
+ "string": &pb3.Oneofs{
+ Union: &pb3.Oneofs_OneofString{
+ OneofString: "hello",
},
},
- "nested": &pb2.Oneofs{
- Union: &pb2.Oneofs_Msg{
- Msg: &pb2.Nested{
- OptString: scalar.String("nested oneof in map field value"),
+ "nested": &pb3.Oneofs{
+ Union: &pb3.Oneofs_OneofNested{
+ OneofNested: &pb3.Nested{
+ SString: "nested oneof in map field value",
},
},
},
@@ -674,22 +670,22 @@
want: `str_to_oneofs: {
key: "nested"
value: {
- msg: {
- opt_string: "nested oneof in map field value"
+ oneof_nested: {
+ s_string: "nested oneof in map field value"
}
}
}
str_to_oneofs: {
key: "string"
value: {
- str: "hello"
+ oneof_string: "hello"
}
}
`,
}, {
- desc: "map field nil message value",
- input: &pb2.Maps{
- StrToNested: map[string]*pb2.Nested{
+ desc: "map field contains nil value",
+ input: &pb3.Maps{
+ StrToNested: map[string]*pb3.Nested{
"nil": nil,
},
},
@@ -707,45 +703,33 @@
desc: "proto2 required fields partially set",
input: &pb2.Requireds{
ReqBool: scalar.Bool(false),
- ReqFixed32: scalar.Uint32(47),
ReqSfixed64: scalar.Int64(0xbeefcafe),
ReqDouble: scalar.Float64(math.NaN()),
ReqString: scalar.String("hello"),
- ReqEnum: pb2.Enum_FIRST.Enum(),
+ ReqEnum: pb2.Enum_ONE.Enum(),
},
want: `req_bool: false
-req_fixed32: 47
req_sfixed64: 3203386110
req_double: nan
req_string: "hello"
-req_enum: FIRST
+req_enum: ONE
`,
wantErr: true,
}, {
desc: "proto2 required fields all set",
input: &pb2.Requireds{
ReqBool: scalar.Bool(false),
- ReqFixed32: scalar.Uint32(0),
- ReqFixed64: scalar.Uint64(0),
- ReqSfixed32: scalar.Int32(0),
ReqSfixed64: scalar.Int64(0),
- ReqFloat: scalar.Float32(0),
- ReqDouble: scalar.Float64(0),
+ ReqDouble: scalar.Float64(1.23),
ReqString: scalar.String(""),
- ReqEnum: pb2.Enum_UNKNOWN.Enum(),
- ReqBytes: []byte{},
+ ReqEnum: pb2.Enum_ONE.Enum(),
ReqNested: &pb2.Nested{},
},
want: `req_bool: false
-req_fixed32: 0
-req_fixed64: 0
-req_sfixed32: 0
req_sfixed64: 0
-req_float: 0
-req_double: 0
+req_double: 1.23
req_string: ""
-req_bytes: ""
-req_enum: UNKNOWN
+req_enum: ONE
req_nested: {}
`,
}, {
@@ -790,6 +774,15 @@
`,
wantErr: true,
}, {
+ desc: "indirect required field in oneof",
+ input: &pb2.IndirectRequired{
+ Union: &pb2.IndirectRequired_OneofNested{
+ OneofNested: &pb2.NestedWithRequired{},
+ },
+ },
+ want: "oneof_nested: {}\n",
+ wantErr: true,
+ }, {
desc: "unknown varint and fixed types",
input: &pb2.Scalars{
OptString: scalar.String("this message contains unknown fields"),
@@ -861,7 +854,7 @@
}
setExtension(m, pb2.E_OptExtBool, true)
setExtension(m, pb2.E_OptExtString, "extension field")
- setExtension(m, pb2.E_OptExtEnum, pb2.Enum_TENTH)
+ setExtension(m, pb2.E_OptExtEnum, pb2.Enum_TEN)
setExtension(m, pb2.E_OptExtNested, &pb2.Nested{
OptString: scalar.String("nested in an extension"),
OptNested: &pb2.Nested{
@@ -874,7 +867,7 @@
opt_bool: true
opt_int32: 42
[pb2.opt_ext_bool]: true
-[pb2.opt_ext_enum]: TENTH
+[pb2.opt_ext_enum]: TEN
[pb2.opt_ext_nested]: {
opt_string: "nested in an extension"
opt_nested: {
@@ -884,7 +877,7 @@
[pb2.opt_ext_string]: "extension field"
`,
}, {
- desc: "registered extension but not set",
+ desc: "extension message field set to nil",
input: func() proto.Message {
m := &pb2.Extensions{}
setExtension(m, pb2.E_OptExtNested, nil)
@@ -895,7 +888,7 @@
desc: "extensions of repeated fields",
input: func() proto.Message {
m := &pb2.Extensions{}
- setExtension(m, pb2.E_RptExtEnum, &[]pb2.Enum{pb2.Enum_TENTH, 101, pb2.Enum_FIRST})
+ setExtension(m, pb2.E_RptExtEnum, &[]pb2.Enum{pb2.Enum_TEN, 101, pb2.Enum_ONE})
setExtension(m, pb2.E_RptExtFixed32, &[]uint32{42, 47})
setExtension(m, pb2.E_RptExtNested, &[]*pb2.Nested{
&pb2.Nested{OptString: scalar.String("one")},
@@ -904,9 +897,9 @@
})
return m
}(),
- want: `[pb2.rpt_ext_enum]: TENTH
+ want: `[pb2.rpt_ext_enum]: TEN
[pb2.rpt_ext_enum]: 101
-[pb2.rpt_ext_enum]: FIRST
+[pb2.rpt_ext_enum]: ONE
[pb2.rpt_ext_fixed32]: 42
[pb2.rpt_ext_fixed32]: 47
[pb2.rpt_ext_nested]: {
@@ -925,7 +918,7 @@
m := &pb2.Extensions{}
setExtension(m, pb2.E_ExtensionsContainer_OptExtBool, true)
setExtension(m, pb2.E_ExtensionsContainer_OptExtString, "extension field")
- setExtension(m, pb2.E_ExtensionsContainer_OptExtEnum, pb2.Enum_TENTH)
+ setExtension(m, pb2.E_ExtensionsContainer_OptExtEnum, pb2.Enum_TEN)
setExtension(m, pb2.E_ExtensionsContainer_OptExtNested, &pb2.Nested{
OptString: scalar.String("nested in an extension"),
OptNested: &pb2.Nested{
@@ -935,7 +928,7 @@
return m
}(),
want: `[pb2.ExtensionsContainer.opt_ext_bool]: true
-[pb2.ExtensionsContainer.opt_ext_enum]: TENTH
+[pb2.ExtensionsContainer.opt_ext_enum]: TEN
[pb2.ExtensionsContainer.opt_ext_nested]: {
opt_string: "nested in an extension"
opt_nested: {
@@ -952,7 +945,7 @@
OptBool: scalar.Bool(true),
OptInt32: scalar.Int32(42),
}
- setExtension(m, pb2.E_ExtensionsContainer_RptExtEnum, &[]pb2.Enum{pb2.Enum_TENTH, 101, pb2.Enum_FIRST})
+ setExtension(m, pb2.E_ExtensionsContainer_RptExtEnum, &[]pb2.Enum{pb2.Enum_TEN, 101, pb2.Enum_ONE})
setExtension(m, pb2.E_ExtensionsContainer_RptExtString, &[]string{"hello", "world"})
setExtension(m, pb2.E_ExtensionsContainer_RptExtNested, &[]*pb2.Nested{
&pb2.Nested{OptString: scalar.String("one")},
@@ -964,9 +957,9 @@
want: `opt_string: "non-extension field"
opt_bool: true
opt_int32: 42
-[pb2.ExtensionsContainer.rpt_ext_enum]: TENTH
+[pb2.ExtensionsContainer.rpt_ext_enum]: TEN
[pb2.ExtensionsContainer.rpt_ext_enum]: 101
-[pb2.ExtensionsContainer.rpt_ext_enum]: FIRST
+[pb2.ExtensionsContainer.rpt_ext_enum]: ONE
[pb2.ExtensionsContainer.rpt_ext_nested]: {
opt_string: "one"
}
@@ -1031,7 +1024,7 @@
}
`,
}, {
- desc: "Any message not expanded",
+ desc: "Any not expanded",
mo: textpb.MarshalOptions{
Resolver: preg.NewTypes(),
},
@@ -1047,7 +1040,7 @@
if err != nil {
t.Fatalf("error in binary marshaling message for Any.value: %v", err)
}
- return wrapAnyPB(&anypb.Any{
+ return wrapV1Message(&anypb.Any{
TypeUrl: "pb2.Nested",
Value: b,
})
@@ -1056,7 +1049,7 @@
value: "\n\x13embedded inside Any\x12\x0b\n\tinception"
`,
}, {
- desc: "Any message expanded",
+ desc: "Any expanded",
mo: textpb.MarshalOptions{
Resolver: preg.NewTypes((&pb2.Nested{}).ProtoReflect().Type()),
},
@@ -1072,7 +1065,7 @@
if err != nil {
t.Fatalf("error in binary marshaling message for Any.value: %v", err)
}
- return wrapAnyPB(&anypb.Any{
+ return wrapV1Message(&anypb.Any{
TypeUrl: "foo/pb2.Nested",
Value: b,
})
@@ -1085,7 +1078,7 @@
}
`,
}, {
- desc: "Any message expanded with missing required error",
+ desc: "Any expanded with missing required error",
mo: textpb.MarshalOptions{
Resolver: preg.NewTypes((&pb2.PartialRequired{}).ProtoReflect().Type()),
},
@@ -1099,7 +1092,7 @@
if _, ok := err.(*protoV1.RequiredNotSetError); !ok {
t.Fatalf("error in binary marshaling message for Any.value: %v", err)
}
- return wrapAnyPB(&anypb.Any{
+ return wrapV1Message(&anypb.Any{
TypeUrl: string(m.ProtoReflect().Type().FullName()),
Value: b,
})
@@ -1110,11 +1103,11 @@
`,
wantErr: true,
}, {
- desc: "Any message with invalid value",
+ desc: "Any with invalid value",
mo: textpb.MarshalOptions{
Resolver: preg.NewTypes((&pb2.Nested{}).ProtoReflect().Type()),
},
- input: wrapAnyPB(&anypb.Any{
+ input: wrapV1Message(&anypb.Any{
TypeUrl: "foo/pb2.Nested",
Value: dhex("80"),
}),
diff --git a/encoding/textpb/other_test.go b/encoding/textpb/other_test.go
index 4200ac1..80babd2 100644
--- a/encoding/textpb/other_test.go
+++ b/encoding/textpb/other_test.go
@@ -5,15 +5,14 @@
protoV1 "github.com/golang/protobuf/proto"
"github.com/golang/protobuf/v2/encoding/textpb"
- "github.com/golang/protobuf/v2/encoding/textpb/testprotos/pb2"
+ "github.com/golang/protobuf/v2/internal/impl"
+ "github.com/golang/protobuf/v2/internal/scalar"
"github.com/golang/protobuf/v2/proto"
preg "github.com/golang/protobuf/v2/reflect/protoregistry"
// The legacy package must be imported prior to use of any legacy messages.
// TODO: Remove this when protoV1 registers these hooks for you.
- "github.com/golang/protobuf/v2/internal/impl"
_ "github.com/golang/protobuf/v2/internal/legacy"
- "github.com/golang/protobuf/v2/internal/scalar"
anypb "github.com/golang/protobuf/ptypes/any"
durpb "github.com/golang/protobuf/ptypes/duration"
@@ -21,6 +20,7 @@
stpb "github.com/golang/protobuf/ptypes/struct"
tspb "github.com/golang/protobuf/ptypes/timestamp"
wpb "github.com/golang/protobuf/ptypes/wrappers"
+ "github.com/golang/protobuf/v2/encoding/testprotos/pb2"
)
func TestRoundTrip(t *testing.T) {
diff --git a/encoding/textpb/testprotos/pb2/test.pb.go b/encoding/textpb/testprotos/pb2/test.pb.go
deleted file mode 100644
index 57f7392..0000000
--- a/encoding/textpb/testprotos/pb2/test.pb.go
+++ /dev/null
@@ -1,2396 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: encoding/textpb/testprotos/pb2/test.proto
-
-package pb2
-
-import (
- bytes "bytes"
- gzip "compress/gzip"
- proto "github.com/golang/protobuf/proto"
- any "github.com/golang/protobuf/ptypes/any"
- duration "github.com/golang/protobuf/ptypes/duration"
- empty "github.com/golang/protobuf/ptypes/empty"
- _struct "github.com/golang/protobuf/ptypes/struct"
- timestamp "github.com/golang/protobuf/ptypes/timestamp"
- wrappers "github.com/golang/protobuf/ptypes/wrappers"
- protoreflect "github.com/golang/protobuf/v2/reflect/protoreflect"
- protoimpl "github.com/golang/protobuf/v2/runtime/protoimpl"
- reflect "reflect"
-)
-
-// 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 Enum int32
-
-const (
- Enum_UNKNOWN Enum = 0
- Enum_FIRST Enum = 1
- Enum_SECOND Enum = 2
- Enum_TENTH Enum = 10
-)
-
-func (e Enum) Type() protoreflect.EnumType {
- return xxx_Test_protoFile_enumTypes[0]
-}
-func (e Enum) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(e)
-}
-
-var Enum_name = map[int32]string{
- 0: "UNKNOWN",
- 1: "FIRST",
- 2: "SECOND",
- 10: "TENTH",
-}
-
-var Enum_value = map[string]int32{
- "UNKNOWN": 0,
- "FIRST": 1,
- "SECOND": 2,
- "TENTH": 10,
-}
-
-func (x Enum) Enum() *Enum {
- p := new(Enum)
- *p = x
- return p
-}
-
-func (x Enum) String() string {
- return proto.EnumName(Enum_name, int32(x))
-}
-
-func (x *Enum) UnmarshalJSON(data []byte) error {
- value, err := proto.UnmarshalJSONEnum(Enum_value, data, "Enum")
- if err != nil {
- return err
- }
- *x = Enum(value)
- return nil
-}
-
-func (Enum) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{0}
-}
-
-type Enums_NestedEnum int32
-
-const (
- Enums_UNO Enums_NestedEnum = 1
- Enums_DOS Enums_NestedEnum = 2
- Enums_DIEZ Enums_NestedEnum = 10
-)
-
-func (e Enums_NestedEnum) Type() protoreflect.EnumType {
- return xxx_Test_protoFile_enumTypes[1]
-}
-func (e Enums_NestedEnum) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(e)
-}
-
-var Enums_NestedEnum_name = map[int32]string{
- 1: "UNO",
- 2: "DOS",
- 10: "DIEZ",
-}
-
-var Enums_NestedEnum_value = map[string]int32{
- "UNO": 1,
- "DOS": 2,
- "DIEZ": 10,
-}
-
-func (x Enums_NestedEnum) Enum() *Enums_NestedEnum {
- p := new(Enums_NestedEnum)
- *p = x
- return p
-}
-
-func (x Enums_NestedEnum) String() string {
- return proto.EnumName(Enums_NestedEnum_name, int32(x))
-}
-
-func (x *Enums_NestedEnum) UnmarshalJSON(data []byte) error {
- value, err := proto.UnmarshalJSONEnum(Enums_NestedEnum_value, data, "Enums_NestedEnum")
- if err != nil {
- return err
- }
- *x = Enums_NestedEnum(value)
- return nil
-}
-
-func (Enums_NestedEnum) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{2, 0}
-}
-
-// Scalars contains optional scalar fields.
-type Scalars struct {
- OptBool *bool `protobuf:"varint,1,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
- OptInt32 *int32 `protobuf:"varint,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"`
- OptInt64 *int64 `protobuf:"varint,3,opt,name=opt_int64,json=optInt64" json:"opt_int64,omitempty"`
- OptUint32 *uint32 `protobuf:"varint,4,opt,name=opt_uint32,json=optUint32" json:"opt_uint32,omitempty"`
- OptUint64 *uint64 `protobuf:"varint,5,opt,name=opt_uint64,json=optUint64" json:"opt_uint64,omitempty"`
- OptSint32 *int32 `protobuf:"zigzag32,6,opt,name=opt_sint32,json=optSint32" json:"opt_sint32,omitempty"`
- OptSint64 *int64 `protobuf:"zigzag64,7,opt,name=opt_sint64,json=optSint64" json:"opt_sint64,omitempty"`
- OptFixed32 *uint32 `protobuf:"fixed32,8,opt,name=opt_fixed32,json=optFixed32" json:"opt_fixed32,omitempty"`
- OptFixed64 *uint64 `protobuf:"fixed64,9,opt,name=opt_fixed64,json=optFixed64" json:"opt_fixed64,omitempty"`
- OptSfixed32 *int32 `protobuf:"fixed32,10,opt,name=opt_sfixed32,json=optSfixed32" json:"opt_sfixed32,omitempty"`
- OptSfixed64 *int64 `protobuf:"fixed64,11,opt,name=opt_sfixed64,json=optSfixed64" json:"opt_sfixed64,omitempty"`
- OptFloat *float32 `protobuf:"fixed32,20,opt,name=opt_float,json=optFloat" json:"opt_float,omitempty"`
- OptDouble *float64 `protobuf:"fixed64,21,opt,name=opt_double,json=optDouble" json:"opt_double,omitempty"`
- OptBytes []byte `protobuf:"bytes,14,opt,name=opt_bytes,json=optBytes" json:"opt_bytes,omitempty"`
- OptString *string `protobuf:"bytes,13,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Scalars) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[0].MessageOf(m)
-}
-func (m *Scalars) Reset() { *m = Scalars{} }
-func (m *Scalars) String() string { return proto.CompactTextString(m) }
-func (*Scalars) ProtoMessage() {}
-func (*Scalars) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{0}
-}
-
-func (m *Scalars) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Scalars.Unmarshal(m, b)
-}
-func (m *Scalars) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Scalars.Marshal(b, m, deterministic)
-}
-func (m *Scalars) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Scalars.Merge(m, src)
-}
-func (m *Scalars) XXX_Size() int {
- return xxx_messageInfo_Scalars.Size(m)
-}
-func (m *Scalars) XXX_DiscardUnknown() {
- xxx_messageInfo_Scalars.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Scalars proto.InternalMessageInfo
-
-func (m *Scalars) GetOptBool() bool {
- if m != nil && m.OptBool != nil {
- return *m.OptBool
- }
- return false
-}
-
-func (m *Scalars) GetOptInt32() int32 {
- if m != nil && m.OptInt32 != nil {
- return *m.OptInt32
- }
- return 0
-}
-
-func (m *Scalars) GetOptInt64() int64 {
- if m != nil && m.OptInt64 != nil {
- return *m.OptInt64
- }
- return 0
-}
-
-func (m *Scalars) GetOptUint32() uint32 {
- if m != nil && m.OptUint32 != nil {
- return *m.OptUint32
- }
- return 0
-}
-
-func (m *Scalars) GetOptUint64() uint64 {
- if m != nil && m.OptUint64 != nil {
- return *m.OptUint64
- }
- return 0
-}
-
-func (m *Scalars) GetOptSint32() int32 {
- if m != nil && m.OptSint32 != nil {
- return *m.OptSint32
- }
- return 0
-}
-
-func (m *Scalars) GetOptSint64() int64 {
- if m != nil && m.OptSint64 != nil {
- return *m.OptSint64
- }
- return 0
-}
-
-func (m *Scalars) GetOptFixed32() uint32 {
- if m != nil && m.OptFixed32 != nil {
- return *m.OptFixed32
- }
- return 0
-}
-
-func (m *Scalars) GetOptFixed64() uint64 {
- if m != nil && m.OptFixed64 != nil {
- return *m.OptFixed64
- }
- return 0
-}
-
-func (m *Scalars) GetOptSfixed32() int32 {
- if m != nil && m.OptSfixed32 != nil {
- return *m.OptSfixed32
- }
- return 0
-}
-
-func (m *Scalars) GetOptSfixed64() int64 {
- if m != nil && m.OptSfixed64 != nil {
- return *m.OptSfixed64
- }
- return 0
-}
-
-func (m *Scalars) GetOptFloat() float32 {
- if m != nil && m.OptFloat != nil {
- return *m.OptFloat
- }
- return 0
-}
-
-func (m *Scalars) GetOptDouble() float64 {
- if m != nil && m.OptDouble != nil {
- return *m.OptDouble
- }
- return 0
-}
-
-func (m *Scalars) GetOptBytes() []byte {
- if m != nil {
- return m.OptBytes
- }
- return nil
-}
-
-func (m *Scalars) GetOptString() string {
- if m != nil && m.OptString != nil {
- return *m.OptString
- }
- return ""
-}
-
-// Message contains repeated fields.
-type Repeats struct {
- RptBool []bool `protobuf:"varint,1,rep,name=rpt_bool,json=rptBool" json:"rpt_bool,omitempty"`
- RptInt32 []int32 `protobuf:"varint,2,rep,name=rpt_int32,json=rptInt32" json:"rpt_int32,omitempty"`
- RptInt64 []int64 `protobuf:"varint,3,rep,name=rpt_int64,json=rptInt64" json:"rpt_int64,omitempty"`
- RptUint32 []uint32 `protobuf:"varint,4,rep,name=rpt_uint32,json=rptUint32" json:"rpt_uint32,omitempty"`
- RptUint64 []uint64 `protobuf:"varint,5,rep,name=rpt_uint64,json=rptUint64" json:"rpt_uint64,omitempty"`
- RptFloat []float32 `protobuf:"fixed32,6,rep,name=rpt_float,json=rptFloat" json:"rpt_float,omitempty"`
- RptDouble []float64 `protobuf:"fixed64,7,rep,name=rpt_double,json=rptDouble" json:"rpt_double,omitempty"`
- RptString []string `protobuf:"bytes,15,rep,name=rpt_string,json=rptString" json:"rpt_string,omitempty"`
- RptBytes [][]byte `protobuf:"bytes,14,rep,name=rpt_bytes,json=rptBytes" json:"rpt_bytes,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Repeats) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[1].MessageOf(m)
-}
-func (m *Repeats) Reset() { *m = Repeats{} }
-func (m *Repeats) String() string { return proto.CompactTextString(m) }
-func (*Repeats) ProtoMessage() {}
-func (*Repeats) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{1}
-}
-
-func (m *Repeats) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Repeats.Unmarshal(m, b)
-}
-func (m *Repeats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Repeats.Marshal(b, m, deterministic)
-}
-func (m *Repeats) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Repeats.Merge(m, src)
-}
-func (m *Repeats) XXX_Size() int {
- return xxx_messageInfo_Repeats.Size(m)
-}
-func (m *Repeats) XXX_DiscardUnknown() {
- xxx_messageInfo_Repeats.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Repeats proto.InternalMessageInfo
-
-func (m *Repeats) GetRptBool() []bool {
- if m != nil {
- return m.RptBool
- }
- return nil
-}
-
-func (m *Repeats) GetRptInt32() []int32 {
- if m != nil {
- return m.RptInt32
- }
- return nil
-}
-
-func (m *Repeats) GetRptInt64() []int64 {
- if m != nil {
- return m.RptInt64
- }
- return nil
-}
-
-func (m *Repeats) GetRptUint32() []uint32 {
- if m != nil {
- return m.RptUint32
- }
- return nil
-}
-
-func (m *Repeats) GetRptUint64() []uint64 {
- if m != nil {
- return m.RptUint64
- }
- return nil
-}
-
-func (m *Repeats) GetRptFloat() []float32 {
- if m != nil {
- return m.RptFloat
- }
- return nil
-}
-
-func (m *Repeats) GetRptDouble() []float64 {
- if m != nil {
- return m.RptDouble
- }
- return nil
-}
-
-func (m *Repeats) GetRptString() []string {
- if m != nil {
- return m.RptString
- }
- return nil
-}
-
-func (m *Repeats) GetRptBytes() [][]byte {
- if m != nil {
- return m.RptBytes
- }
- return nil
-}
-
-// Message contains enum fields.
-type Enums struct {
- OptEnum *Enum `protobuf:"varint,1,opt,name=opt_enum,json=optEnum,enum=pb2.Enum" json:"opt_enum,omitempty"`
- RptEnum []Enum `protobuf:"varint,2,rep,name=rpt_enum,json=rptEnum,enum=pb2.Enum" json:"rpt_enum,omitempty"`
- OptNestedEnum *Enums_NestedEnum `protobuf:"varint,3,opt,name=opt_nested_enum,json=optNestedEnum,enum=pb2.Enums_NestedEnum" json:"opt_nested_enum,omitempty"`
- RptNestedEnum []Enums_NestedEnum `protobuf:"varint,4,rep,name=rpt_nested_enum,json=rptNestedEnum,enum=pb2.Enums_NestedEnum" json:"rpt_nested_enum,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Enums) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[2].MessageOf(m)
-}
-func (m *Enums) Reset() { *m = Enums{} }
-func (m *Enums) String() string { return proto.CompactTextString(m) }
-func (*Enums) ProtoMessage() {}
-func (*Enums) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{2}
-}
-
-func (m *Enums) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Enums.Unmarshal(m, b)
-}
-func (m *Enums) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Enums.Marshal(b, m, deterministic)
-}
-func (m *Enums) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Enums.Merge(m, src)
-}
-func (m *Enums) XXX_Size() int {
- return xxx_messageInfo_Enums.Size(m)
-}
-func (m *Enums) XXX_DiscardUnknown() {
- xxx_messageInfo_Enums.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Enums proto.InternalMessageInfo
-
-func (m *Enums) GetOptEnum() Enum {
- if m != nil && m.OptEnum != nil {
- return *m.OptEnum
- }
- return Enum_UNKNOWN
-}
-
-func (m *Enums) GetRptEnum() []Enum {
- if m != nil {
- return m.RptEnum
- }
- return nil
-}
-
-func (m *Enums) GetOptNestedEnum() Enums_NestedEnum {
- if m != nil && m.OptNestedEnum != nil {
- return *m.OptNestedEnum
- }
- return Enums_UNO
-}
-
-func (m *Enums) GetRptNestedEnum() []Enums_NestedEnum {
- if m != nil {
- return m.RptNestedEnum
- }
- return nil
-}
-
-// Message contains message and group fields.
-type Nests struct {
- OptNested *Nested `protobuf:"bytes,1,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
- Optgroup *Nests_OptGroup `protobuf:"group,2,opt,name=OptGroup,json=optgroup" json:"optgroup,omitempty"`
- RptNested []*Nested `protobuf:"bytes,3,rep,name=rpt_nested,json=rptNested" json:"rpt_nested,omitempty"`
- Rptgroup []*Nests_RptGroup `protobuf:"group,4,rep,name=RptGroup,json=rptgroup" json:"rptgroup,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Nests) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[3].MessageOf(m)
-}
-func (m *Nests) Reset() { *m = Nests{} }
-func (m *Nests) String() string { return proto.CompactTextString(m) }
-func (*Nests) ProtoMessage() {}
-func (*Nests) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{3}
-}
-
-func (m *Nests) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Nests.Unmarshal(m, b)
-}
-func (m *Nests) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Nests.Marshal(b, m, deterministic)
-}
-func (m *Nests) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Nests.Merge(m, src)
-}
-func (m *Nests) XXX_Size() int {
- return xxx_messageInfo_Nests.Size(m)
-}
-func (m *Nests) XXX_DiscardUnknown() {
- xxx_messageInfo_Nests.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Nests proto.InternalMessageInfo
-
-func (m *Nests) GetOptNested() *Nested {
- if m != nil {
- return m.OptNested
- }
- return nil
-}
-
-func (m *Nests) GetOptgroup() *Nests_OptGroup {
- if m != nil {
- return m.Optgroup
- }
- return nil
-}
-
-func (m *Nests) GetRptNested() []*Nested {
- if m != nil {
- return m.RptNested
- }
- return nil
-}
-
-func (m *Nests) GetRptgroup() []*Nests_RptGroup {
- if m != nil {
- return m.Rptgroup
- }
- return nil
-}
-
-// Message type used as submessage.
-type Nested struct {
- OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
- OptNested *Nested `protobuf:"bytes,2,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Nested) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[4].MessageOf(m)
-}
-func (m *Nested) Reset() { *m = Nested{} }
-func (m *Nested) String() string { return proto.CompactTextString(m) }
-func (*Nested) ProtoMessage() {}
-func (*Nested) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{4}
-}
-
-func (m *Nested) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Nested.Unmarshal(m, b)
-}
-func (m *Nested) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Nested.Marshal(b, m, deterministic)
-}
-func (m *Nested) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Nested.Merge(m, src)
-}
-func (m *Nested) XXX_Size() int {
- return xxx_messageInfo_Nested.Size(m)
-}
-func (m *Nested) XXX_DiscardUnknown() {
- xxx_messageInfo_Nested.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Nested proto.InternalMessageInfo
-
-func (m *Nested) GetOptString() string {
- if m != nil && m.OptString != nil {
- return *m.OptString
- }
- return ""
-}
-
-func (m *Nested) GetOptNested() *Nested {
- if m != nil {
- return m.OptNested
- }
- return nil
-}
-
-// Message contains required fields.
-type Requireds struct {
- ReqBool *bool `protobuf:"varint,1,req,name=req_bool,json=reqBool" json:"req_bool,omitempty"`
- ReqFixed32 *uint32 `protobuf:"fixed32,2,req,name=req_fixed32,json=reqFixed32" json:"req_fixed32,omitempty"`
- ReqFixed64 *uint64 `protobuf:"fixed64,3,req,name=req_fixed64,json=reqFixed64" json:"req_fixed64,omitempty"`
- ReqSfixed32 *int32 `protobuf:"fixed32,4,req,name=req_sfixed32,json=reqSfixed32" json:"req_sfixed32,omitempty"`
- ReqSfixed64 *int64 `protobuf:"fixed64,5,req,name=req_sfixed64,json=reqSfixed64" json:"req_sfixed64,omitempty"`
- ReqFloat *float32 `protobuf:"fixed32,6,req,name=req_float,json=reqFloat" json:"req_float,omitempty"`
- ReqDouble *float64 `protobuf:"fixed64,7,req,name=req_double,json=reqDouble" json:"req_double,omitempty"`
- ReqString *string `protobuf:"bytes,8,req,name=req_string,json=reqString" json:"req_string,omitempty"`
- ReqBytes []byte `protobuf:"bytes,9,req,name=req_bytes,json=reqBytes" json:"req_bytes,omitempty"`
- ReqEnum *Enum `protobuf:"varint,10,req,name=req_enum,json=reqEnum,enum=pb2.Enum" json:"req_enum,omitempty"`
- ReqNested *Nested `protobuf:"bytes,11,req,name=req_nested,json=reqNested" json:"req_nested,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Requireds) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[5].MessageOf(m)
-}
-func (m *Requireds) Reset() { *m = Requireds{} }
-func (m *Requireds) String() string { return proto.CompactTextString(m) }
-func (*Requireds) ProtoMessage() {}
-func (*Requireds) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{5}
-}
-
-func (m *Requireds) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Requireds.Unmarshal(m, b)
-}
-func (m *Requireds) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Requireds.Marshal(b, m, deterministic)
-}
-func (m *Requireds) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Requireds.Merge(m, src)
-}
-func (m *Requireds) XXX_Size() int {
- return xxx_messageInfo_Requireds.Size(m)
-}
-func (m *Requireds) XXX_DiscardUnknown() {
- xxx_messageInfo_Requireds.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Requireds proto.InternalMessageInfo
-
-func (m *Requireds) GetReqBool() bool {
- if m != nil && m.ReqBool != nil {
- return *m.ReqBool
- }
- return false
-}
-
-func (m *Requireds) GetReqFixed32() uint32 {
- if m != nil && m.ReqFixed32 != nil {
- return *m.ReqFixed32
- }
- return 0
-}
-
-func (m *Requireds) GetReqFixed64() uint64 {
- if m != nil && m.ReqFixed64 != nil {
- return *m.ReqFixed64
- }
- return 0
-}
-
-func (m *Requireds) GetReqSfixed32() int32 {
- if m != nil && m.ReqSfixed32 != nil {
- return *m.ReqSfixed32
- }
- return 0
-}
-
-func (m *Requireds) GetReqSfixed64() int64 {
- if m != nil && m.ReqSfixed64 != nil {
- return *m.ReqSfixed64
- }
- return 0
-}
-
-func (m *Requireds) GetReqFloat() float32 {
- if m != nil && m.ReqFloat != nil {
- return *m.ReqFloat
- }
- return 0
-}
-
-func (m *Requireds) GetReqDouble() float64 {
- if m != nil && m.ReqDouble != nil {
- return *m.ReqDouble
- }
- return 0
-}
-
-func (m *Requireds) GetReqString() string {
- if m != nil && m.ReqString != nil {
- return *m.ReqString
- }
- return ""
-}
-
-func (m *Requireds) GetReqBytes() []byte {
- if m != nil {
- return m.ReqBytes
- }
- return nil
-}
-
-func (m *Requireds) GetReqEnum() Enum {
- if m != nil && m.ReqEnum != nil {
- return *m.ReqEnum
- }
- return Enum_UNKNOWN
-}
-
-func (m *Requireds) GetReqNested() *Nested {
- if m != nil {
- return m.ReqNested
- }
- return nil
-}
-
-// Message contains both required and optional fields.
-type PartialRequired struct {
- ReqString *string `protobuf:"bytes,1,req,name=req_string,json=reqString" json:"req_string,omitempty"`
- OptString *string `protobuf:"bytes,2,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *PartialRequired) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[6].MessageOf(m)
-}
-func (m *PartialRequired) Reset() { *m = PartialRequired{} }
-func (m *PartialRequired) String() string { return proto.CompactTextString(m) }
-func (*PartialRequired) ProtoMessage() {}
-func (*PartialRequired) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{6}
-}
-
-func (m *PartialRequired) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_PartialRequired.Unmarshal(m, b)
-}
-func (m *PartialRequired) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_PartialRequired.Marshal(b, m, deterministic)
-}
-func (m *PartialRequired) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PartialRequired.Merge(m, src)
-}
-func (m *PartialRequired) XXX_Size() int {
- return xxx_messageInfo_PartialRequired.Size(m)
-}
-func (m *PartialRequired) XXX_DiscardUnknown() {
- xxx_messageInfo_PartialRequired.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_PartialRequired proto.InternalMessageInfo
-
-func (m *PartialRequired) GetReqString() string {
- if m != nil && m.ReqString != nil {
- return *m.ReqString
- }
- return ""
-}
-
-func (m *PartialRequired) GetOptString() string {
- if m != nil && m.OptString != nil {
- return *m.OptString
- }
- return ""
-}
-
-// Message contains oneof field.
-type Oneofs struct {
- // Types that are valid to be assigned to Union:
- // *Oneofs_Str
- // *Oneofs_Msg
- Union isOneofs_Union `protobuf_oneof:"union"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Oneofs) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[7].MessageOf(m)
-}
-func (m *Oneofs) Reset() { *m = Oneofs{} }
-func (m *Oneofs) String() string { return proto.CompactTextString(m) }
-func (*Oneofs) ProtoMessage() {}
-func (*Oneofs) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{7}
-}
-
-func (m *Oneofs) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Oneofs.Unmarshal(m, b)
-}
-func (m *Oneofs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Oneofs.Marshal(b, m, deterministic)
-}
-func (m *Oneofs) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Oneofs.Merge(m, src)
-}
-func (m *Oneofs) XXX_Size() int {
- return xxx_messageInfo_Oneofs.Size(m)
-}
-func (m *Oneofs) XXX_DiscardUnknown() {
- xxx_messageInfo_Oneofs.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Oneofs proto.InternalMessageInfo
-
-type isOneofs_Union interface {
- isOneofs_Union()
-}
-
-type Oneofs_Str struct {
- Str string `protobuf:"bytes,1,opt,name=str,oneof"`
-}
-
-type Oneofs_Msg struct {
- Msg *Nested `protobuf:"bytes,2,opt,name=msg,oneof"`
-}
-
-func (*Oneofs_Str) isOneofs_Union() {}
-
-func (*Oneofs_Msg) isOneofs_Union() {}
-
-func (m *Oneofs) GetUnion() isOneofs_Union {
- if m != nil {
- return m.Union
- }
- return nil
-}
-
-func (m *Oneofs) GetStr() string {
- if x, ok := m.GetUnion().(*Oneofs_Str); ok {
- return x.Str
- }
- return ""
-}
-
-func (m *Oneofs) GetMsg() *Nested {
- if x, ok := m.GetUnion().(*Oneofs_Msg); ok {
- return x.Msg
- }
- return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*Oneofs) XXX_OneofWrappers() []interface{} {
- return []interface{}{
- (*Oneofs_Str)(nil),
- (*Oneofs_Msg)(nil),
- }
-}
-
-// Message contains map fields.
-type Maps struct {
- Int32ToStr map[int32]string `protobuf:"bytes,1,rep,name=int32_to_str,json=int32ToStr" json:"int32_to_str,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
- Sfixed64ToBool map[int64]bool `protobuf:"bytes,2,rep,name=sfixed64_to_bool,json=sfixed64ToBool" json:"sfixed64_to_bool,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
- BoolToUint32 map[bool]uint32 `protobuf:"bytes,3,rep,name=bool_to_uint32,json=boolToUint32" json:"bool_to_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
- Uint64ToEnum map[uint64]Enum `protobuf:"bytes,4,rep,name=uint64_to_enum,json=uint64ToEnum" json:"uint64_to_enum,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=pb2.Enum"`
- StrToNested map[string]*Nested `protobuf:"bytes,5,rep,name=str_to_nested,json=strToNested" json:"str_to_nested,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
- StrToOneofs map[string]*Oneofs `protobuf:"bytes,6,rep,name=str_to_oneofs,json=strToOneofs" json:"str_to_oneofs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Maps) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[8].MessageOf(m)
-}
-func (m *Maps) Reset() { *m = Maps{} }
-func (m *Maps) String() string { return proto.CompactTextString(m) }
-func (*Maps) ProtoMessage() {}
-func (*Maps) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{8}
-}
-
-func (m *Maps) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Maps.Unmarshal(m, b)
-}
-func (m *Maps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Maps.Marshal(b, m, deterministic)
-}
-func (m *Maps) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Maps.Merge(m, src)
-}
-func (m *Maps) XXX_Size() int {
- return xxx_messageInfo_Maps.Size(m)
-}
-func (m *Maps) XXX_DiscardUnknown() {
- xxx_messageInfo_Maps.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Maps proto.InternalMessageInfo
-
-func (m *Maps) GetInt32ToStr() map[int32]string {
- if m != nil {
- return m.Int32ToStr
- }
- return nil
-}
-
-func (m *Maps) GetSfixed64ToBool() map[int64]bool {
- if m != nil {
- return m.Sfixed64ToBool
- }
- return nil
-}
-
-func (m *Maps) GetBoolToUint32() map[bool]uint32 {
- if m != nil {
- return m.BoolToUint32
- }
- return nil
-}
-
-func (m *Maps) GetUint64ToEnum() map[uint64]Enum {
- if m != nil {
- return m.Uint64ToEnum
- }
- return nil
-}
-
-func (m *Maps) GetStrToNested() map[string]*Nested {
- if m != nil {
- return m.StrToNested
- }
- return nil
-}
-
-func (m *Maps) GetStrToOneofs() map[string]*Oneofs {
- if m != nil {
- return m.StrToOneofs
- }
- return nil
-}
-
-type NestedWithRequired struct {
- ReqString *string `protobuf:"bytes,1,req,name=req_string,json=reqString" json:"req_string,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *NestedWithRequired) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[9].MessageOf(m)
-}
-func (m *NestedWithRequired) Reset() { *m = NestedWithRequired{} }
-func (m *NestedWithRequired) String() string { return proto.CompactTextString(m) }
-func (*NestedWithRequired) ProtoMessage() {}
-func (*NestedWithRequired) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{9}
-}
-
-func (m *NestedWithRequired) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_NestedWithRequired.Unmarshal(m, b)
-}
-func (m *NestedWithRequired) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_NestedWithRequired.Marshal(b, m, deterministic)
-}
-func (m *NestedWithRequired) XXX_Merge(src proto.Message) {
- xxx_messageInfo_NestedWithRequired.Merge(m, src)
-}
-func (m *NestedWithRequired) XXX_Size() int {
- return xxx_messageInfo_NestedWithRequired.Size(m)
-}
-func (m *NestedWithRequired) XXX_DiscardUnknown() {
- xxx_messageInfo_NestedWithRequired.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_NestedWithRequired proto.InternalMessageInfo
-
-func (m *NestedWithRequired) GetReqString() string {
- if m != nil && m.ReqString != nil {
- return *m.ReqString
- }
- return ""
-}
-
-type IndirectRequired struct {
- OptNested *NestedWithRequired `protobuf:"bytes,1,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
- RptNested []*NestedWithRequired `protobuf:"bytes,2,rep,name=rpt_nested,json=rptNested" json:"rpt_nested,omitempty"`
- StrToNested map[string]*NestedWithRequired `protobuf:"bytes,3,rep,name=str_to_nested,json=strToNested" json:"str_to_nested,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *IndirectRequired) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[10].MessageOf(m)
-}
-func (m *IndirectRequired) Reset() { *m = IndirectRequired{} }
-func (m *IndirectRequired) String() string { return proto.CompactTextString(m) }
-func (*IndirectRequired) ProtoMessage() {}
-func (*IndirectRequired) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{10}
-}
-
-func (m *IndirectRequired) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_IndirectRequired.Unmarshal(m, b)
-}
-func (m *IndirectRequired) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_IndirectRequired.Marshal(b, m, deterministic)
-}
-func (m *IndirectRequired) XXX_Merge(src proto.Message) {
- xxx_messageInfo_IndirectRequired.Merge(m, src)
-}
-func (m *IndirectRequired) XXX_Size() int {
- return xxx_messageInfo_IndirectRequired.Size(m)
-}
-func (m *IndirectRequired) XXX_DiscardUnknown() {
- xxx_messageInfo_IndirectRequired.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_IndirectRequired proto.InternalMessageInfo
-
-func (m *IndirectRequired) GetOptNested() *NestedWithRequired {
- if m != nil {
- return m.OptNested
- }
- return nil
-}
-
-func (m *IndirectRequired) GetRptNested() []*NestedWithRequired {
- if m != nil {
- return m.RptNested
- }
- return nil
-}
-
-func (m *IndirectRequired) GetStrToNested() map[string]*NestedWithRequired {
- if m != nil {
- return m.StrToNested
- }
- return nil
-}
-
-type Extensions struct {
- OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
- OptBool *bool `protobuf:"varint,101,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
- OptInt32 *int32 `protobuf:"varint,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- proto.XXX_InternalExtensions `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Extensions) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[11].MessageOf(m)
-}
-func (m *Extensions) Reset() { *m = Extensions{} }
-func (m *Extensions) String() string { return proto.CompactTextString(m) }
-func (*Extensions) ProtoMessage() {}
-func (*Extensions) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{11}
-}
-
-var extRange_Extensions = []proto.ExtensionRange{
- {Start: 20, End: 100},
-}
-
-func (*Extensions) ExtensionRangeArray() []proto.ExtensionRange {
- return extRange_Extensions
-}
-
-func (m *Extensions) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Extensions.Unmarshal(m, b)
-}
-func (m *Extensions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Extensions.Marshal(b, m, deterministic)
-}
-func (m *Extensions) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Extensions.Merge(m, src)
-}
-func (m *Extensions) XXX_Size() int {
- return xxx_messageInfo_Extensions.Size(m)
-}
-func (m *Extensions) XXX_DiscardUnknown() {
- xxx_messageInfo_Extensions.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Extensions proto.InternalMessageInfo
-
-func (m *Extensions) GetOptString() string {
- if m != nil && m.OptString != nil {
- return *m.OptString
- }
- return ""
-}
-
-func (m *Extensions) GetOptBool() bool {
- if m != nil && m.OptBool != nil {
- return *m.OptBool
- }
- return false
-}
-
-func (m *Extensions) GetOptInt32() int32 {
- if m != nil && m.OptInt32 != nil {
- return *m.OptInt32
- }
- return 0
-}
-
-type ExtensionsContainer struct {
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *ExtensionsContainer) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[12].MessageOf(m)
-}
-func (m *ExtensionsContainer) Reset() { *m = ExtensionsContainer{} }
-func (m *ExtensionsContainer) String() string { return proto.CompactTextString(m) }
-func (*ExtensionsContainer) ProtoMessage() {}
-func (*ExtensionsContainer) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{12}
-}
-
-func (m *ExtensionsContainer) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_ExtensionsContainer.Unmarshal(m, b)
-}
-func (m *ExtensionsContainer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_ExtensionsContainer.Marshal(b, m, deterministic)
-}
-func (m *ExtensionsContainer) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ExtensionsContainer.Merge(m, src)
-}
-func (m *ExtensionsContainer) XXX_Size() int {
- return xxx_messageInfo_ExtensionsContainer.Size(m)
-}
-func (m *ExtensionsContainer) XXX_DiscardUnknown() {
- xxx_messageInfo_ExtensionsContainer.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ExtensionsContainer proto.InternalMessageInfo
-
-type MessageSet struct {
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- proto.XXX_InternalExtensions `protobuf_messageset:"1" json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *MessageSet) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[13].MessageOf(m)
-}
-func (m *MessageSet) Reset() { *m = MessageSet{} }
-func (m *MessageSet) String() string { return proto.CompactTextString(m) }
-func (*MessageSet) ProtoMessage() {}
-func (*MessageSet) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{13}
-}
-
-var extRange_MessageSet = []proto.ExtensionRange{
- {Start: 4, End: 2147483646},
-}
-
-func (*MessageSet) ExtensionRangeArray() []proto.ExtensionRange {
- return extRange_MessageSet
-}
-
-func (m *MessageSet) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_MessageSet.Unmarshal(m, b)
-}
-func (m *MessageSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_MessageSet.Marshal(b, m, deterministic)
-}
-func (m *MessageSet) XXX_Merge(src proto.Message) {
- xxx_messageInfo_MessageSet.Merge(m, src)
-}
-func (m *MessageSet) XXX_Size() int {
- return xxx_messageInfo_MessageSet.Size(m)
-}
-func (m *MessageSet) XXX_DiscardUnknown() {
- xxx_messageInfo_MessageSet.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MessageSet proto.InternalMessageInfo
-
-type MessageSetExtension struct {
- OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *MessageSetExtension) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[14].MessageOf(m)
-}
-func (m *MessageSetExtension) Reset() { *m = MessageSetExtension{} }
-func (m *MessageSetExtension) String() string { return proto.CompactTextString(m) }
-func (*MessageSetExtension) ProtoMessage() {}
-func (*MessageSetExtension) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{14}
-}
-
-func (m *MessageSetExtension) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_MessageSetExtension.Unmarshal(m, b)
-}
-func (m *MessageSetExtension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_MessageSetExtension.Marshal(b, m, deterministic)
-}
-func (m *MessageSetExtension) XXX_Merge(src proto.Message) {
- xxx_messageInfo_MessageSetExtension.Merge(m, src)
-}
-func (m *MessageSetExtension) XXX_Size() int {
- return xxx_messageInfo_MessageSetExtension.Size(m)
-}
-func (m *MessageSetExtension) XXX_DiscardUnknown() {
- xxx_messageInfo_MessageSetExtension.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MessageSetExtension proto.InternalMessageInfo
-
-func (m *MessageSetExtension) GetOptString() string {
- if m != nil && m.OptString != nil {
- return *m.OptString
- }
- return ""
-}
-
-type FakeMessageSet struct {
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- proto.XXX_InternalExtensions `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *FakeMessageSet) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[15].MessageOf(m)
-}
-func (m *FakeMessageSet) Reset() { *m = FakeMessageSet{} }
-func (m *FakeMessageSet) String() string { return proto.CompactTextString(m) }
-func (*FakeMessageSet) ProtoMessage() {}
-func (*FakeMessageSet) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{15}
-}
-
-var extRange_FakeMessageSet = []proto.ExtensionRange{
- {Start: 4, End: 536870911},
-}
-
-func (*FakeMessageSet) ExtensionRangeArray() []proto.ExtensionRange {
- return extRange_FakeMessageSet
-}
-
-func (m *FakeMessageSet) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_FakeMessageSet.Unmarshal(m, b)
-}
-func (m *FakeMessageSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_FakeMessageSet.Marshal(b, m, deterministic)
-}
-func (m *FakeMessageSet) XXX_Merge(src proto.Message) {
- xxx_messageInfo_FakeMessageSet.Merge(m, src)
-}
-func (m *FakeMessageSet) XXX_Size() int {
- return xxx_messageInfo_FakeMessageSet.Size(m)
-}
-func (m *FakeMessageSet) XXX_DiscardUnknown() {
- xxx_messageInfo_FakeMessageSet.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_FakeMessageSet proto.InternalMessageInfo
-
-type FakeMessageSetExtension struct {
- OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *FakeMessageSetExtension) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[16].MessageOf(m)
-}
-func (m *FakeMessageSetExtension) Reset() { *m = FakeMessageSetExtension{} }
-func (m *FakeMessageSetExtension) String() string { return proto.CompactTextString(m) }
-func (*FakeMessageSetExtension) ProtoMessage() {}
-func (*FakeMessageSetExtension) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{16}
-}
-
-func (m *FakeMessageSetExtension) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_FakeMessageSetExtension.Unmarshal(m, b)
-}
-func (m *FakeMessageSetExtension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_FakeMessageSetExtension.Marshal(b, m, deterministic)
-}
-func (m *FakeMessageSetExtension) XXX_Merge(src proto.Message) {
- xxx_messageInfo_FakeMessageSetExtension.Merge(m, src)
-}
-func (m *FakeMessageSetExtension) XXX_Size() int {
- return xxx_messageInfo_FakeMessageSetExtension.Size(m)
-}
-func (m *FakeMessageSetExtension) XXX_DiscardUnknown() {
- xxx_messageInfo_FakeMessageSetExtension.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_FakeMessageSetExtension proto.InternalMessageInfo
-
-func (m *FakeMessageSetExtension) GetOptString() string {
- if m != nil && m.OptString != nil {
- return *m.OptString
- }
- return ""
-}
-
-// Message contains well-known type fields.
-type KnownTypes struct {
- OptBool *wrappers.BoolValue `protobuf:"bytes,1,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
- OptInt32 *wrappers.Int32Value `protobuf:"bytes,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"`
- OptInt64 *wrappers.Int64Value `protobuf:"bytes,3,opt,name=opt_int64,json=optInt64" json:"opt_int64,omitempty"`
- OptUint32 *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=opt_uint32,json=optUint32" json:"opt_uint32,omitempty"`
- OptUint64 *wrappers.UInt64Value `protobuf:"bytes,5,opt,name=opt_uint64,json=optUint64" json:"opt_uint64,omitempty"`
- OptFloat *wrappers.FloatValue `protobuf:"bytes,6,opt,name=opt_float,json=optFloat" json:"opt_float,omitempty"`
- OptDouble *wrappers.DoubleValue `protobuf:"bytes,7,opt,name=opt_double,json=optDouble" json:"opt_double,omitempty"`
- OptString *wrappers.StringValue `protobuf:"bytes,8,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
- OptBytes *wrappers.BytesValue `protobuf:"bytes,9,opt,name=opt_bytes,json=optBytes" json:"opt_bytes,omitempty"`
- OptDuration *duration.Duration `protobuf:"bytes,20,opt,name=opt_duration,json=optDuration" json:"opt_duration,omitempty"`
- OptTimestamp *timestamp.Timestamp `protobuf:"bytes,21,opt,name=opt_timestamp,json=optTimestamp" json:"opt_timestamp,omitempty"`
- OptStruct *_struct.Struct `protobuf:"bytes,25,opt,name=opt_struct,json=optStruct" json:"opt_struct,omitempty"`
- OptList *_struct.ListValue `protobuf:"bytes,26,opt,name=opt_list,json=optList" json:"opt_list,omitempty"`
- OptValue *_struct.Value `protobuf:"bytes,27,opt,name=opt_value,json=optValue" json:"opt_value,omitempty"`
- OptEmpty *empty.Empty `protobuf:"bytes,30,opt,name=opt_empty,json=optEmpty" json:"opt_empty,omitempty"`
- OptAny *any.Any `protobuf:"bytes,32,opt,name=opt_any,json=optAny" json:"opt_any,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *KnownTypes) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[17].MessageOf(m)
-}
-func (m *KnownTypes) Reset() { *m = KnownTypes{} }
-func (m *KnownTypes) String() string { return proto.CompactTextString(m) }
-func (*KnownTypes) ProtoMessage() {}
-func (*KnownTypes) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{17}
-}
-
-func (m *KnownTypes) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_KnownTypes.Unmarshal(m, b)
-}
-func (m *KnownTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_KnownTypes.Marshal(b, m, deterministic)
-}
-func (m *KnownTypes) XXX_Merge(src proto.Message) {
- xxx_messageInfo_KnownTypes.Merge(m, src)
-}
-func (m *KnownTypes) XXX_Size() int {
- return xxx_messageInfo_KnownTypes.Size(m)
-}
-func (m *KnownTypes) XXX_DiscardUnknown() {
- xxx_messageInfo_KnownTypes.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_KnownTypes proto.InternalMessageInfo
-
-func (m *KnownTypes) GetOptBool() *wrappers.BoolValue {
- if m != nil {
- return m.OptBool
- }
- return nil
-}
-
-func (m *KnownTypes) GetOptInt32() *wrappers.Int32Value {
- if m != nil {
- return m.OptInt32
- }
- return nil
-}
-
-func (m *KnownTypes) GetOptInt64() *wrappers.Int64Value {
- if m != nil {
- return m.OptInt64
- }
- return nil
-}
-
-func (m *KnownTypes) GetOptUint32() *wrappers.UInt32Value {
- if m != nil {
- return m.OptUint32
- }
- return nil
-}
-
-func (m *KnownTypes) GetOptUint64() *wrappers.UInt64Value {
- if m != nil {
- return m.OptUint64
- }
- return nil
-}
-
-func (m *KnownTypes) GetOptFloat() *wrappers.FloatValue {
- if m != nil {
- return m.OptFloat
- }
- return nil
-}
-
-func (m *KnownTypes) GetOptDouble() *wrappers.DoubleValue {
- if m != nil {
- return m.OptDouble
- }
- return nil
-}
-
-func (m *KnownTypes) GetOptString() *wrappers.StringValue {
- if m != nil {
- return m.OptString
- }
- return nil
-}
-
-func (m *KnownTypes) GetOptBytes() *wrappers.BytesValue {
- if m != nil {
- return m.OptBytes
- }
- return nil
-}
-
-func (m *KnownTypes) GetOptDuration() *duration.Duration {
- if m != nil {
- return m.OptDuration
- }
- return nil
-}
-
-func (m *KnownTypes) GetOptTimestamp() *timestamp.Timestamp {
- if m != nil {
- return m.OptTimestamp
- }
- return nil
-}
-
-func (m *KnownTypes) GetOptStruct() *_struct.Struct {
- if m != nil {
- return m.OptStruct
- }
- return nil
-}
-
-func (m *KnownTypes) GetOptList() *_struct.ListValue {
- if m != nil {
- return m.OptList
- }
- return nil
-}
-
-func (m *KnownTypes) GetOptValue() *_struct.Value {
- if m != nil {
- return m.OptValue
- }
- return nil
-}
-
-func (m *KnownTypes) GetOptEmpty() *empty.Empty {
- if m != nil {
- return m.OptEmpty
- }
- return nil
-}
-
-func (m *KnownTypes) GetOptAny() *any.Any {
- if m != nil {
- return m.OptAny
- }
- return nil
-}
-
-type Nests_OptGroup struct {
- OptBool *bool `protobuf:"varint,1,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
- OptString *string `protobuf:"bytes,2,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
- OptNested *Nested `protobuf:"bytes,3,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
- Optnestedgroup *Nests_OptGroup_OptNestedGroup `protobuf:"group,4,opt,name=OptNestedGroup,json=optnestedgroup" json:"optnestedgroup,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Nests_OptGroup) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[18].MessageOf(m)
-}
-func (m *Nests_OptGroup) Reset() { *m = Nests_OptGroup{} }
-func (m *Nests_OptGroup) String() string { return proto.CompactTextString(m) }
-func (*Nests_OptGroup) ProtoMessage() {}
-func (*Nests_OptGroup) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{3, 0}
-}
-
-func (m *Nests_OptGroup) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Nests_OptGroup.Unmarshal(m, b)
-}
-func (m *Nests_OptGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Nests_OptGroup.Marshal(b, m, deterministic)
-}
-func (m *Nests_OptGroup) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Nests_OptGroup.Merge(m, src)
-}
-func (m *Nests_OptGroup) XXX_Size() int {
- return xxx_messageInfo_Nests_OptGroup.Size(m)
-}
-func (m *Nests_OptGroup) XXX_DiscardUnknown() {
- xxx_messageInfo_Nests_OptGroup.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Nests_OptGroup proto.InternalMessageInfo
-
-func (m *Nests_OptGroup) GetOptBool() bool {
- if m != nil && m.OptBool != nil {
- return *m.OptBool
- }
- return false
-}
-
-func (m *Nests_OptGroup) GetOptString() string {
- if m != nil && m.OptString != nil {
- return *m.OptString
- }
- return ""
-}
-
-func (m *Nests_OptGroup) GetOptNested() *Nested {
- if m != nil {
- return m.OptNested
- }
- return nil
-}
-
-func (m *Nests_OptGroup) GetOptnestedgroup() *Nests_OptGroup_OptNestedGroup {
- if m != nil {
- return m.Optnestedgroup
- }
- return nil
-}
-
-type Nests_RptGroup struct {
- RptBool []bool `protobuf:"varint,1,rep,name=rpt_bool,json=rptBool" json:"rpt_bool,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Nests_RptGroup) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[19].MessageOf(m)
-}
-func (m *Nests_RptGroup) Reset() { *m = Nests_RptGroup{} }
-func (m *Nests_RptGroup) String() string { return proto.CompactTextString(m) }
-func (*Nests_RptGroup) ProtoMessage() {}
-func (*Nests_RptGroup) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{3, 1}
-}
-
-func (m *Nests_RptGroup) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Nests_RptGroup.Unmarshal(m, b)
-}
-func (m *Nests_RptGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Nests_RptGroup.Marshal(b, m, deterministic)
-}
-func (m *Nests_RptGroup) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Nests_RptGroup.Merge(m, src)
-}
-func (m *Nests_RptGroup) XXX_Size() int {
- return xxx_messageInfo_Nests_RptGroup.Size(m)
-}
-func (m *Nests_RptGroup) XXX_DiscardUnknown() {
- xxx_messageInfo_Nests_RptGroup.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Nests_RptGroup proto.InternalMessageInfo
-
-func (m *Nests_RptGroup) GetRptBool() []bool {
- if m != nil {
- return m.RptBool
- }
- return nil
-}
-
-type Nests_OptGroup_OptNestedGroup struct {
- OptEnum *Enum `protobuf:"varint,1,opt,name=opt_enum,json=optEnum,enum=pb2.Enum" json:"opt_enum,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Nests_OptGroup_OptNestedGroup) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[20].MessageOf(m)
-}
-func (m *Nests_OptGroup_OptNestedGroup) Reset() { *m = Nests_OptGroup_OptNestedGroup{} }
-func (m *Nests_OptGroup_OptNestedGroup) String() string { return proto.CompactTextString(m) }
-func (*Nests_OptGroup_OptNestedGroup) ProtoMessage() {}
-func (*Nests_OptGroup_OptNestedGroup) Descriptor() ([]byte, []int) {
- return fileDescriptor_c8d7acc1bcec9a72_gzipped, []int{3, 0, 0}
-}
-
-func (m *Nests_OptGroup_OptNestedGroup) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Nests_OptGroup_OptNestedGroup.Unmarshal(m, b)
-}
-func (m *Nests_OptGroup_OptNestedGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Nests_OptGroup_OptNestedGroup.Marshal(b, m, deterministic)
-}
-func (m *Nests_OptGroup_OptNestedGroup) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Nests_OptGroup_OptNestedGroup.Merge(m, src)
-}
-func (m *Nests_OptGroup_OptNestedGroup) XXX_Size() int {
- return xxx_messageInfo_Nests_OptGroup_OptNestedGroup.Size(m)
-}
-func (m *Nests_OptGroup_OptNestedGroup) XXX_DiscardUnknown() {
- xxx_messageInfo_Nests_OptGroup_OptNestedGroup.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Nests_OptGroup_OptNestedGroup proto.InternalMessageInfo
-
-func (m *Nests_OptGroup_OptNestedGroup) GetOptEnum() Enum {
- if m != nil && m.OptEnum != nil {
- return *m.OptEnum
- }
- return Enum_UNKNOWN
-}
-
-var E_OptExtBool = &proto.ExtensionDesc{
- ExtendedType: (*Extensions)(nil),
- ExtensionType: (*bool)(nil),
- Field: 21,
- Name: "pb2.opt_ext_bool",
- Tag: "varint,21,opt,name=opt_ext_bool",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_OptExtString = &proto.ExtensionDesc{
- ExtendedType: (*Extensions)(nil),
- ExtensionType: (*string)(nil),
- Field: 22,
- Name: "pb2.opt_ext_string",
- Tag: "bytes,22,opt,name=opt_ext_string",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_OptExtEnum = &proto.ExtensionDesc{
- ExtendedType: (*Extensions)(nil),
- ExtensionType: (*Enum)(nil),
- Field: 23,
- Name: "pb2.opt_ext_enum",
- Tag: "varint,23,opt,name=opt_ext_enum,enum=pb2.Enum",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_OptExtNested = &proto.ExtensionDesc{
- ExtendedType: (*Extensions)(nil),
- ExtensionType: (*Nested)(nil),
- Field: 24,
- Name: "pb2.opt_ext_nested",
- Tag: "bytes,24,opt,name=opt_ext_nested",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_RptExtFixed32 = &proto.ExtensionDesc{
- ExtendedType: (*Extensions)(nil),
- ExtensionType: ([]uint32)(nil),
- Field: 31,
- Name: "pb2.rpt_ext_fixed32",
- Tag: "fixed32,31,rep,name=rpt_ext_fixed32",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_RptExtEnum = &proto.ExtensionDesc{
- ExtendedType: (*Extensions)(nil),
- ExtensionType: ([]Enum)(nil),
- Field: 32,
- Name: "pb2.rpt_ext_enum",
- Tag: "varint,32,rep,name=rpt_ext_enum,enum=pb2.Enum",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_RptExtNested = &proto.ExtensionDesc{
- ExtendedType: (*Extensions)(nil),
- ExtensionType: ([]*Nested)(nil),
- Field: 33,
- Name: "pb2.rpt_ext_nested",
- Tag: "bytes,33,rep,name=rpt_ext_nested",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_MessageSetExtension = &proto.ExtensionDesc{
- ExtendedType: (*MessageSet)(nil),
- ExtensionType: (*FakeMessageSetExtension)(nil),
- Field: 50,
- Name: "pb2.",
- Tag: "bytes,50,opt,name=message_set_extension",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_ExtensionsContainer_OptExtBool = &proto.ExtensionDesc{
- ExtendedType: (*Extensions)(nil),
- ExtensionType: (*bool)(nil),
- Field: 51,
- Name: "pb2.ExtensionsContainer.opt_ext_bool",
- Tag: "varint,51,opt,name=opt_ext_bool",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_ExtensionsContainer_OptExtString = &proto.ExtensionDesc{
- ExtendedType: (*Extensions)(nil),
- ExtensionType: (*string)(nil),
- Field: 52,
- Name: "pb2.ExtensionsContainer.opt_ext_string",
- Tag: "bytes,52,opt,name=opt_ext_string",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_ExtensionsContainer_OptExtEnum = &proto.ExtensionDesc{
- ExtendedType: (*Extensions)(nil),
- ExtensionType: (*Enum)(nil),
- Field: 53,
- Name: "pb2.ExtensionsContainer.opt_ext_enum",
- Tag: "varint,53,opt,name=opt_ext_enum,enum=pb2.Enum",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_ExtensionsContainer_OptExtNested = &proto.ExtensionDesc{
- ExtendedType: (*Extensions)(nil),
- ExtensionType: (*Nested)(nil),
- Field: 54,
- Name: "pb2.ExtensionsContainer.opt_ext_nested",
- Tag: "bytes,54,opt,name=opt_ext_nested",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_ExtensionsContainer_RptExtString = &proto.ExtensionDesc{
- ExtendedType: (*Extensions)(nil),
- ExtensionType: ([]string)(nil),
- Field: 61,
- Name: "pb2.ExtensionsContainer.rpt_ext_string",
- Tag: "bytes,61,rep,name=rpt_ext_string",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_ExtensionsContainer_RptExtEnum = &proto.ExtensionDesc{
- ExtendedType: (*Extensions)(nil),
- ExtensionType: ([]Enum)(nil),
- Field: 62,
- Name: "pb2.ExtensionsContainer.rpt_ext_enum",
- Tag: "varint,62,rep,name=rpt_ext_enum,enum=pb2.Enum",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_ExtensionsContainer_RptExtNested = &proto.ExtensionDesc{
- ExtendedType: (*Extensions)(nil),
- ExtensionType: ([]*Nested)(nil),
- Field: 63,
- Name: "pb2.ExtensionsContainer.rpt_ext_nested",
- Tag: "bytes,63,rep,name=rpt_ext_nested",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_MessageSetExtension_MessageSetExtension = &proto.ExtensionDesc{
- ExtendedType: (*MessageSet)(nil),
- ExtensionType: (*MessageSetExtension)(nil),
- Field: 10,
- Name: "pb2.MessageSetExtension",
- Tag: "bytes,10,opt,name=message_set_extension",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_MessageSetExtension_NotMessageSetExtension = &proto.ExtensionDesc{
- ExtendedType: (*MessageSet)(nil),
- ExtensionType: (*MessageSetExtension)(nil),
- Field: 20,
- Name: "pb2.MessageSetExtension.not_message_set_extension",
- Tag: "bytes,20,opt,name=not_message_set_extension",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_MessageSetExtension_ExtNested = &proto.ExtensionDesc{
- ExtendedType: (*MessageSet)(nil),
- ExtensionType: (*Nested)(nil),
- Field: 30,
- Name: "pb2.MessageSetExtension.ext_nested",
- Tag: "bytes,30,opt,name=ext_nested",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-var E_FakeMessageSetExtension_MessageSetExtension = &proto.ExtensionDesc{
- ExtendedType: (*FakeMessageSet)(nil),
- ExtensionType: (*FakeMessageSetExtension)(nil),
- Field: 10,
- Name: "pb2.FakeMessageSetExtension.message_set_extension",
- Tag: "bytes,10,opt,name=message_set_extension",
- Filename: "encoding/textpb/testprotos/pb2/test.proto",
-}
-
-func init() {
- proto.RegisterFile("encoding/textpb/testprotos/pb2/test.proto", fileDescriptor_c8d7acc1bcec9a72_gzipped)
- proto.RegisterEnum("pb2.Enum", Enum_name, Enum_value)
- proto.RegisterEnum("pb2.Enums_NestedEnum", Enums_NestedEnum_name, Enums_NestedEnum_value)
- proto.RegisterType((*Scalars)(nil), "pb2.Scalars")
- proto.RegisterType((*Repeats)(nil), "pb2.Repeats")
- proto.RegisterType((*Enums)(nil), "pb2.Enums")
- proto.RegisterType((*Nests)(nil), "pb2.Nests")
- proto.RegisterType((*Nested)(nil), "pb2.Nested")
- proto.RegisterType((*Requireds)(nil), "pb2.Requireds")
- proto.RegisterType((*PartialRequired)(nil), "pb2.PartialRequired")
- proto.RegisterType((*Oneofs)(nil), "pb2.Oneofs")
- proto.RegisterType((*Maps)(nil), "pb2.Maps")
- proto.RegisterMapType((map[bool]uint32)(nil), "pb2.Maps.BoolToUint32Entry")
- proto.RegisterMapType((map[int32]string)(nil), "pb2.Maps.Int32ToStrEntry")
- proto.RegisterMapType((map[int64]bool)(nil), "pb2.Maps.Sfixed64ToBoolEntry")
- proto.RegisterMapType((map[string]*Nested)(nil), "pb2.Maps.StrToNestedEntry")
- proto.RegisterMapType((map[string]*Oneofs)(nil), "pb2.Maps.StrToOneofsEntry")
- proto.RegisterMapType((map[uint64]Enum)(nil), "pb2.Maps.Uint64ToEnumEntry")
- proto.RegisterType((*NestedWithRequired)(nil), "pb2.NestedWithRequired")
- proto.RegisterType((*IndirectRequired)(nil), "pb2.IndirectRequired")
- proto.RegisterMapType((map[string]*NestedWithRequired)(nil), "pb2.IndirectRequired.StrToNestedEntry")
- proto.RegisterType((*Extensions)(nil), "pb2.Extensions")
- proto.RegisterType((*ExtensionsContainer)(nil), "pb2.ExtensionsContainer")
- proto.RegisterType((*MessageSet)(nil), "pb2.MessageSet")
- proto.RegisterType((*MessageSetExtension)(nil), "pb2.MessageSetExtension")
- proto.RegisterType((*FakeMessageSet)(nil), "pb2.FakeMessageSet")
- proto.RegisterType((*FakeMessageSetExtension)(nil), "pb2.FakeMessageSetExtension")
- proto.RegisterType((*KnownTypes)(nil), "pb2.KnownTypes")
- proto.RegisterType((*Nests_OptGroup)(nil), "pb2.Nests.OptGroup")
- proto.RegisterType((*Nests_RptGroup)(nil), "pb2.Nests.RptGroup")
- proto.RegisterType((*Nests_OptGroup_OptNestedGroup)(nil), "pb2.Nests.OptGroup.OptNestedGroup")
- proto.RegisterExtension(E_OptExtBool)
- proto.RegisterExtension(E_OptExtString)
- proto.RegisterExtension(E_OptExtEnum)
- proto.RegisterExtension(E_OptExtNested)
- proto.RegisterExtension(E_RptExtFixed32)
- proto.RegisterExtension(E_RptExtEnum)
- proto.RegisterExtension(E_RptExtNested)
- proto.RegisterExtension(E_MessageSetExtension)
- proto.RegisterExtension(E_ExtensionsContainer_OptExtBool)
- proto.RegisterExtension(E_ExtensionsContainer_OptExtString)
- proto.RegisterExtension(E_ExtensionsContainer_OptExtEnum)
- proto.RegisterExtension(E_ExtensionsContainer_OptExtNested)
- proto.RegisterExtension(E_ExtensionsContainer_RptExtString)
- proto.RegisterExtension(E_ExtensionsContainer_RptExtEnum)
- proto.RegisterExtension(E_ExtensionsContainer_RptExtNested)
- proto.RegisterExtension(E_MessageSetExtension_MessageSetExtension)
- proto.RegisterExtension(E_MessageSetExtension_NotMessageSetExtension)
- proto.RegisterExtension(E_MessageSetExtension_ExtNested)
- proto.RegisterExtension(E_FakeMessageSetExtension_MessageSetExtension)
-}
-
-var fileDescriptor_c8d7acc1bcec9a72 = []byte{
- // 6198 bytes of the wire-encoded FileDescriptorProto
- 0x0a, 0x29, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x70,
- 0x62, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x70, 0x62, 0x32,
- 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x70, 0x62, 0x32,
- 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
- 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70,
- 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
- 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
- 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x03, 0x0a, 0x07, 0x53, 0x63, 0x61, 0x6c,
- 0x61, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1b,
- 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x05, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1b, 0x0a, 0x09, 0x6f,
- 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
- 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f,
- 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6f, 0x70,
- 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75,
- 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6f, 0x70, 0x74,
- 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x69,
- 0x6e, 0x74, 0x33, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53,
- 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x69, 0x6e,
- 0x74, 0x36, 0x34, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x69,
- 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65,
- 0x64, 0x33, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x46, 0x69,
- 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x69, 0x78,
- 0x65, 0x64, 0x36, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x46,
- 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x66,
- 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x0b, 0x6f, 0x70,
- 0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x74,
- 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x10, 0x52,
- 0x0b, 0x6f, 0x70, 0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x1b, 0x0a, 0x09,
- 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52,
- 0x08, 0x6f, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74,
- 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6f,
- 0x70, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f,
- 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6f, 0x70, 0x74,
- 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72,
- 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74,
- 0x72, 0x69, 0x6e, 0x67, 0x22, 0x94, 0x02, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x73,
- 0x12, 0x19, 0x0a, 0x08, 0x72, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x03,
- 0x28, 0x08, 0x52, 0x07, 0x72, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x72,
- 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08,
- 0x72, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f,
- 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x72, 0x70, 0x74,
- 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e,
- 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x70, 0x74, 0x55, 0x69,
- 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74,
- 0x36, 0x34, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x09, 0x72, 0x70, 0x74, 0x55, 0x69, 0x6e,
- 0x74, 0x36, 0x34, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74,
- 0x18, 0x06, 0x20, 0x03, 0x28, 0x02, 0x52, 0x08, 0x72, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74,
- 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x07,
- 0x20, 0x03, 0x28, 0x01, 0x52, 0x09, 0x72, 0x70, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12,
- 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20,
- 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1b,
- 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28,
- 0x0c, 0x52, 0x08, 0x72, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x05,
- 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x75,
- 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e,
- 0x75, 0x6d, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x08, 0x72,
- 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x09, 0x2e,
- 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, 0x72, 0x70, 0x74, 0x45, 0x6e, 0x75,
- 0x6d, 0x12, 0x3d, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f,
- 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x32,
- 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75,
- 0x6d, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d,
- 0x12, 0x3d, 0x0a, 0x0f, 0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65,
- 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x32, 0x2e,
- 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d,
- 0x52, 0x0d, 0x72, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x22,
- 0x28, 0x0a, 0x0a, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a,
- 0x03, 0x55, 0x4e, 0x4f, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4f, 0x53, 0x10, 0x02, 0x12,
- 0x08, 0x0a, 0x04, 0x44, 0x49, 0x45, 0x5a, 0x10, 0x0a, 0x22, 0xef, 0x03, 0x0a, 0x05, 0x4e, 0x65,
- 0x73, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65,
- 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65,
- 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12,
- 0x2f, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0a, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x4f, 0x70,
- 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70,
- 0x12, 0x2a, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
- 0x64, 0x52, 0x09, 0x72, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x08,
- 0x72, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x13,
- 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x52, 0x70, 0x74, 0x47, 0x72,
- 0x6f, 0x75, 0x70, 0x52, 0x08, 0x72, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0xf4, 0x01,
- 0x0a, 0x08, 0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x70,
- 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x70,
- 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72,
- 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74,
- 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74,
- 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e,
- 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
- 0x12, 0x4a, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f,
- 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0a, 0x32, 0x22, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e,
- 0x65, 0x73, 0x74, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4f, 0x70,
- 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0e, 0x6f, 0x70,
- 0x74, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x36, 0x0a, 0x0e,
- 0x4f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x24,
- 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
- 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, 0x6f, 0x70, 0x74,
- 0x45, 0x6e, 0x75, 0x6d, 0x1a, 0x25, 0x0a, 0x08, 0x52, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70,
- 0x12, 0x19, 0x0a, 0x08, 0x72, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x03,
- 0x28, 0x08, 0x52, 0x07, 0x72, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x0e, 0x72, 0x65, 0x73,
- 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x53, 0x0a, 0x06, 0x4e,
- 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72,
- 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74,
- 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74,
- 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e,
- 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
- 0x22, 0xf8, 0x02, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x73, 0x12, 0x19,
- 0x0a, 0x08, 0x72, 0x65, 0x71, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x02, 0x28, 0x08,
- 0x52, 0x07, 0x72, 0x65, 0x71, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x71,
- 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x02, 0x20, 0x02, 0x28, 0x07, 0x52, 0x0a,
- 0x72, 0x65, 0x71, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65,
- 0x71, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x03, 0x20, 0x02, 0x28, 0x06, 0x52,
- 0x0a, 0x72, 0x65, 0x71, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x21, 0x0a, 0x0c, 0x72,
- 0x65, 0x71, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x04, 0x20, 0x02, 0x28,
- 0x0f, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x21,
- 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x05,
- 0x20, 0x02, 0x28, 0x10, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
- 0x34, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x06,
- 0x20, 0x02, 0x28, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x1d,
- 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x02,
- 0x28, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a,
- 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x02, 0x28,
- 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09,
- 0x72, 0x65, 0x71, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x02, 0x28, 0x0c, 0x52,
- 0x08, 0x72, 0x65, 0x71, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x08, 0x72, 0x65, 0x71,
- 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62,
- 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, 0x72, 0x65, 0x71, 0x45, 0x6e, 0x75, 0x6d, 0x12,
- 0x2a, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20,
- 0x02, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
- 0x52, 0x09, 0x72, 0x65, 0x71, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x4f, 0x0a, 0x0f, 0x50,
- 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x1d,
- 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x02,
- 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a,
- 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x46, 0x0a, 0x06,
- 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x73, 0x12, 0x12, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x1f, 0x0a, 0x03, 0x6d, 0x73,
- 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65,
- 0x73, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x75,
- 0x6e, 0x69, 0x6f, 0x6e, 0x22, 0xbb, 0x06, 0x0a, 0x04, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x3b, 0x0a,
- 0x0c, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x49,
- 0x6e, 0x74, 0x33, 0x32, 0x54, 0x6f, 0x53, 0x74, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a,
- 0x69, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x6f, 0x53, 0x74, 0x72, 0x12, 0x47, 0x0a, 0x10, 0x73, 0x66,
- 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x02,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e,
- 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x54, 0x6f, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e,
- 0x74, 0x72, 0x79, 0x52, 0x0e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x54, 0x6f, 0x42,
- 0x6f, 0x6f, 0x6c, 0x12, 0x41, 0x0a, 0x0e, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x75,
- 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x62,
- 0x32, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x54, 0x6f, 0x55, 0x69, 0x6e,
- 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x54, 0x6f,
- 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x41, 0x0a, 0x0e, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
- 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b,
- 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
- 0x54, 0x6f, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x75, 0x69, 0x6e,
- 0x74, 0x36, 0x34, 0x54, 0x6f, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x74, 0x72,
- 0x5f, 0x74, 0x6f, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x54,
- 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x74,
- 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x74, 0x72,
- 0x5f, 0x74, 0x6f, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x54,
- 0x6f, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x74,
- 0x72, 0x54, 0x6f, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x49, 0x6e, 0x74,
- 0x33, 0x32, 0x54, 0x6f, 0x53, 0x74, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
- 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
- 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x53, 0x66, 0x69, 0x78,
- 0x65, 0x64, 0x36, 0x34, 0x54, 0x6f, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
- 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x52, 0x03, 0x6b, 0x65,
- 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x42,
- 0x6f, 0x6f, 0x6c, 0x54, 0x6f, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79,
- 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b,
- 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4a, 0x0a, 0x11,
- 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x54, 0x6f, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03,
- 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4b, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x54,
- 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
- 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21,
- 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
- 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4b, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4f, 0x6e,
- 0x65, 0x6f, 0x66, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32,
- 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
- 0x38, 0x01, 0x22, 0x33, 0x0a, 0x12, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68,
- 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f,
- 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65,
- 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xa7, 0x02, 0x0a, 0x10, 0x49, 0x6e, 0x64, 0x69,
- 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x0a,
- 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x17, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74,
- 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65,
- 0x73, 0x74, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74,
- 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e,
- 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
- 0x64, 0x52, 0x09, 0x72, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x0d,
- 0x73, 0x74, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65,
- 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2e, 0x53, 0x74, 0x72, 0x54, 0x6f,
- 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x74, 0x72,
- 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x1a, 0x57, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x54,
- 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
- 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d,
- 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
- 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65,
- 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
- 0x01, 0x22, 0x69, 0x0a, 0x0a, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12,
- 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x19,
- 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x65, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x07, 0x6f, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74,
- 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x70,
- 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x2a, 0x04, 0x08, 0x14, 0x10, 0x65, 0x22, 0xba, 0x03, 0x0a,
- 0x13, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61,
- 0x69, 0x6e, 0x65, 0x72, 0x32, 0x31, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f,
- 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e,
- 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6f, 0x70, 0x74,
- 0x45, 0x78, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x32, 0x35, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65,
- 0x78, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e,
- 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x3c,
- 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x0f,
- 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
- 0x35, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d,
- 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x32, 0x42, 0x0a, 0x0e,
- 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x0f,
- 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
- 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74,
- 0x65, 0x64, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
- 0x32, 0x35, 0x0a, 0x0e, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69,
- 0x6e, 0x67, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
- 0x6f, 0x6e, 0x73, 0x18, 0x3d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x70, 0x74, 0x45, 0x78,
- 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x3c, 0x0a, 0x0c, 0x72, 0x70, 0x74, 0x5f, 0x65,
- 0x78, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78,
- 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x09,
- 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0a, 0x72, 0x70, 0x74, 0x45, 0x78,
- 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x32, 0x42, 0x0a, 0x0e, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74,
- 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78,
- 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b,
- 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x72, 0x70, 0x74,
- 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x1a, 0x0a, 0x0a, 0x4d, 0x65, 0x73,
- 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x2a, 0x08, 0x08, 0x04, 0x10, 0xff, 0xff, 0xff, 0xff,
- 0x07, 0x3a, 0x02, 0x08, 0x01, 0x22, 0xb6, 0x02, 0x0a, 0x13, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
- 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a,
- 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x5d, 0x0a, 0x15,
- 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65,
- 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73,
- 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70,
- 0x62, 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74,
- 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53,
- 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x64, 0x0a, 0x19, 0x6e,
- 0x6f, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65,
- 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x18, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74,
- 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6e, 0x6f, 0x74, 0x4d, 0x65,
- 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
- 0x6e, 0x32, 0x3b, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12,
- 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74,
- 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73,
- 0x74, 0x65, 0x64, 0x52, 0x09, 0x65, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x1a,
- 0x0a, 0x0e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74,
- 0x2a, 0x08, 0x08, 0x04, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x9f, 0x01, 0x0a, 0x17, 0x46,
- 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74,
- 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74,
- 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53,
- 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x65, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
- 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x13,
- 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
- 0x53, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x62, 0x32, 0x2e,
- 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78,
- 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
- 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x07, 0x0a,
- 0x0a, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6f,
- 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x42, 0x6f,
- 0x6f, 0x6c, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c,
- 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x38, 0x0a, 0x09,
- 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
- 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70,
- 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69,
- 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e,
- 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e,
- 0x74, 0x33, 0x32, 0x12, 0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36,
- 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34,
- 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
- 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x06, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
- 0x52, 0x08, 0x6f, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x6f, 0x70,
- 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
- 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f, 0x70,
- 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73,
- 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
- 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74,
- 0x72, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65,
- 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56,
- 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3c,
- 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x0b, 0x6f, 0x70, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0d,
- 0x6f, 0x70, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x15, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
- 0x0c, 0x6f, 0x70, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a,
- 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53,
- 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x6c, 0x69, 0x73,
- 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61,
- 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x09,
- 0x6f, 0x70, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
- 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x56, 0x61, 0x6c, 0x75,
- 0x65, 0x12, 0x33, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x1e,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x08, 0x6f, 0x70,
- 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2d, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x5f, 0x61, 0x6e,
- 0x79, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x6f,
- 0x70, 0x74, 0x41, 0x6e, 0x79, 0x2a, 0x35, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0b, 0x0a,
- 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49,
- 0x52, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10,
- 0x02, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x45, 0x4e, 0x54, 0x48, 0x10, 0x0a, 0x3a, 0x31, 0x0a, 0x0c,
- 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x0f, 0x2e, 0x70,
- 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x15, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x3a,
- 0x35, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
- 0x67, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
- 0x6e, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74,
- 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3c, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78,
- 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74,
- 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e,
- 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74,
- 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x42, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f,
- 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74,
- 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
- 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45,
- 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x3a, 0x37, 0x0a, 0x0f, 0x72, 0x70, 0x74, 0x5f,
- 0x65, 0x78, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x0f, 0x2e, 0x70, 0x62,
- 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1f, 0x20, 0x03,
- 0x28, 0x07, 0x52, 0x0d, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33,
- 0x32, 0x3a, 0x3c, 0x0a, 0x0c, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e, 0x75,
- 0x6d, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
- 0x6e, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45,
- 0x6e, 0x75, 0x6d, 0x52, 0x0a, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x3a,
- 0x42, 0x0a, 0x0e, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65,
- 0x64, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
- 0x6e, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e,
- 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73,
- 0x74, 0x65, 0x64, 0x3a, 0x61, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73,
- 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x2e, 0x70,
- 0x62, 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x32, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65,
- 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
- 0x6e, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74,
- 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x3e, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
- 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67,
- 0x2f, 0x74, 0x65, 0x78, 0x74, 0x70, 0x62, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x73, 0x2f, 0x70, 0x62, 0x32,
-}
-
-var fileDescriptor_c8d7acc1bcec9a72_gzipped = func() []byte {
- bb := new(bytes.Buffer)
- zw, _ := gzip.NewWriterLevel(bb, gzip.NoCompression)
- zw.Write(fileDescriptor_c8d7acc1bcec9a72)
- zw.Close()
- return bb.Bytes()
-}()
-
-const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
-
-var Test_protoFile protoreflect.FileDescriptor
-
-var xxx_Test_protoFile_enumTypes [2]protoreflect.EnumType
-var xxx_Test_protoFile_messageTypes [28]protoimpl.MessageType
-var xxx_Test_protoFile_goTypes = []interface{}{
- (Enum)(0), // 0: pb2.Enum
- (Enums_NestedEnum)(0), // 1: pb2.Enums.NestedEnum
- (*Scalars)(nil), // 2: pb2.Scalars
- (*Repeats)(nil), // 3: pb2.Repeats
- (*Enums)(nil), // 4: pb2.Enums
- (*Nests)(nil), // 5: pb2.Nests
- (*Nested)(nil), // 6: pb2.Nested
- (*Requireds)(nil), // 7: pb2.Requireds
- (*PartialRequired)(nil), // 8: pb2.PartialRequired
- (*Oneofs)(nil), // 9: pb2.Oneofs
- (*Maps)(nil), // 10: pb2.Maps
- (*NestedWithRequired)(nil), // 11: pb2.NestedWithRequired
- (*IndirectRequired)(nil), // 12: pb2.IndirectRequired
- (*Extensions)(nil), // 13: pb2.Extensions
- (*ExtensionsContainer)(nil), // 14: pb2.ExtensionsContainer
- (*MessageSet)(nil), // 15: pb2.MessageSet
- (*MessageSetExtension)(nil), // 16: pb2.MessageSetExtension
- (*FakeMessageSet)(nil), // 17: pb2.FakeMessageSet
- (*FakeMessageSetExtension)(nil), // 18: pb2.FakeMessageSetExtension
- (*KnownTypes)(nil), // 19: pb2.KnownTypes
- (*Nests_OptGroup)(nil), // 20: pb2.Nests.OptGroup
- (*Nests_RptGroup)(nil), // 21: pb2.Nests.RptGroup
- (*Nests_OptGroup_OptNestedGroup)(nil), // 22: pb2.Nests.OptGroup.OptNestedGroup
- nil, // 23: pb2.Maps.Int32ToStrEntry
- nil, // 24: pb2.Maps.Sfixed64ToBoolEntry
- nil, // 25: pb2.Maps.BoolToUint32Entry
- nil, // 26: pb2.Maps.Uint64ToEnumEntry
- nil, // 27: pb2.Maps.StrToNestedEntry
- nil, // 28: pb2.Maps.StrToOneofsEntry
- nil, // 29: pb2.IndirectRequired.StrToNestedEntry
- (*wrappers.BoolValue)(nil), // 30: google.protobuf.BoolValue
- (*wrappers.Int32Value)(nil), // 31: google.protobuf.Int32Value
- (*wrappers.Int64Value)(nil), // 32: google.protobuf.Int64Value
- (*wrappers.UInt32Value)(nil), // 33: google.protobuf.UInt32Value
- (*wrappers.UInt64Value)(nil), // 34: google.protobuf.UInt64Value
- (*wrappers.FloatValue)(nil), // 35: google.protobuf.FloatValue
- (*wrappers.DoubleValue)(nil), // 36: google.protobuf.DoubleValue
- (*wrappers.StringValue)(nil), // 37: google.protobuf.StringValue
- (*wrappers.BytesValue)(nil), // 38: google.protobuf.BytesValue
- (*duration.Duration)(nil), // 39: google.protobuf.Duration
- (*timestamp.Timestamp)(nil), // 40: google.protobuf.Timestamp
- (*_struct.Struct)(nil), // 41: google.protobuf.Struct
- (*_struct.ListValue)(nil), // 42: google.protobuf.ListValue
- (*_struct.Value)(nil), // 43: google.protobuf.Value
- (*empty.Empty)(nil), // 44: google.protobuf.Empty
- (*any.Any)(nil), // 45: google.protobuf.Any
-}
-var xxx_Test_protoFile_depIdxs = []int32{
- 13, // pb2.opt_ext_bool:extendee -> pb2.Extensions
- 13, // pb2.opt_ext_string:extendee -> pb2.Extensions
- 13, // pb2.opt_ext_enum:extendee -> pb2.Extensions
- 13, // pb2.opt_ext_nested:extendee -> pb2.Extensions
- 13, // pb2.rpt_ext_fixed32:extendee -> pb2.Extensions
- 13, // pb2.rpt_ext_enum:extendee -> pb2.Extensions
- 13, // pb2.rpt_ext_nested:extendee -> pb2.Extensions
- 15, // pb2.message_set_extension:extendee -> pb2.MessageSet
- 13, // pb2.ExtensionsContainer.opt_ext_bool:extendee -> pb2.Extensions
- 13, // pb2.ExtensionsContainer.opt_ext_string:extendee -> pb2.Extensions
- 13, // pb2.ExtensionsContainer.opt_ext_enum:extendee -> pb2.Extensions
- 13, // pb2.ExtensionsContainer.opt_ext_nested:extendee -> pb2.Extensions
- 13, // pb2.ExtensionsContainer.rpt_ext_string:extendee -> pb2.Extensions
- 13, // pb2.ExtensionsContainer.rpt_ext_enum:extendee -> pb2.Extensions
- 13, // pb2.ExtensionsContainer.rpt_ext_nested:extendee -> pb2.Extensions
- 15, // pb2.MessageSetExtension.message_set_extension:extendee -> pb2.MessageSet
- 15, // pb2.MessageSetExtension.not_message_set_extension:extendee -> pb2.MessageSet
- 15, // pb2.MessageSetExtension.ext_nested:extendee -> pb2.MessageSet
- 17, // pb2.FakeMessageSetExtension.message_set_extension:extendee -> pb2.FakeMessageSet
- 0, // pb2.Enums.opt_enum:type_name -> pb2.Enum
- 0, // pb2.Enums.rpt_enum:type_name -> pb2.Enum
- 1, // pb2.Enums.opt_nested_enum:type_name -> pb2.Enums.NestedEnum
- 1, // pb2.Enums.rpt_nested_enum:type_name -> pb2.Enums.NestedEnum
- 6, // pb2.Nests.opt_nested:type_name -> pb2.Nested
- 20, // pb2.Nests.optgroup:type_name -> pb2.Nests.OptGroup
- 6, // pb2.Nests.rpt_nested:type_name -> pb2.Nested
- 21, // pb2.Nests.rptgroup:type_name -> pb2.Nests.RptGroup
- 6, // pb2.Nested.opt_nested:type_name -> pb2.Nested
- 0, // pb2.Requireds.req_enum:type_name -> pb2.Enum
- 6, // pb2.Requireds.req_nested:type_name -> pb2.Nested
- 6, // pb2.Oneofs.msg:type_name -> pb2.Nested
- 23, // pb2.Maps.int32_to_str:type_name -> pb2.Maps.Int32ToStrEntry
- 24, // pb2.Maps.sfixed64_to_bool:type_name -> pb2.Maps.Sfixed64ToBoolEntry
- 25, // pb2.Maps.bool_to_uint32:type_name -> pb2.Maps.BoolToUint32Entry
- 26, // pb2.Maps.uint64_to_enum:type_name -> pb2.Maps.Uint64ToEnumEntry
- 27, // pb2.Maps.str_to_nested:type_name -> pb2.Maps.StrToNestedEntry
- 28, // pb2.Maps.str_to_oneofs:type_name -> pb2.Maps.StrToOneofsEntry
- 11, // pb2.IndirectRequired.opt_nested:type_name -> pb2.NestedWithRequired
- 11, // pb2.IndirectRequired.rpt_nested:type_name -> pb2.NestedWithRequired
- 29, // pb2.IndirectRequired.str_to_nested:type_name -> pb2.IndirectRequired.StrToNestedEntry
- 30, // pb2.KnownTypes.opt_bool:type_name -> google.protobuf.BoolValue
- 31, // pb2.KnownTypes.opt_int32:type_name -> google.protobuf.Int32Value
- 32, // pb2.KnownTypes.opt_int64:type_name -> google.protobuf.Int64Value
- 33, // pb2.KnownTypes.opt_uint32:type_name -> google.protobuf.UInt32Value
- 34, // pb2.KnownTypes.opt_uint64:type_name -> google.protobuf.UInt64Value
- 35, // pb2.KnownTypes.opt_float:type_name -> google.protobuf.FloatValue
- 36, // pb2.KnownTypes.opt_double:type_name -> google.protobuf.DoubleValue
- 37, // pb2.KnownTypes.opt_string:type_name -> google.protobuf.StringValue
- 38, // pb2.KnownTypes.opt_bytes:type_name -> google.protobuf.BytesValue
- 39, // pb2.KnownTypes.opt_duration:type_name -> google.protobuf.Duration
- 40, // pb2.KnownTypes.opt_timestamp:type_name -> google.protobuf.Timestamp
- 41, // pb2.KnownTypes.opt_struct:type_name -> google.protobuf.Struct
- 42, // pb2.KnownTypes.opt_list:type_name -> google.protobuf.ListValue
- 43, // pb2.KnownTypes.opt_value:type_name -> google.protobuf.Value
- 44, // pb2.KnownTypes.opt_empty:type_name -> google.protobuf.Empty
- 45, // pb2.KnownTypes.opt_any:type_name -> google.protobuf.Any
- 6, // pb2.Nests.OptGroup.opt_nested:type_name -> pb2.Nested
- 22, // pb2.Nests.OptGroup.optnestedgroup:type_name -> pb2.Nests.OptGroup.OptNestedGroup
- 0, // pb2.Nests.OptGroup.OptNestedGroup.opt_enum:type_name -> pb2.Enum
- 0, // pb2.Maps.Uint64ToEnumEntry.value:type_name -> pb2.Enum
- 6, // pb2.Maps.StrToNestedEntry.value:type_name -> pb2.Nested
- 9, // pb2.Maps.StrToOneofsEntry.value:type_name -> pb2.Oneofs
- 11, // pb2.IndirectRequired.StrToNestedEntry.value:type_name -> pb2.NestedWithRequired
- 0, // pb2.opt_ext_enum:type_name -> pb2.Enum
- 6, // pb2.opt_ext_nested:type_name -> pb2.Nested
- 0, // pb2.rpt_ext_enum:type_name -> pb2.Enum
- 6, // pb2.rpt_ext_nested:type_name -> pb2.Nested
- 18, // pb2.message_set_extension:type_name -> pb2.FakeMessageSetExtension
- 0, // pb2.ExtensionsContainer.opt_ext_enum:type_name -> pb2.Enum
- 6, // pb2.ExtensionsContainer.opt_ext_nested:type_name -> pb2.Nested
- 0, // pb2.ExtensionsContainer.rpt_ext_enum:type_name -> pb2.Enum
- 6, // pb2.ExtensionsContainer.rpt_ext_nested:type_name -> pb2.Nested
- 16, // pb2.MessageSetExtension.message_set_extension:type_name -> pb2.MessageSetExtension
- 16, // pb2.MessageSetExtension.not_message_set_extension:type_name -> pb2.MessageSetExtension
- 6, // pb2.MessageSetExtension.ext_nested:type_name -> pb2.Nested
- 18, // pb2.FakeMessageSetExtension.message_set_extension:type_name -> pb2.FakeMessageSetExtension
-}
-
-func init() {
- var messageTypes [28]protoreflect.MessageType
- var extensionTypes [19]protoreflect.ExtensionType
- Test_protoFile = protoimpl.FileBuilder{
- RawDescriptor: fileDescriptor_c8d7acc1bcec9a72,
- GoTypes: xxx_Test_protoFile_goTypes,
- DependencyIndexes: xxx_Test_protoFile_depIdxs,
- EnumOutputTypes: xxx_Test_protoFile_enumTypes[:],
- MessageOutputTypes: messageTypes[:],
- ExtensionOutputTypes: extensionTypes[:],
- }.Init()
- messageGoTypes := xxx_Test_protoFile_goTypes[2:][:28]
- for i, mt := range messageTypes[:] {
- xxx_Test_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
- xxx_Test_protoFile_messageTypes[i].PBType = mt
- }
- E_OptExtBool.Type = extensionTypes[0]
- E_OptExtString.Type = extensionTypes[1]
- E_OptExtEnum.Type = extensionTypes[2]
- E_OptExtNested.Type = extensionTypes[3]
- E_RptExtFixed32.Type = extensionTypes[4]
- E_RptExtEnum.Type = extensionTypes[5]
- E_RptExtNested.Type = extensionTypes[6]
- E_MessageSetExtension.Type = extensionTypes[7]
- E_ExtensionsContainer_OptExtBool.Type = extensionTypes[8]
- E_ExtensionsContainer_OptExtString.Type = extensionTypes[9]
- E_ExtensionsContainer_OptExtEnum.Type = extensionTypes[10]
- E_ExtensionsContainer_OptExtNested.Type = extensionTypes[11]
- E_ExtensionsContainer_RptExtString.Type = extensionTypes[12]
- E_ExtensionsContainer_RptExtEnum.Type = extensionTypes[13]
- E_ExtensionsContainer_RptExtNested.Type = extensionTypes[14]
- E_MessageSetExtension_MessageSetExtension.Type = extensionTypes[15]
- E_MessageSetExtension_NotMessageSetExtension.Type = extensionTypes[16]
- E_MessageSetExtension_ExtNested.Type = extensionTypes[17]
- E_FakeMessageSetExtension_MessageSetExtension.Type = extensionTypes[18]
- xxx_Test_protoFile_goTypes = nil
- xxx_Test_protoFile_depIdxs = nil
-}
diff --git a/encoding/textpb/testprotos/pb3/test.pb.go b/encoding/textpb/testprotos/pb3/test.pb.go
deleted file mode 100644
index a0c3e18..0000000
--- a/encoding/textpb/testprotos/pb3/test.pb.go
+++ /dev/null
@@ -1,510 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: encoding/textpb/testprotos/pb3/test.proto
-
-package pb3
-
-import (
- bytes "bytes"
- gzip "compress/gzip"
- proto "github.com/golang/protobuf/proto"
- protoreflect "github.com/golang/protobuf/v2/reflect/protoreflect"
- protoimpl "github.com/golang/protobuf/v2/runtime/protoimpl"
- reflect "reflect"
-)
-
-// 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 Enum int32
-
-const (
- Enum_ZERO Enum = 0
- Enum_ONE Enum = 1
- Enum_TWO Enum = 2
- Enum_TEN Enum = 10
-)
-
-func (e Enum) Type() protoreflect.EnumType {
- return xxx_Test_protoFile_enumTypes[0]
-}
-func (e Enum) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(e)
-}
-
-var Enum_name = map[int32]string{
- 0: "ZERO",
- 1: "ONE",
- 2: "TWO",
- 10: "TEN",
-}
-
-var Enum_value = map[string]int32{
- "ZERO": 0,
- "ONE": 1,
- "TWO": 2,
- "TEN": 10,
-}
-
-func (x Enum) String() string {
- return proto.EnumName(Enum_name, int32(x))
-}
-
-func (Enum) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_0854715c5b41c422_gzipped, []int{0}
-}
-
-type Enums_NestedEnum int32
-
-const (
- Enums_CERO Enums_NestedEnum = 0
- Enums_UNO Enums_NestedEnum = 1
- Enums_DOS Enums_NestedEnum = 2
- Enums_DIEZ Enums_NestedEnum = 10
-)
-
-func (e Enums_NestedEnum) Type() protoreflect.EnumType {
- return xxx_Test_protoFile_enumTypes[1]
-}
-func (e Enums_NestedEnum) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(e)
-}
-
-var Enums_NestedEnum_name = map[int32]string{
- 0: "CERO",
- 1: "UNO",
- 2: "DOS",
- 10: "DIEZ",
-}
-
-var Enums_NestedEnum_value = map[string]int32{
- "CERO": 0,
- "UNO": 1,
- "DOS": 2,
- "DIEZ": 10,
-}
-
-func (x Enums_NestedEnum) String() string {
- return proto.EnumName(Enums_NestedEnum_name, int32(x))
-}
-
-func (Enums_NestedEnum) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_0854715c5b41c422_gzipped, []int{1, 0}
-}
-
-// Scalars contains scalar field types.
-type Scalars struct {
- SBool bool `protobuf:"varint,1,opt,name=s_bool,json=sBool,proto3" json:"s_bool,omitempty"`
- SInt32 int32 `protobuf:"varint,2,opt,name=s_int32,json=sInt32,proto3" json:"s_int32,omitempty"`
- SInt64 int64 `protobuf:"varint,3,opt,name=s_int64,json=sInt64,proto3" json:"s_int64,omitempty"`
- SUint32 uint32 `protobuf:"varint,4,opt,name=s_uint32,json=sUint32,proto3" json:"s_uint32,omitempty"`
- SUint64 uint64 `protobuf:"varint,5,opt,name=s_uint64,json=sUint64,proto3" json:"s_uint64,omitempty"`
- SSint32 int32 `protobuf:"zigzag32,6,opt,name=s_sint32,json=sSint32,proto3" json:"s_sint32,omitempty"`
- SSint64 int64 `protobuf:"zigzag64,7,opt,name=s_sint64,json=sSint64,proto3" json:"s_sint64,omitempty"`
- SFixed32 uint32 `protobuf:"fixed32,8,opt,name=s_fixed32,json=sFixed32,proto3" json:"s_fixed32,omitempty"`
- SFixed64 uint64 `protobuf:"fixed64,9,opt,name=s_fixed64,json=sFixed64,proto3" json:"s_fixed64,omitempty"`
- SSfixed32 int32 `protobuf:"fixed32,10,opt,name=s_sfixed32,json=sSfixed32,proto3" json:"s_sfixed32,omitempty"`
- SSfixed64 int64 `protobuf:"fixed64,11,opt,name=s_sfixed64,json=sSfixed64,proto3" json:"s_sfixed64,omitempty"`
- SFloat float32 `protobuf:"fixed32,20,opt,name=s_float,json=sFloat,proto3" json:"s_float,omitempty"`
- SDouble float64 `protobuf:"fixed64,21,opt,name=s_double,json=sDouble,proto3" json:"s_double,omitempty"`
- SBytes []byte `protobuf:"bytes,14,opt,name=s_bytes,json=sBytes,proto3" json:"s_bytes,omitempty"`
- SString string `protobuf:"bytes,13,opt,name=s_string,json=sString,proto3" json:"s_string,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Scalars) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[0].MessageOf(m)
-}
-func (m *Scalars) Reset() { *m = Scalars{} }
-func (m *Scalars) String() string { return proto.CompactTextString(m) }
-func (*Scalars) ProtoMessage() {}
-func (*Scalars) Descriptor() ([]byte, []int) {
- return fileDescriptor_0854715c5b41c422_gzipped, []int{0}
-}
-
-func (m *Scalars) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Scalars.Unmarshal(m, b)
-}
-func (m *Scalars) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Scalars.Marshal(b, m, deterministic)
-}
-func (m *Scalars) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Scalars.Merge(m, src)
-}
-func (m *Scalars) XXX_Size() int {
- return xxx_messageInfo_Scalars.Size(m)
-}
-func (m *Scalars) XXX_DiscardUnknown() {
- xxx_messageInfo_Scalars.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Scalars proto.InternalMessageInfo
-
-func (m *Scalars) GetSBool() bool {
- if m != nil {
- return m.SBool
- }
- return false
-}
-
-func (m *Scalars) GetSInt32() int32 {
- if m != nil {
- return m.SInt32
- }
- return 0
-}
-
-func (m *Scalars) GetSInt64() int64 {
- if m != nil {
- return m.SInt64
- }
- return 0
-}
-
-func (m *Scalars) GetSUint32() uint32 {
- if m != nil {
- return m.SUint32
- }
- return 0
-}
-
-func (m *Scalars) GetSUint64() uint64 {
- if m != nil {
- return m.SUint64
- }
- return 0
-}
-
-func (m *Scalars) GetSSint32() int32 {
- if m != nil {
- return m.SSint32
- }
- return 0
-}
-
-func (m *Scalars) GetSSint64() int64 {
- if m != nil {
- return m.SSint64
- }
- return 0
-}
-
-func (m *Scalars) GetSFixed32() uint32 {
- if m != nil {
- return m.SFixed32
- }
- return 0
-}
-
-func (m *Scalars) GetSFixed64() uint64 {
- if m != nil {
- return m.SFixed64
- }
- return 0
-}
-
-func (m *Scalars) GetSSfixed32() int32 {
- if m != nil {
- return m.SSfixed32
- }
- return 0
-}
-
-func (m *Scalars) GetSSfixed64() int64 {
- if m != nil {
- return m.SSfixed64
- }
- return 0
-}
-
-func (m *Scalars) GetSFloat() float32 {
- if m != nil {
- return m.SFloat
- }
- return 0
-}
-
-func (m *Scalars) GetSDouble() float64 {
- if m != nil {
- return m.SDouble
- }
- return 0
-}
-
-func (m *Scalars) GetSBytes() []byte {
- if m != nil {
- return m.SBytes
- }
- return nil
-}
-
-func (m *Scalars) GetSString() string {
- if m != nil {
- return m.SString
- }
- return ""
-}
-
-// Message contains enum fields.
-type Enums struct {
- SEnum Enum `protobuf:"varint,1,opt,name=s_enum,json=sEnum,proto3,enum=pb3.Enum" json:"s_enum,omitempty"`
- SNestedEnum Enums_NestedEnum `protobuf:"varint,3,opt,name=s_nested_enum,json=sNestedEnum,proto3,enum=pb3.Enums_NestedEnum" json:"s_nested_enum,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Enums) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[1].MessageOf(m)
-}
-func (m *Enums) Reset() { *m = Enums{} }
-func (m *Enums) String() string { return proto.CompactTextString(m) }
-func (*Enums) ProtoMessage() {}
-func (*Enums) Descriptor() ([]byte, []int) {
- return fileDescriptor_0854715c5b41c422_gzipped, []int{1}
-}
-
-func (m *Enums) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Enums.Unmarshal(m, b)
-}
-func (m *Enums) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Enums.Marshal(b, m, deterministic)
-}
-func (m *Enums) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Enums.Merge(m, src)
-}
-func (m *Enums) XXX_Size() int {
- return xxx_messageInfo_Enums.Size(m)
-}
-func (m *Enums) XXX_DiscardUnknown() {
- xxx_messageInfo_Enums.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Enums proto.InternalMessageInfo
-
-func (m *Enums) GetSEnum() Enum {
- if m != nil {
- return m.SEnum
- }
- return Enum_ZERO
-}
-
-func (m *Enums) GetSNestedEnum() Enums_NestedEnum {
- if m != nil {
- return m.SNestedEnum
- }
- return Enums_CERO
-}
-
-// Message contains nested message field.
-type Nests struct {
- SNested *Nested `protobuf:"bytes,1,opt,name=s_nested,json=sNested,proto3" json:"s_nested,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Nests) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[2].MessageOf(m)
-}
-func (m *Nests) Reset() { *m = Nests{} }
-func (m *Nests) String() string { return proto.CompactTextString(m) }
-func (*Nests) ProtoMessage() {}
-func (*Nests) Descriptor() ([]byte, []int) {
- return fileDescriptor_0854715c5b41c422_gzipped, []int{2}
-}
-
-func (m *Nests) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Nests.Unmarshal(m, b)
-}
-func (m *Nests) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Nests.Marshal(b, m, deterministic)
-}
-func (m *Nests) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Nests.Merge(m, src)
-}
-func (m *Nests) XXX_Size() int {
- return xxx_messageInfo_Nests.Size(m)
-}
-func (m *Nests) XXX_DiscardUnknown() {
- xxx_messageInfo_Nests.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Nests proto.InternalMessageInfo
-
-func (m *Nests) GetSNested() *Nested {
- if m != nil {
- return m.SNested
- }
- return nil
-}
-
-// Message type used as submessage.
-type Nested struct {
- SString string `protobuf:"bytes,1,opt,name=s_string,json=sString,proto3" json:"s_string,omitempty"`
- SNested *Nested `protobuf:"bytes,2,opt,name=s_nested,json=sNested,proto3" json:"s_nested,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Nested) ProtoReflect() protoreflect.Message {
- return xxx_Test_protoFile_messageTypes[3].MessageOf(m)
-}
-func (m *Nested) Reset() { *m = Nested{} }
-func (m *Nested) String() string { return proto.CompactTextString(m) }
-func (*Nested) ProtoMessage() {}
-func (*Nested) Descriptor() ([]byte, []int) {
- return fileDescriptor_0854715c5b41c422_gzipped, []int{3}
-}
-
-func (m *Nested) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Nested.Unmarshal(m, b)
-}
-func (m *Nested) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Nested.Marshal(b, m, deterministic)
-}
-func (m *Nested) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Nested.Merge(m, src)
-}
-func (m *Nested) XXX_Size() int {
- return xxx_messageInfo_Nested.Size(m)
-}
-func (m *Nested) XXX_DiscardUnknown() {
- xxx_messageInfo_Nested.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Nested proto.InternalMessageInfo
-
-func (m *Nested) GetSString() string {
- if m != nil {
- return m.SString
- }
- return ""
-}
-
-func (m *Nested) GetSNested() *Nested {
- if m != nil {
- return m.SNested
- }
- return nil
-}
-
-func init() {
- proto.RegisterFile("encoding/textpb/testprotos/pb3/test.proto", fileDescriptor_0854715c5b41c422_gzipped)
- proto.RegisterEnum("pb3.Enum", Enum_name, Enum_value)
- proto.RegisterEnum("pb3.Enums_NestedEnum", Enums_NestedEnum_name, Enums_NestedEnum_value)
- proto.RegisterType((*Scalars)(nil), "pb3.Scalars")
- proto.RegisterType((*Enums)(nil), "pb3.Enums")
- proto.RegisterType((*Nests)(nil), "pb3.Nests")
- proto.RegisterType((*Nested)(nil), "pb3.Nested")
-}
-
-var fileDescriptor_0854715c5b41c422 = []byte{
- // 863 bytes of the wire-encoded FileDescriptorProto
- 0x0a, 0x29, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x70,
- 0x62, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x70, 0x62, 0x33,
- 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x70, 0x62, 0x33,
- 0x22, 0x9e, 0x03, 0x0a, 0x07, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x73, 0x12, 0x15, 0x0a, 0x06,
- 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x42,
- 0x6f, 0x6f, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x17, 0x0a, 0x07,
- 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73,
- 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
- 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
- 0x12, 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x04, 0x52, 0x07, 0x73, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x19, 0x0a, 0x08, 0x73,
- 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x73,
- 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x74,
- 0x36, 0x34, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x73, 0x53, 0x69, 0x6e, 0x74, 0x36,
- 0x34, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x08,
- 0x20, 0x01, 0x28, 0x07, 0x52, 0x08, 0x73, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x1b,
- 0x0a, 0x09, 0x73, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28,
- 0x06, 0x52, 0x08, 0x73, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x73,
- 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0f, 0x52,
- 0x09, 0x73, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x5f,
- 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x10, 0x52, 0x09,
- 0x73, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x5f, 0x66,
- 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x73, 0x46, 0x6c, 0x6f,
- 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x15,
- 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x73, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x17, 0x0a,
- 0x07, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06,
- 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x69,
- 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e,
- 0x67, 0x22, 0x98, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x12, 0x20, 0x0a, 0x06, 0x73,
- 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62,
- 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x39, 0x0a,
- 0x0d, 0x73, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x73,
- 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0b, 0x73, 0x4e, 0x65,
- 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x22, 0x32, 0x0a, 0x0a, 0x4e, 0x65, 0x73, 0x74,
- 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x45, 0x52, 0x4f, 0x10, 0x00,
- 0x12, 0x07, 0x0a, 0x03, 0x55, 0x4e, 0x4f, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4f, 0x53,
- 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x49, 0x45, 0x5a, 0x10, 0x0a, 0x22, 0x2f, 0x0a, 0x05,
- 0x4e, 0x65, 0x73, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x08, 0x73, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65,
- 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x4e, 0x65,
- 0x73, 0x74, 0x65, 0x64, 0x52, 0x07, 0x73, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x4b, 0x0a,
- 0x06, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x73, 0x74, 0x72,
- 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x53, 0x74, 0x72, 0x69,
- 0x6e, 0x67, 0x12, 0x26, 0x0a, 0x08, 0x73, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
- 0x64, 0x52, 0x07, 0x73, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x2a, 0x2b, 0x0a, 0x04, 0x45, 0x6e,
- 0x75, 0x6d, 0x12, 0x08, 0x0a, 0x04, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03,
- 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x57, 0x4f, 0x10, 0x02, 0x12, 0x07,
- 0x0a, 0x03, 0x54, 0x45, 0x4e, 0x10, 0x0a, 0x42, 0x3e, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75,
- 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e,
- 0x67, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x70, 0x62, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x73, 0x2f, 0x70, 0x62, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var fileDescriptor_0854715c5b41c422_gzipped = func() []byte {
- bb := new(bytes.Buffer)
- zw, _ := gzip.NewWriterLevel(bb, gzip.NoCompression)
- zw.Write(fileDescriptor_0854715c5b41c422)
- zw.Close()
- return bb.Bytes()
-}()
-
-const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
-
-var Test_protoFile protoreflect.FileDescriptor
-
-var xxx_Test_protoFile_enumTypes [2]protoreflect.EnumType
-var xxx_Test_protoFile_messageTypes [4]protoimpl.MessageType
-var xxx_Test_protoFile_goTypes = []interface{}{
- (Enum)(0), // 0: pb3.Enum
- (Enums_NestedEnum)(0), // 1: pb3.Enums.NestedEnum
- (*Scalars)(nil), // 2: pb3.Scalars
- (*Enums)(nil), // 3: pb3.Enums
- (*Nests)(nil), // 4: pb3.Nests
- (*Nested)(nil), // 5: pb3.Nested
-}
-var xxx_Test_protoFile_depIdxs = []int32{
- 0, // pb3.Enums.s_enum:type_name -> pb3.Enum
- 1, // pb3.Enums.s_nested_enum:type_name -> pb3.Enums.NestedEnum
- 5, // pb3.Nests.s_nested:type_name -> pb3.Nested
- 5, // pb3.Nested.s_nested:type_name -> pb3.Nested
-}
-
-func init() {
- var messageTypes [4]protoreflect.MessageType
- Test_protoFile = protoimpl.FileBuilder{
- RawDescriptor: fileDescriptor_0854715c5b41c422,
- GoTypes: xxx_Test_protoFile_goTypes,
- DependencyIndexes: xxx_Test_protoFile_depIdxs,
- EnumOutputTypes: xxx_Test_protoFile_enumTypes[:],
- MessageOutputTypes: messageTypes[:],
- }.Init()
- messageGoTypes := xxx_Test_protoFile_goTypes[2:][:4]
- for i, mt := range messageTypes[:] {
- xxx_Test_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
- xxx_Test_protoFile_messageTypes[i].PBType = mt
- }
- xxx_Test_protoFile_goTypes = nil
- xxx_Test_protoFile_depIdxs = nil
-}