// Copyright 2024 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.

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: internal/testprotos/testeditions/testeditions_opaque/test.opaque.proto

package testeditions_opaque

import (
	enums_opaque "google.golang.org/protobuf/internal/testprotos/enums/enums_opaque"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	_ "google.golang.org/protobuf/types/gofeaturespb"
	reflect "reflect"
)

type ForeignEnum int32

const (
	ForeignEnum_FOREIGN_ZERO ForeignEnum = 0
	ForeignEnum_FOREIGN_FOO  ForeignEnum = 4
	ForeignEnum_FOREIGN_BAR  ForeignEnum = 5
	ForeignEnum_FOREIGN_BAZ  ForeignEnum = 6
)

// Enum value maps for ForeignEnum.
var (
	ForeignEnum_name = map[int32]string{
		0: "FOREIGN_ZERO",
		4: "FOREIGN_FOO",
		5: "FOREIGN_BAR",
		6: "FOREIGN_BAZ",
	}
	ForeignEnum_value = map[string]int32{
		"FOREIGN_ZERO": 0,
		"FOREIGN_FOO":  4,
		"FOREIGN_BAR":  5,
		"FOREIGN_BAZ":  6,
	}
)

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

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

func (ForeignEnum) Descriptor() protoreflect.EnumDescriptor {
	return file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_enumTypes[0].Descriptor()
}

func (ForeignEnum) Type() protoreflect.EnumType {
	return &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_enumTypes[0]
}

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

type TestAllTypes_NestedEnum int32

const (
	TestAllTypes_FOO TestAllTypes_NestedEnum = 0
	TestAllTypes_BAR TestAllTypes_NestedEnum = 1
	TestAllTypes_BAZ TestAllTypes_NestedEnum = 2
	TestAllTypes_NEG TestAllTypes_NestedEnum = -1 // Intentionally negative.
)

// Enum value maps for TestAllTypes_NestedEnum.
var (
	TestAllTypes_NestedEnum_name = map[int32]string{
		0:  "FOO",
		1:  "BAR",
		2:  "BAZ",
		-1: "NEG",
	}
	TestAllTypes_NestedEnum_value = map[string]int32{
		"FOO": 0,
		"BAR": 1,
		"BAZ": 2,
		"NEG": -1,
	}
)

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

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

func (TestAllTypes_NestedEnum) Descriptor() protoreflect.EnumDescriptor {
	return file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_enumTypes[1].Descriptor()
}

func (TestAllTypes_NestedEnum) Type() protoreflect.EnumType {
	return &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_enumTypes[1]
}

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

type TestAllTypes struct {
	state                                protoimpl.MessageState                 `protogen:"opaque.v1"`
	xxx_hidden_SingularInt32             int32                                  `protobuf:"varint,124,opt,name=singular_int32,json=singularInt32" json:"singular_int32,omitempty"`
	xxx_hidden_SingularInt64             int64                                  `protobuf:"varint,125,opt,name=singular_int64,json=singularInt64" json:"singular_int64,omitempty"`
	xxx_hidden_SingularUint32            uint32                                 `protobuf:"varint,126,opt,name=singular_uint32,json=singularUint32" json:"singular_uint32,omitempty"`
	xxx_hidden_SingularUint64            uint64                                 `protobuf:"varint,127,opt,name=singular_uint64,json=singularUint64" json:"singular_uint64,omitempty"`
	xxx_hidden_SingularSint32            int32                                  `protobuf:"zigzag32,128,opt,name=singular_sint32,json=singularSint32" json:"singular_sint32,omitempty"`
	xxx_hidden_SingularSint64            int64                                  `protobuf:"zigzag64,129,opt,name=singular_sint64,json=singularSint64" json:"singular_sint64,omitempty"`
	xxx_hidden_SingularFixed32           uint32                                 `protobuf:"fixed32,130,opt,name=singular_fixed32,json=singularFixed32" json:"singular_fixed32,omitempty"`
	xxx_hidden_SingularFixed64           uint64                                 `protobuf:"fixed64,131,opt,name=singular_fixed64,json=singularFixed64" json:"singular_fixed64,omitempty"`
	xxx_hidden_SingularSfixed32          int32                                  `protobuf:"fixed32,132,opt,name=singular_sfixed32,json=singularSfixed32" json:"singular_sfixed32,omitempty"`
	xxx_hidden_SingularSfixed64          int64                                  `protobuf:"fixed64,133,opt,name=singular_sfixed64,json=singularSfixed64" json:"singular_sfixed64,omitempty"`
	xxx_hidden_SingularFloat             float32                                `protobuf:"fixed32,134,opt,name=singular_float,json=singularFloat" json:"singular_float,omitempty"`
	xxx_hidden_SingularDouble            float64                                `protobuf:"fixed64,135,opt,name=singular_double,json=singularDouble" json:"singular_double,omitempty"`
	xxx_hidden_SingularBool              bool                                   `protobuf:"varint,136,opt,name=singular_bool,json=singularBool" json:"singular_bool,omitempty"`
	xxx_hidden_SingularString            string                                 `protobuf:"bytes,137,opt,name=singular_string,json=singularString" json:"singular_string,omitempty"`
	xxx_hidden_SingularBytes             []byte                                 `protobuf:"bytes,138,opt,name=singular_bytes,json=singularBytes" json:"singular_bytes,omitempty"`
	xxx_hidden_SingularNestedEnum        TestAllTypes_NestedEnum                `protobuf:"varint,142,opt,name=singular_nested_enum,json=singularNestedEnum,enum=opaque.goproto.proto.testeditions.TestAllTypes_NestedEnum" json:"singular_nested_enum,omitempty"`
	xxx_hidden_SingularForeignEnum       ForeignEnum                            `protobuf:"varint,143,opt,name=singular_foreign_enum,json=singularForeignEnum,enum=opaque.goproto.proto.testeditions.ForeignEnum" json:"singular_foreign_enum,omitempty"`
	xxx_hidden_SingularImportEnum        ImportEnum                             `protobuf:"varint,144,opt,name=singular_import_enum,json=singularImportEnum,enum=opaque.goproto.proto.testeditions.ImportEnum" json:"singular_import_enum,omitempty"`
	xxx_hidden_OptionalInt32             int32                                  `protobuf:"varint,1,opt,name=optional_int32,json=optionalInt32" json:"optional_int32,omitempty"`
	xxx_hidden_OptionalInt64             int64                                  `protobuf:"varint,2,opt,name=optional_int64,json=optionalInt64" json:"optional_int64,omitempty"`
	xxx_hidden_OptionalUint32            uint32                                 `protobuf:"varint,3,opt,name=optional_uint32,json=optionalUint32" json:"optional_uint32,omitempty"`
	xxx_hidden_OptionalUint64            uint64                                 `protobuf:"varint,4,opt,name=optional_uint64,json=optionalUint64" json:"optional_uint64,omitempty"`
	xxx_hidden_OptionalSint32            int32                                  `protobuf:"zigzag32,5,opt,name=optional_sint32,json=optionalSint32" json:"optional_sint32,omitempty"`
	xxx_hidden_OptionalSint64            int64                                  `protobuf:"zigzag64,6,opt,name=optional_sint64,json=optionalSint64" json:"optional_sint64,omitempty"`
	xxx_hidden_OptionalFixed32           uint32                                 `protobuf:"fixed32,7,opt,name=optional_fixed32,json=optionalFixed32" json:"optional_fixed32,omitempty"`
	xxx_hidden_OptionalFixed64           uint64                                 `protobuf:"fixed64,8,opt,name=optional_fixed64,json=optionalFixed64" json:"optional_fixed64,omitempty"`
	xxx_hidden_OptionalSfixed32          int32                                  `protobuf:"fixed32,9,opt,name=optional_sfixed32,json=optionalSfixed32" json:"optional_sfixed32,omitempty"`
	xxx_hidden_OptionalSfixed64          int64                                  `protobuf:"fixed64,10,opt,name=optional_sfixed64,json=optionalSfixed64" json:"optional_sfixed64,omitempty"`
	xxx_hidden_OptionalFloat             float32                                `protobuf:"fixed32,11,opt,name=optional_float,json=optionalFloat" json:"optional_float,omitempty"`
	xxx_hidden_OptionalDouble            float64                                `protobuf:"fixed64,12,opt,name=optional_double,json=optionalDouble" json:"optional_double,omitempty"`
	xxx_hidden_OptionalBool              bool                                   `protobuf:"varint,13,opt,name=optional_bool,json=optionalBool" json:"optional_bool,omitempty"`
	xxx_hidden_OptionalString            *string                                `protobuf:"bytes,14,opt,name=optional_string,json=optionalString" json:"optional_string,omitempty"`
	xxx_hidden_OptionalBytes             []byte                                 `protobuf:"bytes,15,opt,name=optional_bytes,json=optionalBytes" json:"optional_bytes,omitempty"`
	xxx_hidden_Optionalgroup             *TestAllTypes_OptionalGroup            `protobuf:"group,16,opt,name=OptionalGroup,json=optionalgroup" json:"optionalgroup,omitempty"`
	xxx_hidden_NotGroupLikeDelimited     *TestAllTypes_OptionalGroup            `protobuf:"group,17,opt,name=OptionalGroup,json=notGroupLikeDelimited" json:"not_group_like_delimited,omitempty"`
	xxx_hidden_OptionalNestedMessage     *TestAllTypes_NestedMessage            `protobuf:"bytes,18,opt,name=optional_nested_message,json=optionalNestedMessage" json:"optional_nested_message,omitempty"`
	xxx_hidden_OptionalForeignMessage    *ForeignMessage                        `protobuf:"bytes,19,opt,name=optional_foreign_message,json=optionalForeignMessage" json:"optional_foreign_message,omitempty"`
	xxx_hidden_OptionalImportMessage     *ImportMessage                         `protobuf:"bytes,20,opt,name=optional_import_message,json=optionalImportMessage" json:"optional_import_message,omitempty"`
	xxx_hidden_OptionalNestedEnum        TestAllTypes_NestedEnum                `protobuf:"varint,21,opt,name=optional_nested_enum,json=optionalNestedEnum,enum=opaque.goproto.proto.testeditions.TestAllTypes_NestedEnum" json:"optional_nested_enum,omitempty"`
	xxx_hidden_OptionalForeignEnum       ForeignEnum                            `protobuf:"varint,22,opt,name=optional_foreign_enum,json=optionalForeignEnum,enum=opaque.goproto.proto.testeditions.ForeignEnum" json:"optional_foreign_enum,omitempty"`
	xxx_hidden_OptionalImportEnum        ImportEnum                             `protobuf:"varint,23,opt,name=optional_import_enum,json=optionalImportEnum,enum=opaque.goproto.proto.testeditions.ImportEnum" json:"optional_import_enum,omitempty"`
	xxx_hidden_OptionalLazyNestedMessage *TestAllTypes_NestedMessage            `protobuf:"bytes,24,opt,name=optional_lazy_nested_message,json=optionalLazyNestedMessage" json:"optional_lazy_nested_message,omitempty"`
	xxx_hidden_RepeatedInt32             []int32                                `protobuf:"varint,31,rep,packed,name=repeated_int32,json=repeatedInt32" json:"repeated_int32,omitempty"`
	xxx_hidden_RepeatedInt64             []int64                                `protobuf:"varint,32,rep,packed,name=repeated_int64,json=repeatedInt64" json:"repeated_int64,omitempty"`
	xxx_hidden_RepeatedUint32            []uint32                               `protobuf:"varint,33,rep,packed,name=repeated_uint32,json=repeatedUint32" json:"repeated_uint32,omitempty"`
	xxx_hidden_RepeatedUint64            []uint64                               `protobuf:"varint,34,rep,packed,name=repeated_uint64,json=repeatedUint64" json:"repeated_uint64,omitempty"`
	xxx_hidden_RepeatedSint32            []int32                                `protobuf:"zigzag32,35,rep,packed,name=repeated_sint32,json=repeatedSint32" json:"repeated_sint32,omitempty"`
	xxx_hidden_RepeatedSint64            []int64                                `protobuf:"zigzag64,36,rep,packed,name=repeated_sint64,json=repeatedSint64" json:"repeated_sint64,omitempty"`
	xxx_hidden_RepeatedFixed32           []uint32                               `protobuf:"fixed32,37,rep,packed,name=repeated_fixed32,json=repeatedFixed32" json:"repeated_fixed32,omitempty"`
	xxx_hidden_RepeatedFixed64           []uint64                               `protobuf:"fixed64,38,rep,packed,name=repeated_fixed64,json=repeatedFixed64" json:"repeated_fixed64,omitempty"`
	xxx_hidden_RepeatedSfixed32          []int32                                `protobuf:"fixed32,39,rep,packed,name=repeated_sfixed32,json=repeatedSfixed32" json:"repeated_sfixed32,omitempty"`
	xxx_hidden_RepeatedSfixed64          []int64                                `protobuf:"fixed64,40,rep,packed,name=repeated_sfixed64,json=repeatedSfixed64" json:"repeated_sfixed64,omitempty"`
	xxx_hidden_RepeatedFloat             []float32                              `protobuf:"fixed32,41,rep,packed,name=repeated_float,json=repeatedFloat" json:"repeated_float,omitempty"`
	xxx_hidden_RepeatedDouble            []float64                              `protobuf:"fixed64,42,rep,packed,name=repeated_double,json=repeatedDouble" json:"repeated_double,omitempty"`
	xxx_hidden_RepeatedBool              []bool                                 `protobuf:"varint,43,rep,packed,name=repeated_bool,json=repeatedBool" json:"repeated_bool,omitempty"`
	xxx_hidden_RepeatedString            []string                               `protobuf:"bytes,44,rep,name=repeated_string,json=repeatedString" json:"repeated_string,omitempty"`
	xxx_hidden_RepeatedBytes             [][]byte                               `protobuf:"bytes,45,rep,name=repeated_bytes,json=repeatedBytes" json:"repeated_bytes,omitempty"`
	xxx_hidden_Repeatedgroup             *[]*TestAllTypes_RepeatedGroup         `protobuf:"group,46,rep,name=RepeatedGroup,json=repeatedgroup" json:"repeatedgroup,omitempty"`
	xxx_hidden_RepeatedNestedMessage     *[]*TestAllTypes_NestedMessage         `protobuf:"bytes,48,rep,name=repeated_nested_message,json=repeatedNestedMessage" json:"repeated_nested_message,omitempty"`
	xxx_hidden_RepeatedForeignMessage    *[]*ForeignMessage                     `protobuf:"bytes,49,rep,name=repeated_foreign_message,json=repeatedForeignMessage" json:"repeated_foreign_message,omitempty"`
	xxx_hidden_RepeatedImportmessage     *[]*ImportMessage                      `protobuf:"bytes,50,rep,name=repeated_importmessage,json=repeatedImportmessage" json:"repeated_importmessage,omitempty"`
	xxx_hidden_RepeatedNestedEnum        []TestAllTypes_NestedEnum              `protobuf:"varint,51,rep,packed,name=repeated_nested_enum,json=repeatedNestedEnum,enum=opaque.goproto.proto.testeditions.TestAllTypes_NestedEnum" json:"repeated_nested_enum,omitempty"`
	xxx_hidden_RepeatedForeignEnum       []ForeignEnum                          `protobuf:"varint,52,rep,packed,name=repeated_foreign_enum,json=repeatedForeignEnum,enum=opaque.goproto.proto.testeditions.ForeignEnum" json:"repeated_foreign_enum,omitempty"`
	xxx_hidden_RepeatedImportenum        []ImportEnum                           `protobuf:"varint,53,rep,packed,name=repeated_importenum,json=repeatedImportenum,enum=opaque.goproto.proto.testeditions.ImportEnum" json:"repeated_importenum,omitempty"`
	xxx_hidden_MapInt32Int32             map[int32]int32                        `protobuf:"bytes,56,rep,name=map_int32_int32,json=mapInt32Int32" json:"map_int32_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	xxx_hidden_MapInt64Int64             map[int64]int64                        `protobuf:"bytes,57,rep,name=map_int64_int64,json=mapInt64Int64" json:"map_int64_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	xxx_hidden_MapUint32Uint32           map[uint32]uint32                      `protobuf:"bytes,58,rep,name=map_uint32_uint32,json=mapUint32Uint32" json:"map_uint32_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	xxx_hidden_MapUint64Uint64           map[uint64]uint64                      `protobuf:"bytes,59,rep,name=map_uint64_uint64,json=mapUint64Uint64" json:"map_uint64_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	xxx_hidden_MapSint32Sint32           map[int32]int32                        `protobuf:"bytes,60,rep,name=map_sint32_sint32,json=mapSint32Sint32" json:"map_sint32_sint32,omitempty" protobuf_key:"zigzag32,1,opt,name=key" protobuf_val:"zigzag32,2,opt,name=value"`
	xxx_hidden_MapSint64Sint64           map[int64]int64                        `protobuf:"bytes,61,rep,name=map_sint64_sint64,json=mapSint64Sint64" json:"map_sint64_sint64,omitempty" protobuf_key:"zigzag64,1,opt,name=key" protobuf_val:"zigzag64,2,opt,name=value"`
	xxx_hidden_MapFixed32Fixed32         map[uint32]uint32                      `protobuf:"bytes,62,rep,name=map_fixed32_fixed32,json=mapFixed32Fixed32" json:"map_fixed32_fixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
	xxx_hidden_MapFixed64Fixed64         map[uint64]uint64                      `protobuf:"bytes,63,rep,name=map_fixed64_fixed64,json=mapFixed64Fixed64" json:"map_fixed64_fixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	xxx_hidden_MapSfixed32Sfixed32       map[int32]int32                        `protobuf:"bytes,64,rep,name=map_sfixed32_sfixed32,json=mapSfixed32Sfixed32" json:"map_sfixed32_sfixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
	xxx_hidden_MapSfixed64Sfixed64       map[int64]int64                        `protobuf:"bytes,65,rep,name=map_sfixed64_sfixed64,json=mapSfixed64Sfixed64" json:"map_sfixed64_sfixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	xxx_hidden_MapInt32Float             map[int32]float32                      `protobuf:"bytes,66,rep,name=map_int32_float,json=mapInt32Float" json:"map_int32_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
	xxx_hidden_MapInt32Double            map[int32]float64                      `protobuf:"bytes,67,rep,name=map_int32_double,json=mapInt32Double" json:"map_int32_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	xxx_hidden_MapBoolBool               map[bool]bool                          `protobuf:"bytes,68,rep,name=map_bool_bool,json=mapBoolBool" json:"map_bool_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	xxx_hidden_MapStringString           map[string]string                      `protobuf:"bytes,69,rep,name=map_string_string,json=mapStringString" json:"map_string_string,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	xxx_hidden_MapStringBytes            map[string][]byte                      `protobuf:"bytes,70,rep,name=map_string_bytes,json=mapStringBytes" json:"map_string_bytes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	xxx_hidden_MapStringNestedMessage    map[string]*TestAllTypes_NestedMessage `protobuf:"bytes,71,rep,name=map_string_nested_message,json=mapStringNestedMessage" json:"map_string_nested_message,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	xxx_hidden_MapStringNestedEnum       map[string]TestAllTypes_NestedEnum     `protobuf:"bytes,73,rep,name=map_string_nested_enum,json=mapStringNestedEnum" json:"map_string_nested_enum,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=opaque.goproto.proto.testeditions.TestAllTypes_NestedEnum"`
	xxx_hidden_DefaultInt32              int32                                  `protobuf:"varint,81,opt,name=default_int32,json=defaultInt32,def=81" json:"default_int32,omitempty"`
	xxx_hidden_DefaultInt64              int64                                  `protobuf:"varint,82,opt,name=default_int64,json=defaultInt64,def=82" json:"default_int64,omitempty"`
	xxx_hidden_DefaultUint32             uint32                                 `protobuf:"varint,83,opt,name=default_uint32,json=defaultUint32,def=83" json:"default_uint32,omitempty"`
	xxx_hidden_DefaultUint64             uint64                                 `protobuf:"varint,84,opt,name=default_uint64,json=defaultUint64,def=84" json:"default_uint64,omitempty"`
	xxx_hidden_DefaultSint32             int32                                  `protobuf:"zigzag32,85,opt,name=default_sint32,json=defaultSint32,def=-85" json:"default_sint32,omitempty"`
	xxx_hidden_DefaultSint64             int64                                  `protobuf:"zigzag64,86,opt,name=default_sint64,json=defaultSint64,def=86" json:"default_sint64,omitempty"`
	xxx_hidden_DefaultFixed32            uint32                                 `protobuf:"fixed32,87,opt,name=default_fixed32,json=defaultFixed32,def=87" json:"default_fixed32,omitempty"`
	xxx_hidden_DefaultFixed64            uint64                                 `protobuf:"fixed64,88,opt,name=default_fixed64,json=defaultFixed64,def=88" json:"default_fixed64,omitempty"`
	xxx_hidden_DefaultSfixed32           int32                                  `protobuf:"fixed32,89,opt,name=default_sfixed32,json=defaultSfixed32,def=89" json:"default_sfixed32,omitempty"`
	xxx_hidden_DefaultSfixed64           int64                                  `protobuf:"fixed64,80,opt,name=default_sfixed64,json=defaultSfixed64,def=-90" json:"default_sfixed64,omitempty"`
	xxx_hidden_DefaultFloat              float32                                `protobuf:"fixed32,91,opt,name=default_float,json=defaultFloat,def=91.5" json:"default_float,omitempty"`
	xxx_hidden_DefaultDouble             float64                                `protobuf:"fixed64,92,opt,name=default_double,json=defaultDouble,def=92000" json:"default_double,omitempty"`
	xxx_hidden_DefaultBool               bool                                   `protobuf:"varint,93,opt,name=default_bool,json=defaultBool,def=1" json:"default_bool,omitempty"`
	xxx_hidden_DefaultString             *string                                `protobuf:"bytes,94,opt,name=default_string,json=defaultString,def=hello" json:"default_string,omitempty"`
	xxx_hidden_DefaultBytes              []byte                                 `protobuf:"bytes,95,opt,name=default_bytes,json=defaultBytes,def=world" json:"default_bytes,omitempty"`
	xxx_hidden_DefaultNestedEnum         TestAllTypes_NestedEnum                `protobuf:"varint,96,opt,name=default_nested_enum,json=defaultNestedEnum,enum=opaque.goproto.proto.testeditions.TestAllTypes_NestedEnum,def=1" json:"default_nested_enum,omitempty"`
	xxx_hidden_DefaultForeignEnum        ForeignEnum                            `protobuf:"varint,97,opt,name=default_foreign_enum,json=defaultForeignEnum,enum=opaque.goproto.proto.testeditions.ForeignEnum,def=5" json:"default_foreign_enum,omitempty"`
	xxx_hidden_OneofField                isTestAllTypes_OneofField              `protobuf_oneof:"oneof_field"`
	xxx_hidden_OneofOptional             isTestAllTypes_OneofOptional           `protobuf_oneof:"oneof_optional"`
	// Deprecated: Do not use. This will be deleted in the near future.
	XXX_lazyUnmarshalInfo  protoimpl.LazyUnmarshalInfo
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [4]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

// Default values for TestAllTypes fields.
const (
	Default_TestAllTypes_DefaultInt32       = int32(81)
	Default_TestAllTypes_DefaultInt64       = int64(82)
	Default_TestAllTypes_DefaultUint32      = uint32(83)
	Default_TestAllTypes_DefaultUint64      = uint64(84)
	Default_TestAllTypes_DefaultSint32      = int32(-85)
	Default_TestAllTypes_DefaultSint64      = int64(86)
	Default_TestAllTypes_DefaultFixed32     = uint32(87)
	Default_TestAllTypes_DefaultFixed64     = uint64(88)
	Default_TestAllTypes_DefaultSfixed32    = int32(89)
	Default_TestAllTypes_DefaultSfixed64    = int64(-90)
	Default_TestAllTypes_DefaultFloat       = float32(91.5)
	Default_TestAllTypes_DefaultDouble      = float64(92000)
	Default_TestAllTypes_DefaultBool        = bool(true)
	Default_TestAllTypes_DefaultString      = string("hello")
	Default_TestAllTypes_DefaultNestedEnum  = TestAllTypes_BAR
	Default_TestAllTypes_DefaultForeignEnum = ForeignEnum_FOREIGN_BAR
)

// Default values for TestAllTypes fields.
var (
	Default_TestAllTypes_DefaultBytes = []byte("world")
)

func (x *TestAllTypes) Reset() {
	*x = TestAllTypes{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestAllTypes) ProtoMessage() {}

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

func (x *TestAllTypes) GetSingularInt32() int32 {
	if x != nil {
		return x.xxx_hidden_SingularInt32
	}
	return 0
}

func (x *TestAllTypes) GetSingularInt64() int64 {
	if x != nil {
		return x.xxx_hidden_SingularInt64
	}
	return 0
}

func (x *TestAllTypes) GetSingularUint32() uint32 {
	if x != nil {
		return x.xxx_hidden_SingularUint32
	}
	return 0
}

func (x *TestAllTypes) GetSingularUint64() uint64 {
	if x != nil {
		return x.xxx_hidden_SingularUint64
	}
	return 0
}

func (x *TestAllTypes) GetSingularSint32() int32 {
	if x != nil {
		return x.xxx_hidden_SingularSint32
	}
	return 0
}

func (x *TestAllTypes) GetSingularSint64() int64 {
	if x != nil {
		return x.xxx_hidden_SingularSint64
	}
	return 0
}

func (x *TestAllTypes) GetSingularFixed32() uint32 {
	if x != nil {
		return x.xxx_hidden_SingularFixed32
	}
	return 0
}

func (x *TestAllTypes) GetSingularFixed64() uint64 {
	if x != nil {
		return x.xxx_hidden_SingularFixed64
	}
	return 0
}

func (x *TestAllTypes) GetSingularSfixed32() int32 {
	if x != nil {
		return x.xxx_hidden_SingularSfixed32
	}
	return 0
}

func (x *TestAllTypes) GetSingularSfixed64() int64 {
	if x != nil {
		return x.xxx_hidden_SingularSfixed64
	}
	return 0
}

func (x *TestAllTypes) GetSingularFloat() float32 {
	if x != nil {
		return x.xxx_hidden_SingularFloat
	}
	return 0
}

func (x *TestAllTypes) GetSingularDouble() float64 {
	if x != nil {
		return x.xxx_hidden_SingularDouble
	}
	return 0
}

func (x *TestAllTypes) GetSingularBool() bool {
	if x != nil {
		return x.xxx_hidden_SingularBool
	}
	return false
}

func (x *TestAllTypes) GetSingularString() string {
	if x != nil {
		return x.xxx_hidden_SingularString
	}
	return ""
}

func (x *TestAllTypes) GetSingularBytes() []byte {
	if x != nil {
		return x.xxx_hidden_SingularBytes
	}
	return nil
}

func (x *TestAllTypes) GetSingularNestedEnum() TestAllTypes_NestedEnum {
	if x != nil {
		return x.xxx_hidden_SingularNestedEnum
	}
	return TestAllTypes_FOO
}

func (x *TestAllTypes) GetSingularForeignEnum() ForeignEnum {
	if x != nil {
		return x.xxx_hidden_SingularForeignEnum
	}
	return ForeignEnum_FOREIGN_ZERO
}

func (x *TestAllTypes) GetSingularImportEnum() ImportEnum {
	if x != nil {
		return x.xxx_hidden_SingularImportEnum
	}
	return ImportEnum_IMPORT_ZERO
}

func (x *TestAllTypes) GetOptionalInt32() int32 {
	if x != nil {
		return x.xxx_hidden_OptionalInt32
	}
	return 0
}

func (x *TestAllTypes) GetOptionalInt64() int64 {
	if x != nil {
		return x.xxx_hidden_OptionalInt64
	}
	return 0
}

func (x *TestAllTypes) GetOptionalUint32() uint32 {
	if x != nil {
		return x.xxx_hidden_OptionalUint32
	}
	return 0
}

func (x *TestAllTypes) GetOptionalUint64() uint64 {
	if x != nil {
		return x.xxx_hidden_OptionalUint64
	}
	return 0
}

func (x *TestAllTypes) GetOptionalSint32() int32 {
	if x != nil {
		return x.xxx_hidden_OptionalSint32
	}
	return 0
}

func (x *TestAllTypes) GetOptionalSint64() int64 {
	if x != nil {
		return x.xxx_hidden_OptionalSint64
	}
	return 0
}

func (x *TestAllTypes) GetOptionalFixed32() uint32 {
	if x != nil {
		return x.xxx_hidden_OptionalFixed32
	}
	return 0
}

func (x *TestAllTypes) GetOptionalFixed64() uint64 {
	if x != nil {
		return x.xxx_hidden_OptionalFixed64
	}
	return 0
}

func (x *TestAllTypes) GetOptionalSfixed32() int32 {
	if x != nil {
		return x.xxx_hidden_OptionalSfixed32
	}
	return 0
}

func (x *TestAllTypes) GetOptionalSfixed64() int64 {
	if x != nil {
		return x.xxx_hidden_OptionalSfixed64
	}
	return 0
}

func (x *TestAllTypes) GetOptionalFloat() float32 {
	if x != nil {
		return x.xxx_hidden_OptionalFloat
	}
	return 0
}

func (x *TestAllTypes) GetOptionalDouble() float64 {
	if x != nil {
		return x.xxx_hidden_OptionalDouble
	}
	return 0
}

func (x *TestAllTypes) GetOptionalBool() bool {
	if x != nil {
		return x.xxx_hidden_OptionalBool
	}
	return false
}

func (x *TestAllTypes) GetOptionalString() string {
	if x != nil {
		if x.xxx_hidden_OptionalString != nil {
			return *x.xxx_hidden_OptionalString
		}
		return ""
	}
	return ""
}

func (x *TestAllTypes) GetOptionalBytes() []byte {
	if x != nil {
		return x.xxx_hidden_OptionalBytes
	}
	return nil
}

func (x *TestAllTypes) GetOptionalgroup() *TestAllTypes_OptionalGroup {
	if x != nil {
		return x.xxx_hidden_Optionalgroup
	}
	return nil
}

func (x *TestAllTypes) GetNotGroupLikeDelimited() *TestAllTypes_OptionalGroup {
	if x != nil {
		return x.xxx_hidden_NotGroupLikeDelimited
	}
	return nil
}

func (x *TestAllTypes) GetOptionalNestedMessage() *TestAllTypes_NestedMessage {
	if x != nil {
		return x.xxx_hidden_OptionalNestedMessage
	}
	return nil
}

func (x *TestAllTypes) GetOptionalForeignMessage() *ForeignMessage {
	if x != nil {
		return x.xxx_hidden_OptionalForeignMessage
	}
	return nil
}

func (x *TestAllTypes) GetOptionalImportMessage() *ImportMessage {
	if x != nil {
		return x.xxx_hidden_OptionalImportMessage
	}
	return nil
}

func (x *TestAllTypes) GetOptionalNestedEnum() TestAllTypes_NestedEnum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[1]), 38) {
			return x.xxx_hidden_OptionalNestedEnum
		}
	}
	return TestAllTypes_FOO
}

func (x *TestAllTypes) GetOptionalForeignEnum() ForeignEnum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[1]), 39) {
			return x.xxx_hidden_OptionalForeignEnum
		}
	}
	return ForeignEnum_FOREIGN_ZERO
}

func (x *TestAllTypes) GetOptionalImportEnum() ImportEnum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[1]), 40) {
			return x.xxx_hidden_OptionalImportEnum
		}
	}
	return ImportEnum_IMPORT_ZERO
}

func (x *TestAllTypes) GetOptionalLazyNestedMessage() *TestAllTypes_NestedMessage {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[1]), 41) {
			if protoimpl.X.AtomicCheckPointerIsNil(&x.xxx_hidden_OptionalLazyNestedMessage) {
				protoimpl.X.UnmarshalField(x, 24)
			}
			var rv *TestAllTypes_NestedMessage
			protoimpl.X.AtomicLoadPointer(protoimpl.Pointer(&x.xxx_hidden_OptionalLazyNestedMessage), protoimpl.Pointer(&rv))
			return rv
		}
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedInt32() []int32 {
	if x != nil {
		return x.xxx_hidden_RepeatedInt32
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedInt64() []int64 {
	if x != nil {
		return x.xxx_hidden_RepeatedInt64
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedUint32() []uint32 {
	if x != nil {
		return x.xxx_hidden_RepeatedUint32
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedUint64() []uint64 {
	if x != nil {
		return x.xxx_hidden_RepeatedUint64
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedSint32() []int32 {
	if x != nil {
		return x.xxx_hidden_RepeatedSint32
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedSint64() []int64 {
	if x != nil {
		return x.xxx_hidden_RepeatedSint64
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedFixed32() []uint32 {
	if x != nil {
		return x.xxx_hidden_RepeatedFixed32
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedFixed64() []uint64 {
	if x != nil {
		return x.xxx_hidden_RepeatedFixed64
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedSfixed32() []int32 {
	if x != nil {
		return x.xxx_hidden_RepeatedSfixed32
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedSfixed64() []int64 {
	if x != nil {
		return x.xxx_hidden_RepeatedSfixed64
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedFloat() []float32 {
	if x != nil {
		return x.xxx_hidden_RepeatedFloat
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedDouble() []float64 {
	if x != nil {
		return x.xxx_hidden_RepeatedDouble
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedBool() []bool {
	if x != nil {
		return x.xxx_hidden_RepeatedBool
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedString() []string {
	if x != nil {
		return x.xxx_hidden_RepeatedString
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedBytes() [][]byte {
	if x != nil {
		return x.xxx_hidden_RepeatedBytes
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedgroup() []*TestAllTypes_RepeatedGroup {
	if x != nil {
		if x.xxx_hidden_Repeatedgroup != nil {
			return *x.xxx_hidden_Repeatedgroup
		}
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedNestedMessage() []*TestAllTypes_NestedMessage {
	if x != nil {
		if x.xxx_hidden_RepeatedNestedMessage != nil {
			return *x.xxx_hidden_RepeatedNestedMessage
		}
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedForeignMessage() []*ForeignMessage {
	if x != nil {
		if x.xxx_hidden_RepeatedForeignMessage != nil {
			return *x.xxx_hidden_RepeatedForeignMessage
		}
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedImportmessage() []*ImportMessage {
	if x != nil {
		if x.xxx_hidden_RepeatedImportmessage != nil {
			return *x.xxx_hidden_RepeatedImportmessage
		}
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedNestedEnum() []TestAllTypes_NestedEnum {
	if x != nil {
		return x.xxx_hidden_RepeatedNestedEnum
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedForeignEnum() []ForeignEnum {
	if x != nil {
		return x.xxx_hidden_RepeatedForeignEnum
	}
	return nil
}

func (x *TestAllTypes) GetRepeatedImportenum() []ImportEnum {
	if x != nil {
		return x.xxx_hidden_RepeatedImportenum
	}
	return nil
}

func (x *TestAllTypes) GetMapInt32Int32() map[int32]int32 {
	if x != nil {
		return x.xxx_hidden_MapInt32Int32
	}
	return nil
}

func (x *TestAllTypes) GetMapInt64Int64() map[int64]int64 {
	if x != nil {
		return x.xxx_hidden_MapInt64Int64
	}
	return nil
}

func (x *TestAllTypes) GetMapUint32Uint32() map[uint32]uint32 {
	if x != nil {
		return x.xxx_hidden_MapUint32Uint32
	}
	return nil
}

func (x *TestAllTypes) GetMapUint64Uint64() map[uint64]uint64 {
	if x != nil {
		return x.xxx_hidden_MapUint64Uint64
	}
	return nil
}

func (x *TestAllTypes) GetMapSint32Sint32() map[int32]int32 {
	if x != nil {
		return x.xxx_hidden_MapSint32Sint32
	}
	return nil
}

func (x *TestAllTypes) GetMapSint64Sint64() map[int64]int64 {
	if x != nil {
		return x.xxx_hidden_MapSint64Sint64
	}
	return nil
}

func (x *TestAllTypes) GetMapFixed32Fixed32() map[uint32]uint32 {
	if x != nil {
		return x.xxx_hidden_MapFixed32Fixed32
	}
	return nil
}

func (x *TestAllTypes) GetMapFixed64Fixed64() map[uint64]uint64 {
	if x != nil {
		return x.xxx_hidden_MapFixed64Fixed64
	}
	return nil
}

func (x *TestAllTypes) GetMapSfixed32Sfixed32() map[int32]int32 {
	if x != nil {
		return x.xxx_hidden_MapSfixed32Sfixed32
	}
	return nil
}

func (x *TestAllTypes) GetMapSfixed64Sfixed64() map[int64]int64 {
	if x != nil {
		return x.xxx_hidden_MapSfixed64Sfixed64
	}
	return nil
}

func (x *TestAllTypes) GetMapInt32Float() map[int32]float32 {
	if x != nil {
		return x.xxx_hidden_MapInt32Float
	}
	return nil
}

func (x *TestAllTypes) GetMapInt32Double() map[int32]float64 {
	if x != nil {
		return x.xxx_hidden_MapInt32Double
	}
	return nil
}

func (x *TestAllTypes) GetMapBoolBool() map[bool]bool {
	if x != nil {
		return x.xxx_hidden_MapBoolBool
	}
	return nil
}

func (x *TestAllTypes) GetMapStringString() map[string]string {
	if x != nil {
		return x.xxx_hidden_MapStringString
	}
	return nil
}

func (x *TestAllTypes) GetMapStringBytes() map[string][]byte {
	if x != nil {
		return x.xxx_hidden_MapStringBytes
	}
	return nil
}

func (x *TestAllTypes) GetMapStringNestedMessage() map[string]*TestAllTypes_NestedMessage {
	if x != nil {
		return x.xxx_hidden_MapStringNestedMessage
	}
	return nil
}

func (x *TestAllTypes) GetMapStringNestedEnum() map[string]TestAllTypes_NestedEnum {
	if x != nil {
		return x.xxx_hidden_MapStringNestedEnum
	}
	return nil
}

func (x *TestAllTypes) GetDefaultInt32() int32 {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[2]), 81) {
			return x.xxx_hidden_DefaultInt32
		}
	}
	return Default_TestAllTypes_DefaultInt32
}

func (x *TestAllTypes) GetDefaultInt64() int64 {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[2]), 82) {
			return x.xxx_hidden_DefaultInt64
		}
	}
	return Default_TestAllTypes_DefaultInt64
}

func (x *TestAllTypes) GetDefaultUint32() uint32 {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[2]), 83) {
			return x.xxx_hidden_DefaultUint32
		}
	}
	return Default_TestAllTypes_DefaultUint32
}

func (x *TestAllTypes) GetDefaultUint64() uint64 {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[2]), 84) {
			return x.xxx_hidden_DefaultUint64
		}
	}
	return Default_TestAllTypes_DefaultUint64
}

func (x *TestAllTypes) GetDefaultSint32() int32 {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[2]), 85) {
			return x.xxx_hidden_DefaultSint32
		}
	}
	return Default_TestAllTypes_DefaultSint32
}

func (x *TestAllTypes) GetDefaultSint64() int64 {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[2]), 86) {
			return x.xxx_hidden_DefaultSint64
		}
	}
	return Default_TestAllTypes_DefaultSint64
}

func (x *TestAllTypes) GetDefaultFixed32() uint32 {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[2]), 87) {
			return x.xxx_hidden_DefaultFixed32
		}
	}
	return Default_TestAllTypes_DefaultFixed32
}

func (x *TestAllTypes) GetDefaultFixed64() uint64 {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[2]), 88) {
			return x.xxx_hidden_DefaultFixed64
		}
	}
	return Default_TestAllTypes_DefaultFixed64
}

func (x *TestAllTypes) GetDefaultSfixed32() int32 {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[2]), 89) {
			return x.xxx_hidden_DefaultSfixed32
		}
	}
	return Default_TestAllTypes_DefaultSfixed32
}

func (x *TestAllTypes) GetDefaultSfixed64() int64 {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[2]), 90) {
			return x.xxx_hidden_DefaultSfixed64
		}
	}
	return Default_TestAllTypes_DefaultSfixed64
}

func (x *TestAllTypes) GetDefaultFloat() float32 {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[2]), 91) {
			return x.xxx_hidden_DefaultFloat
		}
	}
	return Default_TestAllTypes_DefaultFloat
}

func (x *TestAllTypes) GetDefaultDouble() float64 {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[2]), 92) {
			return x.xxx_hidden_DefaultDouble
		}
	}
	return Default_TestAllTypes_DefaultDouble
}

func (x *TestAllTypes) GetDefaultBool() bool {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[2]), 93) {
			return x.xxx_hidden_DefaultBool
		}
	}
	return Default_TestAllTypes_DefaultBool
}

func (x *TestAllTypes) GetDefaultString() string {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[2]), 94) {
			if x.xxx_hidden_DefaultString != nil {
				return *x.xxx_hidden_DefaultString
			}
			return Default_TestAllTypes_DefaultString
		}
	}
	return Default_TestAllTypes_DefaultString
}

func (x *TestAllTypes) GetDefaultBytes() []byte {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[2]), 95) {
			return x.xxx_hidden_DefaultBytes
		}
	}
	return append([]byte(nil), Default_TestAllTypes_DefaultBytes...)
}

func (x *TestAllTypes) GetDefaultNestedEnum() TestAllTypes_NestedEnum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[3]), 96) {
			return x.xxx_hidden_DefaultNestedEnum
		}
	}
	return Default_TestAllTypes_DefaultNestedEnum
}

func (x *TestAllTypes) GetDefaultForeignEnum() ForeignEnum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[3]), 97) {
			return x.xxx_hidden_DefaultForeignEnum
		}
	}
	return Default_TestAllTypes_DefaultForeignEnum
}

func (x *TestAllTypes) GetOneofUint32() uint32 {
	if x != nil {
		if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint32); ok {
			return x.OneofUint32
		}
	}
	return 0
}

func (x *TestAllTypes) GetOneofNestedMessage() *TestAllTypes_NestedMessage {
	if x != nil {
		if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofNestedMessage); ok {
			return x.OneofNestedMessage
		}
	}
	return nil
}

func (x *TestAllTypes) GetOneofString() string {
	if x != nil {
		if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofString); ok {
			return x.OneofString
		}
	}
	return ""
}

func (x *TestAllTypes) GetOneofBytes() []byte {
	if x != nil {
		if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBytes); ok {
			return x.OneofBytes
		}
	}
	return nil
}

func (x *TestAllTypes) GetOneofBool() bool {
	if x != nil {
		if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBool); ok {
			return x.OneofBool
		}
	}
	return false
}

func (x *TestAllTypes) GetOneofUint64() uint64 {
	if x != nil {
		if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint64); ok {
			return x.OneofUint64
		}
	}
	return 0
}

func (x *TestAllTypes) GetOneofFloat() float32 {
	if x != nil {
		if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofFloat); ok {
			return x.OneofFloat
		}
	}
	return 0
}

func (x *TestAllTypes) GetOneofDouble() float64 {
	if x != nil {
		if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofDouble); ok {
			return x.OneofDouble
		}
	}
	return 0
}

func (x *TestAllTypes) GetOneofEnum() TestAllTypes_NestedEnum {
	if x != nil {
		if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofEnum); ok {
			return x.OneofEnum
		}
	}
	return TestAllTypes_FOO
}

func (x *TestAllTypes) GetOneofgroup() *TestAllTypes_OneofGroup {
	if x != nil {
		if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_Oneofgroup); ok {
			return x.Oneofgroup
		}
	}
	return nil
}

func (x *TestAllTypes) GetOneofOptionalUint32() uint32 {
	if x != nil {
		if x, ok := x.xxx_hidden_OneofOptional.(*testAllTypes_OneofOptionalUint32); ok {
			return x.OneofOptionalUint32
		}
	}
	return 0
}

func (x *TestAllTypes) SetSingularInt32(v int32) {
	x.xxx_hidden_SingularInt32 = v
}

func (x *TestAllTypes) SetSingularInt64(v int64) {
	x.xxx_hidden_SingularInt64 = v
}

func (x *TestAllTypes) SetSingularUint32(v uint32) {
	x.xxx_hidden_SingularUint32 = v
}

func (x *TestAllTypes) SetSingularUint64(v uint64) {
	x.xxx_hidden_SingularUint64 = v
}

func (x *TestAllTypes) SetSingularSint32(v int32) {
	x.xxx_hidden_SingularSint32 = v
}

func (x *TestAllTypes) SetSingularSint64(v int64) {
	x.xxx_hidden_SingularSint64 = v
}

func (x *TestAllTypes) SetSingularFixed32(v uint32) {
	x.xxx_hidden_SingularFixed32 = v
}

func (x *TestAllTypes) SetSingularFixed64(v uint64) {
	x.xxx_hidden_SingularFixed64 = v
}

func (x *TestAllTypes) SetSingularSfixed32(v int32) {
	x.xxx_hidden_SingularSfixed32 = v
}

func (x *TestAllTypes) SetSingularSfixed64(v int64) {
	x.xxx_hidden_SingularSfixed64 = v
}

func (x *TestAllTypes) SetSingularFloat(v float32) {
	x.xxx_hidden_SingularFloat = v
}

func (x *TestAllTypes) SetSingularDouble(v float64) {
	x.xxx_hidden_SingularDouble = v
}

func (x *TestAllTypes) SetSingularBool(v bool) {
	x.xxx_hidden_SingularBool = v
}

func (x *TestAllTypes) SetSingularString(v string) {
	x.xxx_hidden_SingularString = v
}

func (x *TestAllTypes) SetSingularBytes(v []byte) {
	if v == nil {
		v = []byte{}
	}
	x.xxx_hidden_SingularBytes = v
}

func (x *TestAllTypes) SetSingularNestedEnum(v TestAllTypes_NestedEnum) {
	x.xxx_hidden_SingularNestedEnum = v
}

func (x *TestAllTypes) SetSingularForeignEnum(v ForeignEnum) {
	x.xxx_hidden_SingularForeignEnum = v
}

func (x *TestAllTypes) SetSingularImportEnum(v ImportEnum) {
	x.xxx_hidden_SingularImportEnum = v
}

func (x *TestAllTypes) SetOptionalInt32(v int32) {
	x.xxx_hidden_OptionalInt32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 18, 100)
}

func (x *TestAllTypes) SetOptionalInt64(v int64) {
	x.xxx_hidden_OptionalInt64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 19, 100)
}

func (x *TestAllTypes) SetOptionalUint32(v uint32) {
	x.xxx_hidden_OptionalUint32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 20, 100)
}

func (x *TestAllTypes) SetOptionalUint64(v uint64) {
	x.xxx_hidden_OptionalUint64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 21, 100)
}

func (x *TestAllTypes) SetOptionalSint32(v int32) {
	x.xxx_hidden_OptionalSint32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 22, 100)
}

func (x *TestAllTypes) SetOptionalSint64(v int64) {
	x.xxx_hidden_OptionalSint64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 23, 100)
}

func (x *TestAllTypes) SetOptionalFixed32(v uint32) {
	x.xxx_hidden_OptionalFixed32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 24, 100)
}

func (x *TestAllTypes) SetOptionalFixed64(v uint64) {
	x.xxx_hidden_OptionalFixed64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 25, 100)
}

func (x *TestAllTypes) SetOptionalSfixed32(v int32) {
	x.xxx_hidden_OptionalSfixed32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 26, 100)
}

func (x *TestAllTypes) SetOptionalSfixed64(v int64) {
	x.xxx_hidden_OptionalSfixed64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 27, 100)
}

func (x *TestAllTypes) SetOptionalFloat(v float32) {
	x.xxx_hidden_OptionalFloat = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 28, 100)
}

func (x *TestAllTypes) SetOptionalDouble(v float64) {
	x.xxx_hidden_OptionalDouble = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 29, 100)
}

func (x *TestAllTypes) SetOptionalBool(v bool) {
	x.xxx_hidden_OptionalBool = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 30, 100)
}

func (x *TestAllTypes) SetOptionalString(v string) {
	x.xxx_hidden_OptionalString = &v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 31, 100)
}

func (x *TestAllTypes) SetOptionalBytes(v []byte) {
	if v == nil {
		v = []byte{}
	}
	x.xxx_hidden_OptionalBytes = v
	protoimpl.X.SetPresent(&(x.XXX_presence[1]), 32, 100)
}

func (x *TestAllTypes) SetOptionalgroup(v *TestAllTypes_OptionalGroup) {
	x.xxx_hidden_Optionalgroup = v
}

func (x *TestAllTypes) SetNotGroupLikeDelimited(v *TestAllTypes_OptionalGroup) {
	x.xxx_hidden_NotGroupLikeDelimited = v
}

func (x *TestAllTypes) SetOptionalNestedMessage(v *TestAllTypes_NestedMessage) {
	x.xxx_hidden_OptionalNestedMessage = v
}

func (x *TestAllTypes) SetOptionalForeignMessage(v *ForeignMessage) {
	x.xxx_hidden_OptionalForeignMessage = v
}

func (x *TestAllTypes) SetOptionalImportMessage(v *ImportMessage) {
	x.xxx_hidden_OptionalImportMessage = v
}

func (x *TestAllTypes) SetOptionalNestedEnum(v TestAllTypes_NestedEnum) {
	x.xxx_hidden_OptionalNestedEnum = v
	protoimpl.X.SetPresent(&(x.XXX_presence[1]), 38, 100)
}

func (x *TestAllTypes) SetOptionalForeignEnum(v ForeignEnum) {
	x.xxx_hidden_OptionalForeignEnum = v
	protoimpl.X.SetPresent(&(x.XXX_presence[1]), 39, 100)
}

func (x *TestAllTypes) SetOptionalImportEnum(v ImportEnum) {
	x.xxx_hidden_OptionalImportEnum = v
	protoimpl.X.SetPresent(&(x.XXX_presence[1]), 40, 100)
}

func (x *TestAllTypes) SetOptionalLazyNestedMessage(v *TestAllTypes_NestedMessage) {
	protoimpl.X.AtomicSetPointer(&x.xxx_hidden_OptionalLazyNestedMessage, v)
	if v == nil {
		protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 41)
	} else {
		protoimpl.X.SetPresent(&(x.XXX_presence[1]), 41, 100)
	}
}

func (x *TestAllTypes) SetRepeatedInt32(v []int32) {
	x.xxx_hidden_RepeatedInt32 = v
}

func (x *TestAllTypes) SetRepeatedInt64(v []int64) {
	x.xxx_hidden_RepeatedInt64 = v
}

func (x *TestAllTypes) SetRepeatedUint32(v []uint32) {
	x.xxx_hidden_RepeatedUint32 = v
}

func (x *TestAllTypes) SetRepeatedUint64(v []uint64) {
	x.xxx_hidden_RepeatedUint64 = v
}

func (x *TestAllTypes) SetRepeatedSint32(v []int32) {
	x.xxx_hidden_RepeatedSint32 = v
}

func (x *TestAllTypes) SetRepeatedSint64(v []int64) {
	x.xxx_hidden_RepeatedSint64 = v
}

func (x *TestAllTypes) SetRepeatedFixed32(v []uint32) {
	x.xxx_hidden_RepeatedFixed32 = v
}

func (x *TestAllTypes) SetRepeatedFixed64(v []uint64) {
	x.xxx_hidden_RepeatedFixed64 = v
}

func (x *TestAllTypes) SetRepeatedSfixed32(v []int32) {
	x.xxx_hidden_RepeatedSfixed32 = v
}

func (x *TestAllTypes) SetRepeatedSfixed64(v []int64) {
	x.xxx_hidden_RepeatedSfixed64 = v
}

func (x *TestAllTypes) SetRepeatedFloat(v []float32) {
	x.xxx_hidden_RepeatedFloat = v
}

func (x *TestAllTypes) SetRepeatedDouble(v []float64) {
	x.xxx_hidden_RepeatedDouble = v
}

func (x *TestAllTypes) SetRepeatedBool(v []bool) {
	x.xxx_hidden_RepeatedBool = v
}

func (x *TestAllTypes) SetRepeatedString(v []string) {
	x.xxx_hidden_RepeatedString = v
}

func (x *TestAllTypes) SetRepeatedBytes(v [][]byte) {
	x.xxx_hidden_RepeatedBytes = v
}

func (x *TestAllTypes) SetRepeatedgroup(v []*TestAllTypes_RepeatedGroup) {
	x.xxx_hidden_Repeatedgroup = &v
}

func (x *TestAllTypes) SetRepeatedNestedMessage(v []*TestAllTypes_NestedMessage) {
	x.xxx_hidden_RepeatedNestedMessage = &v
}

func (x *TestAllTypes) SetRepeatedForeignMessage(v []*ForeignMessage) {
	x.xxx_hidden_RepeatedForeignMessage = &v
}

func (x *TestAllTypes) SetRepeatedImportmessage(v []*ImportMessage) {
	x.xxx_hidden_RepeatedImportmessage = &v
}

func (x *TestAllTypes) SetRepeatedNestedEnum(v []TestAllTypes_NestedEnum) {
	x.xxx_hidden_RepeatedNestedEnum = v
}

func (x *TestAllTypes) SetRepeatedForeignEnum(v []ForeignEnum) {
	x.xxx_hidden_RepeatedForeignEnum = v
}

func (x *TestAllTypes) SetRepeatedImportenum(v []ImportEnum) {
	x.xxx_hidden_RepeatedImportenum = v
}

func (x *TestAllTypes) SetMapInt32Int32(v map[int32]int32) {
	x.xxx_hidden_MapInt32Int32 = v
}

func (x *TestAllTypes) SetMapInt64Int64(v map[int64]int64) {
	x.xxx_hidden_MapInt64Int64 = v
}

func (x *TestAllTypes) SetMapUint32Uint32(v map[uint32]uint32) {
	x.xxx_hidden_MapUint32Uint32 = v
}

func (x *TestAllTypes) SetMapUint64Uint64(v map[uint64]uint64) {
	x.xxx_hidden_MapUint64Uint64 = v
}

func (x *TestAllTypes) SetMapSint32Sint32(v map[int32]int32) {
	x.xxx_hidden_MapSint32Sint32 = v
}

func (x *TestAllTypes) SetMapSint64Sint64(v map[int64]int64) {
	x.xxx_hidden_MapSint64Sint64 = v
}

func (x *TestAllTypes) SetMapFixed32Fixed32(v map[uint32]uint32) {
	x.xxx_hidden_MapFixed32Fixed32 = v
}

func (x *TestAllTypes) SetMapFixed64Fixed64(v map[uint64]uint64) {
	x.xxx_hidden_MapFixed64Fixed64 = v
}

func (x *TestAllTypes) SetMapSfixed32Sfixed32(v map[int32]int32) {
	x.xxx_hidden_MapSfixed32Sfixed32 = v
}

func (x *TestAllTypes) SetMapSfixed64Sfixed64(v map[int64]int64) {
	x.xxx_hidden_MapSfixed64Sfixed64 = v
}

func (x *TestAllTypes) SetMapInt32Float(v map[int32]float32) {
	x.xxx_hidden_MapInt32Float = v
}

func (x *TestAllTypes) SetMapInt32Double(v map[int32]float64) {
	x.xxx_hidden_MapInt32Double = v
}

func (x *TestAllTypes) SetMapBoolBool(v map[bool]bool) {
	x.xxx_hidden_MapBoolBool = v
}

func (x *TestAllTypes) SetMapStringString(v map[string]string) {
	x.xxx_hidden_MapStringString = v
}

func (x *TestAllTypes) SetMapStringBytes(v map[string][]byte) {
	x.xxx_hidden_MapStringBytes = v
}

func (x *TestAllTypes) SetMapStringNestedMessage(v map[string]*TestAllTypes_NestedMessage) {
	x.xxx_hidden_MapStringNestedMessage = v
}

func (x *TestAllTypes) SetMapStringNestedEnum(v map[string]TestAllTypes_NestedEnum) {
	x.xxx_hidden_MapStringNestedEnum = v
}

func (x *TestAllTypes) SetDefaultInt32(v int32) {
	x.xxx_hidden_DefaultInt32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 81, 100)
}

func (x *TestAllTypes) SetDefaultInt64(v int64) {
	x.xxx_hidden_DefaultInt64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 82, 100)
}

func (x *TestAllTypes) SetDefaultUint32(v uint32) {
	x.xxx_hidden_DefaultUint32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 83, 100)
}

func (x *TestAllTypes) SetDefaultUint64(v uint64) {
	x.xxx_hidden_DefaultUint64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 84, 100)
}

func (x *TestAllTypes) SetDefaultSint32(v int32) {
	x.xxx_hidden_DefaultSint32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 85, 100)
}

func (x *TestAllTypes) SetDefaultSint64(v int64) {
	x.xxx_hidden_DefaultSint64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 86, 100)
}

func (x *TestAllTypes) SetDefaultFixed32(v uint32) {
	x.xxx_hidden_DefaultFixed32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 87, 100)
}

func (x *TestAllTypes) SetDefaultFixed64(v uint64) {
	x.xxx_hidden_DefaultFixed64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 88, 100)
}

func (x *TestAllTypes) SetDefaultSfixed32(v int32) {
	x.xxx_hidden_DefaultSfixed32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 89, 100)
}

func (x *TestAllTypes) SetDefaultSfixed64(v int64) {
	x.xxx_hidden_DefaultSfixed64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 90, 100)
}

func (x *TestAllTypes) SetDefaultFloat(v float32) {
	x.xxx_hidden_DefaultFloat = v
	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 91, 100)
}

func (x *TestAllTypes) SetDefaultDouble(v float64) {
	x.xxx_hidden_DefaultDouble = v
	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 92, 100)
}

func (x *TestAllTypes) SetDefaultBool(v bool) {
	x.xxx_hidden_DefaultBool = v
	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 93, 100)
}

func (x *TestAllTypes) SetDefaultString(v string) {
	x.xxx_hidden_DefaultString = &v
	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 94, 100)
}

func (x *TestAllTypes) SetDefaultBytes(v []byte) {
	if v == nil {
		v = []byte{}
	}
	x.xxx_hidden_DefaultBytes = v
	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 95, 100)
}

func (x *TestAllTypes) SetDefaultNestedEnum(v TestAllTypes_NestedEnum) {
	x.xxx_hidden_DefaultNestedEnum = v
	protoimpl.X.SetPresent(&(x.XXX_presence[3]), 96, 100)
}

func (x *TestAllTypes) SetDefaultForeignEnum(v ForeignEnum) {
	x.xxx_hidden_DefaultForeignEnum = v
	protoimpl.X.SetPresent(&(x.XXX_presence[3]), 97, 100)
}

func (x *TestAllTypes) SetOneofUint32(v uint32) {
	x.xxx_hidden_OneofField = &testAllTypes_OneofUint32{v}
}

func (x *TestAllTypes) SetOneofNestedMessage(v *TestAllTypes_NestedMessage) {
	if v == nil {
		x.xxx_hidden_OneofField = nil
		return
	}
	x.xxx_hidden_OneofField = &testAllTypes_OneofNestedMessage{v}
}

func (x *TestAllTypes) SetOneofString(v string) {
	x.xxx_hidden_OneofField = &testAllTypes_OneofString{v}
}

func (x *TestAllTypes) SetOneofBytes(v []byte) {
	if v == nil {
		v = []byte{}
	}
	x.xxx_hidden_OneofField = &testAllTypes_OneofBytes{v}
}

func (x *TestAllTypes) SetOneofBool(v bool) {
	x.xxx_hidden_OneofField = &testAllTypes_OneofBool{v}
}

func (x *TestAllTypes) SetOneofUint64(v uint64) {
	x.xxx_hidden_OneofField = &testAllTypes_OneofUint64{v}
}

func (x *TestAllTypes) SetOneofFloat(v float32) {
	x.xxx_hidden_OneofField = &testAllTypes_OneofFloat{v}
}

func (x *TestAllTypes) SetOneofDouble(v float64) {
	x.xxx_hidden_OneofField = &testAllTypes_OneofDouble{v}
}

func (x *TestAllTypes) SetOneofEnum(v TestAllTypes_NestedEnum) {
	x.xxx_hidden_OneofField = &testAllTypes_OneofEnum{v}
}

func (x *TestAllTypes) SetOneofgroup(v *TestAllTypes_OneofGroup) {
	if v == nil {
		x.xxx_hidden_OneofField = nil
		return
	}
	x.xxx_hidden_OneofField = &testAllTypes_Oneofgroup{v}
}

func (x *TestAllTypes) SetOneofOptionalUint32(v uint32) {
	x.xxx_hidden_OneofOptional = &testAllTypes_OneofOptionalUint32{v}
}

func (x *TestAllTypes) HasOptionalInt32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 18)
}

func (x *TestAllTypes) HasOptionalInt64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 19)
}

func (x *TestAllTypes) HasOptionalUint32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 20)
}

func (x *TestAllTypes) HasOptionalUint64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 21)
}

func (x *TestAllTypes) HasOptionalSint32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 22)
}

func (x *TestAllTypes) HasOptionalSint64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 23)
}

func (x *TestAllTypes) HasOptionalFixed32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 24)
}

func (x *TestAllTypes) HasOptionalFixed64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 25)
}

func (x *TestAllTypes) HasOptionalSfixed32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 26)
}

func (x *TestAllTypes) HasOptionalSfixed64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 27)
}

func (x *TestAllTypes) HasOptionalFloat() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 28)
}

func (x *TestAllTypes) HasOptionalDouble() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 29)
}

func (x *TestAllTypes) HasOptionalBool() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 30)
}

func (x *TestAllTypes) HasOptionalString() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 31)
}

func (x *TestAllTypes) HasOptionalBytes() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[1]), 32)
}

func (x *TestAllTypes) HasOptionalgroup() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_Optionalgroup != nil
}

func (x *TestAllTypes) HasNotGroupLikeDelimited() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_NotGroupLikeDelimited != nil
}

func (x *TestAllTypes) HasOptionalNestedMessage() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptionalNestedMessage != nil
}

func (x *TestAllTypes) HasOptionalForeignMessage() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptionalForeignMessage != nil
}

func (x *TestAllTypes) HasOptionalImportMessage() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptionalImportMessage != nil
}

func (x *TestAllTypes) HasOptionalNestedEnum() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[1]), 38)
}

func (x *TestAllTypes) HasOptionalForeignEnum() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[1]), 39)
}

func (x *TestAllTypes) HasOptionalImportEnum() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[1]), 40)
}

func (x *TestAllTypes) HasOptionalLazyNestedMessage() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[1]), 41)
}

func (x *TestAllTypes) HasDefaultInt32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[2]), 81)
}

func (x *TestAllTypes) HasDefaultInt64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[2]), 82)
}

func (x *TestAllTypes) HasDefaultUint32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[2]), 83)
}

func (x *TestAllTypes) HasDefaultUint64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[2]), 84)
}

func (x *TestAllTypes) HasDefaultSint32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[2]), 85)
}

func (x *TestAllTypes) HasDefaultSint64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[2]), 86)
}

func (x *TestAllTypes) HasDefaultFixed32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[2]), 87)
}

func (x *TestAllTypes) HasDefaultFixed64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[2]), 88)
}

func (x *TestAllTypes) HasDefaultSfixed32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[2]), 89)
}

func (x *TestAllTypes) HasDefaultSfixed64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[2]), 90)
}

func (x *TestAllTypes) HasDefaultFloat() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[2]), 91)
}

func (x *TestAllTypes) HasDefaultDouble() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[2]), 92)
}

func (x *TestAllTypes) HasDefaultBool() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[2]), 93)
}

func (x *TestAllTypes) HasDefaultString() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[2]), 94)
}

func (x *TestAllTypes) HasDefaultBytes() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[2]), 95)
}

func (x *TestAllTypes) HasDefaultNestedEnum() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[3]), 96)
}

func (x *TestAllTypes) HasDefaultForeignEnum() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[3]), 97)
}

func (x *TestAllTypes) HasOneofField() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OneofField != nil
}

func (x *TestAllTypes) HasOneofUint32() bool {
	if x == nil {
		return false
	}
	_, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint32)
	return ok
}

func (x *TestAllTypes) HasOneofNestedMessage() bool {
	if x == nil {
		return false
	}
	_, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofNestedMessage)
	return ok
}

func (x *TestAllTypes) HasOneofString() bool {
	if x == nil {
		return false
	}
	_, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofString)
	return ok
}

func (x *TestAllTypes) HasOneofBytes() bool {
	if x == nil {
		return false
	}
	_, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBytes)
	return ok
}

func (x *TestAllTypes) HasOneofBool() bool {
	if x == nil {
		return false
	}
	_, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBool)
	return ok
}

func (x *TestAllTypes) HasOneofUint64() bool {
	if x == nil {
		return false
	}
	_, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint64)
	return ok
}

func (x *TestAllTypes) HasOneofFloat() bool {
	if x == nil {
		return false
	}
	_, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofFloat)
	return ok
}

func (x *TestAllTypes) HasOneofDouble() bool {
	if x == nil {
		return false
	}
	_, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofDouble)
	return ok
}

func (x *TestAllTypes) HasOneofEnum() bool {
	if x == nil {
		return false
	}
	_, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofEnum)
	return ok
}

func (x *TestAllTypes) HasOneofgroup() bool {
	if x == nil {
		return false
	}
	_, ok := x.xxx_hidden_OneofField.(*testAllTypes_Oneofgroup)
	return ok
}

func (x *TestAllTypes) HasOneofOptional() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OneofOptional != nil
}

func (x *TestAllTypes) HasOneofOptionalUint32() bool {
	if x == nil {
		return false
	}
	_, ok := x.xxx_hidden_OneofOptional.(*testAllTypes_OneofOptionalUint32)
	return ok
}

func (x *TestAllTypes) ClearOptionalInt32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 18)
	x.xxx_hidden_OptionalInt32 = 0
}

func (x *TestAllTypes) ClearOptionalInt64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 19)
	x.xxx_hidden_OptionalInt64 = 0
}

func (x *TestAllTypes) ClearOptionalUint32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 20)
	x.xxx_hidden_OptionalUint32 = 0
}

func (x *TestAllTypes) ClearOptionalUint64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 21)
	x.xxx_hidden_OptionalUint64 = 0
}

func (x *TestAllTypes) ClearOptionalSint32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 22)
	x.xxx_hidden_OptionalSint32 = 0
}

func (x *TestAllTypes) ClearOptionalSint64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 23)
	x.xxx_hidden_OptionalSint64 = 0
}

func (x *TestAllTypes) ClearOptionalFixed32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 24)
	x.xxx_hidden_OptionalFixed32 = 0
}

func (x *TestAllTypes) ClearOptionalFixed64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 25)
	x.xxx_hidden_OptionalFixed64 = 0
}

func (x *TestAllTypes) ClearOptionalSfixed32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 26)
	x.xxx_hidden_OptionalSfixed32 = 0
}

func (x *TestAllTypes) ClearOptionalSfixed64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 27)
	x.xxx_hidden_OptionalSfixed64 = 0
}

func (x *TestAllTypes) ClearOptionalFloat() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 28)
	x.xxx_hidden_OptionalFloat = 0
}

func (x *TestAllTypes) ClearOptionalDouble() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 29)
	x.xxx_hidden_OptionalDouble = 0
}

func (x *TestAllTypes) ClearOptionalBool() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 30)
	x.xxx_hidden_OptionalBool = false
}

func (x *TestAllTypes) ClearOptionalString() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 31)
	x.xxx_hidden_OptionalString = nil
}

func (x *TestAllTypes) ClearOptionalBytes() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 32)
	x.xxx_hidden_OptionalBytes = nil
}

func (x *TestAllTypes) ClearOptionalgroup() {
	x.xxx_hidden_Optionalgroup = nil
}

func (x *TestAllTypes) ClearNotGroupLikeDelimited() {
	x.xxx_hidden_NotGroupLikeDelimited = nil
}

func (x *TestAllTypes) ClearOptionalNestedMessage() {
	x.xxx_hidden_OptionalNestedMessage = nil
}

func (x *TestAllTypes) ClearOptionalForeignMessage() {
	x.xxx_hidden_OptionalForeignMessage = nil
}

func (x *TestAllTypes) ClearOptionalImportMessage() {
	x.xxx_hidden_OptionalImportMessage = nil
}

func (x *TestAllTypes) ClearOptionalNestedEnum() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 38)
	x.xxx_hidden_OptionalNestedEnum = TestAllTypes_FOO
}

func (x *TestAllTypes) ClearOptionalForeignEnum() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 39)
	x.xxx_hidden_OptionalForeignEnum = ForeignEnum_FOREIGN_ZERO
}

func (x *TestAllTypes) ClearOptionalImportEnum() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 40)
	x.xxx_hidden_OptionalImportEnum = ImportEnum_IMPORT_ZERO
}

func (x *TestAllTypes) ClearOptionalLazyNestedMessage() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 41)
	protoimpl.X.AtomicSetPointer(&x.xxx_hidden_OptionalLazyNestedMessage, (*TestAllTypes_NestedMessage)(nil))
}

func (x *TestAllTypes) ClearDefaultInt32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 81)
}

func (x *TestAllTypes) ClearDefaultInt64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 82)
}

func (x *TestAllTypes) ClearDefaultUint32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 83)
}

func (x *TestAllTypes) ClearDefaultUint64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 84)
}

func (x *TestAllTypes) ClearDefaultSint32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 85)
}

func (x *TestAllTypes) ClearDefaultSint64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 86)
}

func (x *TestAllTypes) ClearDefaultFixed32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 87)
}

func (x *TestAllTypes) ClearDefaultFixed64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 88)
}

func (x *TestAllTypes) ClearDefaultSfixed32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 89)
}

func (x *TestAllTypes) ClearDefaultSfixed64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 90)
}

func (x *TestAllTypes) ClearDefaultFloat() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 91)
}

func (x *TestAllTypes) ClearDefaultDouble() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 92)
}

func (x *TestAllTypes) ClearDefaultBool() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 93)
}

func (x *TestAllTypes) ClearDefaultString() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 94)
}

func (x *TestAllTypes) ClearDefaultBytes() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 95)
}

func (x *TestAllTypes) ClearDefaultNestedEnum() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[3]), 96)
}

func (x *TestAllTypes) ClearDefaultForeignEnum() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[3]), 97)
}

func (x *TestAllTypes) ClearOneofField() {
	x.xxx_hidden_OneofField = nil
}

func (x *TestAllTypes) ClearOneofUint32() {
	if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint32); ok {
		x.xxx_hidden_OneofField = nil
	}
}

func (x *TestAllTypes) ClearOneofNestedMessage() {
	if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofNestedMessage); ok {
		x.xxx_hidden_OneofField = nil
	}
}

func (x *TestAllTypes) ClearOneofString() {
	if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofString); ok {
		x.xxx_hidden_OneofField = nil
	}
}

func (x *TestAllTypes) ClearOneofBytes() {
	if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBytes); ok {
		x.xxx_hidden_OneofField = nil
	}
}

func (x *TestAllTypes) ClearOneofBool() {
	if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBool); ok {
		x.xxx_hidden_OneofField = nil
	}
}

func (x *TestAllTypes) ClearOneofUint64() {
	if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint64); ok {
		x.xxx_hidden_OneofField = nil
	}
}

func (x *TestAllTypes) ClearOneofFloat() {
	if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofFloat); ok {
		x.xxx_hidden_OneofField = nil
	}
}

func (x *TestAllTypes) ClearOneofDouble() {
	if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofDouble); ok {
		x.xxx_hidden_OneofField = nil
	}
}

func (x *TestAllTypes) ClearOneofEnum() {
	if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofEnum); ok {
		x.xxx_hidden_OneofField = nil
	}
}

func (x *TestAllTypes) ClearOneofgroup() {
	if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_Oneofgroup); ok {
		x.xxx_hidden_OneofField = nil
	}
}

func (x *TestAllTypes) ClearOneofOptional() {
	x.xxx_hidden_OneofOptional = nil
}

func (x *TestAllTypes) ClearOneofOptionalUint32() {
	if _, ok := x.xxx_hidden_OneofOptional.(*testAllTypes_OneofOptionalUint32); ok {
		x.xxx_hidden_OneofOptional = nil
	}
}

const TestAllTypes_OneofField_not_set_case case_TestAllTypes_OneofField = 0
const TestAllTypes_OneofUint32_case case_TestAllTypes_OneofField = 111
const TestAllTypes_OneofNestedMessage_case case_TestAllTypes_OneofField = 112
const TestAllTypes_OneofString_case case_TestAllTypes_OneofField = 113
const TestAllTypes_OneofBytes_case case_TestAllTypes_OneofField = 114
const TestAllTypes_OneofBool_case case_TestAllTypes_OneofField = 115
const TestAllTypes_OneofUint64_case case_TestAllTypes_OneofField = 116
const TestAllTypes_OneofFloat_case case_TestAllTypes_OneofField = 117
const TestAllTypes_OneofDouble_case case_TestAllTypes_OneofField = 118
const TestAllTypes_OneofEnum_case case_TestAllTypes_OneofField = 119
const TestAllTypes_Oneofgroup_case case_TestAllTypes_OneofField = 121

func (x *TestAllTypes) WhichOneofField() case_TestAllTypes_OneofField {
	if x == nil {
		return TestAllTypes_OneofField_not_set_case
	}
	switch x.xxx_hidden_OneofField.(type) {
	case *testAllTypes_OneofUint32:
		return TestAllTypes_OneofUint32_case
	case *testAllTypes_OneofNestedMessage:
		return TestAllTypes_OneofNestedMessage_case
	case *testAllTypes_OneofString:
		return TestAllTypes_OneofString_case
	case *testAllTypes_OneofBytes:
		return TestAllTypes_OneofBytes_case
	case *testAllTypes_OneofBool:
		return TestAllTypes_OneofBool_case
	case *testAllTypes_OneofUint64:
		return TestAllTypes_OneofUint64_case
	case *testAllTypes_OneofFloat:
		return TestAllTypes_OneofFloat_case
	case *testAllTypes_OneofDouble:
		return TestAllTypes_OneofDouble_case
	case *testAllTypes_OneofEnum:
		return TestAllTypes_OneofEnum_case
	case *testAllTypes_Oneofgroup:
		return TestAllTypes_Oneofgroup_case
	default:
		return TestAllTypes_OneofField_not_set_case
	}
}

const TestAllTypes_OneofOptional_not_set_case case_TestAllTypes_OneofOptional = 0
const TestAllTypes_OneofOptionalUint32_case case_TestAllTypes_OneofOptional = 120

func (x *TestAllTypes) WhichOneofOptional() case_TestAllTypes_OneofOptional {
	if x == nil {
		return TestAllTypes_OneofOptional_not_set_case
	}
	switch x.xxx_hidden_OneofOptional.(type) {
	case *testAllTypes_OneofOptionalUint32:
		return TestAllTypes_OneofOptionalUint32_case
	default:
		return TestAllTypes_OneofOptional_not_set_case
	}
}

type TestAllTypes_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	SingularInt32    int32
	SingularInt64    int64
	SingularUint32   uint32
	SingularUint64   uint64
	SingularSint32   int32
	SingularSint64   int64
	SingularFixed32  uint32
	SingularFixed64  uint64
	SingularSfixed32 int32
	SingularSfixed64 int64
	SingularFloat    float32
	SingularDouble   float64
	SingularBool     bool
	SingularString   string
	SingularBytes    []byte
	// message-typed fields elided, as they cannot specify implicit presence.
	SingularNestedEnum        TestAllTypes_NestedEnum
	SingularForeignEnum       ForeignEnum
	SingularImportEnum        ImportEnum
	OptionalInt32             *int32
	OptionalInt64             *int64
	OptionalUint32            *uint32
	OptionalUint64            *uint64
	OptionalSint32            *int32
	OptionalSint64            *int64
	OptionalFixed32           *uint32
	OptionalFixed64           *uint64
	OptionalSfixed32          *int32
	OptionalSfixed64          *int64
	OptionalFloat             *float32
	OptionalDouble            *float64
	OptionalBool              *bool
	OptionalString            *string
	OptionalBytes             []byte
	Optionalgroup             *TestAllTypes_OptionalGroup
	NotGroupLikeDelimited     *TestAllTypes_OptionalGroup
	OptionalNestedMessage     *TestAllTypes_NestedMessage
	OptionalForeignMessage    *ForeignMessage
	OptionalImportMessage     *ImportMessage
	OptionalNestedEnum        *TestAllTypes_NestedEnum
	OptionalForeignEnum       *ForeignEnum
	OptionalImportEnum        *ImportEnum
	OptionalLazyNestedMessage *TestAllTypes_NestedMessage
	RepeatedInt32             []int32
	RepeatedInt64             []int64
	RepeatedUint32            []uint32
	RepeatedUint64            []uint64
	RepeatedSint32            []int32
	RepeatedSint64            []int64
	RepeatedFixed32           []uint32
	RepeatedFixed64           []uint64
	RepeatedSfixed32          []int32
	RepeatedSfixed64          []int64
	RepeatedFloat             []float32
	RepeatedDouble            []float64
	RepeatedBool              []bool
	RepeatedString            []string
	RepeatedBytes             [][]byte
	Repeatedgroup             []*TestAllTypes_RepeatedGroup
	RepeatedNestedMessage     []*TestAllTypes_NestedMessage
	RepeatedForeignMessage    []*ForeignMessage
	RepeatedImportmessage     []*ImportMessage
	RepeatedNestedEnum        []TestAllTypes_NestedEnum
	RepeatedForeignEnum       []ForeignEnum
	RepeatedImportenum        []ImportEnum
	MapInt32Int32             map[int32]int32
	MapInt64Int64             map[int64]int64
	MapUint32Uint32           map[uint32]uint32
	MapUint64Uint64           map[uint64]uint64
	MapSint32Sint32           map[int32]int32
	MapSint64Sint64           map[int64]int64
	MapFixed32Fixed32         map[uint32]uint32
	MapFixed64Fixed64         map[uint64]uint64
	MapSfixed32Sfixed32       map[int32]int32
	MapSfixed64Sfixed64       map[int64]int64
	MapInt32Float             map[int32]float32
	MapInt32Double            map[int32]float64
	MapBoolBool               map[bool]bool
	MapStringString           map[string]string
	MapStringBytes            map[string][]byte
	MapStringNestedMessage    map[string]*TestAllTypes_NestedMessage
	MapStringNestedEnum       map[string]TestAllTypes_NestedEnum
	// Singular with defaults
	DefaultInt32       *int32
	DefaultInt64       *int64
	DefaultUint32      *uint32
	DefaultUint64      *uint64
	DefaultSint32      *int32
	DefaultSint64      *int64
	DefaultFixed32     *uint32
	DefaultFixed64     *uint64
	DefaultSfixed32    *int32
	DefaultSfixed64    *int64
	DefaultFloat       *float32
	DefaultDouble      *float64
	DefaultBool        *bool
	DefaultString      *string
	DefaultBytes       []byte
	DefaultNestedEnum  *TestAllTypes_NestedEnum
	DefaultForeignEnum *ForeignEnum
	// Fields of oneof xxx_hidden_OneofField:
	OneofUint32        *uint32
	OneofNestedMessage *TestAllTypes_NestedMessage
	OneofString        *string
	OneofBytes         []byte
	OneofBool          *bool
	OneofUint64        *uint64
	OneofFloat         *float32
	OneofDouble        *float64
	OneofEnum          *TestAllTypes_NestedEnum
	Oneofgroup         *TestAllTypes_OneofGroup
	// -- end of xxx_hidden_OneofField
	// A oneof with exactly one field.

	// Fields of oneof xxx_hidden_OneofOptional:
	OneofOptionalUint32 *uint32
	// -- end of xxx_hidden_OneofOptional
}

func (b0 TestAllTypes_builder) Build() *TestAllTypes {
	m0 := &TestAllTypes{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_SingularInt32 = b.SingularInt32
	x.xxx_hidden_SingularInt64 = b.SingularInt64
	x.xxx_hidden_SingularUint32 = b.SingularUint32
	x.xxx_hidden_SingularUint64 = b.SingularUint64
	x.xxx_hidden_SingularSint32 = b.SingularSint32
	x.xxx_hidden_SingularSint64 = b.SingularSint64
	x.xxx_hidden_SingularFixed32 = b.SingularFixed32
	x.xxx_hidden_SingularFixed64 = b.SingularFixed64
	x.xxx_hidden_SingularSfixed32 = b.SingularSfixed32
	x.xxx_hidden_SingularSfixed64 = b.SingularSfixed64
	x.xxx_hidden_SingularFloat = b.SingularFloat
	x.xxx_hidden_SingularDouble = b.SingularDouble
	x.xxx_hidden_SingularBool = b.SingularBool
	x.xxx_hidden_SingularString = b.SingularString
	x.xxx_hidden_SingularBytes = b.SingularBytes
	x.xxx_hidden_SingularNestedEnum = b.SingularNestedEnum
	x.xxx_hidden_SingularForeignEnum = b.SingularForeignEnum
	x.xxx_hidden_SingularImportEnum = b.SingularImportEnum
	if b.OptionalInt32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 18, 100)
		x.xxx_hidden_OptionalInt32 = *b.OptionalInt32
	}
	if b.OptionalInt64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 19, 100)
		x.xxx_hidden_OptionalInt64 = *b.OptionalInt64
	}
	if b.OptionalUint32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 20, 100)
		x.xxx_hidden_OptionalUint32 = *b.OptionalUint32
	}
	if b.OptionalUint64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 21, 100)
		x.xxx_hidden_OptionalUint64 = *b.OptionalUint64
	}
	if b.OptionalSint32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 22, 100)
		x.xxx_hidden_OptionalSint32 = *b.OptionalSint32
	}
	if b.OptionalSint64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 23, 100)
		x.xxx_hidden_OptionalSint64 = *b.OptionalSint64
	}
	if b.OptionalFixed32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 24, 100)
		x.xxx_hidden_OptionalFixed32 = *b.OptionalFixed32
	}
	if b.OptionalFixed64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 25, 100)
		x.xxx_hidden_OptionalFixed64 = *b.OptionalFixed64
	}
	if b.OptionalSfixed32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 26, 100)
		x.xxx_hidden_OptionalSfixed32 = *b.OptionalSfixed32
	}
	if b.OptionalSfixed64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 27, 100)
		x.xxx_hidden_OptionalSfixed64 = *b.OptionalSfixed64
	}
	if b.OptionalFloat != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 28, 100)
		x.xxx_hidden_OptionalFloat = *b.OptionalFloat
	}
	if b.OptionalDouble != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 29, 100)
		x.xxx_hidden_OptionalDouble = *b.OptionalDouble
	}
	if b.OptionalBool != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 30, 100)
		x.xxx_hidden_OptionalBool = *b.OptionalBool
	}
	if b.OptionalString != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 31, 100)
		x.xxx_hidden_OptionalString = b.OptionalString
	}
	if b.OptionalBytes != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 32, 100)
		x.xxx_hidden_OptionalBytes = b.OptionalBytes
	}
	x.xxx_hidden_Optionalgroup = b.Optionalgroup
	x.xxx_hidden_NotGroupLikeDelimited = b.NotGroupLikeDelimited
	x.xxx_hidden_OptionalNestedMessage = b.OptionalNestedMessage
	x.xxx_hidden_OptionalForeignMessage = b.OptionalForeignMessage
	x.xxx_hidden_OptionalImportMessage = b.OptionalImportMessage
	if b.OptionalNestedEnum != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 38, 100)
		x.xxx_hidden_OptionalNestedEnum = *b.OptionalNestedEnum
	}
	if b.OptionalForeignEnum != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 39, 100)
		x.xxx_hidden_OptionalForeignEnum = *b.OptionalForeignEnum
	}
	if b.OptionalImportEnum != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 40, 100)
		x.xxx_hidden_OptionalImportEnum = *b.OptionalImportEnum
	}
	if b.OptionalLazyNestedMessage != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 41, 100)
		x.xxx_hidden_OptionalLazyNestedMessage = b.OptionalLazyNestedMessage
	}
	x.xxx_hidden_RepeatedInt32 = b.RepeatedInt32
	x.xxx_hidden_RepeatedInt64 = b.RepeatedInt64
	x.xxx_hidden_RepeatedUint32 = b.RepeatedUint32
	x.xxx_hidden_RepeatedUint64 = b.RepeatedUint64
	x.xxx_hidden_RepeatedSint32 = b.RepeatedSint32
	x.xxx_hidden_RepeatedSint64 = b.RepeatedSint64
	x.xxx_hidden_RepeatedFixed32 = b.RepeatedFixed32
	x.xxx_hidden_RepeatedFixed64 = b.RepeatedFixed64
	x.xxx_hidden_RepeatedSfixed32 = b.RepeatedSfixed32
	x.xxx_hidden_RepeatedSfixed64 = b.RepeatedSfixed64
	x.xxx_hidden_RepeatedFloat = b.RepeatedFloat
	x.xxx_hidden_RepeatedDouble = b.RepeatedDouble
	x.xxx_hidden_RepeatedBool = b.RepeatedBool
	x.xxx_hidden_RepeatedString = b.RepeatedString
	x.xxx_hidden_RepeatedBytes = b.RepeatedBytes
	x.xxx_hidden_Repeatedgroup = &b.Repeatedgroup
	x.xxx_hidden_RepeatedNestedMessage = &b.RepeatedNestedMessage
	x.xxx_hidden_RepeatedForeignMessage = &b.RepeatedForeignMessage
	x.xxx_hidden_RepeatedImportmessage = &b.RepeatedImportmessage
	x.xxx_hidden_RepeatedNestedEnum = b.RepeatedNestedEnum
	x.xxx_hidden_RepeatedForeignEnum = b.RepeatedForeignEnum
	x.xxx_hidden_RepeatedImportenum = b.RepeatedImportenum
	x.xxx_hidden_MapInt32Int32 = b.MapInt32Int32
	x.xxx_hidden_MapInt64Int64 = b.MapInt64Int64
	x.xxx_hidden_MapUint32Uint32 = b.MapUint32Uint32
	x.xxx_hidden_MapUint64Uint64 = b.MapUint64Uint64
	x.xxx_hidden_MapSint32Sint32 = b.MapSint32Sint32
	x.xxx_hidden_MapSint64Sint64 = b.MapSint64Sint64
	x.xxx_hidden_MapFixed32Fixed32 = b.MapFixed32Fixed32
	x.xxx_hidden_MapFixed64Fixed64 = b.MapFixed64Fixed64
	x.xxx_hidden_MapSfixed32Sfixed32 = b.MapSfixed32Sfixed32
	x.xxx_hidden_MapSfixed64Sfixed64 = b.MapSfixed64Sfixed64
	x.xxx_hidden_MapInt32Float = b.MapInt32Float
	x.xxx_hidden_MapInt32Double = b.MapInt32Double
	x.xxx_hidden_MapBoolBool = b.MapBoolBool
	x.xxx_hidden_MapStringString = b.MapStringString
	x.xxx_hidden_MapStringBytes = b.MapStringBytes
	x.xxx_hidden_MapStringNestedMessage = b.MapStringNestedMessage
	x.xxx_hidden_MapStringNestedEnum = b.MapStringNestedEnum
	if b.DefaultInt32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 81, 100)
		x.xxx_hidden_DefaultInt32 = *b.DefaultInt32
	}
	if b.DefaultInt64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 82, 100)
		x.xxx_hidden_DefaultInt64 = *b.DefaultInt64
	}
	if b.DefaultUint32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 83, 100)
		x.xxx_hidden_DefaultUint32 = *b.DefaultUint32
	}
	if b.DefaultUint64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 84, 100)
		x.xxx_hidden_DefaultUint64 = *b.DefaultUint64
	}
	if b.DefaultSint32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 85, 100)
		x.xxx_hidden_DefaultSint32 = *b.DefaultSint32
	}
	if b.DefaultSint64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 86, 100)
		x.xxx_hidden_DefaultSint64 = *b.DefaultSint64
	}
	if b.DefaultFixed32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 87, 100)
		x.xxx_hidden_DefaultFixed32 = *b.DefaultFixed32
	}
	if b.DefaultFixed64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 88, 100)
		x.xxx_hidden_DefaultFixed64 = *b.DefaultFixed64
	}
	if b.DefaultSfixed32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 89, 100)
		x.xxx_hidden_DefaultSfixed32 = *b.DefaultSfixed32
	}
	if b.DefaultSfixed64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 90, 100)
		x.xxx_hidden_DefaultSfixed64 = *b.DefaultSfixed64
	}
	if b.DefaultFloat != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 91, 100)
		x.xxx_hidden_DefaultFloat = *b.DefaultFloat
	}
	if b.DefaultDouble != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 92, 100)
		x.xxx_hidden_DefaultDouble = *b.DefaultDouble
	}
	if b.DefaultBool != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 93, 100)
		x.xxx_hidden_DefaultBool = *b.DefaultBool
	}
	if b.DefaultString != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 94, 100)
		x.xxx_hidden_DefaultString = b.DefaultString
	}
	if b.DefaultBytes != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 95, 100)
		x.xxx_hidden_DefaultBytes = b.DefaultBytes
	}
	if b.DefaultNestedEnum != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[3]), 96, 100)
		x.xxx_hidden_DefaultNestedEnum = *b.DefaultNestedEnum
	}
	if b.DefaultForeignEnum != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[3]), 97, 100)
		x.xxx_hidden_DefaultForeignEnum = *b.DefaultForeignEnum
	}
	if b.OneofUint32 != nil {
		x.xxx_hidden_OneofField = &testAllTypes_OneofUint32{*b.OneofUint32}
	}
	if b.OneofNestedMessage != nil {
		x.xxx_hidden_OneofField = &testAllTypes_OneofNestedMessage{b.OneofNestedMessage}
	}
	if b.OneofString != nil {
		x.xxx_hidden_OneofField = &testAllTypes_OneofString{*b.OneofString}
	}
	if b.OneofBytes != nil {
		x.xxx_hidden_OneofField = &testAllTypes_OneofBytes{b.OneofBytes}
	}
	if b.OneofBool != nil {
		x.xxx_hidden_OneofField = &testAllTypes_OneofBool{*b.OneofBool}
	}
	if b.OneofUint64 != nil {
		x.xxx_hidden_OneofField = &testAllTypes_OneofUint64{*b.OneofUint64}
	}
	if b.OneofFloat != nil {
		x.xxx_hidden_OneofField = &testAllTypes_OneofFloat{*b.OneofFloat}
	}
	if b.OneofDouble != nil {
		x.xxx_hidden_OneofField = &testAllTypes_OneofDouble{*b.OneofDouble}
	}
	if b.OneofEnum != nil {
		x.xxx_hidden_OneofField = &testAllTypes_OneofEnum{*b.OneofEnum}
	}
	if b.Oneofgroup != nil {
		x.xxx_hidden_OneofField = &testAllTypes_Oneofgroup{b.Oneofgroup}
	}
	if b.OneofOptionalUint32 != nil {
		x.xxx_hidden_OneofOptional = &testAllTypes_OneofOptionalUint32{*b.OneofOptionalUint32}
	}
	return m0
}

type case_TestAllTypes_OneofField protoreflect.FieldNumber

func (x case_TestAllTypes_OneofField) String() string {
	md := file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[0].Descriptor()
	if x == 0 {
		return "not set"
	}
	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
}

type case_TestAllTypes_OneofOptional protoreflect.FieldNumber

func (x case_TestAllTypes_OneofOptional) String() string {
	md := file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[0].Descriptor()
	if x == 0 {
		return "not set"
	}
	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
}

type isTestAllTypes_OneofField interface {
	isTestAllTypes_OneofField()
}

type testAllTypes_OneofUint32 struct {
	OneofUint32 uint32 `protobuf:"varint,111,opt,name=oneof_uint32,json=oneofUint32,oneof"`
}

type testAllTypes_OneofNestedMessage struct {
	OneofNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,112,opt,name=oneof_nested_message,json=oneofNestedMessage,oneof"`
}

type testAllTypes_OneofString struct {
	OneofString string `protobuf:"bytes,113,opt,name=oneof_string,json=oneofString,oneof"`
}

type testAllTypes_OneofBytes struct {
	OneofBytes []byte `protobuf:"bytes,114,opt,name=oneof_bytes,json=oneofBytes,oneof"`
}

type testAllTypes_OneofBool struct {
	OneofBool bool `protobuf:"varint,115,opt,name=oneof_bool,json=oneofBool,oneof"`
}

type testAllTypes_OneofUint64 struct {
	OneofUint64 uint64 `protobuf:"varint,116,opt,name=oneof_uint64,json=oneofUint64,oneof"`
}

type testAllTypes_OneofFloat struct {
	OneofFloat float32 `protobuf:"fixed32,117,opt,name=oneof_float,json=oneofFloat,oneof"`
}

type testAllTypes_OneofDouble struct {
	OneofDouble float64 `protobuf:"fixed64,118,opt,name=oneof_double,json=oneofDouble,oneof"`
}

type testAllTypes_OneofEnum struct {
	OneofEnum TestAllTypes_NestedEnum `protobuf:"varint,119,opt,name=oneof_enum,json=oneofEnum,enum=opaque.goproto.proto.testeditions.TestAllTypes_NestedEnum,oneof"`
}

type testAllTypes_Oneofgroup struct {
	Oneofgroup *TestAllTypes_OneofGroup `protobuf:"group,121,opt,name=OneofGroup,json=oneofgroup,oneof"`
}

func (*testAllTypes_OneofUint32) isTestAllTypes_OneofField() {}

func (*testAllTypes_OneofNestedMessage) isTestAllTypes_OneofField() {}

func (*testAllTypes_OneofString) isTestAllTypes_OneofField() {}

func (*testAllTypes_OneofBytes) isTestAllTypes_OneofField() {}

func (*testAllTypes_OneofBool) isTestAllTypes_OneofField() {}

func (*testAllTypes_OneofUint64) isTestAllTypes_OneofField() {}

func (*testAllTypes_OneofFloat) isTestAllTypes_OneofField() {}

func (*testAllTypes_OneofDouble) isTestAllTypes_OneofField() {}

func (*testAllTypes_OneofEnum) isTestAllTypes_OneofField() {}

func (*testAllTypes_Oneofgroup) isTestAllTypes_OneofField() {}

type isTestAllTypes_OneofOptional interface {
	isTestAllTypes_OneofOptional()
}

type testAllTypes_OneofOptionalUint32 struct {
	OneofOptionalUint32 uint32 `protobuf:"varint,120,opt,name=oneof_optional_uint32,json=oneofOptionalUint32,oneof"`
}

func (*testAllTypes_OneofOptionalUint32) isTestAllTypes_OneofOptional() {}

type TestManyMessageFieldsMessage struct {
	state           protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_F1   *TestAllTypes          `protobuf:"bytes,1,opt,name=f1" json:"f1,omitempty"`
	xxx_hidden_F2   *TestAllTypes          `protobuf:"bytes,2,opt,name=f2" json:"f2,omitempty"`
	xxx_hidden_F3   *TestAllTypes          `protobuf:"bytes,3,opt,name=f3" json:"f3,omitempty"`
	xxx_hidden_F4   *TestAllTypes          `protobuf:"bytes,4,opt,name=f4" json:"f4,omitempty"`
	xxx_hidden_F5   *TestAllTypes          `protobuf:"bytes,5,opt,name=f5" json:"f5,omitempty"`
	xxx_hidden_F6   *TestAllTypes          `protobuf:"bytes,6,opt,name=f6" json:"f6,omitempty"`
	xxx_hidden_F7   *TestAllTypes          `protobuf:"bytes,7,opt,name=f7" json:"f7,omitempty"`
	xxx_hidden_F8   *TestAllTypes          `protobuf:"bytes,8,opt,name=f8" json:"f8,omitempty"`
	xxx_hidden_F9   *TestAllTypes          `protobuf:"bytes,9,opt,name=f9" json:"f9,omitempty"`
	xxx_hidden_F10  *TestAllTypes          `protobuf:"bytes,10,opt,name=f10" json:"f10,omitempty"`
	xxx_hidden_F11  *TestAllTypes          `protobuf:"bytes,11,opt,name=f11" json:"f11,omitempty"`
	xxx_hidden_F12  *TestAllTypes          `protobuf:"bytes,12,opt,name=f12" json:"f12,omitempty"`
	xxx_hidden_F13  *TestAllTypes          `protobuf:"bytes,13,opt,name=f13" json:"f13,omitempty"`
	xxx_hidden_F14  *TestAllTypes          `protobuf:"bytes,14,opt,name=f14" json:"f14,omitempty"`
	xxx_hidden_F15  *TestAllTypes          `protobuf:"bytes,15,opt,name=f15" json:"f15,omitempty"`
	xxx_hidden_F16  *TestAllTypes          `protobuf:"bytes,16,opt,name=f16" json:"f16,omitempty"`
	xxx_hidden_F17  *TestAllTypes          `protobuf:"bytes,17,opt,name=f17" json:"f17,omitempty"`
	xxx_hidden_F18  *TestAllTypes          `protobuf:"bytes,18,opt,name=f18" json:"f18,omitempty"`
	xxx_hidden_F19  *TestAllTypes          `protobuf:"bytes,19,opt,name=f19" json:"f19,omitempty"`
	xxx_hidden_F20  *TestAllTypes          `protobuf:"bytes,20,opt,name=f20" json:"f20,omitempty"`
	xxx_hidden_F21  *TestAllTypes          `protobuf:"bytes,21,opt,name=f21" json:"f21,omitempty"`
	xxx_hidden_F22  *TestAllTypes          `protobuf:"bytes,22,opt,name=f22" json:"f22,omitempty"`
	xxx_hidden_F23  *TestAllTypes          `protobuf:"bytes,23,opt,name=f23" json:"f23,omitempty"`
	xxx_hidden_F24  *TestAllTypes          `protobuf:"bytes,24,opt,name=f24" json:"f24,omitempty"`
	xxx_hidden_F25  *TestAllTypes          `protobuf:"bytes,25,opt,name=f25" json:"f25,omitempty"`
	xxx_hidden_F26  *TestAllTypes          `protobuf:"bytes,26,opt,name=f26" json:"f26,omitempty"`
	xxx_hidden_F27  *TestAllTypes          `protobuf:"bytes,27,opt,name=f27" json:"f27,omitempty"`
	xxx_hidden_F28  *TestAllTypes          `protobuf:"bytes,28,opt,name=f28" json:"f28,omitempty"`
	xxx_hidden_F29  *TestAllTypes          `protobuf:"bytes,29,opt,name=f29" json:"f29,omitempty"`
	xxx_hidden_F30  *TestAllTypes          `protobuf:"bytes,30,opt,name=f30" json:"f30,omitempty"`
	xxx_hidden_F31  *TestAllTypes          `protobuf:"bytes,31,opt,name=f31" json:"f31,omitempty"`
	xxx_hidden_F32  *TestAllTypes          `protobuf:"bytes,32,opt,name=f32" json:"f32,omitempty"`
	xxx_hidden_F33  *TestAllTypes          `protobuf:"bytes,33,opt,name=f33" json:"f33,omitempty"`
	xxx_hidden_F34  *TestAllTypes          `protobuf:"bytes,34,opt,name=f34" json:"f34,omitempty"`
	xxx_hidden_F35  *TestAllTypes          `protobuf:"bytes,35,opt,name=f35" json:"f35,omitempty"`
	xxx_hidden_F36  *TestAllTypes          `protobuf:"bytes,36,opt,name=f36" json:"f36,omitempty"`
	xxx_hidden_F37  *TestAllTypes          `protobuf:"bytes,37,opt,name=f37" json:"f37,omitempty"`
	xxx_hidden_F38  *TestAllTypes          `protobuf:"bytes,38,opt,name=f38" json:"f38,omitempty"`
	xxx_hidden_F39  *TestAllTypes          `protobuf:"bytes,39,opt,name=f39" json:"f39,omitempty"`
	xxx_hidden_F40  *TestAllTypes          `protobuf:"bytes,40,opt,name=f40" json:"f40,omitempty"`
	xxx_hidden_F41  *TestAllTypes          `protobuf:"bytes,41,opt,name=f41" json:"f41,omitempty"`
	xxx_hidden_F42  *TestAllTypes          `protobuf:"bytes,42,opt,name=f42" json:"f42,omitempty"`
	xxx_hidden_F43  *TestAllTypes          `protobuf:"bytes,43,opt,name=f43" json:"f43,omitempty"`
	xxx_hidden_F44  *TestAllTypes          `protobuf:"bytes,44,opt,name=f44" json:"f44,omitempty"`
	xxx_hidden_F45  *TestAllTypes          `protobuf:"bytes,45,opt,name=f45" json:"f45,omitempty"`
	xxx_hidden_F46  *TestAllTypes          `protobuf:"bytes,46,opt,name=f46" json:"f46,omitempty"`
	xxx_hidden_F47  *TestAllTypes          `protobuf:"bytes,47,opt,name=f47" json:"f47,omitempty"`
	xxx_hidden_F48  *TestAllTypes          `protobuf:"bytes,48,opt,name=f48" json:"f48,omitempty"`
	xxx_hidden_F49  *TestAllTypes          `protobuf:"bytes,49,opt,name=f49" json:"f49,omitempty"`
	xxx_hidden_F50  *TestAllTypes          `protobuf:"bytes,50,opt,name=f50" json:"f50,omitempty"`
	xxx_hidden_F51  *TestAllTypes          `protobuf:"bytes,51,opt,name=f51" json:"f51,omitempty"`
	xxx_hidden_F52  *TestAllTypes          `protobuf:"bytes,52,opt,name=f52" json:"f52,omitempty"`
	xxx_hidden_F53  *TestAllTypes          `protobuf:"bytes,53,opt,name=f53" json:"f53,omitempty"`
	xxx_hidden_F54  *TestAllTypes          `protobuf:"bytes,54,opt,name=f54" json:"f54,omitempty"`
	xxx_hidden_F55  *TestAllTypes          `protobuf:"bytes,55,opt,name=f55" json:"f55,omitempty"`
	xxx_hidden_F56  *TestAllTypes          `protobuf:"bytes,56,opt,name=f56" json:"f56,omitempty"`
	xxx_hidden_F57  *TestAllTypes          `protobuf:"bytes,57,opt,name=f57" json:"f57,omitempty"`
	xxx_hidden_F58  *TestAllTypes          `protobuf:"bytes,58,opt,name=f58" json:"f58,omitempty"`
	xxx_hidden_F59  *TestAllTypes          `protobuf:"bytes,59,opt,name=f59" json:"f59,omitempty"`
	xxx_hidden_F60  *TestAllTypes          `protobuf:"bytes,60,opt,name=f60" json:"f60,omitempty"`
	xxx_hidden_F61  *TestAllTypes          `protobuf:"bytes,61,opt,name=f61" json:"f61,omitempty"`
	xxx_hidden_F62  *TestAllTypes          `protobuf:"bytes,62,opt,name=f62" json:"f62,omitempty"`
	xxx_hidden_F63  *TestAllTypes          `protobuf:"bytes,63,opt,name=f63" json:"f63,omitempty"`
	xxx_hidden_F64  *TestAllTypes          `protobuf:"bytes,64,opt,name=f64" json:"f64,omitempty"`
	xxx_hidden_F65  *TestAllTypes          `protobuf:"bytes,65,opt,name=f65" json:"f65,omitempty"`
	xxx_hidden_F66  *TestAllTypes          `protobuf:"bytes,66,opt,name=f66" json:"f66,omitempty"`
	xxx_hidden_F67  *TestAllTypes          `protobuf:"bytes,67,opt,name=f67" json:"f67,omitempty"`
	xxx_hidden_F68  *TestAllTypes          `protobuf:"bytes,68,opt,name=f68" json:"f68,omitempty"`
	xxx_hidden_F69  *TestAllTypes          `protobuf:"bytes,69,opt,name=f69" json:"f69,omitempty"`
	xxx_hidden_F70  *TestAllTypes          `protobuf:"bytes,70,opt,name=f70" json:"f70,omitempty"`
	xxx_hidden_F71  *TestAllTypes          `protobuf:"bytes,71,opt,name=f71" json:"f71,omitempty"`
	xxx_hidden_F72  *TestAllTypes          `protobuf:"bytes,72,opt,name=f72" json:"f72,omitempty"`
	xxx_hidden_F73  *TestAllTypes          `protobuf:"bytes,73,opt,name=f73" json:"f73,omitempty"`
	xxx_hidden_F74  *TestAllTypes          `protobuf:"bytes,74,opt,name=f74" json:"f74,omitempty"`
	xxx_hidden_F75  *TestAllTypes          `protobuf:"bytes,75,opt,name=f75" json:"f75,omitempty"`
	xxx_hidden_F76  *TestAllTypes          `protobuf:"bytes,76,opt,name=f76" json:"f76,omitempty"`
	xxx_hidden_F77  *TestAllTypes          `protobuf:"bytes,77,opt,name=f77" json:"f77,omitempty"`
	xxx_hidden_F78  *TestAllTypes          `protobuf:"bytes,78,opt,name=f78" json:"f78,omitempty"`
	xxx_hidden_F79  *TestAllTypes          `protobuf:"bytes,79,opt,name=f79" json:"f79,omitempty"`
	xxx_hidden_F80  *TestAllTypes          `protobuf:"bytes,80,opt,name=f80" json:"f80,omitempty"`
	xxx_hidden_F81  *TestAllTypes          `protobuf:"bytes,81,opt,name=f81" json:"f81,omitempty"`
	xxx_hidden_F82  *TestAllTypes          `protobuf:"bytes,82,opt,name=f82" json:"f82,omitempty"`
	xxx_hidden_F83  *TestAllTypes          `protobuf:"bytes,83,opt,name=f83" json:"f83,omitempty"`
	xxx_hidden_F84  *TestAllTypes          `protobuf:"bytes,84,opt,name=f84" json:"f84,omitempty"`
	xxx_hidden_F85  *TestAllTypes          `protobuf:"bytes,85,opt,name=f85" json:"f85,omitempty"`
	xxx_hidden_F86  *TestAllTypes          `protobuf:"bytes,86,opt,name=f86" json:"f86,omitempty"`
	xxx_hidden_F87  *TestAllTypes          `protobuf:"bytes,87,opt,name=f87" json:"f87,omitempty"`
	xxx_hidden_F88  *TestAllTypes          `protobuf:"bytes,88,opt,name=f88" json:"f88,omitempty"`
	xxx_hidden_F89  *TestAllTypes          `protobuf:"bytes,89,opt,name=f89" json:"f89,omitempty"`
	xxx_hidden_F90  *TestAllTypes          `protobuf:"bytes,90,opt,name=f90" json:"f90,omitempty"`
	xxx_hidden_F91  *TestAllTypes          `protobuf:"bytes,91,opt,name=f91" json:"f91,omitempty"`
	xxx_hidden_F92  *TestAllTypes          `protobuf:"bytes,92,opt,name=f92" json:"f92,omitempty"`
	xxx_hidden_F93  *TestAllTypes          `protobuf:"bytes,93,opt,name=f93" json:"f93,omitempty"`
	xxx_hidden_F94  *TestAllTypes          `protobuf:"bytes,94,opt,name=f94" json:"f94,omitempty"`
	xxx_hidden_F95  *TestAllTypes          `protobuf:"bytes,95,opt,name=f95" json:"f95,omitempty"`
	xxx_hidden_F96  *TestAllTypes          `protobuf:"bytes,96,opt,name=f96" json:"f96,omitempty"`
	xxx_hidden_F97  *TestAllTypes          `protobuf:"bytes,97,opt,name=f97" json:"f97,omitempty"`
	xxx_hidden_F98  *TestAllTypes          `protobuf:"bytes,98,opt,name=f98" json:"f98,omitempty"`
	xxx_hidden_F99  *TestAllTypes          `protobuf:"bytes,99,opt,name=f99" json:"f99,omitempty"`
	xxx_hidden_F100 *TestAllTypes          `protobuf:"bytes,100,opt,name=f100" json:"f100,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *TestManyMessageFieldsMessage) Reset() {
	*x = TestManyMessageFieldsMessage{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestManyMessageFieldsMessage) ProtoMessage() {}

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

func (x *TestManyMessageFieldsMessage) GetF1() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F1
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF2() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F2
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF3() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F3
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF4() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F4
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF5() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F5
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF6() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F6
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF7() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F7
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF8() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F8
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF9() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F9
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF10() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F10
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF11() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F11
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF12() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F12
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF13() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F13
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF14() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F14
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF15() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F15
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF16() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F16
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF17() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F17
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF18() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F18
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF19() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F19
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF20() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F20
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF21() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F21
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF22() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F22
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF23() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F23
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF24() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F24
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF25() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F25
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF26() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F26
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF27() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F27
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF28() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F28
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF29() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F29
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF30() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F30
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF31() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F31
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF32() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F32
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF33() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F33
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF34() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F34
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF35() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F35
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF36() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F36
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF37() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F37
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF38() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F38
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF39() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F39
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF40() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F40
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF41() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F41
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF42() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F42
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF43() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F43
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF44() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F44
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF45() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F45
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF46() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F46
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF47() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F47
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF48() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F48
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF49() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F49
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF50() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F50
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF51() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F51
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF52() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F52
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF53() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F53
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF54() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F54
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF55() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F55
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF56() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F56
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF57() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F57
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF58() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F58
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF59() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F59
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF60() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F60
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF61() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F61
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF62() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F62
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF63() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F63
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF64() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F64
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF65() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F65
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF66() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F66
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF67() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F67
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF68() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F68
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF69() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F69
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF70() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F70
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF71() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F71
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF72() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F72
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF73() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F73
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF74() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F74
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF75() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F75
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF76() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F76
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF77() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F77
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF78() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F78
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF79() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F79
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF80() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F80
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF81() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F81
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF82() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F82
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF83() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F83
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF84() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F84
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF85() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F85
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF86() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F86
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF87() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F87
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF88() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F88
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF89() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F89
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF90() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F90
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF91() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F91
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF92() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F92
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF93() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F93
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF94() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F94
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF95() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F95
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF96() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F96
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF97() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F97
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF98() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F98
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF99() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F99
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) GetF100() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_F100
	}
	return nil
}

func (x *TestManyMessageFieldsMessage) SetF1(v *TestAllTypes) {
	x.xxx_hidden_F1 = v
}

func (x *TestManyMessageFieldsMessage) SetF2(v *TestAllTypes) {
	x.xxx_hidden_F2 = v
}

func (x *TestManyMessageFieldsMessage) SetF3(v *TestAllTypes) {
	x.xxx_hidden_F3 = v
}

func (x *TestManyMessageFieldsMessage) SetF4(v *TestAllTypes) {
	x.xxx_hidden_F4 = v
}

func (x *TestManyMessageFieldsMessage) SetF5(v *TestAllTypes) {
	x.xxx_hidden_F5 = v
}

func (x *TestManyMessageFieldsMessage) SetF6(v *TestAllTypes) {
	x.xxx_hidden_F6 = v
}

func (x *TestManyMessageFieldsMessage) SetF7(v *TestAllTypes) {
	x.xxx_hidden_F7 = v
}

func (x *TestManyMessageFieldsMessage) SetF8(v *TestAllTypes) {
	x.xxx_hidden_F8 = v
}

func (x *TestManyMessageFieldsMessage) SetF9(v *TestAllTypes) {
	x.xxx_hidden_F9 = v
}

func (x *TestManyMessageFieldsMessage) SetF10(v *TestAllTypes) {
	x.xxx_hidden_F10 = v
}

func (x *TestManyMessageFieldsMessage) SetF11(v *TestAllTypes) {
	x.xxx_hidden_F11 = v
}

func (x *TestManyMessageFieldsMessage) SetF12(v *TestAllTypes) {
	x.xxx_hidden_F12 = v
}

func (x *TestManyMessageFieldsMessage) SetF13(v *TestAllTypes) {
	x.xxx_hidden_F13 = v
}

func (x *TestManyMessageFieldsMessage) SetF14(v *TestAllTypes) {
	x.xxx_hidden_F14 = v
}

func (x *TestManyMessageFieldsMessage) SetF15(v *TestAllTypes) {
	x.xxx_hidden_F15 = v
}

func (x *TestManyMessageFieldsMessage) SetF16(v *TestAllTypes) {
	x.xxx_hidden_F16 = v
}

func (x *TestManyMessageFieldsMessage) SetF17(v *TestAllTypes) {
	x.xxx_hidden_F17 = v
}

func (x *TestManyMessageFieldsMessage) SetF18(v *TestAllTypes) {
	x.xxx_hidden_F18 = v
}

func (x *TestManyMessageFieldsMessage) SetF19(v *TestAllTypes) {
	x.xxx_hidden_F19 = v
}

func (x *TestManyMessageFieldsMessage) SetF20(v *TestAllTypes) {
	x.xxx_hidden_F20 = v
}

func (x *TestManyMessageFieldsMessage) SetF21(v *TestAllTypes) {
	x.xxx_hidden_F21 = v
}

func (x *TestManyMessageFieldsMessage) SetF22(v *TestAllTypes) {
	x.xxx_hidden_F22 = v
}

func (x *TestManyMessageFieldsMessage) SetF23(v *TestAllTypes) {
	x.xxx_hidden_F23 = v
}

func (x *TestManyMessageFieldsMessage) SetF24(v *TestAllTypes) {
	x.xxx_hidden_F24 = v
}

func (x *TestManyMessageFieldsMessage) SetF25(v *TestAllTypes) {
	x.xxx_hidden_F25 = v
}

func (x *TestManyMessageFieldsMessage) SetF26(v *TestAllTypes) {
	x.xxx_hidden_F26 = v
}

func (x *TestManyMessageFieldsMessage) SetF27(v *TestAllTypes) {
	x.xxx_hidden_F27 = v
}

func (x *TestManyMessageFieldsMessage) SetF28(v *TestAllTypes) {
	x.xxx_hidden_F28 = v
}

func (x *TestManyMessageFieldsMessage) SetF29(v *TestAllTypes) {
	x.xxx_hidden_F29 = v
}

func (x *TestManyMessageFieldsMessage) SetF30(v *TestAllTypes) {
	x.xxx_hidden_F30 = v
}

func (x *TestManyMessageFieldsMessage) SetF31(v *TestAllTypes) {
	x.xxx_hidden_F31 = v
}

func (x *TestManyMessageFieldsMessage) SetF32(v *TestAllTypes) {
	x.xxx_hidden_F32 = v
}

func (x *TestManyMessageFieldsMessage) SetF33(v *TestAllTypes) {
	x.xxx_hidden_F33 = v
}

func (x *TestManyMessageFieldsMessage) SetF34(v *TestAllTypes) {
	x.xxx_hidden_F34 = v
}

func (x *TestManyMessageFieldsMessage) SetF35(v *TestAllTypes) {
	x.xxx_hidden_F35 = v
}

func (x *TestManyMessageFieldsMessage) SetF36(v *TestAllTypes) {
	x.xxx_hidden_F36 = v
}

func (x *TestManyMessageFieldsMessage) SetF37(v *TestAllTypes) {
	x.xxx_hidden_F37 = v
}

func (x *TestManyMessageFieldsMessage) SetF38(v *TestAllTypes) {
	x.xxx_hidden_F38 = v
}

func (x *TestManyMessageFieldsMessage) SetF39(v *TestAllTypes) {
	x.xxx_hidden_F39 = v
}

func (x *TestManyMessageFieldsMessage) SetF40(v *TestAllTypes) {
	x.xxx_hidden_F40 = v
}

func (x *TestManyMessageFieldsMessage) SetF41(v *TestAllTypes) {
	x.xxx_hidden_F41 = v
}

func (x *TestManyMessageFieldsMessage) SetF42(v *TestAllTypes) {
	x.xxx_hidden_F42 = v
}

func (x *TestManyMessageFieldsMessage) SetF43(v *TestAllTypes) {
	x.xxx_hidden_F43 = v
}

func (x *TestManyMessageFieldsMessage) SetF44(v *TestAllTypes) {
	x.xxx_hidden_F44 = v
}

func (x *TestManyMessageFieldsMessage) SetF45(v *TestAllTypes) {
	x.xxx_hidden_F45 = v
}

func (x *TestManyMessageFieldsMessage) SetF46(v *TestAllTypes) {
	x.xxx_hidden_F46 = v
}

func (x *TestManyMessageFieldsMessage) SetF47(v *TestAllTypes) {
	x.xxx_hidden_F47 = v
}

func (x *TestManyMessageFieldsMessage) SetF48(v *TestAllTypes) {
	x.xxx_hidden_F48 = v
}

func (x *TestManyMessageFieldsMessage) SetF49(v *TestAllTypes) {
	x.xxx_hidden_F49 = v
}

func (x *TestManyMessageFieldsMessage) SetF50(v *TestAllTypes) {
	x.xxx_hidden_F50 = v
}

func (x *TestManyMessageFieldsMessage) SetF51(v *TestAllTypes) {
	x.xxx_hidden_F51 = v
}

func (x *TestManyMessageFieldsMessage) SetF52(v *TestAllTypes) {
	x.xxx_hidden_F52 = v
}

func (x *TestManyMessageFieldsMessage) SetF53(v *TestAllTypes) {
	x.xxx_hidden_F53 = v
}

func (x *TestManyMessageFieldsMessage) SetF54(v *TestAllTypes) {
	x.xxx_hidden_F54 = v
}

func (x *TestManyMessageFieldsMessage) SetF55(v *TestAllTypes) {
	x.xxx_hidden_F55 = v
}

func (x *TestManyMessageFieldsMessage) SetF56(v *TestAllTypes) {
	x.xxx_hidden_F56 = v
}

func (x *TestManyMessageFieldsMessage) SetF57(v *TestAllTypes) {
	x.xxx_hidden_F57 = v
}

func (x *TestManyMessageFieldsMessage) SetF58(v *TestAllTypes) {
	x.xxx_hidden_F58 = v
}

func (x *TestManyMessageFieldsMessage) SetF59(v *TestAllTypes) {
	x.xxx_hidden_F59 = v
}

func (x *TestManyMessageFieldsMessage) SetF60(v *TestAllTypes) {
	x.xxx_hidden_F60 = v
}

func (x *TestManyMessageFieldsMessage) SetF61(v *TestAllTypes) {
	x.xxx_hidden_F61 = v
}

func (x *TestManyMessageFieldsMessage) SetF62(v *TestAllTypes) {
	x.xxx_hidden_F62 = v
}

func (x *TestManyMessageFieldsMessage) SetF63(v *TestAllTypes) {
	x.xxx_hidden_F63 = v
}

func (x *TestManyMessageFieldsMessage) SetF64(v *TestAllTypes) {
	x.xxx_hidden_F64 = v
}

func (x *TestManyMessageFieldsMessage) SetF65(v *TestAllTypes) {
	x.xxx_hidden_F65 = v
}

func (x *TestManyMessageFieldsMessage) SetF66(v *TestAllTypes) {
	x.xxx_hidden_F66 = v
}

func (x *TestManyMessageFieldsMessage) SetF67(v *TestAllTypes) {
	x.xxx_hidden_F67 = v
}

func (x *TestManyMessageFieldsMessage) SetF68(v *TestAllTypes) {
	x.xxx_hidden_F68 = v
}

func (x *TestManyMessageFieldsMessage) SetF69(v *TestAllTypes) {
	x.xxx_hidden_F69 = v
}

func (x *TestManyMessageFieldsMessage) SetF70(v *TestAllTypes) {
	x.xxx_hidden_F70 = v
}

func (x *TestManyMessageFieldsMessage) SetF71(v *TestAllTypes) {
	x.xxx_hidden_F71 = v
}

func (x *TestManyMessageFieldsMessage) SetF72(v *TestAllTypes) {
	x.xxx_hidden_F72 = v
}

func (x *TestManyMessageFieldsMessage) SetF73(v *TestAllTypes) {
	x.xxx_hidden_F73 = v
}

func (x *TestManyMessageFieldsMessage) SetF74(v *TestAllTypes) {
	x.xxx_hidden_F74 = v
}

func (x *TestManyMessageFieldsMessage) SetF75(v *TestAllTypes) {
	x.xxx_hidden_F75 = v
}

func (x *TestManyMessageFieldsMessage) SetF76(v *TestAllTypes) {
	x.xxx_hidden_F76 = v
}

func (x *TestManyMessageFieldsMessage) SetF77(v *TestAllTypes) {
	x.xxx_hidden_F77 = v
}

func (x *TestManyMessageFieldsMessage) SetF78(v *TestAllTypes) {
	x.xxx_hidden_F78 = v
}

func (x *TestManyMessageFieldsMessage) SetF79(v *TestAllTypes) {
	x.xxx_hidden_F79 = v
}

func (x *TestManyMessageFieldsMessage) SetF80(v *TestAllTypes) {
	x.xxx_hidden_F80 = v
}

func (x *TestManyMessageFieldsMessage) SetF81(v *TestAllTypes) {
	x.xxx_hidden_F81 = v
}

func (x *TestManyMessageFieldsMessage) SetF82(v *TestAllTypes) {
	x.xxx_hidden_F82 = v
}

func (x *TestManyMessageFieldsMessage) SetF83(v *TestAllTypes) {
	x.xxx_hidden_F83 = v
}

func (x *TestManyMessageFieldsMessage) SetF84(v *TestAllTypes) {
	x.xxx_hidden_F84 = v
}

func (x *TestManyMessageFieldsMessage) SetF85(v *TestAllTypes) {
	x.xxx_hidden_F85 = v
}

func (x *TestManyMessageFieldsMessage) SetF86(v *TestAllTypes) {
	x.xxx_hidden_F86 = v
}

func (x *TestManyMessageFieldsMessage) SetF87(v *TestAllTypes) {
	x.xxx_hidden_F87 = v
}

func (x *TestManyMessageFieldsMessage) SetF88(v *TestAllTypes) {
	x.xxx_hidden_F88 = v
}

func (x *TestManyMessageFieldsMessage) SetF89(v *TestAllTypes) {
	x.xxx_hidden_F89 = v
}

func (x *TestManyMessageFieldsMessage) SetF90(v *TestAllTypes) {
	x.xxx_hidden_F90 = v
}

func (x *TestManyMessageFieldsMessage) SetF91(v *TestAllTypes) {
	x.xxx_hidden_F91 = v
}

func (x *TestManyMessageFieldsMessage) SetF92(v *TestAllTypes) {
	x.xxx_hidden_F92 = v
}

func (x *TestManyMessageFieldsMessage) SetF93(v *TestAllTypes) {
	x.xxx_hidden_F93 = v
}

func (x *TestManyMessageFieldsMessage) SetF94(v *TestAllTypes) {
	x.xxx_hidden_F94 = v
}

func (x *TestManyMessageFieldsMessage) SetF95(v *TestAllTypes) {
	x.xxx_hidden_F95 = v
}

func (x *TestManyMessageFieldsMessage) SetF96(v *TestAllTypes) {
	x.xxx_hidden_F96 = v
}

func (x *TestManyMessageFieldsMessage) SetF97(v *TestAllTypes) {
	x.xxx_hidden_F97 = v
}

func (x *TestManyMessageFieldsMessage) SetF98(v *TestAllTypes) {
	x.xxx_hidden_F98 = v
}

func (x *TestManyMessageFieldsMessage) SetF99(v *TestAllTypes) {
	x.xxx_hidden_F99 = v
}

func (x *TestManyMessageFieldsMessage) SetF100(v *TestAllTypes) {
	x.xxx_hidden_F100 = v
}

func (x *TestManyMessageFieldsMessage) HasF1() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F1 != nil
}

func (x *TestManyMessageFieldsMessage) HasF2() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F2 != nil
}

func (x *TestManyMessageFieldsMessage) HasF3() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F3 != nil
}

func (x *TestManyMessageFieldsMessage) HasF4() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F4 != nil
}

func (x *TestManyMessageFieldsMessage) HasF5() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F5 != nil
}

func (x *TestManyMessageFieldsMessage) HasF6() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F6 != nil
}

func (x *TestManyMessageFieldsMessage) HasF7() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F7 != nil
}

func (x *TestManyMessageFieldsMessage) HasF8() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F8 != nil
}

func (x *TestManyMessageFieldsMessage) HasF9() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F9 != nil
}

func (x *TestManyMessageFieldsMessage) HasF10() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F10 != nil
}

func (x *TestManyMessageFieldsMessage) HasF11() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F11 != nil
}

func (x *TestManyMessageFieldsMessage) HasF12() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F12 != nil
}

func (x *TestManyMessageFieldsMessage) HasF13() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F13 != nil
}

func (x *TestManyMessageFieldsMessage) HasF14() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F14 != nil
}

func (x *TestManyMessageFieldsMessage) HasF15() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F15 != nil
}

func (x *TestManyMessageFieldsMessage) HasF16() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F16 != nil
}

func (x *TestManyMessageFieldsMessage) HasF17() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F17 != nil
}

func (x *TestManyMessageFieldsMessage) HasF18() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F18 != nil
}

func (x *TestManyMessageFieldsMessage) HasF19() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F19 != nil
}

func (x *TestManyMessageFieldsMessage) HasF20() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F20 != nil
}

func (x *TestManyMessageFieldsMessage) HasF21() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F21 != nil
}

func (x *TestManyMessageFieldsMessage) HasF22() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F22 != nil
}

func (x *TestManyMessageFieldsMessage) HasF23() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F23 != nil
}

func (x *TestManyMessageFieldsMessage) HasF24() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F24 != nil
}

func (x *TestManyMessageFieldsMessage) HasF25() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F25 != nil
}

func (x *TestManyMessageFieldsMessage) HasF26() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F26 != nil
}

func (x *TestManyMessageFieldsMessage) HasF27() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F27 != nil
}

func (x *TestManyMessageFieldsMessage) HasF28() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F28 != nil
}

func (x *TestManyMessageFieldsMessage) HasF29() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F29 != nil
}

func (x *TestManyMessageFieldsMessage) HasF30() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F30 != nil
}

func (x *TestManyMessageFieldsMessage) HasF31() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F31 != nil
}

func (x *TestManyMessageFieldsMessage) HasF32() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F32 != nil
}

func (x *TestManyMessageFieldsMessage) HasF33() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F33 != nil
}

func (x *TestManyMessageFieldsMessage) HasF34() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F34 != nil
}

func (x *TestManyMessageFieldsMessage) HasF35() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F35 != nil
}

func (x *TestManyMessageFieldsMessage) HasF36() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F36 != nil
}

func (x *TestManyMessageFieldsMessage) HasF37() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F37 != nil
}

func (x *TestManyMessageFieldsMessage) HasF38() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F38 != nil
}

func (x *TestManyMessageFieldsMessage) HasF39() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F39 != nil
}

func (x *TestManyMessageFieldsMessage) HasF40() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F40 != nil
}

func (x *TestManyMessageFieldsMessage) HasF41() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F41 != nil
}

func (x *TestManyMessageFieldsMessage) HasF42() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F42 != nil
}

func (x *TestManyMessageFieldsMessage) HasF43() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F43 != nil
}

func (x *TestManyMessageFieldsMessage) HasF44() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F44 != nil
}

func (x *TestManyMessageFieldsMessage) HasF45() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F45 != nil
}

func (x *TestManyMessageFieldsMessage) HasF46() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F46 != nil
}

func (x *TestManyMessageFieldsMessage) HasF47() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F47 != nil
}

func (x *TestManyMessageFieldsMessage) HasF48() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F48 != nil
}

func (x *TestManyMessageFieldsMessage) HasF49() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F49 != nil
}

func (x *TestManyMessageFieldsMessage) HasF50() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F50 != nil
}

func (x *TestManyMessageFieldsMessage) HasF51() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F51 != nil
}

func (x *TestManyMessageFieldsMessage) HasF52() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F52 != nil
}

func (x *TestManyMessageFieldsMessage) HasF53() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F53 != nil
}

func (x *TestManyMessageFieldsMessage) HasF54() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F54 != nil
}

func (x *TestManyMessageFieldsMessage) HasF55() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F55 != nil
}

func (x *TestManyMessageFieldsMessage) HasF56() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F56 != nil
}

func (x *TestManyMessageFieldsMessage) HasF57() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F57 != nil
}

func (x *TestManyMessageFieldsMessage) HasF58() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F58 != nil
}

func (x *TestManyMessageFieldsMessage) HasF59() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F59 != nil
}

func (x *TestManyMessageFieldsMessage) HasF60() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F60 != nil
}

func (x *TestManyMessageFieldsMessage) HasF61() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F61 != nil
}

func (x *TestManyMessageFieldsMessage) HasF62() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F62 != nil
}

func (x *TestManyMessageFieldsMessage) HasF63() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F63 != nil
}

func (x *TestManyMessageFieldsMessage) HasF64() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F64 != nil
}

func (x *TestManyMessageFieldsMessage) HasF65() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F65 != nil
}

func (x *TestManyMessageFieldsMessage) HasF66() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F66 != nil
}

func (x *TestManyMessageFieldsMessage) HasF67() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F67 != nil
}

func (x *TestManyMessageFieldsMessage) HasF68() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F68 != nil
}

func (x *TestManyMessageFieldsMessage) HasF69() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F69 != nil
}

func (x *TestManyMessageFieldsMessage) HasF70() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F70 != nil
}

func (x *TestManyMessageFieldsMessage) HasF71() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F71 != nil
}

func (x *TestManyMessageFieldsMessage) HasF72() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F72 != nil
}

func (x *TestManyMessageFieldsMessage) HasF73() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F73 != nil
}

func (x *TestManyMessageFieldsMessage) HasF74() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F74 != nil
}

func (x *TestManyMessageFieldsMessage) HasF75() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F75 != nil
}

func (x *TestManyMessageFieldsMessage) HasF76() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F76 != nil
}

func (x *TestManyMessageFieldsMessage) HasF77() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F77 != nil
}

func (x *TestManyMessageFieldsMessage) HasF78() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F78 != nil
}

func (x *TestManyMessageFieldsMessage) HasF79() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F79 != nil
}

func (x *TestManyMessageFieldsMessage) HasF80() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F80 != nil
}

func (x *TestManyMessageFieldsMessage) HasF81() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F81 != nil
}

func (x *TestManyMessageFieldsMessage) HasF82() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F82 != nil
}

func (x *TestManyMessageFieldsMessage) HasF83() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F83 != nil
}

func (x *TestManyMessageFieldsMessage) HasF84() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F84 != nil
}

func (x *TestManyMessageFieldsMessage) HasF85() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F85 != nil
}

func (x *TestManyMessageFieldsMessage) HasF86() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F86 != nil
}

func (x *TestManyMessageFieldsMessage) HasF87() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F87 != nil
}

func (x *TestManyMessageFieldsMessage) HasF88() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F88 != nil
}

func (x *TestManyMessageFieldsMessage) HasF89() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F89 != nil
}

func (x *TestManyMessageFieldsMessage) HasF90() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F90 != nil
}

func (x *TestManyMessageFieldsMessage) HasF91() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F91 != nil
}

func (x *TestManyMessageFieldsMessage) HasF92() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F92 != nil
}

func (x *TestManyMessageFieldsMessage) HasF93() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F93 != nil
}

func (x *TestManyMessageFieldsMessage) HasF94() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F94 != nil
}

func (x *TestManyMessageFieldsMessage) HasF95() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F95 != nil
}

func (x *TestManyMessageFieldsMessage) HasF96() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F96 != nil
}

func (x *TestManyMessageFieldsMessage) HasF97() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F97 != nil
}

func (x *TestManyMessageFieldsMessage) HasF98() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F98 != nil
}

func (x *TestManyMessageFieldsMessage) HasF99() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F99 != nil
}

func (x *TestManyMessageFieldsMessage) HasF100() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_F100 != nil
}

func (x *TestManyMessageFieldsMessage) ClearF1() {
	x.xxx_hidden_F1 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF2() {
	x.xxx_hidden_F2 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF3() {
	x.xxx_hidden_F3 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF4() {
	x.xxx_hidden_F4 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF5() {
	x.xxx_hidden_F5 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF6() {
	x.xxx_hidden_F6 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF7() {
	x.xxx_hidden_F7 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF8() {
	x.xxx_hidden_F8 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF9() {
	x.xxx_hidden_F9 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF10() {
	x.xxx_hidden_F10 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF11() {
	x.xxx_hidden_F11 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF12() {
	x.xxx_hidden_F12 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF13() {
	x.xxx_hidden_F13 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF14() {
	x.xxx_hidden_F14 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF15() {
	x.xxx_hidden_F15 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF16() {
	x.xxx_hidden_F16 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF17() {
	x.xxx_hidden_F17 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF18() {
	x.xxx_hidden_F18 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF19() {
	x.xxx_hidden_F19 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF20() {
	x.xxx_hidden_F20 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF21() {
	x.xxx_hidden_F21 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF22() {
	x.xxx_hidden_F22 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF23() {
	x.xxx_hidden_F23 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF24() {
	x.xxx_hidden_F24 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF25() {
	x.xxx_hidden_F25 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF26() {
	x.xxx_hidden_F26 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF27() {
	x.xxx_hidden_F27 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF28() {
	x.xxx_hidden_F28 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF29() {
	x.xxx_hidden_F29 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF30() {
	x.xxx_hidden_F30 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF31() {
	x.xxx_hidden_F31 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF32() {
	x.xxx_hidden_F32 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF33() {
	x.xxx_hidden_F33 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF34() {
	x.xxx_hidden_F34 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF35() {
	x.xxx_hidden_F35 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF36() {
	x.xxx_hidden_F36 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF37() {
	x.xxx_hidden_F37 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF38() {
	x.xxx_hidden_F38 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF39() {
	x.xxx_hidden_F39 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF40() {
	x.xxx_hidden_F40 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF41() {
	x.xxx_hidden_F41 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF42() {
	x.xxx_hidden_F42 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF43() {
	x.xxx_hidden_F43 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF44() {
	x.xxx_hidden_F44 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF45() {
	x.xxx_hidden_F45 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF46() {
	x.xxx_hidden_F46 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF47() {
	x.xxx_hidden_F47 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF48() {
	x.xxx_hidden_F48 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF49() {
	x.xxx_hidden_F49 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF50() {
	x.xxx_hidden_F50 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF51() {
	x.xxx_hidden_F51 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF52() {
	x.xxx_hidden_F52 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF53() {
	x.xxx_hidden_F53 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF54() {
	x.xxx_hidden_F54 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF55() {
	x.xxx_hidden_F55 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF56() {
	x.xxx_hidden_F56 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF57() {
	x.xxx_hidden_F57 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF58() {
	x.xxx_hidden_F58 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF59() {
	x.xxx_hidden_F59 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF60() {
	x.xxx_hidden_F60 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF61() {
	x.xxx_hidden_F61 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF62() {
	x.xxx_hidden_F62 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF63() {
	x.xxx_hidden_F63 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF64() {
	x.xxx_hidden_F64 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF65() {
	x.xxx_hidden_F65 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF66() {
	x.xxx_hidden_F66 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF67() {
	x.xxx_hidden_F67 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF68() {
	x.xxx_hidden_F68 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF69() {
	x.xxx_hidden_F69 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF70() {
	x.xxx_hidden_F70 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF71() {
	x.xxx_hidden_F71 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF72() {
	x.xxx_hidden_F72 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF73() {
	x.xxx_hidden_F73 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF74() {
	x.xxx_hidden_F74 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF75() {
	x.xxx_hidden_F75 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF76() {
	x.xxx_hidden_F76 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF77() {
	x.xxx_hidden_F77 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF78() {
	x.xxx_hidden_F78 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF79() {
	x.xxx_hidden_F79 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF80() {
	x.xxx_hidden_F80 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF81() {
	x.xxx_hidden_F81 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF82() {
	x.xxx_hidden_F82 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF83() {
	x.xxx_hidden_F83 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF84() {
	x.xxx_hidden_F84 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF85() {
	x.xxx_hidden_F85 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF86() {
	x.xxx_hidden_F86 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF87() {
	x.xxx_hidden_F87 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF88() {
	x.xxx_hidden_F88 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF89() {
	x.xxx_hidden_F89 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF90() {
	x.xxx_hidden_F90 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF91() {
	x.xxx_hidden_F91 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF92() {
	x.xxx_hidden_F92 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF93() {
	x.xxx_hidden_F93 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF94() {
	x.xxx_hidden_F94 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF95() {
	x.xxx_hidden_F95 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF96() {
	x.xxx_hidden_F96 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF97() {
	x.xxx_hidden_F97 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF98() {
	x.xxx_hidden_F98 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF99() {
	x.xxx_hidden_F99 = nil
}

func (x *TestManyMessageFieldsMessage) ClearF100() {
	x.xxx_hidden_F100 = nil
}

type TestManyMessageFieldsMessage_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	F1   *TestAllTypes
	F2   *TestAllTypes
	F3   *TestAllTypes
	F4   *TestAllTypes
	F5   *TestAllTypes
	F6   *TestAllTypes
	F7   *TestAllTypes
	F8   *TestAllTypes
	F9   *TestAllTypes
	F10  *TestAllTypes
	F11  *TestAllTypes
	F12  *TestAllTypes
	F13  *TestAllTypes
	F14  *TestAllTypes
	F15  *TestAllTypes
	F16  *TestAllTypes
	F17  *TestAllTypes
	F18  *TestAllTypes
	F19  *TestAllTypes
	F20  *TestAllTypes
	F21  *TestAllTypes
	F22  *TestAllTypes
	F23  *TestAllTypes
	F24  *TestAllTypes
	F25  *TestAllTypes
	F26  *TestAllTypes
	F27  *TestAllTypes
	F28  *TestAllTypes
	F29  *TestAllTypes
	F30  *TestAllTypes
	F31  *TestAllTypes
	F32  *TestAllTypes
	F33  *TestAllTypes
	F34  *TestAllTypes
	F35  *TestAllTypes
	F36  *TestAllTypes
	F37  *TestAllTypes
	F38  *TestAllTypes
	F39  *TestAllTypes
	F40  *TestAllTypes
	F41  *TestAllTypes
	F42  *TestAllTypes
	F43  *TestAllTypes
	F44  *TestAllTypes
	F45  *TestAllTypes
	F46  *TestAllTypes
	F47  *TestAllTypes
	F48  *TestAllTypes
	F49  *TestAllTypes
	F50  *TestAllTypes
	F51  *TestAllTypes
	F52  *TestAllTypes
	F53  *TestAllTypes
	F54  *TestAllTypes
	F55  *TestAllTypes
	F56  *TestAllTypes
	F57  *TestAllTypes
	F58  *TestAllTypes
	F59  *TestAllTypes
	F60  *TestAllTypes
	F61  *TestAllTypes
	F62  *TestAllTypes
	F63  *TestAllTypes
	F64  *TestAllTypes
	F65  *TestAllTypes
	F66  *TestAllTypes
	F67  *TestAllTypes
	F68  *TestAllTypes
	F69  *TestAllTypes
	F70  *TestAllTypes
	F71  *TestAllTypes
	F72  *TestAllTypes
	F73  *TestAllTypes
	F74  *TestAllTypes
	F75  *TestAllTypes
	F76  *TestAllTypes
	F77  *TestAllTypes
	F78  *TestAllTypes
	F79  *TestAllTypes
	F80  *TestAllTypes
	F81  *TestAllTypes
	F82  *TestAllTypes
	F83  *TestAllTypes
	F84  *TestAllTypes
	F85  *TestAllTypes
	F86  *TestAllTypes
	F87  *TestAllTypes
	F88  *TestAllTypes
	F89  *TestAllTypes
	F90  *TestAllTypes
	F91  *TestAllTypes
	F92  *TestAllTypes
	F93  *TestAllTypes
	F94  *TestAllTypes
	F95  *TestAllTypes
	F96  *TestAllTypes
	F97  *TestAllTypes
	F98  *TestAllTypes
	F99  *TestAllTypes
	F100 *TestAllTypes
}

func (b0 TestManyMessageFieldsMessage_builder) Build() *TestManyMessageFieldsMessage {
	m0 := &TestManyMessageFieldsMessage{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_F1 = b.F1
	x.xxx_hidden_F2 = b.F2
	x.xxx_hidden_F3 = b.F3
	x.xxx_hidden_F4 = b.F4
	x.xxx_hidden_F5 = b.F5
	x.xxx_hidden_F6 = b.F6
	x.xxx_hidden_F7 = b.F7
	x.xxx_hidden_F8 = b.F8
	x.xxx_hidden_F9 = b.F9
	x.xxx_hidden_F10 = b.F10
	x.xxx_hidden_F11 = b.F11
	x.xxx_hidden_F12 = b.F12
	x.xxx_hidden_F13 = b.F13
	x.xxx_hidden_F14 = b.F14
	x.xxx_hidden_F15 = b.F15
	x.xxx_hidden_F16 = b.F16
	x.xxx_hidden_F17 = b.F17
	x.xxx_hidden_F18 = b.F18
	x.xxx_hidden_F19 = b.F19
	x.xxx_hidden_F20 = b.F20
	x.xxx_hidden_F21 = b.F21
	x.xxx_hidden_F22 = b.F22
	x.xxx_hidden_F23 = b.F23
	x.xxx_hidden_F24 = b.F24
	x.xxx_hidden_F25 = b.F25
	x.xxx_hidden_F26 = b.F26
	x.xxx_hidden_F27 = b.F27
	x.xxx_hidden_F28 = b.F28
	x.xxx_hidden_F29 = b.F29
	x.xxx_hidden_F30 = b.F30
	x.xxx_hidden_F31 = b.F31
	x.xxx_hidden_F32 = b.F32
	x.xxx_hidden_F33 = b.F33
	x.xxx_hidden_F34 = b.F34
	x.xxx_hidden_F35 = b.F35
	x.xxx_hidden_F36 = b.F36
	x.xxx_hidden_F37 = b.F37
	x.xxx_hidden_F38 = b.F38
	x.xxx_hidden_F39 = b.F39
	x.xxx_hidden_F40 = b.F40
	x.xxx_hidden_F41 = b.F41
	x.xxx_hidden_F42 = b.F42
	x.xxx_hidden_F43 = b.F43
	x.xxx_hidden_F44 = b.F44
	x.xxx_hidden_F45 = b.F45
	x.xxx_hidden_F46 = b.F46
	x.xxx_hidden_F47 = b.F47
	x.xxx_hidden_F48 = b.F48
	x.xxx_hidden_F49 = b.F49
	x.xxx_hidden_F50 = b.F50
	x.xxx_hidden_F51 = b.F51
	x.xxx_hidden_F52 = b.F52
	x.xxx_hidden_F53 = b.F53
	x.xxx_hidden_F54 = b.F54
	x.xxx_hidden_F55 = b.F55
	x.xxx_hidden_F56 = b.F56
	x.xxx_hidden_F57 = b.F57
	x.xxx_hidden_F58 = b.F58
	x.xxx_hidden_F59 = b.F59
	x.xxx_hidden_F60 = b.F60
	x.xxx_hidden_F61 = b.F61
	x.xxx_hidden_F62 = b.F62
	x.xxx_hidden_F63 = b.F63
	x.xxx_hidden_F64 = b.F64
	x.xxx_hidden_F65 = b.F65
	x.xxx_hidden_F66 = b.F66
	x.xxx_hidden_F67 = b.F67
	x.xxx_hidden_F68 = b.F68
	x.xxx_hidden_F69 = b.F69
	x.xxx_hidden_F70 = b.F70
	x.xxx_hidden_F71 = b.F71
	x.xxx_hidden_F72 = b.F72
	x.xxx_hidden_F73 = b.F73
	x.xxx_hidden_F74 = b.F74
	x.xxx_hidden_F75 = b.F75
	x.xxx_hidden_F76 = b.F76
	x.xxx_hidden_F77 = b.F77
	x.xxx_hidden_F78 = b.F78
	x.xxx_hidden_F79 = b.F79
	x.xxx_hidden_F80 = b.F80
	x.xxx_hidden_F81 = b.F81
	x.xxx_hidden_F82 = b.F82
	x.xxx_hidden_F83 = b.F83
	x.xxx_hidden_F84 = b.F84
	x.xxx_hidden_F85 = b.F85
	x.xxx_hidden_F86 = b.F86
	x.xxx_hidden_F87 = b.F87
	x.xxx_hidden_F88 = b.F88
	x.xxx_hidden_F89 = b.F89
	x.xxx_hidden_F90 = b.F90
	x.xxx_hidden_F91 = b.F91
	x.xxx_hidden_F92 = b.F92
	x.xxx_hidden_F93 = b.F93
	x.xxx_hidden_F94 = b.F94
	x.xxx_hidden_F95 = b.F95
	x.xxx_hidden_F96 = b.F96
	x.xxx_hidden_F97 = b.F97
	x.xxx_hidden_F98 = b.F98
	x.xxx_hidden_F99 = b.F99
	x.xxx_hidden_F100 = b.F100
	return m0
}

type ForeignMessage struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_C           int32                  `protobuf:"varint,1,opt,name=c" json:"c,omitempty"`
	xxx_hidden_D           int32                  `protobuf:"varint,2,opt,name=d" json:"d,omitempty"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *ForeignMessage) Reset() {
	*x = ForeignMessage{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ForeignMessage) ProtoMessage() {}

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

func (x *ForeignMessage) GetC() int32 {
	if x != nil {
		return x.xxx_hidden_C
	}
	return 0
}

func (x *ForeignMessage) GetD() int32 {
	if x != nil {
		return x.xxx_hidden_D
	}
	return 0
}

func (x *ForeignMessage) SetC(v int32) {
	x.xxx_hidden_C = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
}

func (x *ForeignMessage) SetD(v int32) {
	x.xxx_hidden_D = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2)
}

func (x *ForeignMessage) HasC() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *ForeignMessage) HasD() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
}

func (x *ForeignMessage) ClearC() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_C = 0
}

func (x *ForeignMessage) ClearD() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
	x.xxx_hidden_D = 0
}

type ForeignMessage_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	C *int32
	D *int32
}

func (b0 ForeignMessage_builder) Build() *ForeignMessage {
	m0 := &ForeignMessage{}
	b, x := &b0, m0
	_, _ = b, x
	if b.C != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
		x.xxx_hidden_C = *b.C
	}
	if b.D != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2)
		x.xxx_hidden_D = *b.D
	}
	return m0
}

type TestRequired struct {
	state                    protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_RequiredField int32                  `protobuf:"varint,1,req,name=required_field,json=requiredField" json:"required_field,omitempty"`
	XXX_raceDetectHookData   protoimpl.RaceDetectHookData
	XXX_presence             [1]uint32
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *TestRequired) Reset() {
	*x = TestRequired{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestRequired) ProtoMessage() {}

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

func (x *TestRequired) GetRequiredField() int32 {
	if x != nil {
		return x.xxx_hidden_RequiredField
	}
	return 0
}

func (x *TestRequired) SetRequiredField(v int32) {
	x.xxx_hidden_RequiredField = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
}

func (x *TestRequired) HasRequiredField() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *TestRequired) ClearRequiredField() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_RequiredField = 0
}

type TestRequired_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	RequiredField *int32
}

func (b0 TestRequired_builder) Build() *TestRequired {
	m0 := &TestRequired{}
	b, x := &b0, m0
	_, _ = b, x
	if b.RequiredField != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
		x.xxx_hidden_RequiredField = *b.RequiredField
	}
	return m0
}

type TestRequiredForeign struct {
	state                      protoimpl.MessageState           `protogen:"opaque.v1"`
	xxx_hidden_OptionalMessage *TestRequired                    `protobuf:"bytes,1,opt,name=optional_message,json=optionalMessage" json:"optional_message,omitempty"`
	xxx_hidden_RepeatedMessage *[]*TestRequired                 `protobuf:"bytes,2,rep,name=repeated_message,json=repeatedMessage" json:"repeated_message,omitempty"`
	xxx_hidden_MapMessage      map[int32]*TestRequired          `protobuf:"bytes,3,rep,name=map_message,json=mapMessage" json:"map_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	xxx_hidden_OneofField      isTestRequiredForeign_OneofField `protobuf_oneof:"oneof_field"`
	unknownFields              protoimpl.UnknownFields
	sizeCache                  protoimpl.SizeCache
}

func (x *TestRequiredForeign) Reset() {
	*x = TestRequiredForeign{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestRequiredForeign) ProtoMessage() {}

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

func (x *TestRequiredForeign) GetOptionalMessage() *TestRequired {
	if x != nil {
		return x.xxx_hidden_OptionalMessage
	}
	return nil
}

func (x *TestRequiredForeign) GetRepeatedMessage() []*TestRequired {
	if x != nil {
		if x.xxx_hidden_RepeatedMessage != nil {
			return *x.xxx_hidden_RepeatedMessage
		}
	}
	return nil
}

func (x *TestRequiredForeign) GetMapMessage() map[int32]*TestRequired {
	if x != nil {
		return x.xxx_hidden_MapMessage
	}
	return nil
}

func (x *TestRequiredForeign) GetOneofMessage() *TestRequired {
	if x != nil {
		if x, ok := x.xxx_hidden_OneofField.(*testRequiredForeign_OneofMessage); ok {
			return x.OneofMessage
		}
	}
	return nil
}

func (x *TestRequiredForeign) SetOptionalMessage(v *TestRequired) {
	x.xxx_hidden_OptionalMessage = v
}

func (x *TestRequiredForeign) SetRepeatedMessage(v []*TestRequired) {
	x.xxx_hidden_RepeatedMessage = &v
}

func (x *TestRequiredForeign) SetMapMessage(v map[int32]*TestRequired) {
	x.xxx_hidden_MapMessage = v
}

func (x *TestRequiredForeign) SetOneofMessage(v *TestRequired) {
	if v == nil {
		x.xxx_hidden_OneofField = nil
		return
	}
	x.xxx_hidden_OneofField = &testRequiredForeign_OneofMessage{v}
}

func (x *TestRequiredForeign) HasOptionalMessage() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptionalMessage != nil
}

func (x *TestRequiredForeign) HasOneofField() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OneofField != nil
}

func (x *TestRequiredForeign) HasOneofMessage() bool {
	if x == nil {
		return false
	}
	_, ok := x.xxx_hidden_OneofField.(*testRequiredForeign_OneofMessage)
	return ok
}

func (x *TestRequiredForeign) ClearOptionalMessage() {
	x.xxx_hidden_OptionalMessage = nil
}

func (x *TestRequiredForeign) ClearOneofField() {
	x.xxx_hidden_OneofField = nil
}

func (x *TestRequiredForeign) ClearOneofMessage() {
	if _, ok := x.xxx_hidden_OneofField.(*testRequiredForeign_OneofMessage); ok {
		x.xxx_hidden_OneofField = nil
	}
}

const TestRequiredForeign_OneofField_not_set_case case_TestRequiredForeign_OneofField = 0
const TestRequiredForeign_OneofMessage_case case_TestRequiredForeign_OneofField = 4

func (x *TestRequiredForeign) WhichOneofField() case_TestRequiredForeign_OneofField {
	if x == nil {
		return TestRequiredForeign_OneofField_not_set_case
	}
	switch x.xxx_hidden_OneofField.(type) {
	case *testRequiredForeign_OneofMessage:
		return TestRequiredForeign_OneofMessage_case
	default:
		return TestRequiredForeign_OneofField_not_set_case
	}
}

type TestRequiredForeign_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	OptionalMessage *TestRequired
	RepeatedMessage []*TestRequired
	MapMessage      map[int32]*TestRequired
	// Fields of oneof xxx_hidden_OneofField:
	OneofMessage *TestRequired
	// -- end of xxx_hidden_OneofField
}

func (b0 TestRequiredForeign_builder) Build() *TestRequiredForeign {
	m0 := &TestRequiredForeign{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_OptionalMessage = b.OptionalMessage
	x.xxx_hidden_RepeatedMessage = &b.RepeatedMessage
	x.xxx_hidden_MapMessage = b.MapMessage
	if b.OneofMessage != nil {
		x.xxx_hidden_OneofField = &testRequiredForeign_OneofMessage{b.OneofMessage}
	}
	return m0
}

type case_TestRequiredForeign_OneofField protoreflect.FieldNumber

func (x case_TestRequiredForeign_OneofField) String() string {
	md := file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[4].Descriptor()
	if x == 0 {
		return "not set"
	}
	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
}

type isTestRequiredForeign_OneofField interface {
	isTestRequiredForeign_OneofField()
}

type testRequiredForeign_OneofMessage struct {
	OneofMessage *TestRequired `protobuf:"bytes,4,opt,name=oneof_message,json=oneofMessage,oneof"`
}

func (*testRequiredForeign_OneofMessage) isTestRequiredForeign_OneofField() {}

type TestRequiredGroupFields struct {
	state                    protoimpl.MessageState                    `protogen:"opaque.v1"`
	xxx_hidden_Optionalgroup *TestRequiredGroupFields_OptionalGroup    `protobuf:"group,1,opt,name=OptionalGroup,json=optionalgroup" json:"optionalgroup,omitempty"`
	xxx_hidden_Repeatedgroup *[]*TestRequiredGroupFields_RepeatedGroup `protobuf:"group,3,rep,name=RepeatedGroup,json=repeatedgroup" json:"repeatedgroup,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *TestRequiredGroupFields) Reset() {
	*x = TestRequiredGroupFields{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestRequiredGroupFields) ProtoMessage() {}

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

func (x *TestRequiredGroupFields) GetOptionalgroup() *TestRequiredGroupFields_OptionalGroup {
	if x != nil {
		return x.xxx_hidden_Optionalgroup
	}
	return nil
}

func (x *TestRequiredGroupFields) GetRepeatedgroup() []*TestRequiredGroupFields_RepeatedGroup {
	if x != nil {
		if x.xxx_hidden_Repeatedgroup != nil {
			return *x.xxx_hidden_Repeatedgroup
		}
	}
	return nil
}

func (x *TestRequiredGroupFields) SetOptionalgroup(v *TestRequiredGroupFields_OptionalGroup) {
	x.xxx_hidden_Optionalgroup = v
}

func (x *TestRequiredGroupFields) SetRepeatedgroup(v []*TestRequiredGroupFields_RepeatedGroup) {
	x.xxx_hidden_Repeatedgroup = &v
}

func (x *TestRequiredGroupFields) HasOptionalgroup() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_Optionalgroup != nil
}

func (x *TestRequiredGroupFields) ClearOptionalgroup() {
	x.xxx_hidden_Optionalgroup = nil
}

type TestRequiredGroupFields_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Optionalgroup *TestRequiredGroupFields_OptionalGroup
	Repeatedgroup []*TestRequiredGroupFields_RepeatedGroup
}

func (b0 TestRequiredGroupFields_builder) Build() *TestRequiredGroupFields {
	m0 := &TestRequiredGroupFields{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Optionalgroup = b.Optionalgroup
	x.xxx_hidden_Repeatedgroup = &b.Repeatedgroup
	return m0
}

type TestRequiredLazy struct {
	state                          protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_OptionalLazyMessage *TestRequired          `protobuf:"bytes,1,opt,name=optional_lazy_message,json=optionalLazyMessage" json:"optional_lazy_message,omitempty"`
	// Deprecated: Do not use. This will be deleted in the near future.
	XXX_lazyUnmarshalInfo  protoimpl.LazyUnmarshalInfo
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *TestRequiredLazy) Reset() {
	*x = TestRequiredLazy{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestRequiredLazy) ProtoMessage() {}

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

func (x *TestRequiredLazy) GetOptionalLazyMessage() *TestRequired {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[0]), 0) {
			if protoimpl.X.AtomicCheckPointerIsNil(&x.xxx_hidden_OptionalLazyMessage) {
				protoimpl.X.UnmarshalField(x, 1)
			}
			var rv *TestRequired
			protoimpl.X.AtomicLoadPointer(protoimpl.Pointer(&x.xxx_hidden_OptionalLazyMessage), protoimpl.Pointer(&rv))
			return rv
		}
	}
	return nil
}

func (x *TestRequiredLazy) SetOptionalLazyMessage(v *TestRequired) {
	protoimpl.X.AtomicSetPointer(&x.xxx_hidden_OptionalLazyMessage, v)
	if v == nil {
		protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	} else {
		protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
	}
}

func (x *TestRequiredLazy) HasOptionalLazyMessage() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *TestRequiredLazy) ClearOptionalLazyMessage() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	protoimpl.X.AtomicSetPointer(&x.xxx_hidden_OptionalLazyMessage, (*TestRequired)(nil))
}

type TestRequiredLazy_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	OptionalLazyMessage *TestRequired
}

func (b0 TestRequiredLazy_builder) Build() *TestRequiredLazy {
	m0 := &TestRequiredLazy{}
	b, x := &b0, m0
	_, _ = b, x
	if b.OptionalLazyMessage != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
		x.xxx_hidden_OptionalLazyMessage = b.OptionalLazyMessage
	}
	return m0
}

type TestPackedTypes struct {
	state                     protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_PackedInt32    []int32                `protobuf:"varint,90,rep,packed,name=packed_int32,json=packedInt32" json:"packed_int32,omitempty"`
	xxx_hidden_PackedInt64    []int64                `protobuf:"varint,91,rep,packed,name=packed_int64,json=packedInt64" json:"packed_int64,omitempty"`
	xxx_hidden_PackedUint32   []uint32               `protobuf:"varint,92,rep,packed,name=packed_uint32,json=packedUint32" json:"packed_uint32,omitempty"`
	xxx_hidden_PackedUint64   []uint64               `protobuf:"varint,93,rep,packed,name=packed_uint64,json=packedUint64" json:"packed_uint64,omitempty"`
	xxx_hidden_PackedSint32   []int32                `protobuf:"zigzag32,94,rep,packed,name=packed_sint32,json=packedSint32" json:"packed_sint32,omitempty"`
	xxx_hidden_PackedSint64   []int64                `protobuf:"zigzag64,95,rep,packed,name=packed_sint64,json=packedSint64" json:"packed_sint64,omitempty"`
	xxx_hidden_PackedFixed32  []uint32               `protobuf:"fixed32,96,rep,packed,name=packed_fixed32,json=packedFixed32" json:"packed_fixed32,omitempty"`
	xxx_hidden_PackedFixed64  []uint64               `protobuf:"fixed64,97,rep,packed,name=packed_fixed64,json=packedFixed64" json:"packed_fixed64,omitempty"`
	xxx_hidden_PackedSfixed32 []int32                `protobuf:"fixed32,98,rep,packed,name=packed_sfixed32,json=packedSfixed32" json:"packed_sfixed32,omitempty"`
	xxx_hidden_PackedSfixed64 []int64                `protobuf:"fixed64,99,rep,packed,name=packed_sfixed64,json=packedSfixed64" json:"packed_sfixed64,omitempty"`
	xxx_hidden_PackedFloat    []float32              `protobuf:"fixed32,100,rep,packed,name=packed_float,json=packedFloat" json:"packed_float,omitempty"`
	xxx_hidden_PackedDouble   []float64              `protobuf:"fixed64,101,rep,packed,name=packed_double,json=packedDouble" json:"packed_double,omitempty"`
	xxx_hidden_PackedBool     []bool                 `protobuf:"varint,102,rep,packed,name=packed_bool,json=packedBool" json:"packed_bool,omitempty"`
	xxx_hidden_PackedEnum     []ForeignEnum          `protobuf:"varint,103,rep,packed,name=packed_enum,json=packedEnum,enum=opaque.goproto.proto.testeditions.ForeignEnum" json:"packed_enum,omitempty"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

func (x *TestPackedTypes) Reset() {
	*x = TestPackedTypes{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestPackedTypes) ProtoMessage() {}

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

func (x *TestPackedTypes) GetPackedInt32() []int32 {
	if x != nil {
		return x.xxx_hidden_PackedInt32
	}
	return nil
}

func (x *TestPackedTypes) GetPackedInt64() []int64 {
	if x != nil {
		return x.xxx_hidden_PackedInt64
	}
	return nil
}

func (x *TestPackedTypes) GetPackedUint32() []uint32 {
	if x != nil {
		return x.xxx_hidden_PackedUint32
	}
	return nil
}

func (x *TestPackedTypes) GetPackedUint64() []uint64 {
	if x != nil {
		return x.xxx_hidden_PackedUint64
	}
	return nil
}

func (x *TestPackedTypes) GetPackedSint32() []int32 {
	if x != nil {
		return x.xxx_hidden_PackedSint32
	}
	return nil
}

func (x *TestPackedTypes) GetPackedSint64() []int64 {
	if x != nil {
		return x.xxx_hidden_PackedSint64
	}
	return nil
}

func (x *TestPackedTypes) GetPackedFixed32() []uint32 {
	if x != nil {
		return x.xxx_hidden_PackedFixed32
	}
	return nil
}

func (x *TestPackedTypes) GetPackedFixed64() []uint64 {
	if x != nil {
		return x.xxx_hidden_PackedFixed64
	}
	return nil
}

func (x *TestPackedTypes) GetPackedSfixed32() []int32 {
	if x != nil {
		return x.xxx_hidden_PackedSfixed32
	}
	return nil
}

func (x *TestPackedTypes) GetPackedSfixed64() []int64 {
	if x != nil {
		return x.xxx_hidden_PackedSfixed64
	}
	return nil
}

func (x *TestPackedTypes) GetPackedFloat() []float32 {
	if x != nil {
		return x.xxx_hidden_PackedFloat
	}
	return nil
}

func (x *TestPackedTypes) GetPackedDouble() []float64 {
	if x != nil {
		return x.xxx_hidden_PackedDouble
	}
	return nil
}

func (x *TestPackedTypes) GetPackedBool() []bool {
	if x != nil {
		return x.xxx_hidden_PackedBool
	}
	return nil
}

func (x *TestPackedTypes) GetPackedEnum() []ForeignEnum {
	if x != nil {
		return x.xxx_hidden_PackedEnum
	}
	return nil
}

func (x *TestPackedTypes) SetPackedInt32(v []int32) {
	x.xxx_hidden_PackedInt32 = v
}

func (x *TestPackedTypes) SetPackedInt64(v []int64) {
	x.xxx_hidden_PackedInt64 = v
}

func (x *TestPackedTypes) SetPackedUint32(v []uint32) {
	x.xxx_hidden_PackedUint32 = v
}

func (x *TestPackedTypes) SetPackedUint64(v []uint64) {
	x.xxx_hidden_PackedUint64 = v
}

func (x *TestPackedTypes) SetPackedSint32(v []int32) {
	x.xxx_hidden_PackedSint32 = v
}

func (x *TestPackedTypes) SetPackedSint64(v []int64) {
	x.xxx_hidden_PackedSint64 = v
}

func (x *TestPackedTypes) SetPackedFixed32(v []uint32) {
	x.xxx_hidden_PackedFixed32 = v
}

func (x *TestPackedTypes) SetPackedFixed64(v []uint64) {
	x.xxx_hidden_PackedFixed64 = v
}

func (x *TestPackedTypes) SetPackedSfixed32(v []int32) {
	x.xxx_hidden_PackedSfixed32 = v
}

func (x *TestPackedTypes) SetPackedSfixed64(v []int64) {
	x.xxx_hidden_PackedSfixed64 = v
}

func (x *TestPackedTypes) SetPackedFloat(v []float32) {
	x.xxx_hidden_PackedFloat = v
}

func (x *TestPackedTypes) SetPackedDouble(v []float64) {
	x.xxx_hidden_PackedDouble = v
}

func (x *TestPackedTypes) SetPackedBool(v []bool) {
	x.xxx_hidden_PackedBool = v
}

func (x *TestPackedTypes) SetPackedEnum(v []ForeignEnum) {
	x.xxx_hidden_PackedEnum = v
}

type TestPackedTypes_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	PackedInt32    []int32
	PackedInt64    []int64
	PackedUint32   []uint32
	PackedUint64   []uint64
	PackedSint32   []int32
	PackedSint64   []int64
	PackedFixed32  []uint32
	PackedFixed64  []uint64
	PackedSfixed32 []int32
	PackedSfixed64 []int64
	PackedFloat    []float32
	PackedDouble   []float64
	PackedBool     []bool
	PackedEnum     []ForeignEnum
}

func (b0 TestPackedTypes_builder) Build() *TestPackedTypes {
	m0 := &TestPackedTypes{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_PackedInt32 = b.PackedInt32
	x.xxx_hidden_PackedInt64 = b.PackedInt64
	x.xxx_hidden_PackedUint32 = b.PackedUint32
	x.xxx_hidden_PackedUint64 = b.PackedUint64
	x.xxx_hidden_PackedSint32 = b.PackedSint32
	x.xxx_hidden_PackedSint64 = b.PackedSint64
	x.xxx_hidden_PackedFixed32 = b.PackedFixed32
	x.xxx_hidden_PackedFixed64 = b.PackedFixed64
	x.xxx_hidden_PackedSfixed32 = b.PackedSfixed32
	x.xxx_hidden_PackedSfixed64 = b.PackedSfixed64
	x.xxx_hidden_PackedFloat = b.PackedFloat
	x.xxx_hidden_PackedDouble = b.PackedDouble
	x.xxx_hidden_PackedBool = b.PackedBool
	x.xxx_hidden_PackedEnum = b.PackedEnum
	return m0
}

type TestPackedExtensions struct {
	state           protoimpl.MessageState `protogen:"opaque.v1"`
	extensionFields protoimpl.ExtensionFields
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *TestPackedExtensions) Reset() {
	*x = TestPackedExtensions{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestPackedExtensions) ProtoMessage() {}

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

type TestPackedExtensions_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

}

func (b0 TestPackedExtensions_builder) Build() *TestPackedExtensions {
	m0 := &TestPackedExtensions{}
	b, x := &b0, m0
	_, _ = b, x
	return m0
}

type RemoteDefault struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Default     enums_opaque.Enum      `protobuf:"varint,1,opt,name=default,enum=opaque.goproto.proto.enums.Enum" json:"default,omitempty"`
	xxx_hidden_Zero        enums_opaque.Enum      `protobuf:"varint,2,opt,name=zero,enum=opaque.goproto.proto.enums.Enum,def=0" json:"zero,omitempty"`
	xxx_hidden_One         enums_opaque.Enum      `protobuf:"varint,3,opt,name=one,enum=opaque.goproto.proto.enums.Enum,def=1" json:"one,omitempty"`
	xxx_hidden_Elevent     enums_opaque.Enum      `protobuf:"varint,4,opt,name=elevent,enum=opaque.goproto.proto.enums.Enum,def=11" json:"elevent,omitempty"`
	xxx_hidden_Seventeen   enums_opaque.Enum      `protobuf:"varint,5,opt,name=seventeen,enum=opaque.goproto.proto.enums.Enum,def=17" json:"seventeen,omitempty"`
	xxx_hidden_Thirtyseven enums_opaque.Enum      `protobuf:"varint,6,opt,name=thirtyseven,enum=opaque.goproto.proto.enums.Enum,def=37" json:"thirtyseven,omitempty"`
	xxx_hidden_Sixtyseven  enums_opaque.Enum      `protobuf:"varint,7,opt,name=sixtyseven,enum=opaque.goproto.proto.enums.Enum,def=67" json:"sixtyseven,omitempty"`
	xxx_hidden_Negative    enums_opaque.Enum      `protobuf:"varint,8,opt,name=negative,enum=opaque.goproto.proto.enums.Enum,def=-1" json:"negative,omitempty"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

// Default values for RemoteDefault fields.
const (
	Default_RemoteDefault_Zero        = enums_opaque.Enum(0)  // enums_opaque.Enum_ZERO
	Default_RemoteDefault_One         = enums_opaque.Enum(1)  // enums_opaque.Enum_ONE
	Default_RemoteDefault_Elevent     = enums_opaque.Enum(11) // enums_opaque.Enum_ELEVENT
	Default_RemoteDefault_Seventeen   = enums_opaque.Enum(17) // enums_opaque.Enum_SEVENTEEN
	Default_RemoteDefault_Thirtyseven = enums_opaque.Enum(37) // enums_opaque.Enum_THIRTYSEVEN
	Default_RemoteDefault_Sixtyseven  = enums_opaque.Enum(67) // enums_opaque.Enum_SIXTYSEVEN
	Default_RemoteDefault_Negative    = enums_opaque.Enum(-1) // enums_opaque.Enum_NEGATIVE
)

func (x *RemoteDefault) Reset() {
	*x = RemoteDefault{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RemoteDefault) ProtoMessage() {}

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

func (x *RemoteDefault) GetDefault() enums_opaque.Enum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[0]), 0) {
			return x.xxx_hidden_Default
		}
	}
	return enums_opaque.Enum(1337)
}

func (x *RemoteDefault) GetZero() enums_opaque.Enum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[0]), 1) {
			return x.xxx_hidden_Zero
		}
	}
	return Default_RemoteDefault_Zero
}

func (x *RemoteDefault) GetOne() enums_opaque.Enum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[0]), 2) {
			return x.xxx_hidden_One
		}
	}
	return Default_RemoteDefault_One
}

func (x *RemoteDefault) GetElevent() enums_opaque.Enum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[0]), 3) {
			return x.xxx_hidden_Elevent
		}
	}
	return Default_RemoteDefault_Elevent
}

func (x *RemoteDefault) GetSeventeen() enums_opaque.Enum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[0]), 4) {
			return x.xxx_hidden_Seventeen
		}
	}
	return Default_RemoteDefault_Seventeen
}

func (x *RemoteDefault) GetThirtyseven() enums_opaque.Enum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[0]), 5) {
			return x.xxx_hidden_Thirtyseven
		}
	}
	return Default_RemoteDefault_Thirtyseven
}

func (x *RemoteDefault) GetSixtyseven() enums_opaque.Enum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[0]), 6) {
			return x.xxx_hidden_Sixtyseven
		}
	}
	return Default_RemoteDefault_Sixtyseven
}

func (x *RemoteDefault) GetNegative() enums_opaque.Enum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[0]), 7) {
			return x.xxx_hidden_Negative
		}
	}
	return Default_RemoteDefault_Negative
}

func (x *RemoteDefault) SetDefault(v enums_opaque.Enum) {
	x.xxx_hidden_Default = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 8)
}

func (x *RemoteDefault) SetZero(v enums_opaque.Enum) {
	x.xxx_hidden_Zero = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 8)
}

func (x *RemoteDefault) SetOne(v enums_opaque.Enum) {
	x.xxx_hidden_One = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 8)
}

func (x *RemoteDefault) SetElevent(v enums_opaque.Enum) {
	x.xxx_hidden_Elevent = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 8)
}

func (x *RemoteDefault) SetSeventeen(v enums_opaque.Enum) {
	x.xxx_hidden_Seventeen = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 8)
}

func (x *RemoteDefault) SetThirtyseven(v enums_opaque.Enum) {
	x.xxx_hidden_Thirtyseven = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 5, 8)
}

func (x *RemoteDefault) SetSixtyseven(v enums_opaque.Enum) {
	x.xxx_hidden_Sixtyseven = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 6, 8)
}

func (x *RemoteDefault) SetNegative(v enums_opaque.Enum) {
	x.xxx_hidden_Negative = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 7, 8)
}

func (x *RemoteDefault) HasDefault() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *RemoteDefault) HasZero() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
}

func (x *RemoteDefault) HasOne() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
}

func (x *RemoteDefault) HasElevent() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 3)
}

func (x *RemoteDefault) HasSeventeen() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 4)
}

func (x *RemoteDefault) HasThirtyseven() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 5)
}

func (x *RemoteDefault) HasSixtyseven() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 6)
}

func (x *RemoteDefault) HasNegative() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 7)
}

func (x *RemoteDefault) ClearDefault() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_Default = enums_opaque.Enum_DEFAULT
}

func (x *RemoteDefault) ClearZero() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
}

func (x *RemoteDefault) ClearOne() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
}

func (x *RemoteDefault) ClearElevent() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3)
}

func (x *RemoteDefault) ClearSeventeen() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 4)
}

func (x *RemoteDefault) ClearThirtyseven() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 5)
}

func (x *RemoteDefault) ClearSixtyseven() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 6)
}

func (x *RemoteDefault) ClearNegative() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 7)
}

type RemoteDefault_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Default     *enums_opaque.Enum
	Zero        *enums_opaque.Enum
	One         *enums_opaque.Enum
	Elevent     *enums_opaque.Enum
	Seventeen   *enums_opaque.Enum
	Thirtyseven *enums_opaque.Enum
	Sixtyseven  *enums_opaque.Enum
	Negative    *enums_opaque.Enum
}

func (b0 RemoteDefault_builder) Build() *RemoteDefault {
	m0 := &RemoteDefault{}
	b, x := &b0, m0
	_, _ = b, x
	if b.Default != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 8)
		x.xxx_hidden_Default = *b.Default
	}
	if b.Zero != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 8)
		x.xxx_hidden_Zero = *b.Zero
	}
	if b.One != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 8)
		x.xxx_hidden_One = *b.One
	}
	if b.Elevent != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 8)
		x.xxx_hidden_Elevent = *b.Elevent
	}
	if b.Seventeen != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 8)
		x.xxx_hidden_Seventeen = *b.Seventeen
	}
	if b.Thirtyseven != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 5, 8)
		x.xxx_hidden_Thirtyseven = *b.Thirtyseven
	}
	if b.Sixtyseven != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 6, 8)
		x.xxx_hidden_Sixtyseven = *b.Sixtyseven
	}
	if b.Negative != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 7, 8)
		x.xxx_hidden_Negative = *b.Negative
	}
	return m0
}

type TestAllTypes_NestedMessage struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_A           int32                  `protobuf:"varint,1,opt,name=a" json:"a,omitempty"`
	xxx_hidden_Corecursive *TestAllTypes          `protobuf:"bytes,2,opt,name=corecursive" json:"corecursive,omitempty"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *TestAllTypes_NestedMessage) Reset() {
	*x = TestAllTypes_NestedMessage{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestAllTypes_NestedMessage) ProtoMessage() {}

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

func (x *TestAllTypes_NestedMessage) GetA() int32 {
	if x != nil {
		return x.xxx_hidden_A
	}
	return 0
}

func (x *TestAllTypes_NestedMessage) GetCorecursive() *TestAllTypes {
	if x != nil {
		return x.xxx_hidden_Corecursive
	}
	return nil
}

func (x *TestAllTypes_NestedMessage) SetA(v int32) {
	x.xxx_hidden_A = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
}

func (x *TestAllTypes_NestedMessage) SetCorecursive(v *TestAllTypes) {
	x.xxx_hidden_Corecursive = v
}

func (x *TestAllTypes_NestedMessage) HasA() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *TestAllTypes_NestedMessage) HasCorecursive() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_Corecursive != nil
}

func (x *TestAllTypes_NestedMessage) ClearA() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_A = 0
}

func (x *TestAllTypes_NestedMessage) ClearCorecursive() {
	x.xxx_hidden_Corecursive = nil
}

type TestAllTypes_NestedMessage_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	A           *int32
	Corecursive *TestAllTypes
}

func (b0 TestAllTypes_NestedMessage_builder) Build() *TestAllTypes_NestedMessage {
	m0 := &TestAllTypes_NestedMessage{}
	b, x := &b0, m0
	_, _ = b, x
	if b.A != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
		x.xxx_hidden_A = *b.A
	}
	x.xxx_hidden_Corecursive = b.Corecursive
	return m0
}

type TestAllTypes_OptionalGroup struct {
	state                            protoimpl.MessageState      `protogen:"opaque.v1"`
	xxx_hidden_A                     int32                       `protobuf:"varint,17,opt,name=a" json:"a,omitempty"`
	xxx_hidden_OptionalNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,1000,opt,name=optional_nested_message,json=optionalNestedMessage" json:"optional_nested_message,omitempty"`
	xxx_hidden_SameFieldNumber       int32                       `protobuf:"varint,16,opt,name=same_field_number,json=sameFieldNumber" json:"same_field_number,omitempty"`
	XXX_raceDetectHookData           protoimpl.RaceDetectHookData
	XXX_presence                     [1]uint32
	unknownFields                    protoimpl.UnknownFields
	sizeCache                        protoimpl.SizeCache
}

func (x *TestAllTypes_OptionalGroup) Reset() {
	*x = TestAllTypes_OptionalGroup{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestAllTypes_OptionalGroup) ProtoMessage() {}

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

func (x *TestAllTypes_OptionalGroup) GetA() int32 {
	if x != nil {
		return x.xxx_hidden_A
	}
	return 0
}

func (x *TestAllTypes_OptionalGroup) GetOptionalNestedMessage() *TestAllTypes_NestedMessage {
	if x != nil {
		return x.xxx_hidden_OptionalNestedMessage
	}
	return nil
}

func (x *TestAllTypes_OptionalGroup) GetSameFieldNumber() int32 {
	if x != nil {
		return x.xxx_hidden_SameFieldNumber
	}
	return 0
}

func (x *TestAllTypes_OptionalGroup) SetA(v int32) {
	x.xxx_hidden_A = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 3)
}

func (x *TestAllTypes_OptionalGroup) SetOptionalNestedMessage(v *TestAllTypes_NestedMessage) {
	x.xxx_hidden_OptionalNestedMessage = v
}

func (x *TestAllTypes_OptionalGroup) SetSameFieldNumber(v int32) {
	x.xxx_hidden_SameFieldNumber = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3)
}

func (x *TestAllTypes_OptionalGroup) HasA() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *TestAllTypes_OptionalGroup) HasOptionalNestedMessage() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptionalNestedMessage != nil
}

func (x *TestAllTypes_OptionalGroup) HasSameFieldNumber() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
}

func (x *TestAllTypes_OptionalGroup) ClearA() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_A = 0
}

func (x *TestAllTypes_OptionalGroup) ClearOptionalNestedMessage() {
	x.xxx_hidden_OptionalNestedMessage = nil
}

func (x *TestAllTypes_OptionalGroup) ClearSameFieldNumber() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
	x.xxx_hidden_SameFieldNumber = 0
}

type TestAllTypes_OptionalGroup_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	A                     *int32
	OptionalNestedMessage *TestAllTypes_NestedMessage
	SameFieldNumber       *int32
}

func (b0 TestAllTypes_OptionalGroup_builder) Build() *TestAllTypes_OptionalGroup {
	m0 := &TestAllTypes_OptionalGroup{}
	b, x := &b0, m0
	_, _ = b, x
	if b.A != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 3)
		x.xxx_hidden_A = *b.A
	}
	x.xxx_hidden_OptionalNestedMessage = b.OptionalNestedMessage
	if b.SameFieldNumber != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3)
		x.xxx_hidden_SameFieldNumber = *b.SameFieldNumber
	}
	return m0
}

type TestAllTypes_RepeatedGroup struct {
	state                            protoimpl.MessageState      `protogen:"opaque.v1"`
	xxx_hidden_A                     int32                       `protobuf:"varint,47,opt,name=a" json:"a,omitempty"`
	xxx_hidden_OptionalNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,1001,opt,name=optional_nested_message,json=optionalNestedMessage" json:"optional_nested_message,omitempty"`
	XXX_raceDetectHookData           protoimpl.RaceDetectHookData
	XXX_presence                     [1]uint32
	unknownFields                    protoimpl.UnknownFields
	sizeCache                        protoimpl.SizeCache
}

func (x *TestAllTypes_RepeatedGroup) Reset() {
	*x = TestAllTypes_RepeatedGroup{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestAllTypes_RepeatedGroup) ProtoMessage() {}

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

func (x *TestAllTypes_RepeatedGroup) GetA() int32 {
	if x != nil {
		return x.xxx_hidden_A
	}
	return 0
}

func (x *TestAllTypes_RepeatedGroup) GetOptionalNestedMessage() *TestAllTypes_NestedMessage {
	if x != nil {
		return x.xxx_hidden_OptionalNestedMessage
	}
	return nil
}

func (x *TestAllTypes_RepeatedGroup) SetA(v int32) {
	x.xxx_hidden_A = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
}

func (x *TestAllTypes_RepeatedGroup) SetOptionalNestedMessage(v *TestAllTypes_NestedMessage) {
	x.xxx_hidden_OptionalNestedMessage = v
}

func (x *TestAllTypes_RepeatedGroup) HasA() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *TestAllTypes_RepeatedGroup) HasOptionalNestedMessage() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptionalNestedMessage != nil
}

func (x *TestAllTypes_RepeatedGroup) ClearA() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_A = 0
}

func (x *TestAllTypes_RepeatedGroup) ClearOptionalNestedMessage() {
	x.xxx_hidden_OptionalNestedMessage = nil
}

type TestAllTypes_RepeatedGroup_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	A                     *int32
	OptionalNestedMessage *TestAllTypes_NestedMessage
}

func (b0 TestAllTypes_RepeatedGroup_builder) Build() *TestAllTypes_RepeatedGroup {
	m0 := &TestAllTypes_RepeatedGroup{}
	b, x := &b0, m0
	_, _ = b, x
	if b.A != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
		x.xxx_hidden_A = *b.A
	}
	x.xxx_hidden_OptionalNestedMessage = b.OptionalNestedMessage
	return m0
}

type TestAllTypes_OneofGroup struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_A           int32                  `protobuf:"varint,1,opt,name=a" json:"a,omitempty"`
	xxx_hidden_B           int32                  `protobuf:"varint,2,opt,name=b" json:"b,omitempty"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *TestAllTypes_OneofGroup) Reset() {
	*x = TestAllTypes_OneofGroup{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestAllTypes_OneofGroup) ProtoMessage() {}

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

func (x *TestAllTypes_OneofGroup) GetA() int32 {
	if x != nil {
		return x.xxx_hidden_A
	}
	return 0
}

func (x *TestAllTypes_OneofGroup) GetB() int32 {
	if x != nil {
		return x.xxx_hidden_B
	}
	return 0
}

func (x *TestAllTypes_OneofGroup) SetA(v int32) {
	x.xxx_hidden_A = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
}

func (x *TestAllTypes_OneofGroup) SetB(v int32) {
	x.xxx_hidden_B = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2)
}

func (x *TestAllTypes_OneofGroup) HasA() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *TestAllTypes_OneofGroup) HasB() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
}

func (x *TestAllTypes_OneofGroup) ClearA() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_A = 0
}

func (x *TestAllTypes_OneofGroup) ClearB() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
	x.xxx_hidden_B = 0
}

type TestAllTypes_OneofGroup_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	A *int32
	B *int32
}

func (b0 TestAllTypes_OneofGroup_builder) Build() *TestAllTypes_OneofGroup {
	m0 := &TestAllTypes_OneofGroup{}
	b, x := &b0, m0
	_, _ = b, x
	if b.A != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
		x.xxx_hidden_A = *b.A
	}
	if b.B != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2)
		x.xxx_hidden_B = *b.B
	}
	return m0
}

type TestRequiredGroupFields_OptionalGroup struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_A           int32                  `protobuf:"varint,2,req,name=a" json:"a,omitempty"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *TestRequiredGroupFields_OptionalGroup) Reset() {
	*x = TestRequiredGroupFields_OptionalGroup{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestRequiredGroupFields_OptionalGroup) ProtoMessage() {}

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

func (x *TestRequiredGroupFields_OptionalGroup) GetA() int32 {
	if x != nil {
		return x.xxx_hidden_A
	}
	return 0
}

func (x *TestRequiredGroupFields_OptionalGroup) SetA(v int32) {
	x.xxx_hidden_A = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
}

func (x *TestRequiredGroupFields_OptionalGroup) HasA() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *TestRequiredGroupFields_OptionalGroup) ClearA() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_A = 0
}

type TestRequiredGroupFields_OptionalGroup_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	A *int32
}

func (b0 TestRequiredGroupFields_OptionalGroup_builder) Build() *TestRequiredGroupFields_OptionalGroup {
	m0 := &TestRequiredGroupFields_OptionalGroup{}
	b, x := &b0, m0
	_, _ = b, x
	if b.A != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
		x.xxx_hidden_A = *b.A
	}
	return m0
}

type TestRequiredGroupFields_RepeatedGroup struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_A           int32                  `protobuf:"varint,4,req,name=a" json:"a,omitempty"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *TestRequiredGroupFields_RepeatedGroup) Reset() {
	*x = TestRequiredGroupFields_RepeatedGroup{}
	mi := &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestRequiredGroupFields_RepeatedGroup) ProtoMessage() {}

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

func (x *TestRequiredGroupFields_RepeatedGroup) GetA() int32 {
	if x != nil {
		return x.xxx_hidden_A
	}
	return 0
}

func (x *TestRequiredGroupFields_RepeatedGroup) SetA(v int32) {
	x.xxx_hidden_A = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
}

func (x *TestRequiredGroupFields_RepeatedGroup) HasA() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *TestRequiredGroupFields_RepeatedGroup) ClearA() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_A = 0
}

type TestRequiredGroupFields_RepeatedGroup_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	A *int32
}

func (b0 TestRequiredGroupFields_RepeatedGroup_builder) Build() *TestRequiredGroupFields_RepeatedGroup {
	m0 := &TestRequiredGroupFields_RepeatedGroup{}
	b, x := &b0, m0
	_, _ = b, x
	if b.A != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
		x.xxx_hidden_A = *b.A
	}
	return m0
}

var file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes = []protoimpl.ExtensionInfo{
	{
		ExtendedType:  (*TestPackedExtensions)(nil),
		ExtensionType: ([]int32)(nil),
		Field:         90,
		Name:          "opaque.goproto.proto.testeditions.packed_int32",
		Tag:           "varint,90,rep,packed,name=packed_int32",
		Filename:      "internal/testprotos/testeditions/testeditions_opaque/test.opaque.proto",
	},
	{
		ExtendedType:  (*TestPackedExtensions)(nil),
		ExtensionType: ([]int64)(nil),
		Field:         91,
		Name:          "opaque.goproto.proto.testeditions.packed_int64",
		Tag:           "varint,91,rep,packed,name=packed_int64",
		Filename:      "internal/testprotos/testeditions/testeditions_opaque/test.opaque.proto",
	},
	{
		ExtendedType:  (*TestPackedExtensions)(nil),
		ExtensionType: ([]uint32)(nil),
		Field:         92,
		Name:          "opaque.goproto.proto.testeditions.packed_uint32",
		Tag:           "varint,92,rep,packed,name=packed_uint32",
		Filename:      "internal/testprotos/testeditions/testeditions_opaque/test.opaque.proto",
	},
	{
		ExtendedType:  (*TestPackedExtensions)(nil),
		ExtensionType: ([]uint64)(nil),
		Field:         93,
		Name:          "opaque.goproto.proto.testeditions.packed_uint64",
		Tag:           "varint,93,rep,packed,name=packed_uint64",
		Filename:      "internal/testprotos/testeditions/testeditions_opaque/test.opaque.proto",
	},
	{
		ExtendedType:  (*TestPackedExtensions)(nil),
		ExtensionType: ([]int32)(nil),
		Field:         94,
		Name:          "opaque.goproto.proto.testeditions.packed_sint32",
		Tag:           "zigzag32,94,rep,packed,name=packed_sint32",
		Filename:      "internal/testprotos/testeditions/testeditions_opaque/test.opaque.proto",
	},
	{
		ExtendedType:  (*TestPackedExtensions)(nil),
		ExtensionType: ([]int64)(nil),
		Field:         95,
		Name:          "opaque.goproto.proto.testeditions.packed_sint64",
		Tag:           "zigzag64,95,rep,packed,name=packed_sint64",
		Filename:      "internal/testprotos/testeditions/testeditions_opaque/test.opaque.proto",
	},
	{
		ExtendedType:  (*TestPackedExtensions)(nil),
		ExtensionType: ([]uint32)(nil),
		Field:         96,
		Name:          "opaque.goproto.proto.testeditions.packed_fixed32",
		Tag:           "fixed32,96,rep,packed,name=packed_fixed32",
		Filename:      "internal/testprotos/testeditions/testeditions_opaque/test.opaque.proto",
	},
	{
		ExtendedType:  (*TestPackedExtensions)(nil),
		ExtensionType: ([]uint64)(nil),
		Field:         97,
		Name:          "opaque.goproto.proto.testeditions.packed_fixed64",
		Tag:           "fixed64,97,rep,packed,name=packed_fixed64",
		Filename:      "internal/testprotos/testeditions/testeditions_opaque/test.opaque.proto",
	},
	{
		ExtendedType:  (*TestPackedExtensions)(nil),
		ExtensionType: ([]int32)(nil),
		Field:         98,
		Name:          "opaque.goproto.proto.testeditions.packed_sfixed32",
		Tag:           "fixed32,98,rep,packed,name=packed_sfixed32",
		Filename:      "internal/testprotos/testeditions/testeditions_opaque/test.opaque.proto",
	},
	{
		ExtendedType:  (*TestPackedExtensions)(nil),
		ExtensionType: ([]int64)(nil),
		Field:         99,
		Name:          "opaque.goproto.proto.testeditions.packed_sfixed64",
		Tag:           "fixed64,99,rep,packed,name=packed_sfixed64",
		Filename:      "internal/testprotos/testeditions/testeditions_opaque/test.opaque.proto",
	},
	{
		ExtendedType:  (*TestPackedExtensions)(nil),
		ExtensionType: ([]float32)(nil),
		Field:         100,
		Name:          "opaque.goproto.proto.testeditions.packed_float",
		Tag:           "fixed32,100,rep,packed,name=packed_float",
		Filename:      "internal/testprotos/testeditions/testeditions_opaque/test.opaque.proto",
	},
	{
		ExtendedType:  (*TestPackedExtensions)(nil),
		ExtensionType: ([]float64)(nil),
		Field:         101,
		Name:          "opaque.goproto.proto.testeditions.packed_double",
		Tag:           "fixed64,101,rep,packed,name=packed_double",
		Filename:      "internal/testprotos/testeditions/testeditions_opaque/test.opaque.proto",
	},
	{
		ExtendedType:  (*TestPackedExtensions)(nil),
		ExtensionType: ([]bool)(nil),
		Field:         102,
		Name:          "opaque.goproto.proto.testeditions.packed_bool",
		Tag:           "varint,102,rep,packed,name=packed_bool",
		Filename:      "internal/testprotos/testeditions/testeditions_opaque/test.opaque.proto",
	},
	{
		ExtendedType:  (*TestPackedExtensions)(nil),
		ExtensionType: ([]ForeignEnum)(nil),
		Field:         103,
		Name:          "opaque.goproto.proto.testeditions.packed_enum",
		Tag:           "varint,103,rep,packed,name=packed_enum,enum=opaque.goproto.proto.testeditions.ForeignEnum",
		Filename:      "internal/testprotos/testeditions/testeditions_opaque/test.opaque.proto",
	},
}

// Extension fields to TestPackedExtensions.
var (
	// repeated int32 packed_int32 = 90;
	E_PackedInt32 = &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes[0]
	// repeated int64 packed_int64 = 91;
	E_PackedInt64 = &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes[1]
	// repeated uint32 packed_uint32 = 92;
	E_PackedUint32 = &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes[2]
	// repeated uint64 packed_uint64 = 93;
	E_PackedUint64 = &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes[3]
	// repeated sint32 packed_sint32 = 94;
	E_PackedSint32 = &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes[4]
	// repeated sint64 packed_sint64 = 95;
	E_PackedSint64 = &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes[5]
	// repeated fixed32 packed_fixed32 = 96;
	E_PackedFixed32 = &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes[6]
	// repeated fixed64 packed_fixed64 = 97;
	E_PackedFixed64 = &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes[7]
	// repeated sfixed32 packed_sfixed32 = 98;
	E_PackedSfixed32 = &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes[8]
	// repeated sfixed64 packed_sfixed64 = 99;
	E_PackedSfixed64 = &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes[9]
	// repeated float packed_float = 100;
	E_PackedFloat = &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes[10]
	// repeated double packed_double = 101;
	E_PackedDouble = &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes[11]
	// repeated bool packed_bool = 102;
	E_PackedBool = &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes[12]
	// repeated opaque.goproto.proto.testeditions.ForeignEnum packed_enum = 103;
	E_PackedEnum = &file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes[13]
)

var File_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto protoreflect.FileDescriptor

var file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_rawDesc = []byte{
	0x0a, 0x46, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
	0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x39, 0x69, 0x6e, 0x74,
	0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73,
	0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x5f, 0x6f, 0x70, 0x61,
	0x71, 0x75, 0x65, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
	0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2f, 0x74, 0x65, 0x73,
	0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd0, 0x49, 0x0a, 0x0c, 0x54, 0x65, 0x73,
	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x0e, 0x73, 0x69, 0x6e,
	0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x7c, 0x20, 0x01, 0x28,
	0x05, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
	0x61, 0x72, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x2c, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75,
	0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x7d, 0x20, 0x01, 0x28, 0x03, 0x42,
	0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72,
	0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2e, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
	0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x7e, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x05,
	0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x55,
	0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x2e, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
	0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x7f, 0x20, 0x01, 0x28, 0x04, 0x42, 0x05,
	0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x55,
	0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
	0x72, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x80, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42,
	0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72,
	0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
	0x61, 0x72, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x81, 0x01, 0x20, 0x01, 0x28, 0x12,
	0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
	0x72, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x31, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75,
	0x6c, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x82, 0x01, 0x20, 0x01,
	0x28, 0x07, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75,
	0x6c, 0x61, 0x72, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x31, 0x0a, 0x10, 0x73, 0x69,
	0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x83,
	0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0f, 0x73, 0x69,
	0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x33, 0x0a,
	0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64,
	0x33, 0x32, 0x18, 0x84, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02,
	0x52, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64,
	0x33, 0x32, 0x12, 0x33, 0x0a, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73,
	0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x85, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x05,
	0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53,
	0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2d, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75,
	0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x86, 0x01, 0x20, 0x01, 0x28, 0x02,
	0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
	0x72, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
	0x61, 0x72, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x87, 0x01, 0x20, 0x01, 0x28, 0x01,
	0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
	0x72, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x2b, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75,
	0x6c, 0x61, 0x72, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x88, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42,
	0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72,
	0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72,
	0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x89, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05,
	0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
	0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x05,
	0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42,
	0x79, 0x74, 0x65, 0x73, 0x12, 0x74, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72,
	0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x8e, 0x01, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
	0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x42,
	0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72,
	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x6a, 0x0a, 0x15, 0x73, 0x69,
	0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65,
	0x6e, 0x75, 0x6d, 0x18, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x6f, 0x70, 0x61,
	0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46,
	0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08,
	0x02, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69,
	0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x67, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
	0x61, 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x90,
	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67,
	0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
	0x45, 0x6e, 0x75, 0x6d, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x12, 0x73, 0x69, 0x6e,
	0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12,
	0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33,
	0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a,
	0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
	0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74,
	0x33, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x12, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e, 0x74, 0x36,
	0x34, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69,
	0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x0f, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69, 0x78,
	0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x10, 0x52,
	0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
	0x34, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6c,
	0x6f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
	0x01, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c,
	0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x6f,
	0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12,
	0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65,
	0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6a, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x05, 0xaa, 0x01,
	0x02, 0x28, 0x02, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f,
	0x75, 0x70, 0x12, 0x7d, 0x0a, 0x18, 0x6e, 0x6f, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
	0x6c, 0x69, 0x6b, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x18, 0x11,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
	0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72,
	0x6f, 0x75, 0x70, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x52, 0x15, 0x6e, 0x6f, 0x74, 0x47,
	0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6b, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65,
	0x64, 0x12, 0x75, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
	0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x6b, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x70, 0x61,
	0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46,
	0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x16, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x68, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
	0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72,
	0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
	0x6c, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e,
	0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x62, 0x0a,
	0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67,
	0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x6f,
	0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x6f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75,
	0x6d, 0x12, 0x5f, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d,
	0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x2d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e,
	0x75, 0x6d, 0x12, 0x82, 0x01, 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x6c, 0x61, 0x7a, 0x79, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x02, 0x28, 0x01, 0x52, 0x19, 0x6f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x61, 0x7a, 0x79, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61,
	0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x05, 0x52,
	0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25,
	0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34,
	0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
	0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
	0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e,
	0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27,
	0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36,
	0x34, 0x18, 0x22, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
	0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61,
	0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x23, 0x20, 0x03, 0x28, 0x11,
	0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32,
	0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e,
	0x74, 0x36, 0x34, 0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61,
	0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70,
	0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x25, 0x20,
	0x03, 0x28, 0x07, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x78,
	0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
	0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x26, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0f,
	0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12,
	0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78,
	0x65, 0x64, 0x33, 0x32, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f, 0x52, 0x10, 0x72, 0x65, 0x70, 0x65,
	0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x11,
	0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
	0x34, 0x18, 0x28, 0x20, 0x03, 0x28, 0x10, 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
	0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70,
	0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x29, 0x20, 0x03, 0x28,
	0x02, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74,
	0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75,
	0x62, 0x6c, 0x65, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61,
	0x74, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70,
	0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x08,
	0x52, 0x0c, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x27,
	0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
	0x67, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
	0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61,
	0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x2d, 0x20, 0x03, 0x28, 0x0c, 0x52,
	0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6c,
	0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18,
	0x2e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67,
	0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
	0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47,
	0x72, 0x6f, 0x75, 0x70, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x18, 0x02, 0x28, 0x02, 0x52, 0x0d, 0x72,
	0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x75, 0x0a, 0x17,
	0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f,
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e,
	0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65,
	0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x12, 0x6b, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
	0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
	0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67,
	0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67,
	0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
	0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x12, 0x67, 0x0a, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70,
	0x6f, 0x72, 0x74, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x32, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x30, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6d, 0x70, 0x6f,
	0x72, 0x74, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x6c, 0x0a, 0x14, 0x72, 0x65, 0x70,
	0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75,
	0x6d, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
	0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
	0x6e, 0x75, 0x6d, 0x52, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x62, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61,
	0x74, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d,
	0x18, 0x34, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
	0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69,
	0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
	0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x5e, 0x0a, 0x13, 0x72,
	0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x6e,
	0x75, 0x6d, 0x18, 0x35, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6d, 0x70,
	0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
	0x64, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x6a, 0x0a, 0x0f, 0x6d,
	0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x38,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
	0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e,
	0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74,
	0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x6a, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69,
	0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x39, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x42, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
	0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e,
	0x74, 0x36, 0x34, 0x12, 0x70, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
	0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
	0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55,
	0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x70, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e,
	0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x3b, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x44, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
	0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36,
	0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36,
	0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x70, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73,
	0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3c, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x44, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
	0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e,
	0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x69, 0x6e,
	0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x70, 0x0a, 0x11, 0x6d, 0x61, 0x70,
	0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x3d,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
	0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53,
	0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53,
	0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x76, 0x0a, 0x13, 0x6d,
	0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64,
	0x33, 0x32, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78,
	0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79,
	0x52, 0x11, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65,
	0x64, 0x33, 0x32, 0x12, 0x76, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64,
	0x36, 0x34, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x3f, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x46, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
	0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65,
	0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x78,
	0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x7c, 0x0a, 0x15, 0x6d,
	0x61, 0x70, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x73, 0x66, 0x69, 0x78,
	0x65, 0x64, 0x33, 0x32, 0x18, 0x40, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6f, 0x70, 0x61,
	0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53,
	0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
	0x32, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x7c, 0x0a, 0x15, 0x6d, 0x61, 0x70,
	0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64,
	0x36, 0x34, 0x18, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69,
	0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74,
	0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53,
	0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x6a, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69,
	0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x42, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x42, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
	0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c,
	0x6f, 0x61, 0x74, 0x12, 0x6d, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32,
	0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x43, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
	0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74,
	0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62,
	0x6c, 0x65, 0x12, 0x64, 0x0a, 0x0d, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62,
	0x6f, 0x6f, 0x6c, 0x18, 0x44, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f,
	0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x6d, 0x61, 0x70,
	0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x70, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f,
	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x45, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
	0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74,
	0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74,
	0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x6d, 0x0a, 0x10, 0x6d, 0x61,
	0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x46,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
	0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42,
	0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x53, 0x74,
	0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x19, 0x6d, 0x61,
	0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f,
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x47, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
	0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x53,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x12, 0x7d, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
	0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x49, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
	0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61,
	0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75,
	0x6d, 0x12, 0x27, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74,
	0x33, 0x32, 0x18, 0x51, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x38, 0x31, 0x52, 0x0c, 0x64, 0x65,
	0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0d, 0x64, 0x65,
	0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x52, 0x20, 0x01, 0x28,
	0x03, 0x3a, 0x02, 0x38, 0x32, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e,
	0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75,
	0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x02, 0x38, 0x33, 0x52,
	0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x29,
	0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
	0x18, 0x54, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x02, 0x38, 0x34, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61,
	0x75, 0x6c, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2a, 0x0a, 0x0e, 0x64, 0x65, 0x66,
	0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x55, 0x20, 0x01, 0x28,
	0x11, 0x3a, 0x03, 0x2d, 0x38, 0x35, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53,
	0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
	0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x56, 0x20, 0x01, 0x28, 0x12, 0x3a, 0x02, 0x38,
	0x36, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34,
	0x12, 0x2b, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65,
	0x64, 0x33, 0x32, 0x18, 0x57, 0x20, 0x01, 0x28, 0x07, 0x3a, 0x02, 0x38, 0x37, 0x52, 0x0e, 0x64,
	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a,
	0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
	0x18, 0x58, 0x20, 0x01, 0x28, 0x06, 0x3a, 0x02, 0x38, 0x38, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61,
	0x75, 0x6c, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2d, 0x0a, 0x10, 0x64, 0x65,
	0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x59,
	0x20, 0x01, 0x28, 0x0f, 0x3a, 0x02, 0x38, 0x39, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
	0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x66,
	0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x50, 0x20,
	0x01, 0x28, 0x10, 0x3a, 0x03, 0x2d, 0x39, 0x30, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
	0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x0d, 0x64, 0x65, 0x66,
	0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x02,
	0x3a, 0x04, 0x39, 0x31, 0x2e, 0x35, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46,
	0x6c, 0x6f, 0x61, 0x74, 0x12, 0x2c, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f,
	0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x01, 0x3a, 0x05, 0x39, 0x32,
	0x30, 0x30, 0x30, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x6f, 0x75, 0x62,
	0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x6f,
	0x6f, 0x6c, 0x18, 0x5d, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0b,
	0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x2c, 0x0a, 0x0e, 0x64,
	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x5e, 0x20,
	0x01, 0x28, 0x09, 0x3a, 0x05, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61,
	0x75, 0x6c, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x0d, 0x64, 0x65, 0x66,
	0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0c,
	0x3a, 0x05, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
	0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6f, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
	0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x60, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
	0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x03,
	0x42, 0x41, 0x52, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x6d, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
	0x74, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x61,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e,
	0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, 0x41,
	0x52, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67,
	0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x75,
	0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0b, 0x6f,
	0x6e, 0x65, 0x6f, 0x66, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x71, 0x0a, 0x14, 0x6f, 0x6e,
	0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a,
	0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x71, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x53, 0x74, 0x72, 0x69,
	0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x79, 0x74, 0x65,
	0x73, 0x18, 0x72, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
	0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62,
	0x6f, 0x6f, 0x6c, 0x18, 0x73, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65,
	0x6f, 0x66, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f,
	0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x74, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b,
	0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x21, 0x0a, 0x0b, 0x6f,
	0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x75, 0x20, 0x01, 0x28, 0x02,
	0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x23,
	0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x76,
	0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x6f, 0x75,
	0x62, 0x6c, 0x65, 0x12, 0x5b, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x65, 0x6e, 0x75,
	0x6d, 0x18, 0x77, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
	0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
	0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x45, 0x6e, 0x75, 0x6d,
	0x12, 0x63, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x79,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
	0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x47, 0x72, 0x6f, 0x75, 0x70,
	0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
	0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x34, 0x0a, 0x15, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x78,
	0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x13, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x1a, 0x70, 0x0a, 0x0d, 0x4e,
	0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01,
	0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x61, 0x12, 0x51, 0x0a, 0x0b, 0x63, 0x6f,
	0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
	0x52, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xc1, 0x01,
	0x0a, 0x0d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
	0x0c, 0x0a, 0x01, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x61, 0x12, 0x76, 0x0a,
	0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
	0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x61, 0x6d, 0x65, 0x5f, 0x66, 0x69,
	0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x0f, 0x73, 0x61, 0x6d, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x1a, 0x95, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72,
	0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01,
	0x61, 0x12, 0x76, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xe9, 0x07, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
	0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70,
	0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 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, 0x05,
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d,
	0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a,
	0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0d, 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, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69,
	0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74,
	0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70,
	0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x03,
	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x12, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a,
	0x16, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65, 0x64,
	0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
	0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36,
	0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x05,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70,
	0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0f, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
	0x01, 0x1a, 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
	0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 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, 0x10, 0x52, 0x05,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70,
	0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 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, 0x02,
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d,
	0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 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, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e,
	0x0a, 0x10, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 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, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42,
	0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e,
	0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 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, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42,
	0x79, 0x74, 0x65, 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, 0x14, 0x0a, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x88, 0x01, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72,
	0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x53, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
	0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
	0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
	0x1a, 0x82, 0x01, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
	0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x28, 0x0a, 0x0a, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x47, 0x72,
	0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01,
	0x61, 0x12, 0x0c, 0x0a, 0x01, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x62, 0x22,
	0x39, 0x0a, 0x0a, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a,
	0x03, 0x46, 0x4f, 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x52, 0x10, 0x01, 0x12,
	0x07, 0x0a, 0x03, 0x42, 0x41, 0x5a, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x45, 0x47, 0x10,
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e,
	0x65, 0x6f, 0x66, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x6f, 0x6e, 0x65,
	0x6f, 0x66, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0xba, 0x34, 0x0a, 0x1c,
	0x54, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46,
	0x69, 0x65, 0x6c, 0x64, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x02,
	0x66, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x02, 0x66, 0x31, 0x12, 0x3f, 0x0a,
	0x02, 0x66, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x02, 0x66, 0x32, 0x12, 0x3f,
	0x0a, 0x02, 0x66, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61,
	0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x02, 0x66, 0x33, 0x12,
	0x3f, 0x0a, 0x02, 0x66, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70,
	0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x02, 0x66, 0x34,
	0x12, 0x3f, 0x0a, 0x02, 0x66, 0x35, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f,
	0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x02, 0x66,
	0x35, 0x12, 0x3f, 0x0a, 0x02, 0x66, 0x36, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x02,
	0x66, 0x36, 0x12, 0x3f, 0x0a, 0x02, 0x66, 0x37, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52,
	0x02, 0x66, 0x37, 0x12, 0x3f, 0x0a, 0x02, 0x66, 0x38, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
	0x52, 0x02, 0x66, 0x38, 0x12, 0x3f, 0x0a, 0x02, 0x66, 0x39, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
	0x73, 0x52, 0x02, 0x66, 0x39, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x31, 0x30, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
	0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x31, 0x30, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x31, 0x31, 0x18,
	0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67,
	0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
	0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x31, 0x31, 0x12, 0x41, 0x0a, 0x03, 0x66,
	0x31, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x31, 0x32, 0x12, 0x41,
	0x0a, 0x03, 0x66, 0x31, 0x33, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70,
	0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x31,
	0x33, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x31, 0x34, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52,
	0x03, 0x66, 0x31, 0x34, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x31, 0x35, 0x18, 0x0f, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
	0x65, 0x73, 0x52, 0x03, 0x66, 0x31, 0x35, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x31, 0x36, 0x18, 0x10,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
	0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x31, 0x36, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x31,
	0x37, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
	0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x31, 0x37, 0x12, 0x41, 0x0a,
	0x03, 0x66, 0x31, 0x38, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61,
	0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x31, 0x38,
	0x12, 0x41, 0x0a, 0x03, 0x66, 0x31, 0x39, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03,
	0x66, 0x31, 0x39, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x32, 0x30, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
	0x73, 0x52, 0x03, 0x66, 0x32, 0x30, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x32, 0x31, 0x18, 0x15, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
	0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x32, 0x31, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x32, 0x32,
	0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
	0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
	0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x32, 0x32, 0x12, 0x41, 0x0a, 0x03,
	0x66, 0x32, 0x33, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x32, 0x33, 0x12,
	0x41, 0x0a, 0x03, 0x66, 0x32, 0x34, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f,
	0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66,
	0x32, 0x34, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x32, 0x35, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
	0x52, 0x03, 0x66, 0x32, 0x35, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x32, 0x36, 0x18, 0x1a, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
	0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x32, 0x36, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x32, 0x37, 0x18,
	0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67,
	0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
	0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x32, 0x37, 0x12, 0x41, 0x0a, 0x03, 0x66,
	0x32, 0x38, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x32, 0x38, 0x12, 0x41,
	0x0a, 0x03, 0x66, 0x32, 0x39, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70,
	0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x32,
	0x39, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x33, 0x30, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52,
	0x03, 0x66, 0x33, 0x30, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x33, 0x31, 0x18, 0x1f, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
	0x65, 0x73, 0x52, 0x03, 0x66, 0x33, 0x31, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x33, 0x32, 0x18, 0x20,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
	0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x33, 0x32, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x33,
	0x33, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
	0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x33, 0x33, 0x12, 0x41, 0x0a,
	0x03, 0x66, 0x33, 0x34, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61,
	0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x33, 0x34,
	0x12, 0x41, 0x0a, 0x03, 0x66, 0x33, 0x35, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03,
	0x66, 0x33, 0x35, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x33, 0x36, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
	0x73, 0x52, 0x03, 0x66, 0x33, 0x36, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x33, 0x37, 0x18, 0x25, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
	0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x33, 0x37, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x33, 0x38,
	0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
	0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
	0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x33, 0x38, 0x12, 0x41, 0x0a, 0x03,
	0x66, 0x33, 0x39, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x33, 0x39, 0x12,
	0x41, 0x0a, 0x03, 0x66, 0x34, 0x30, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f,
	0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66,
	0x34, 0x30, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x34, 0x31, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
	0x52, 0x03, 0x66, 0x34, 0x31, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x34, 0x32, 0x18, 0x2a, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
	0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x34, 0x32, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x34, 0x33, 0x18,
	0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67,
	0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
	0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x34, 0x33, 0x12, 0x41, 0x0a, 0x03, 0x66,
	0x34, 0x34, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x34, 0x34, 0x12, 0x41,
	0x0a, 0x03, 0x66, 0x34, 0x35, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70,
	0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x34,
	0x35, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x34, 0x36, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52,
	0x03, 0x66, 0x34, 0x36, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x34, 0x37, 0x18, 0x2f, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
	0x65, 0x73, 0x52, 0x03, 0x66, 0x34, 0x37, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x34, 0x38, 0x18, 0x30,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
	0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x34, 0x38, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x34,
	0x39, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
	0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x34, 0x39, 0x12, 0x41, 0x0a,
	0x03, 0x66, 0x35, 0x30, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61,
	0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x35, 0x30,
	0x12, 0x41, 0x0a, 0x03, 0x66, 0x35, 0x31, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03,
	0x66, 0x35, 0x31, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x35, 0x32, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
	0x73, 0x52, 0x03, 0x66, 0x35, 0x32, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x35, 0x33, 0x18, 0x35, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
	0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x35, 0x33, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x35, 0x34,
	0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
	0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
	0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x35, 0x34, 0x12, 0x41, 0x0a, 0x03,
	0x66, 0x35, 0x35, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x35, 0x35, 0x12,
	0x41, 0x0a, 0x03, 0x66, 0x35, 0x36, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f,
	0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66,
	0x35, 0x36, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x35, 0x37, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
	0x52, 0x03, 0x66, 0x35, 0x37, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x35, 0x38, 0x18, 0x3a, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
	0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x35, 0x38, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x35, 0x39, 0x18,
	0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67,
	0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
	0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x35, 0x39, 0x12, 0x41, 0x0a, 0x03, 0x66,
	0x36, 0x30, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x36, 0x30, 0x12, 0x41,
	0x0a, 0x03, 0x66, 0x36, 0x31, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70,
	0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x36,
	0x31, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x36, 0x32, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52,
	0x03, 0x66, 0x36, 0x32, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x36, 0x33, 0x18, 0x3f, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
	0x65, 0x73, 0x52, 0x03, 0x66, 0x36, 0x33, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x36, 0x34, 0x18, 0x40,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
	0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x36, 0x34, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x36,
	0x35, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
	0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x36, 0x35, 0x12, 0x41, 0x0a,
	0x03, 0x66, 0x36, 0x36, 0x18, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61,
	0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x36, 0x36,
	0x12, 0x41, 0x0a, 0x03, 0x66, 0x36, 0x37, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03,
	0x66, 0x36, 0x37, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x36, 0x38, 0x18, 0x44, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
	0x73, 0x52, 0x03, 0x66, 0x36, 0x38, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x36, 0x39, 0x18, 0x45, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
	0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x36, 0x39, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x37, 0x30,
	0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
	0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
	0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x37, 0x30, 0x12, 0x41, 0x0a, 0x03,
	0x66, 0x37, 0x31, 0x18, 0x47, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x37, 0x31, 0x12,
	0x41, 0x0a, 0x03, 0x66, 0x37, 0x32, 0x18, 0x48, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f,
	0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66,
	0x37, 0x32, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x37, 0x33, 0x18, 0x49, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
	0x52, 0x03, 0x66, 0x37, 0x33, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x37, 0x34, 0x18, 0x4a, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
	0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x37, 0x34, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x37, 0x35, 0x18,
	0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67,
	0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
	0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x37, 0x35, 0x12, 0x41, 0x0a, 0x03, 0x66,
	0x37, 0x36, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x37, 0x36, 0x12, 0x41,
	0x0a, 0x03, 0x66, 0x37, 0x37, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70,
	0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x37,
	0x37, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x37, 0x38, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52,
	0x03, 0x66, 0x37, 0x38, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x37, 0x39, 0x18, 0x4f, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
	0x65, 0x73, 0x52, 0x03, 0x66, 0x37, 0x39, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x38, 0x30, 0x18, 0x50,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
	0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x38, 0x30, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x38,
	0x31, 0x18, 0x51, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
	0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x38, 0x31, 0x12, 0x41, 0x0a,
	0x03, 0x66, 0x38, 0x32, 0x18, 0x52, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61,
	0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x38, 0x32,
	0x12, 0x41, 0x0a, 0x03, 0x66, 0x38, 0x33, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03,
	0x66, 0x38, 0x33, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x38, 0x34, 0x18, 0x54, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
	0x73, 0x52, 0x03, 0x66, 0x38, 0x34, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x38, 0x35, 0x18, 0x55, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
	0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x38, 0x35, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x38, 0x36,
	0x18, 0x56, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
	0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
	0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x38, 0x36, 0x12, 0x41, 0x0a, 0x03,
	0x66, 0x38, 0x37, 0x18, 0x57, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x38, 0x37, 0x12,
	0x41, 0x0a, 0x03, 0x66, 0x38, 0x38, 0x18, 0x58, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f,
	0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66,
	0x38, 0x38, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x38, 0x39, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
	0x52, 0x03, 0x66, 0x38, 0x39, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x39, 0x30, 0x18, 0x5a, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
	0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x39, 0x30, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x39, 0x31, 0x18,
	0x5b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67,
	0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
	0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x39, 0x31, 0x12, 0x41, 0x0a, 0x03, 0x66,
	0x39, 0x32, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x39, 0x32, 0x12, 0x41,
	0x0a, 0x03, 0x66, 0x39, 0x33, 0x18, 0x5d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70,
	0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x39,
	0x33, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x39, 0x34, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52,
	0x03, 0x66, 0x39, 0x34, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x39, 0x35, 0x18, 0x5f, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
	0x65, 0x73, 0x52, 0x03, 0x66, 0x39, 0x35, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x39, 0x36, 0x18, 0x60,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
	0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x39, 0x36, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x39,
	0x37, 0x18, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
	0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x39, 0x37, 0x12, 0x41, 0x0a,
	0x03, 0x66, 0x39, 0x38, 0x18, 0x62, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61,
	0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x39, 0x38,
	0x12, 0x41, 0x0a, 0x03, 0x66, 0x39, 0x39, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03,
	0x66, 0x39, 0x39, 0x12, 0x43, 0x0a, 0x04, 0x66, 0x31, 0x30, 0x30, 0x18, 0x64, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
	0x65, 0x73, 0x52, 0x04, 0x66, 0x31, 0x30, 0x30, 0x22, 0x2c, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x65,
	0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x63, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x63, 0x12, 0x0c, 0x0a, 0x01, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x01, 0x64, 0x22, 0x3c, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65,
	0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72,
	0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x05,
	0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x46,
	0x69, 0x65, 0x6c, 0x64, 0x22, 0x8d, 0x04, 0x0a, 0x13, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x12, 0x5a, 0x0a, 0x10,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
	0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52,
	0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5a, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65,
	0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69,
	0x72, 0x65, 0x64, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x12, 0x67, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
	0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67,
	0x6e, 0x2e, 0x4d, 0x61, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x56, 0x0a,
	0x0d, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x69, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x6e, 0x0a, 0x0f, 0x4d, 0x61, 0x70, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
	0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66,
	0x69, 0x65, 0x6c, 0x64, 0x22, 0xd3, 0x02, 0x0a, 0x17, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x69, 0x72, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73,
	0x12, 0x75, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75,
	0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
	0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
	0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x65,
	0x6c, 0x64, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75,
	0x70, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x75, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61,
	0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x47,
	0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61,
	0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x52,
	0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x24,
	0x0a, 0x0d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
	0x13, 0x0a, 0x01, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08,
	0x03, 0x52, 0x01, 0x61, 0x1a, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
	0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x13, 0x0a, 0x01, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
	0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x01, 0x61, 0x22, 0x7b, 0x0a, 0x10, 0x54, 0x65,
	0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x4c, 0x61, 0x7a, 0x79, 0x12, 0x67,
	0x0a, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x61, 0x7a, 0x79, 0x5f,
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x42, 0x02,
	0x28, 0x01, 0x52, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x61, 0x7a, 0x79,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa7, 0x05, 0x0a, 0x0f, 0x54, 0x65, 0x73, 0x74,
	0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0c, 0x70,
	0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x5a, 0x20, 0x03, 0x28,
	0x05, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64,
	0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x28, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f,
	0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x5b, 0x20, 0x03, 0x28, 0x03, 0x42, 0x05, 0xaa, 0x01, 0x02,
	0x18, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12,
	0x2a, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32,
	0x18, 0x5c, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x70,
	0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x2a, 0x0a, 0x0d, 0x70,
	0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x5d, 0x20, 0x03,
	0x28, 0x04, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65,
	0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2a, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65,
	0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x5e, 0x20, 0x03, 0x28, 0x11, 0x42, 0x05,
	0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x69, 0x6e,
	0x74, 0x33, 0x32, 0x12, 0x2a, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x69,
	0x6e, 0x74, 0x36, 0x34, 0x18, 0x5f, 0x20, 0x03, 0x28, 0x12, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18,
	0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
	0x2c, 0x0a, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
	0x32, 0x18, 0x60, 0x20, 0x03, 0x28, 0x07, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0d,
	0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2c, 0x0a,
	0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18,
	0x61, 0x20, 0x03, 0x28, 0x06, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x70, 0x61,
	0x63, 0x6b, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2e, 0x0a, 0x0f, 0x70,
	0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x62,
	0x20, 0x03, 0x28, 0x0f, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x63,
	0x6b, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2e, 0x0a, 0x0f, 0x70,
	0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x63,
	0x20, 0x03, 0x28, 0x10, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x63,
	0x6b, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x28, 0x0a, 0x0c, 0x70,
	0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x64, 0x20, 0x03, 0x28,
	0x02, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64,
	0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f,
	0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x65, 0x20, 0x03, 0x28, 0x01, 0x42, 0x05, 0xaa, 0x01,
	0x02, 0x18, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c,
	0x65, 0x12, 0x26, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c,
	0x18, 0x66, 0x20, 0x03, 0x28, 0x08, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70,
	0x61, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x56, 0x0a, 0x0b, 0x70, 0x61, 0x63,
	0x6b, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x67, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2e,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x05,
	0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x6e, 0x75,
	0x6d, 0x22, 0x20, 0x0a, 0x14, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45,
	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2a, 0x08, 0x08, 0x01, 0x10, 0x80, 0x80,
	0x80, 0x80, 0x02, 0x22, 0xb7, 0x04, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x65,
	0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x3a, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
	0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x65, 0x6e,
	0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
	0x74, 0x12, 0x3a, 0x0a, 0x04, 0x7a, 0x65, 0x72, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x20, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75,
	0x6d, 0x3a, 0x04, 0x5a, 0x45, 0x52, 0x4f, 0x52, 0x04, 0x7a, 0x65, 0x72, 0x6f, 0x12, 0x37, 0x0a,
	0x03, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x61,
	0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x03, 0x4f, 0x4e,
	0x45, 0x52, 0x03, 0x6f, 0x6e, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x65, 0x6c, 0x65, 0x76, 0x65, 0x6e,
	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x65,
	0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x07, 0x45, 0x4c, 0x45, 0x56, 0x45,
	0x4e, 0x54, 0x52, 0x07, 0x65, 0x6c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x73,
	0x65, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d,
	0x3a, 0x09, 0x53, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x45, 0x45, 0x4e, 0x52, 0x09, 0x73, 0x65, 0x76,
	0x65, 0x6e, 0x74, 0x65, 0x65, 0x6e, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x68, 0x69, 0x72, 0x74, 0x79,
	0x73, 0x65, 0x76, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6f, 0x70,
	0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x0b, 0x54,
	0x48, 0x49, 0x52, 0x54, 0x59, 0x53, 0x45, 0x56, 0x45, 0x4e, 0x52, 0x0b, 0x74, 0x68, 0x69, 0x72,
	0x74, 0x79, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x12, 0x4c, 0x0a, 0x0a, 0x73, 0x69, 0x78, 0x74, 0x79,
	0x73, 0x65, 0x76, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6f, 0x70,
	0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x0a, 0x53,
	0x49, 0x58, 0x54, 0x59, 0x53, 0x45, 0x56, 0x45, 0x4e, 0x52, 0x0a, 0x73, 0x69, 0x78, 0x74, 0x79,
	0x73, 0x65, 0x76, 0x65, 0x6e, 0x12, 0x46, 0x0a, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76,
	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x65,
	0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x08, 0x4e, 0x45, 0x47, 0x41, 0x54,
	0x49, 0x56, 0x45, 0x52, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x2a, 0x52, 0x0a,
	0x0b, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x0c,
	0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x0f,
	0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x46, 0x4f, 0x4f, 0x10, 0x04, 0x12,
	0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, 0x41, 0x52, 0x10, 0x05,
	0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, 0x41, 0x5a, 0x10,
	0x06, 0x3a, 0x61, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33,
	0x32, 0x12, 0x37, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64,
	0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5a, 0x20, 0x03, 0x28, 0x05,
	0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x49,
	0x6e, 0x74, 0x33, 0x32, 0x3a, 0x61, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69,
	0x6e, 0x74, 0x36, 0x34, 0x12, 0x37, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63,
	0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5b, 0x20,
	0x03, 0x28, 0x03, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b,
	0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x63, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65,
	0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x37, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
	0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
	0x73, 0x18, 0x5c, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0c,
	0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x63, 0x0a, 0x0d,
	0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x37, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65,
	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5d, 0x20, 0x03, 0x28, 0x04, 0x42, 0x05, 0xaa, 0x01,
	0x02, 0x18, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36,
	0x34, 0x3a, 0x63, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74,
	0x33, 0x32, 0x12, 0x37, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65,
	0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5e, 0x20, 0x03, 0x28,
	0x11, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64,
	0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x63, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64,
	0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x37, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
	0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
	0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
	0x18, 0x5f, 0x20, 0x03, 0x28, 0x12, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x70,
	0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x65, 0x0a, 0x0e, 0x70,
	0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x37, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65,
	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x60, 0x20, 0x03, 0x28, 0x07, 0x42, 0x05, 0xaa, 0x01,
	0x02, 0x18, 0x01, 0x52, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64,
	0x33, 0x32, 0x3a, 0x65, 0x0a, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78,
	0x65, 0x64, 0x36, 0x34, 0x12, 0x37, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63,
	0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x61, 0x20,
	0x03, 0x28, 0x06, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x70, 0x61, 0x63, 0x6b,
	0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x67, 0x0a, 0x0f, 0x70, 0x61, 0x63,
	0x6b, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x37, 0x2e, 0x6f,
	0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e,
	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x62, 0x20, 0x03, 0x28, 0x0f, 0x42, 0x05, 0xaa, 0x01, 0x02,
	0x18, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64,
	0x33, 0x32, 0x3a, 0x67, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69,
	0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x37, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67,
	0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61,
	0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x63,
	0x20, 0x03, 0x28, 0x10, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x63,
	0x6b, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x61, 0x0a, 0x0c, 0x70,
	0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x37, 0x2e, 0x6f, 0x70,
	0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x64, 0x20, 0x03, 0x28, 0x02, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18,
	0x01, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x63,
	0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12,
	0x37, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78,
	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x65, 0x20, 0x03, 0x28, 0x01, 0x42, 0x05,
	0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x44, 0x6f, 0x75,
	0x62, 0x6c, 0x65, 0x3a, 0x5f, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x6f,
	0x6f, 0x6c, 0x12, 0x37, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65,
	0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x66, 0x20, 0x03, 0x28,
	0x08, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64,
	0x42, 0x6f, 0x6f, 0x6c, 0x3a, 0x8f, 0x01, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f,
	0x65, 0x6e, 0x75, 0x6d, 0x12, 0x37, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63,
	0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x67, 0x20,
	0x03, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45,
	0x6e, 0x75, 0x6d, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b,
	0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x59, 0x5a, 0x4f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65,
	0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x5f, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x92, 0x03, 0x05, 0xd2, 0x3e, 0x02, 0x10,
	0x03, 0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0xe8, 0x07,
}

var file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
var file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_goTypes = []any{
	(ForeignEnum)(0),                     // 0: opaque.goproto.proto.testeditions.ForeignEnum
	(TestAllTypes_NestedEnum)(0),         // 1: opaque.goproto.proto.testeditions.TestAllTypes.NestedEnum
	(*TestAllTypes)(nil),                 // 2: opaque.goproto.proto.testeditions.TestAllTypes
	(*TestManyMessageFieldsMessage)(nil), // 3: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage
	(*ForeignMessage)(nil),               // 4: opaque.goproto.proto.testeditions.ForeignMessage
	(*TestRequired)(nil),                 // 5: opaque.goproto.proto.testeditions.TestRequired
	(*TestRequiredForeign)(nil),          // 6: opaque.goproto.proto.testeditions.TestRequiredForeign
	(*TestRequiredGroupFields)(nil),      // 7: opaque.goproto.proto.testeditions.TestRequiredGroupFields
	(*TestRequiredLazy)(nil),             // 8: opaque.goproto.proto.testeditions.TestRequiredLazy
	(*TestPackedTypes)(nil),              // 9: opaque.goproto.proto.testeditions.TestPackedTypes
	(*TestPackedExtensions)(nil),         // 10: opaque.goproto.proto.testeditions.TestPackedExtensions
	(*RemoteDefault)(nil),                // 11: opaque.goproto.proto.testeditions.RemoteDefault
	(*TestAllTypes_NestedMessage)(nil),   // 12: opaque.goproto.proto.testeditions.TestAllTypes.NestedMessage
	(*TestAllTypes_OptionalGroup)(nil),   // 13: opaque.goproto.proto.testeditions.TestAllTypes.OptionalGroup
	(*TestAllTypes_RepeatedGroup)(nil),   // 14: opaque.goproto.proto.testeditions.TestAllTypes.RepeatedGroup
	nil,                                  // 15: opaque.goproto.proto.testeditions.TestAllTypes.MapInt32Int32Entry
	nil,                                  // 16: opaque.goproto.proto.testeditions.TestAllTypes.MapInt64Int64Entry
	nil,                                  // 17: opaque.goproto.proto.testeditions.TestAllTypes.MapUint32Uint32Entry
	nil,                                  // 18: opaque.goproto.proto.testeditions.TestAllTypes.MapUint64Uint64Entry
	nil,                                  // 19: opaque.goproto.proto.testeditions.TestAllTypes.MapSint32Sint32Entry
	nil,                                  // 20: opaque.goproto.proto.testeditions.TestAllTypes.MapSint64Sint64Entry
	nil,                                  // 21: opaque.goproto.proto.testeditions.TestAllTypes.MapFixed32Fixed32Entry
	nil,                                  // 22: opaque.goproto.proto.testeditions.TestAllTypes.MapFixed64Fixed64Entry
	nil,                                  // 23: opaque.goproto.proto.testeditions.TestAllTypes.MapSfixed32Sfixed32Entry
	nil,                                  // 24: opaque.goproto.proto.testeditions.TestAllTypes.MapSfixed64Sfixed64Entry
	nil,                                  // 25: opaque.goproto.proto.testeditions.TestAllTypes.MapInt32FloatEntry
	nil,                                  // 26: opaque.goproto.proto.testeditions.TestAllTypes.MapInt32DoubleEntry
	nil,                                  // 27: opaque.goproto.proto.testeditions.TestAllTypes.MapBoolBoolEntry
	nil,                                  // 28: opaque.goproto.proto.testeditions.TestAllTypes.MapStringStringEntry
	nil,                                  // 29: opaque.goproto.proto.testeditions.TestAllTypes.MapStringBytesEntry
	nil,                                  // 30: opaque.goproto.proto.testeditions.TestAllTypes.MapStringNestedMessageEntry
	nil,                                  // 31: opaque.goproto.proto.testeditions.TestAllTypes.MapStringNestedEnumEntry
	(*TestAllTypes_OneofGroup)(nil),      // 32: opaque.goproto.proto.testeditions.TestAllTypes.OneofGroup
	nil,                                  // 33: opaque.goproto.proto.testeditions.TestRequiredForeign.MapMessageEntry
	(*TestRequiredGroupFields_OptionalGroup)(nil), // 34: opaque.goproto.proto.testeditions.TestRequiredGroupFields.OptionalGroup
	(*TestRequiredGroupFields_RepeatedGroup)(nil), // 35: opaque.goproto.proto.testeditions.TestRequiredGroupFields.RepeatedGroup
	(ImportEnum)(0),        // 36: opaque.goproto.proto.testeditions.ImportEnum
	(*ImportMessage)(nil),  // 37: opaque.goproto.proto.testeditions.ImportMessage
	(enums_opaque.Enum)(0), // 38: opaque.goproto.proto.enums.Enum
}
var file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_depIdxs = []int32{
	1,   // 0: opaque.goproto.proto.testeditions.TestAllTypes.singular_nested_enum:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.NestedEnum
	0,   // 1: opaque.goproto.proto.testeditions.TestAllTypes.singular_foreign_enum:type_name -> opaque.goproto.proto.testeditions.ForeignEnum
	36,  // 2: opaque.goproto.proto.testeditions.TestAllTypes.singular_import_enum:type_name -> opaque.goproto.proto.testeditions.ImportEnum
	13,  // 3: opaque.goproto.proto.testeditions.TestAllTypes.optionalgroup:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.OptionalGroup
	13,  // 4: opaque.goproto.proto.testeditions.TestAllTypes.not_group_like_delimited:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.OptionalGroup
	12,  // 5: opaque.goproto.proto.testeditions.TestAllTypes.optional_nested_message:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.NestedMessage
	4,   // 6: opaque.goproto.proto.testeditions.TestAllTypes.optional_foreign_message:type_name -> opaque.goproto.proto.testeditions.ForeignMessage
	37,  // 7: opaque.goproto.proto.testeditions.TestAllTypes.optional_import_message:type_name -> opaque.goproto.proto.testeditions.ImportMessage
	1,   // 8: opaque.goproto.proto.testeditions.TestAllTypes.optional_nested_enum:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.NestedEnum
	0,   // 9: opaque.goproto.proto.testeditions.TestAllTypes.optional_foreign_enum:type_name -> opaque.goproto.proto.testeditions.ForeignEnum
	36,  // 10: opaque.goproto.proto.testeditions.TestAllTypes.optional_import_enum:type_name -> opaque.goproto.proto.testeditions.ImportEnum
	12,  // 11: opaque.goproto.proto.testeditions.TestAllTypes.optional_lazy_nested_message:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.NestedMessage
	14,  // 12: opaque.goproto.proto.testeditions.TestAllTypes.repeatedgroup:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.RepeatedGroup
	12,  // 13: opaque.goproto.proto.testeditions.TestAllTypes.repeated_nested_message:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.NestedMessage
	4,   // 14: opaque.goproto.proto.testeditions.TestAllTypes.repeated_foreign_message:type_name -> opaque.goproto.proto.testeditions.ForeignMessage
	37,  // 15: opaque.goproto.proto.testeditions.TestAllTypes.repeated_importmessage:type_name -> opaque.goproto.proto.testeditions.ImportMessage
	1,   // 16: opaque.goproto.proto.testeditions.TestAllTypes.repeated_nested_enum:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.NestedEnum
	0,   // 17: opaque.goproto.proto.testeditions.TestAllTypes.repeated_foreign_enum:type_name -> opaque.goproto.proto.testeditions.ForeignEnum
	36,  // 18: opaque.goproto.proto.testeditions.TestAllTypes.repeated_importenum:type_name -> opaque.goproto.proto.testeditions.ImportEnum
	15,  // 19: opaque.goproto.proto.testeditions.TestAllTypes.map_int32_int32:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapInt32Int32Entry
	16,  // 20: opaque.goproto.proto.testeditions.TestAllTypes.map_int64_int64:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapInt64Int64Entry
	17,  // 21: opaque.goproto.proto.testeditions.TestAllTypes.map_uint32_uint32:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapUint32Uint32Entry
	18,  // 22: opaque.goproto.proto.testeditions.TestAllTypes.map_uint64_uint64:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapUint64Uint64Entry
	19,  // 23: opaque.goproto.proto.testeditions.TestAllTypes.map_sint32_sint32:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapSint32Sint32Entry
	20,  // 24: opaque.goproto.proto.testeditions.TestAllTypes.map_sint64_sint64:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapSint64Sint64Entry
	21,  // 25: opaque.goproto.proto.testeditions.TestAllTypes.map_fixed32_fixed32:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapFixed32Fixed32Entry
	22,  // 26: opaque.goproto.proto.testeditions.TestAllTypes.map_fixed64_fixed64:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapFixed64Fixed64Entry
	23,  // 27: opaque.goproto.proto.testeditions.TestAllTypes.map_sfixed32_sfixed32:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapSfixed32Sfixed32Entry
	24,  // 28: opaque.goproto.proto.testeditions.TestAllTypes.map_sfixed64_sfixed64:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapSfixed64Sfixed64Entry
	25,  // 29: opaque.goproto.proto.testeditions.TestAllTypes.map_int32_float:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapInt32FloatEntry
	26,  // 30: opaque.goproto.proto.testeditions.TestAllTypes.map_int32_double:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapInt32DoubleEntry
	27,  // 31: opaque.goproto.proto.testeditions.TestAllTypes.map_bool_bool:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapBoolBoolEntry
	28,  // 32: opaque.goproto.proto.testeditions.TestAllTypes.map_string_string:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapStringStringEntry
	29,  // 33: opaque.goproto.proto.testeditions.TestAllTypes.map_string_bytes:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapStringBytesEntry
	30,  // 34: opaque.goproto.proto.testeditions.TestAllTypes.map_string_nested_message:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapStringNestedMessageEntry
	31,  // 35: opaque.goproto.proto.testeditions.TestAllTypes.map_string_nested_enum:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.MapStringNestedEnumEntry
	1,   // 36: opaque.goproto.proto.testeditions.TestAllTypes.default_nested_enum:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.NestedEnum
	0,   // 37: opaque.goproto.proto.testeditions.TestAllTypes.default_foreign_enum:type_name -> opaque.goproto.proto.testeditions.ForeignEnum
	12,  // 38: opaque.goproto.proto.testeditions.TestAllTypes.oneof_nested_message:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.NestedMessage
	1,   // 39: opaque.goproto.proto.testeditions.TestAllTypes.oneof_enum:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.NestedEnum
	32,  // 40: opaque.goproto.proto.testeditions.TestAllTypes.oneofgroup:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.OneofGroup
	2,   // 41: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f1:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 42: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f2:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 43: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f3:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 44: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f4:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 45: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f5:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 46: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f6:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 47: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f7:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 48: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f8:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 49: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f9:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 50: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f10:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 51: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f11:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 52: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f12:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 53: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f13:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 54: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f14:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 55: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f15:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 56: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f16:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 57: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f17:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 58: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f18:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 59: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f19:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 60: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f20:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 61: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f21:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 62: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f22:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 63: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f23:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 64: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f24:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 65: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f25:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 66: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f26:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 67: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f27:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 68: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f28:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 69: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f29:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 70: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f30:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 71: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f31:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 72: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f32:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 73: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f33:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 74: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f34:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 75: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f35:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 76: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f36:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 77: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f37:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 78: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f38:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 79: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f39:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 80: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f40:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 81: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f41:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 82: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f42:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 83: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f43:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 84: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f44:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 85: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f45:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 86: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f46:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 87: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f47:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 88: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f48:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 89: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f49:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 90: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f50:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 91: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f51:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 92: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f52:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 93: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f53:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 94: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f54:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 95: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f55:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 96: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f56:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 97: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f57:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 98: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f58:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 99: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f59:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 100: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f60:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 101: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f61:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 102: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f62:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 103: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f63:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 104: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f64:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 105: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f65:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 106: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f66:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 107: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f67:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 108: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f68:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 109: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f69:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 110: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f70:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 111: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f71:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 112: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f72:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 113: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f73:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 114: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f74:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 115: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f75:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 116: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f76:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 117: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f77:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 118: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f78:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 119: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f79:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 120: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f80:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 121: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f81:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 122: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f82:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 123: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f83:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 124: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f84:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 125: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f85:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 126: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f86:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 127: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f87:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 128: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f88:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 129: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f89:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 130: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f90:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 131: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f91:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 132: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f92:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 133: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f93:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 134: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f94:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 135: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f95:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 136: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f96:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 137: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f97:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 138: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f98:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 139: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f99:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	2,   // 140: opaque.goproto.proto.testeditions.TestManyMessageFieldsMessage.f100:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	5,   // 141: opaque.goproto.proto.testeditions.TestRequiredForeign.optional_message:type_name -> opaque.goproto.proto.testeditions.TestRequired
	5,   // 142: opaque.goproto.proto.testeditions.TestRequiredForeign.repeated_message:type_name -> opaque.goproto.proto.testeditions.TestRequired
	33,  // 143: opaque.goproto.proto.testeditions.TestRequiredForeign.map_message:type_name -> opaque.goproto.proto.testeditions.TestRequiredForeign.MapMessageEntry
	5,   // 144: opaque.goproto.proto.testeditions.TestRequiredForeign.oneof_message:type_name -> opaque.goproto.proto.testeditions.TestRequired
	34,  // 145: opaque.goproto.proto.testeditions.TestRequiredGroupFields.optionalgroup:type_name -> opaque.goproto.proto.testeditions.TestRequiredGroupFields.OptionalGroup
	35,  // 146: opaque.goproto.proto.testeditions.TestRequiredGroupFields.repeatedgroup:type_name -> opaque.goproto.proto.testeditions.TestRequiredGroupFields.RepeatedGroup
	5,   // 147: opaque.goproto.proto.testeditions.TestRequiredLazy.optional_lazy_message:type_name -> opaque.goproto.proto.testeditions.TestRequired
	0,   // 148: opaque.goproto.proto.testeditions.TestPackedTypes.packed_enum:type_name -> opaque.goproto.proto.testeditions.ForeignEnum
	38,  // 149: opaque.goproto.proto.testeditions.RemoteDefault.default:type_name -> opaque.goproto.proto.enums.Enum
	38,  // 150: opaque.goproto.proto.testeditions.RemoteDefault.zero:type_name -> opaque.goproto.proto.enums.Enum
	38,  // 151: opaque.goproto.proto.testeditions.RemoteDefault.one:type_name -> opaque.goproto.proto.enums.Enum
	38,  // 152: opaque.goproto.proto.testeditions.RemoteDefault.elevent:type_name -> opaque.goproto.proto.enums.Enum
	38,  // 153: opaque.goproto.proto.testeditions.RemoteDefault.seventeen:type_name -> opaque.goproto.proto.enums.Enum
	38,  // 154: opaque.goproto.proto.testeditions.RemoteDefault.thirtyseven:type_name -> opaque.goproto.proto.enums.Enum
	38,  // 155: opaque.goproto.proto.testeditions.RemoteDefault.sixtyseven:type_name -> opaque.goproto.proto.enums.Enum
	38,  // 156: opaque.goproto.proto.testeditions.RemoteDefault.negative:type_name -> opaque.goproto.proto.enums.Enum
	2,   // 157: opaque.goproto.proto.testeditions.TestAllTypes.NestedMessage.corecursive:type_name -> opaque.goproto.proto.testeditions.TestAllTypes
	12,  // 158: opaque.goproto.proto.testeditions.TestAllTypes.OptionalGroup.optional_nested_message:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.NestedMessage
	12,  // 159: opaque.goproto.proto.testeditions.TestAllTypes.RepeatedGroup.optional_nested_message:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.NestedMessage
	12,  // 160: opaque.goproto.proto.testeditions.TestAllTypes.MapStringNestedMessageEntry.value:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.NestedMessage
	1,   // 161: opaque.goproto.proto.testeditions.TestAllTypes.MapStringNestedEnumEntry.value:type_name -> opaque.goproto.proto.testeditions.TestAllTypes.NestedEnum
	5,   // 162: opaque.goproto.proto.testeditions.TestRequiredForeign.MapMessageEntry.value:type_name -> opaque.goproto.proto.testeditions.TestRequired
	10,  // 163: opaque.goproto.proto.testeditions.packed_int32:extendee -> opaque.goproto.proto.testeditions.TestPackedExtensions
	10,  // 164: opaque.goproto.proto.testeditions.packed_int64:extendee -> opaque.goproto.proto.testeditions.TestPackedExtensions
	10,  // 165: opaque.goproto.proto.testeditions.packed_uint32:extendee -> opaque.goproto.proto.testeditions.TestPackedExtensions
	10,  // 166: opaque.goproto.proto.testeditions.packed_uint64:extendee -> opaque.goproto.proto.testeditions.TestPackedExtensions
	10,  // 167: opaque.goproto.proto.testeditions.packed_sint32:extendee -> opaque.goproto.proto.testeditions.TestPackedExtensions
	10,  // 168: opaque.goproto.proto.testeditions.packed_sint64:extendee -> opaque.goproto.proto.testeditions.TestPackedExtensions
	10,  // 169: opaque.goproto.proto.testeditions.packed_fixed32:extendee -> opaque.goproto.proto.testeditions.TestPackedExtensions
	10,  // 170: opaque.goproto.proto.testeditions.packed_fixed64:extendee -> opaque.goproto.proto.testeditions.TestPackedExtensions
	10,  // 171: opaque.goproto.proto.testeditions.packed_sfixed32:extendee -> opaque.goproto.proto.testeditions.TestPackedExtensions
	10,  // 172: opaque.goproto.proto.testeditions.packed_sfixed64:extendee -> opaque.goproto.proto.testeditions.TestPackedExtensions
	10,  // 173: opaque.goproto.proto.testeditions.packed_float:extendee -> opaque.goproto.proto.testeditions.TestPackedExtensions
	10,  // 174: opaque.goproto.proto.testeditions.packed_double:extendee -> opaque.goproto.proto.testeditions.TestPackedExtensions
	10,  // 175: opaque.goproto.proto.testeditions.packed_bool:extendee -> opaque.goproto.proto.testeditions.TestPackedExtensions
	10,  // 176: opaque.goproto.proto.testeditions.packed_enum:extendee -> opaque.goproto.proto.testeditions.TestPackedExtensions
	0,   // 177: opaque.goproto.proto.testeditions.packed_enum:type_name -> opaque.goproto.proto.testeditions.ForeignEnum
	178, // [178:178] is the sub-list for method output_type
	178, // [178:178] is the sub-list for method input_type
	177, // [177:178] is the sub-list for extension type_name
	163, // [163:177] is the sub-list for extension extendee
	0,   // [0:163] is the sub-list for field type_name
}

func init() { file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_init() }
func file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_init() {
	if File_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto != nil {
		return
	}
	file_internal_testprotos_testeditions_testeditions_opaque_test_import_opaque_proto_init()
	file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[0].OneofWrappers = []any{
		(*testAllTypes_OneofUint32)(nil),
		(*testAllTypes_OneofNestedMessage)(nil),
		(*testAllTypes_OneofString)(nil),
		(*testAllTypes_OneofBytes)(nil),
		(*testAllTypes_OneofBool)(nil),
		(*testAllTypes_OneofUint64)(nil),
		(*testAllTypes_OneofFloat)(nil),
		(*testAllTypes_OneofDouble)(nil),
		(*testAllTypes_OneofEnum)(nil),
		(*testAllTypes_Oneofgroup)(nil),
		(*testAllTypes_OneofOptionalUint32)(nil),
	}
	file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes[4].OneofWrappers = []any{
		(*testRequiredForeign_OneofMessage)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_rawDesc,
			NumEnums:      2,
			NumMessages:   34,
			NumExtensions: 14,
			NumServices:   0,
		},
		GoTypes:           file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_goTypes,
		DependencyIndexes: file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_depIdxs,
		EnumInfos:         file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_enumTypes,
		MessageInfos:      file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_msgTypes,
		ExtensionInfos:    file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_extTypes,
	}.Build()
	File_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto = out.File
	file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_rawDesc = nil
	file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_goTypes = nil
	file_internal_testprotos_testeditions_testeditions_opaque_test_opaque_proto_depIdxs = nil
}
