// Code generated by protoc-gen-go. DO NOT EDIT. // source: pb2/test.proto package pb2 import ( proto "github.com/golang/protobuf/proto" protoapi "github.com/golang/protobuf/protoapi" protoreflect "github.com/golang/protobuf/v2/reflect/protoreflect" protoimpl "github.com/golang/protobuf/v2/runtime/protoimpl" known "github.com/golang/protobuf/v2/types/known" 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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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 *known.BoolValue `protobuf:"bytes,1,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"` OptInt32 *known.Int32Value `protobuf:"bytes,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"` OptInt64 *known.Int64Value `protobuf:"bytes,3,opt,name=opt_int64,json=optInt64" json:"opt_int64,omitempty"` OptUint32 *known.UInt32Value `protobuf:"bytes,4,opt,name=opt_uint32,json=optUint32" json:"opt_uint32,omitempty"` OptUint64 *known.UInt64Value `protobuf:"bytes,5,opt,name=opt_uint64,json=optUint64" json:"opt_uint64,omitempty"` OptFloat *known.FloatValue `protobuf:"bytes,6,opt,name=opt_float,json=optFloat" json:"opt_float,omitempty"` OptDouble *known.DoubleValue `protobuf:"bytes,7,opt,name=opt_double,json=optDouble" json:"opt_double,omitempty"` OptString *known.StringValue `protobuf:"bytes,8,opt,name=opt_string,json=optString" json:"opt_string,omitempty"` OptBytes *known.BytesValue `protobuf:"bytes,9,opt,name=opt_bytes,json=optBytes" json:"opt_bytes,omitempty"` OptDuration *known.Duration `protobuf:"bytes,20,opt,name=opt_duration,json=optDuration" json:"opt_duration,omitempty"` OptTimestamp *known.Timestamp `protobuf:"bytes,21,opt,name=opt_timestamp,json=optTimestamp" json:"opt_timestamp,omitempty"` OptStruct *known.Struct `protobuf:"bytes,25,opt,name=opt_struct,json=optStruct" json:"opt_struct,omitempty"` OptList *known.ListValue `protobuf:"bytes,26,opt,name=opt_list,json=optList" json:"opt_list,omitempty"` OptValue *known.Value `protobuf:"bytes,27,opt,name=opt_value,json=optValue" json:"opt_value,omitempty"` OptEmpty *known.Empty `protobuf:"bytes,30,opt,name=opt_empty,json=optEmpty" json:"opt_empty,omitempty"` OptAny *known.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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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() *known.BoolValue { if m != nil { return m.OptBool } return nil } func (m *KnownTypes) GetOptInt32() *known.Int32Value { if m != nil { return m.OptInt32 } return nil } func (m *KnownTypes) GetOptInt64() *known.Int64Value { if m != nil { return m.OptInt64 } return nil } func (m *KnownTypes) GetOptUint32() *known.UInt32Value { if m != nil { return m.OptUint32 } return nil } func (m *KnownTypes) GetOptUint64() *known.UInt64Value { if m != nil { return m.OptUint64 } return nil } func (m *KnownTypes) GetOptFloat() *known.FloatValue { if m != nil { return m.OptFloat } return nil } func (m *KnownTypes) GetOptDouble() *known.DoubleValue { if m != nil { return m.OptDouble } return nil } func (m *KnownTypes) GetOptString() *known.StringValue { if m != nil { return m.OptString } return nil } func (m *KnownTypes) GetOptBytes() *known.BytesValue { if m != nil { return m.OptBytes } return nil } func (m *KnownTypes) GetOptDuration() *known.Duration { if m != nil { return m.OptDuration } return nil } func (m *KnownTypes) GetOptTimestamp() *known.Timestamp { if m != nil { return m.OptTimestamp } return nil } func (m *KnownTypes) GetOptStruct() *known.Struct { if m != nil { return m.OptStruct } return nil } func (m *KnownTypes) GetOptList() *known.ListValue { if m != nil { return m.OptList } return nil } func (m *KnownTypes) GetOptValue() *known.Value { if m != nil { return m.OptValue } return nil } func (m *KnownTypes) GetOptEmpty() *known.Empty { if m != nil { return m.OptEmpty } return nil } func (m *KnownTypes) GetOptAny() *known.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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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_File_pb2_test_proto_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 xxx_File_pb2_test_proto_rawdesc_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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "pb2/test.proto", } func init() { proto.RegisterFile("pb2/test.proto", xxx_File_pb2_test_proto_rawdesc_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 xxx_File_pb2_test_proto_rawdesc = []byte{ // 5126 bytes of the wire-encoded FileDescriptorProto 0x0a, 0x0e, 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 xxx_File_pb2_test_proto_rawdesc_gzipped = protoapi.CompressGZIP(xxx_File_pb2_test_proto_rawdesc) const _ = protoimpl.EnforceVersion(protoimpl.Version - 0) var File_pb2_test_proto protoreflect.FileDescriptor var xxx_File_pb2_test_proto_enumTypes = make([]protoreflect.EnumType, 2) var xxx_File_pb2_test_proto_messageTypes = make([]protoimpl.MessageType, 20) var xxx_File_pb2_test_proto_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 (*known.BoolValue)(nil), // 22: google.protobuf.BoolValue (*known.Int32Value)(nil), // 23: google.protobuf.Int32Value (*known.Int64Value)(nil), // 24: google.protobuf.Int64Value (*known.UInt32Value)(nil), // 25: google.protobuf.UInt32Value (*known.UInt64Value)(nil), // 26: google.protobuf.UInt64Value (*known.FloatValue)(nil), // 27: google.protobuf.FloatValue (*known.DoubleValue)(nil), // 28: google.protobuf.DoubleValue (*known.StringValue)(nil), // 29: google.protobuf.StringValue (*known.BytesValue)(nil), // 30: google.protobuf.BytesValue (*known.Duration)(nil), // 31: google.protobuf.Duration (*known.Timestamp)(nil), // 32: google.protobuf.Timestamp (*known.Struct)(nil), // 33: google.protobuf.Struct (*known.ListValue)(nil), // 34: google.protobuf.ListValue (*known.Value)(nil), // 35: google.protobuf.Value (*known.Empty)(nil), // 36: google.protobuf.Empty (*known.Any)(nil), // 37: google.protobuf.Any } var xxx_File_pb2_test_proto_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() { xxx_File_pb2_test_proto_init() } func xxx_File_pb2_test_proto_init() { if File_pb2_test_proto != nil { return } messageTypes := make([]protoreflect.MessageType, 20) extensionTypes := make([]protoreflect.ExtensionType, 19) File_pb2_test_proto = protoimpl.FileBuilder{ RawDescriptor: xxx_File_pb2_test_proto_rawdesc, GoTypes: xxx_File_pb2_test_proto_goTypes, DependencyIndexes: xxx_File_pb2_test_proto_depIdxs, EnumOutputTypes: xxx_File_pb2_test_proto_enumTypes, MessageOutputTypes: messageTypes, ExtensionOutputTypes: extensionTypes, }.Init() messageGoTypes := xxx_File_pb2_test_proto_goTypes[2:][:20] for i, mt := range messageTypes { xxx_File_pb2_test_proto_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i]) xxx_File_pb2_test_proto_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_File_pb2_test_proto_goTypes = nil xxx_File_pb2_test_proto_depIdxs = nil }