internal/fileinit: generate reflect data structures from raw descriptors
This CL takes a significantly different approach to generating support
for protobuf reflection. The previous approach involved generating a
large number of Go literals to represent the reflection information.
While that approach was correct, it resulted in too much binary bloat.
The approach taken here initializes the reflection information from
the raw descriptor proto, which is a relatively dense representation
of the protobuf reflection information. In order to keep initialization
cost low, several measures were taken:
* At program init, the bare minimum is parsed in order to initialize
naming information for enums, messages, extensions, and services declared
in the file. This is done because those top-level declarations are often
relevant for registration.
* Only upon first are most of the other data structures for protobuf
reflection actually initialized.
* Instead of using proto.Unmarshal, a hand-written unmarshaler is used.
This allows us to avoid a dependendency on the descriptor proto and also
because the API for the descriptor proto is fundamentally non-performant
since it requires an allocation for every primitive field.
At a high-level, the new implementation lives in internal/fileinit.
Several changes were made to other parts of the repository:
* cmd/protoc-gen-go:
* Stop compressing the raw descriptors. While compression does reduce
the size of the descriptors by approximately 2x, it is a pre-mature
optimization since the descriptors themselves are around 1% of the total
binary bloat that is due to generated protobufs.
* Seeding protobuf reflection from the raw descriptor significantly
simplifies the generator implementation since it is no longer responsible
for constructing a tree of Go literals to represent the same information.
* We remove the generation of the shadow types and instead call
protoimpl.MessageType.MessageOf. Unfortunately, this incurs an allocation
for every call to ProtoReflect since we need to allocate a tuple that wraps
a pointer to the message value, and a pointer to message type.
* internal/impl:
* We add a MessageType.GoType field and make it required that it is
set prior to first use. This is done so that we can avoid calling
MessageType.init except for when it is actually needed. The allows code
to call (*FooMessage)(nil).ProtoReflect().Type() without fearing that the
init code will run, possibly triggering a recursive deadlock (where the
init code depends on getting the Type of some dependency which may be
declared within the same file).
* internal/cmd/generate-types:
* The code to generate reflect/prototype/protofile_list_gen.go was copied
and altered to generated internal/fileinit.desc_list_gen.go.
At a high-level this CL adds significant technical complexity.
However, this is offset by several possible future changes:
* The prototype package can be drastically simplified. We can probably
reimplement internal/legacy to use internal/fileinit instead, allowing us
to drop another dependency on the prototype package. As a result, we can
probably delete most of the constructor types in that package.
* With the prototype package significantly pruned, and the fact that generated
code no longer depend on depends on that package, we can consider merging
what's left of prototype into protodesc.
Change-Id: I6090f023f2e1b6afaf62bd3ae883566242e30715
Reviewed-on: https://go-review.googlesource.com/c/158539
Reviewed-by: Herbie Ong <herbie@google.com>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
diff --git a/internal/testprotos/test/test.pb.go b/internal/testprotos/test/test.pb.go
index 63dab78..36df46b 100644
--- a/internal/testprotos/test/test.pb.go
+++ b/internal/testprotos/test/test.pb.go
@@ -4,10 +4,12 @@
package test
import (
+ bytes "bytes"
+ gzip "compress/gzip"
proto "github.com/golang/protobuf/proto"
protoreflect "github.com/golang/protobuf/v2/reflect/protoreflect"
- prototype "github.com/golang/protobuf/v2/reflect/prototype"
protoimpl "github.com/golang/protobuf/v2/runtime/protoimpl"
+ reflect "reflect"
)
// This is a compile-time assertion to ensure that this generated file
@@ -26,7 +28,7 @@
)
func (e TestAllTypes_NestedEnum) Type() protoreflect.EnumType {
- return xxx_Test_protoFile_EnumTypes[0]
+ return xxx_Test_protoFile_enumTypes[0]
}
func (e TestAllTypes_NestedEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(e)
@@ -66,7 +68,7 @@
}
func (TestAllTypes_NestedEnum) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_c161fcfdc0c3ff1e, []int{0, 0}
+ return fileDescriptor_c161fcfdc0c3ff1e_gzipped, []int{0, 0}
}
type TestAllTypes struct {
@@ -139,29 +141,14 @@
XXX_sizecache int32 `json:"-"`
}
-type xxx_TestAllTypes struct{ m *TestAllTypes }
-
func (m *TestAllTypes) ProtoReflect() protoreflect.Message {
- return xxx_TestAllTypes{m}
+ return xxx_Test_protoFile_messageTypes[0].MessageOf(m)
}
-func (m xxx_TestAllTypes) Type() protoreflect.MessageType {
- return xxx_Test_protoFile_MessageTypes[0].Type
-}
-func (m xxx_TestAllTypes) KnownFields() protoreflect.KnownFields {
- return xxx_Test_protoFile_MessageTypes[0].KnownFieldsOf(m.m)
-}
-func (m xxx_TestAllTypes) UnknownFields() protoreflect.UnknownFields {
- return xxx_Test_protoFile_MessageTypes[0].UnknownFieldsOf(m.m)
-}
-func (m xxx_TestAllTypes) Interface() protoreflect.ProtoMessage {
- return m.m
-}
-
func (m *TestAllTypes) Reset() { *m = TestAllTypes{} }
func (m *TestAllTypes) String() string { return proto.CompactTextString(m) }
func (*TestAllTypes) ProtoMessage() {}
func (*TestAllTypes) Descriptor() ([]byte, []int) {
- return fileDescriptor_c161fcfdc0c3ff1e, []int{0}
+ return fileDescriptor_c161fcfdc0c3ff1e_gzipped, []int{0}
}
func (m *TestAllTypes) XXX_Unmarshal(b []byte) error {
@@ -703,29 +690,14 @@
XXX_sizecache int32 `json:"-"`
}
-type xxx_TestAllExtensions struct{ m *TestAllExtensions }
-
func (m *TestAllExtensions) ProtoReflect() protoreflect.Message {
- return xxx_TestAllExtensions{m}
+ return xxx_Test_protoFile_messageTypes[1].MessageOf(m)
}
-func (m xxx_TestAllExtensions) Type() protoreflect.MessageType {
- return xxx_Test_protoFile_MessageTypes[1].Type
-}
-func (m xxx_TestAllExtensions) KnownFields() protoreflect.KnownFields {
- return xxx_Test_protoFile_MessageTypes[1].KnownFieldsOf(m.m)
-}
-func (m xxx_TestAllExtensions) UnknownFields() protoreflect.UnknownFields {
- return xxx_Test_protoFile_MessageTypes[1].UnknownFieldsOf(m.m)
-}
-func (m xxx_TestAllExtensions) Interface() protoreflect.ProtoMessage {
- return m.m
-}
-
func (m *TestAllExtensions) Reset() { *m = TestAllExtensions{} }
func (m *TestAllExtensions) String() string { return proto.CompactTextString(m) }
func (*TestAllExtensions) ProtoMessage() {}
func (*TestAllExtensions) Descriptor() ([]byte, []int) {
- return fileDescriptor_c161fcfdc0c3ff1e, []int{1}
+ return fileDescriptor_c161fcfdc0c3ff1e_gzipped, []int{1}
}
var extRange_TestAllExtensions = []proto.ExtensionRange{
@@ -761,29 +733,14 @@
XXX_sizecache int32 `json:"-"`
}
-type xxx_OptionalGroupExtension struct{ m *OptionalGroupExtension }
-
func (m *OptionalGroupExtension) ProtoReflect() protoreflect.Message {
- return xxx_OptionalGroupExtension{m}
+ return xxx_Test_protoFile_messageTypes[2].MessageOf(m)
}
-func (m xxx_OptionalGroupExtension) Type() protoreflect.MessageType {
- return xxx_Test_protoFile_MessageTypes[2].Type
-}
-func (m xxx_OptionalGroupExtension) KnownFields() protoreflect.KnownFields {
- return xxx_Test_protoFile_MessageTypes[2].KnownFieldsOf(m.m)
-}
-func (m xxx_OptionalGroupExtension) UnknownFields() protoreflect.UnknownFields {
- return xxx_Test_protoFile_MessageTypes[2].UnknownFieldsOf(m.m)
-}
-func (m xxx_OptionalGroupExtension) Interface() protoreflect.ProtoMessage {
- return m.m
-}
-
func (m *OptionalGroupExtension) Reset() { *m = OptionalGroupExtension{} }
func (m *OptionalGroupExtension) String() string { return proto.CompactTextString(m) }
func (*OptionalGroupExtension) ProtoMessage() {}
func (*OptionalGroupExtension) Descriptor() ([]byte, []int) {
- return fileDescriptor_c161fcfdc0c3ff1e, []int{2}
+ return fileDescriptor_c161fcfdc0c3ff1e_gzipped, []int{2}
}
func (m *OptionalGroupExtension) XXX_Unmarshal(b []byte) error {
@@ -818,29 +775,14 @@
XXX_sizecache int32 `json:"-"`
}
-type xxx_RepeatedGroupExtension struct{ m *RepeatedGroupExtension }
-
func (m *RepeatedGroupExtension) ProtoReflect() protoreflect.Message {
- return xxx_RepeatedGroupExtension{m}
+ return xxx_Test_protoFile_messageTypes[3].MessageOf(m)
}
-func (m xxx_RepeatedGroupExtension) Type() protoreflect.MessageType {
- return xxx_Test_protoFile_MessageTypes[3].Type
-}
-func (m xxx_RepeatedGroupExtension) KnownFields() protoreflect.KnownFields {
- return xxx_Test_protoFile_MessageTypes[3].KnownFieldsOf(m.m)
-}
-func (m xxx_RepeatedGroupExtension) UnknownFields() protoreflect.UnknownFields {
- return xxx_Test_protoFile_MessageTypes[3].UnknownFieldsOf(m.m)
-}
-func (m xxx_RepeatedGroupExtension) Interface() protoreflect.ProtoMessage {
- return m.m
-}
-
func (m *RepeatedGroupExtension) Reset() { *m = RepeatedGroupExtension{} }
func (m *RepeatedGroupExtension) String() string { return proto.CompactTextString(m) }
func (*RepeatedGroupExtension) ProtoMessage() {}
func (*RepeatedGroupExtension) Descriptor() ([]byte, []int) {
- return fileDescriptor_c161fcfdc0c3ff1e, []int{3}
+ return fileDescriptor_c161fcfdc0c3ff1e_gzipped, []int{3}
}
func (m *RepeatedGroupExtension) XXX_Unmarshal(b []byte) error {
@@ -876,29 +818,14 @@
XXX_sizecache int32 `json:"-"`
}
-type xxx_TestAllTypes_NestedMessage struct{ m *TestAllTypes_NestedMessage }
-
func (m *TestAllTypes_NestedMessage) ProtoReflect() protoreflect.Message {
- return xxx_TestAllTypes_NestedMessage{m}
+ return xxx_Test_protoFile_messageTypes[4].MessageOf(m)
}
-func (m xxx_TestAllTypes_NestedMessage) Type() protoreflect.MessageType {
- return xxx_Test_protoFile_MessageTypes[4].Type
-}
-func (m xxx_TestAllTypes_NestedMessage) KnownFields() protoreflect.KnownFields {
- return xxx_Test_protoFile_MessageTypes[4].KnownFieldsOf(m.m)
-}
-func (m xxx_TestAllTypes_NestedMessage) UnknownFields() protoreflect.UnknownFields {
- return xxx_Test_protoFile_MessageTypes[4].UnknownFieldsOf(m.m)
-}
-func (m xxx_TestAllTypes_NestedMessage) Interface() protoreflect.ProtoMessage {
- return m.m
-}
-
func (m *TestAllTypes_NestedMessage) Reset() { *m = TestAllTypes_NestedMessage{} }
func (m *TestAllTypes_NestedMessage) String() string { return proto.CompactTextString(m) }
func (*TestAllTypes_NestedMessage) ProtoMessage() {}
func (*TestAllTypes_NestedMessage) Descriptor() ([]byte, []int) {
- return fileDescriptor_c161fcfdc0c3ff1e, []int{0, 0}
+ return fileDescriptor_c161fcfdc0c3ff1e_gzipped, []int{0, 0}
}
func (m *TestAllTypes_NestedMessage) XXX_Unmarshal(b []byte) error {
@@ -940,29 +867,14 @@
XXX_sizecache int32 `json:"-"`
}
-type xxx_TestAllTypes_OptionalGroup struct{ m *TestAllTypes_OptionalGroup }
-
func (m *TestAllTypes_OptionalGroup) ProtoReflect() protoreflect.Message {
- return xxx_TestAllTypes_OptionalGroup{m}
+ return xxx_Test_protoFile_messageTypes[5].MessageOf(m)
}
-func (m xxx_TestAllTypes_OptionalGroup) Type() protoreflect.MessageType {
- return xxx_Test_protoFile_MessageTypes[5].Type
-}
-func (m xxx_TestAllTypes_OptionalGroup) KnownFields() protoreflect.KnownFields {
- return xxx_Test_protoFile_MessageTypes[5].KnownFieldsOf(m.m)
-}
-func (m xxx_TestAllTypes_OptionalGroup) UnknownFields() protoreflect.UnknownFields {
- return xxx_Test_protoFile_MessageTypes[5].UnknownFieldsOf(m.m)
-}
-func (m xxx_TestAllTypes_OptionalGroup) Interface() protoreflect.ProtoMessage {
- return m.m
-}
-
func (m *TestAllTypes_OptionalGroup) Reset() { *m = TestAllTypes_OptionalGroup{} }
func (m *TestAllTypes_OptionalGroup) String() string { return proto.CompactTextString(m) }
func (*TestAllTypes_OptionalGroup) ProtoMessage() {}
func (*TestAllTypes_OptionalGroup) Descriptor() ([]byte, []int) {
- return fileDescriptor_c161fcfdc0c3ff1e, []int{0, 1}
+ return fileDescriptor_c161fcfdc0c3ff1e_gzipped, []int{0, 1}
}
func (m *TestAllTypes_OptionalGroup) XXX_Unmarshal(b []byte) error {
@@ -997,29 +909,14 @@
XXX_sizecache int32 `json:"-"`
}
-type xxx_TestAllTypes_RepeatedGroup struct{ m *TestAllTypes_RepeatedGroup }
-
func (m *TestAllTypes_RepeatedGroup) ProtoReflect() protoreflect.Message {
- return xxx_TestAllTypes_RepeatedGroup{m}
+ return xxx_Test_protoFile_messageTypes[6].MessageOf(m)
}
-func (m xxx_TestAllTypes_RepeatedGroup) Type() protoreflect.MessageType {
- return xxx_Test_protoFile_MessageTypes[6].Type
-}
-func (m xxx_TestAllTypes_RepeatedGroup) KnownFields() protoreflect.KnownFields {
- return xxx_Test_protoFile_MessageTypes[6].KnownFieldsOf(m.m)
-}
-func (m xxx_TestAllTypes_RepeatedGroup) UnknownFields() protoreflect.UnknownFields {
- return xxx_Test_protoFile_MessageTypes[6].UnknownFieldsOf(m.m)
-}
-func (m xxx_TestAllTypes_RepeatedGroup) Interface() protoreflect.ProtoMessage {
- return m.m
-}
-
func (m *TestAllTypes_RepeatedGroup) Reset() { *m = TestAllTypes_RepeatedGroup{} }
func (m *TestAllTypes_RepeatedGroup) String() string { return proto.CompactTextString(m) }
func (*TestAllTypes_RepeatedGroup) ProtoMessage() {}
func (*TestAllTypes_RepeatedGroup) Descriptor() ([]byte, []int) {
- return fileDescriptor_c161fcfdc0c3ff1e, []int{0, 2}
+ return fileDescriptor_c161fcfdc0c3ff1e_gzipped, []int{0, 2}
}
func (m *TestAllTypes_RepeatedGroup) XXX_Unmarshal(b []byte) error {
@@ -1372,7 +1269,7 @@
}
func init() {
- proto.RegisterFile("test.proto", fileDescriptor_c161fcfdc0c3ff1e)
+ proto.RegisterFile("test.proto", fileDescriptor_c161fcfdc0c3ff1e_gzipped)
proto.RegisterEnum("goproto.proto.test.TestAllTypes_NestedEnum", TestAllTypes_NestedEnum_name, TestAllTypes_NestedEnum_value)
proto.RegisterType((*TestAllTypes)(nil), "goproto.proto.test.TestAllTypes")
proto.RegisterMapType((map[bool]bool)(nil), "goproto.proto.test.TestAllTypes.MapBoolBoolEntry")
@@ -1437,1226 +1334,772 @@
}
var fileDescriptor_c161fcfdc0c3ff1e = []byte{
- // 2015 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x59, 0x5f, 0x53, 0xdb, 0xce,
- 0x15, 0x45, 0x88, 0xbf, 0x0b, 0x06, 0xa3, 0x1f, 0xd8, 0x22, 0xcc, 0x2f, 0xd9, 0x90, 0xa6, 0x51,
- 0x92, 0xd6, 0xb4, 0xa0, 0xaa, 0x49, 0x9a, 0xa6, 0xc1, 0x05, 0x42, 0x66, 0x9a, 0x64, 0x46, 0x24,
- 0x2f, 0xe9, 0xa4, 0x8c, 0x01, 0xe1, 0x7a, 0x6a, 0x5b, 0xae, 0x65, 0x93, 0xf0, 0xc6, 0x7b, 0x3f,
- 0x40, 0x5f, 0xfb, 0x91, 0xfa, 0x8d, 0xda, 0xd9, 0xbd, 0xda, 0xd5, 0xde, 0xf5, 0x1a, 0x2c, 0x65,
- 0x26, 0xc6, 0xbe, 0xba, 0x3a, 0x67, 0x77, 0xb5, 0x67, 0xaf, 0x76, 0x0f, 0x21, 0x83, 0x28, 0x19,
- 0xd4, 0x7a, 0xfd, 0x78, 0x10, 0x3b, 0x4e, 0x33, 0xe6, 0x5f, 0xe0, 0x67, 0x8d, 0x5d, 0xd9, 0xfe,
- 0xef, 0x33, 0xb2, 0xfc, 0x39, 0x4a, 0x06, 0xfb, 0xed, 0xf6, 0xe7, 0xeb, 0x5e, 0x94, 0x38, 0x8f,
- 0xc9, 0x4a, 0xdc, 0x1b, 0xb4, 0xe2, 0x6e, 0xa3, 0x7d, 0xda, 0xea, 0x0e, 0xf6, 0x76, 0x5d, 0x8b,
- 0x5a, 0xde, 0x6c, 0x58, 0x12, 0xd1, 0xf7, 0x2c, 0xa8, 0xa7, 0x05, 0xbe, 0x3b, 0x4d, 0x2d, 0xcf,
- 0x46, 0x69, 0x81, 0xef, 0x3c, 0x21, 0xab, 0x32, 0x6d, 0x08, 0x70, 0x36, 0xb5, 0xbc, 0x52, 0x28,
- 0xef, 0xfe, 0xc2, 0xa3, 0x23, 0x89, 0x81, 0xef, 0xce, 0x50, 0xcb, 0x9b, 0xc1, 0x89, 0x1a, 0x62,
- 0x02, 0x88, 0xb3, 0xd4, 0xf2, 0xd6, 0xb2, 0xc4, 0x93, 0x51, 0xc4, 0x04, 0x10, 0xe7, 0xa8, 0xe5,
- 0x39, 0x38, 0x31, 0xf0, 0x9d, 0xa7, 0xa4, 0x2c, 0x13, 0x2f, 0x5b, 0x3f, 0xa2, 0x8b, 0xbd, 0x5d,
- 0x77, 0x9e, 0x5a, 0xde, 0x7c, 0x28, 0x01, 0x8e, 0x20, 0x3c, 0x9a, 0x1a, 0xf8, 0xee, 0x02, 0xb5,
- 0xbc, 0x39, 0x2d, 0x35, 0xf0, 0x9d, 0xe7, 0x64, 0x2d, 0xa3, 0x17, 0xb0, 0x8b, 0xd4, 0xf2, 0x56,
- 0x43, 0x89, 0x71, 0x92, 0xc6, 0x0d, 0xc9, 0x81, 0xef, 0x12, 0x6a, 0x79, 0x65, 0x3d, 0x39, 0xf0,
- 0xd1, 0xd0, 0x5f, 0xb6, 0xe3, 0xc6, 0xc0, 0x5d, 0xa2, 0x96, 0x37, 0x9d, 0x0d, 0xfd, 0x11, 0x0b,
- 0xa2, 0xfe, 0x5f, 0xc4, 0xc3, 0xb3, 0x76, 0xe4, 0x2e, 0x53, 0xcb, 0xb3, 0xb2, 0xfe, 0x1f, 0xf0,
- 0xa8, 0xf3, 0x88, 0xc8, 0x3b, 0x4f, 0xcf, 0xe2, 0xb8, 0xed, 0x96, 0xa8, 0xe5, 0x2d, 0x84, 0xcb,
- 0x22, 0x58, 0x8f, 0xe3, 0x36, 0x1e, 0xcd, 0x41, 0xbf, 0xd5, 0x6d, 0xba, 0x2b, 0xd4, 0xf2, 0x16,
- 0x95, 0xd1, 0xe4, 0x51, 0xd4, 0xba, 0xb3, 0xeb, 0x41, 0x94, 0xb8, 0xab, 0xd4, 0xf2, 0x96, 0xb3,
- 0xd6, 0xd5, 0x59, 0xd0, 0xf9, 0x9c, 0x91, 0x36, 0xfb, 0xf1, 0xb0, 0xe7, 0x96, 0xa9, 0xe5, 0x91,
- 0xdd, 0x5a, 0x6d, 0x74, 0x8e, 0xd6, 0xd4, 0xf9, 0x59, 0xfb, 0x94, 0xde, 0xf5, 0x8e, 0xdd, 0x15,
- 0x62, 0x10, 0xe7, 0x92, 0x54, 0x25, 0x79, 0x37, 0x4a, 0x06, 0xd1, 0xc5, 0x69, 0x27, 0x4a, 0x92,
- 0x46, 0x33, 0x72, 0x1d, 0x6a, 0x79, 0x4b, 0x13, 0xe0, 0x7f, 0xe4, 0xb7, 0x7d, 0x80, 0xbb, 0xc2,
- 0x0d, 0x01, 0x87, 0xc2, 0xce, 0x37, 0xb2, 0xae, 0xf3, 0x44, 0xdd, 0x61, 0xc7, 0xdd, 0xa0, 0x96,
- 0xb7, 0xb2, 0xfb, 0x7c, 0x42, 0x92, 0xc3, 0xee, 0xb0, 0x13, 0x3a, 0x98, 0x81, 0xc5, 0xd8, 0x18,
- 0xf6, 0xa3, 0x5e, 0xd4, 0x60, 0xb8, 0x30, 0xc5, 0x1f, 0x50, 0x9b, 0x69, 0x50, 0x44, 0xa5, 0x06,
- 0xd5, 0xb4, 0xc0, 0x77, 0x29, 0xb5, 0x99, 0x06, 0x95, 0x34, 0x50, 0x8c, 0x4c, 0x4b, 0x35, 0xf8,
- 0x90, 0xda, 0x4c, 0x83, 0x22, 0x9c, 0x69, 0x10, 0x25, 0x06, 0xbe, 0xbb, 0x4d, 0x6d, 0xa6, 0x41,
- 0x35, 0x51, 0x43, 0x4c, 0x35, 0xf8, 0x88, 0xda, 0x4c, 0x83, 0x22, 0x7c, 0x32, 0x8a, 0x98, 0x6a,
- 0xf0, 0x17, 0xd4, 0x66, 0x1a, 0x54, 0x13, 0x41, 0x83, 0x32, 0x51, 0x88, 0xe5, 0x31, 0xb5, 0x99,
- 0x06, 0x45, 0x5c, 0xd1, 0x20, 0x4e, 0x0d, 0x7c, 0xf7, 0x97, 0xd4, 0x66, 0x1a, 0x44, 0xa9, 0xa0,
- 0xc1, 0x8c, 0x5e, 0xc0, 0x3e, 0xa1, 0x36, 0xd3, 0xa0, 0x6c, 0x80, 0xa2, 0x41, 0x2d, 0x39, 0xf0,
- 0x5d, 0x8f, 0xda, 0x4c, 0x83, 0x38, 0x19, 0x34, 0x98, 0x35, 0x82, 0x6b, 0xf0, 0x29, 0xb5, 0x99,
- 0x06, 0x65, 0x13, 0x84, 0x06, 0x65, 0x5a, 0xaa, 0xc1, 0x67, 0xd4, 0x66, 0x1a, 0x14, 0xe1, 0x4c,
- 0x83, 0x32, 0x91, 0x6b, 0xf0, 0x39, 0xb5, 0x99, 0x06, 0x45, 0x50, 0x68, 0x30, 0x6b, 0x21, 0x68,
- 0xf0, 0x57, 0xd4, 0x66, 0x1a, 0x94, 0xed, 0x93, 0x1a, 0xcc, 0xd0, 0xb8, 0x06, 0x7f, 0x4d, 0x6d,
- 0xa6, 0x41, 0x09, 0x27, 0x34, 0x28, 0x02, 0xa0, 0xc1, 0x1a, 0xb5, 0x27, 0xd2, 0x60, 0x98, 0xde,
- 0x95, 0x6a, 0x10, 0x81, 0x30, 0x0d, 0x4a, 0x72, 0x4d, 0x83, 0xbf, 0xa1, 0x76, 0x11, 0x0d, 0x0a,
- 0xb8, 0x11, 0x0d, 0xea, 0x3c, 0x5c, 0x83, 0x7b, 0xd4, 0xce, 0xad, 0x41, 0xcc, 0xc0, 0x35, 0xf8,
- 0x57, 0xb2, 0xda, 0x69, 0xf4, 0x40, 0x7e, 0xa9, 0x08, 0x5f, 0xf0, 0xe6, 0xef, 0xdd, 0x89, 0xfc,
- 0xa1, 0xd1, 0xe3, 0x02, 0xe5, 0x1f, 0x87, 0xdd, 0x41, 0xff, 0x3a, 0x2c, 0x75, 0xd4, 0x98, 0x02,
- 0x1e, 0xf8, 0xa9, 0x74, 0x5f, 0xe6, 0x02, 0x0f, 0x7c, 0xfe, 0x81, 0xc0, 0xd3, 0x98, 0xd3, 0x20,
- 0x6b, 0x0c, 0x1c, 0xa4, 0x2e, 0x14, 0xff, 0x8a, 0xc3, 0xff, 0x6e, 0x12, 0x78, 0x58, 0x0d, 0xe0,
- 0x13, 0x08, 0x58, 0x63, 0xd5, 0xa8, 0x4a, 0x11, 0xf8, 0x62, 0xad, 0xf8, 0x43, 0x3e, 0x8a, 0xc0,
- 0x87, 0x4f, 0x4c, 0x21, 0xa2, 0x82, 0x02, 0x96, 0x17, 0xb1, 0xca, 0xbc, 0x9e, 0x9c, 0x02, 0x56,
- 0xa0, 0x13, 0xad, 0x17, 0x6a, 0x54, 0xa5, 0x08, 0x7c, 0xb1, 0x3e, 0xfd, 0x31, 0x1f, 0x45, 0xe0,
- 0x9f, 0x68, 0xbd, 0x50, 0xa3, 0x4e, 0x93, 0xfc, 0xc4, 0x28, 0xd2, 0x35, 0x46, 0x2e, 0x6d, 0x6f,
- 0x38, 0xc9, 0xef, 0x27, 0x21, 0x49, 0x97, 0xbd, 0xf4, 0x0f, 0xd0, 0xb0, 0x66, 0xe3, 0x38, 0x22,
- 0x0a, 0x7c, 0xb9, 0x30, 0xfe, 0x29, 0x27, 0x51, 0xe0, 0xa7, 0x7f, 0x34, 0x22, 0x19, 0x77, 0x3a,
- 0x64, 0x83, 0x0f, 0x9a, 0xe8, 0x92, 0x5c, 0x57, 0xdf, 0x72, 0xaa, 0x97, 0x13, 0x0d, 0x5c, 0x7a,
- 0x8f, 0xf8, 0x0b, 0x64, 0xac, 0x03, 0xfa, 0x15, 0x4c, 0xc7, 0x9e, 0x92, 0xe8, 0xd9, 0x7e, 0x5e,
- 0xba, 0xc0, 0x17, 0x7f, 0x75, 0xba, 0xec, 0x0a, 0x56, 0x3d, 0x2c, 0xec, 0xf5, 0x9c, 0xaa, 0xe7,
- 0x2b, 0xbf, 0xa6, 0x7a, 0xa8, 0x06, 0x7f, 0x23, 0xe5, 0x0c, 0x3c, 0x2d, 0x07, 0x7f, 0xe6, 0xe8,
- 0xfe, 0xc4, 0xe8, 0x50, 0x2f, 0x00, 0x7e, 0xa5, 0x83, 0x82, 0xce, 0x17, 0xc2, 0x08, 0x79, 0xfd,
- 0x80, 0x22, 0x72, 0xc0, 0xc1, 0x7f, 0x3b, 0x09, 0x38, 0x2b, 0x30, 0xec, 0x3f, 0x20, 0x2f, 0x75,
- 0xb2, 0x88, 0x94, 0x09, 0xaf, 0x2d, 0xa2, 0xf0, 0x1c, 0xe6, 0x90, 0x09, 0xbf, 0x03, 0x3e, 0x15,
- 0x99, 0x28, 0x51, 0x31, 0x32, 0x29, 0x05, 0x94, 0xac, 0xa3, 0xc9, 0x47, 0x06, 0x50, 0x78, 0x51,
- 0xcb, 0x46, 0x46, 0x09, 0x3a, 0xdf, 0xc9, 0xa6, 0x82, 0xaf, 0x55, 0xa5, 0x77, 0x9c, 0xe8, 0xf5,
- 0xe4, 0x44, 0xa8, 0x0e, 0x01, 0x61, 0xa5, 0x63, 0xbc, 0xe8, 0x74, 0x49, 0x65, 0x94, 0x98, 0x97,
- 0xa9, 0xf7, 0x39, 0xe6, 0xaf, 0x02, 0xcc, 0x6a, 0x93, 0x32, 0x7f, 0xb5, 0x2b, 0xce, 0x23, 0xb2,
- 0x1c, 0x77, 0xa3, 0xf8, 0x52, 0x2c, 0xfb, 0x31, 0xdb, 0x6c, 0x1d, 0x4f, 0x85, 0x4b, 0x3c, 0x9a,
- 0xae, 0xde, 0x67, 0x64, 0x1d, 0x92, 0xb4, 0x81, 0xe8, 0x15, 0x79, 0x45, 0x3e, 0x9e, 0x0a, 0x1d,
- 0x8e, 0x86, 0x3b, 0x2e, 0x1b, 0x92, 0xce, 0x97, 0x7f, 0xb2, 0xcd, 0x82, 0x6c, 0x48, 0xfa, 0xd8,
- 0x1f, 0x12, 0xf8, 0x99, 0x3e, 0xf1, 0x3e, 0xdb, 0x28, 0x1c, 0x4f, 0x85, 0x84, 0x07, 0xe1, 0xc9,
- 0x3d, 0x20, 0x24, 0x4d, 0x61, 0x13, 0x3a, 0x61, 0x3b, 0x93, 0xe3, 0xa9, 0x70, 0x11, 0x32, 0xd8,
- 0xec, 0x44, 0x3d, 0x0e, 0x7c, 0x77, 0xc0, 0x76, 0x8d, 0xa8, 0xc7, 0x81, 0x9f, 0x11, 0x81, 0xa4,
- 0x87, 0x6c, 0xbf, 0x24, 0x89, 0x40, 0x9c, 0x12, 0x27, 0x15, 0xe6, 0x15, 0xdb, 0x2b, 0x49, 0x9c,
- 0x54, 0x61, 0x7f, 0x11, 0xad, 0xe1, 0x8f, 0xf0, 0x7b, 0xee, 0xb7, 0x7d, 0xd9, 0x74, 0xf6, 0xe3,
- 0x5e, 0x83, 0x94, 0xf0, 0xa0, 0x2d, 0x13, 0xab, 0x91, 0x6e, 0xb7, 0xad, 0x86, 0x53, 0x27, 0x4b,
- 0xe7, 0x71, 0x3f, 0x3a, 0x1f, 0xf6, 0x93, 0xd6, 0x55, 0xc4, 0xf7, 0xd7, 0x4b, 0xbb, 0xf4, 0x2e,
- 0xb6, 0x50, 0xbd, 0xe9, 0xde, 0xcf, 0xa4, 0x84, 0x36, 0x4c, 0x40, 0xb1, 0x96, 0x52, 0xb0, 0xcb,
- 0xe8, 0x5d, 0x0e, 0x2e, 0xef, 0x88, 0xcb, 0x6f, 0x89, 0x33, 0xfa, 0x2e, 0xe3, 0x94, 0x89, 0xfd,
- 0x8f, 0xe8, 0x3a, 0x6d, 0x27, 0xfb, 0xea, 0xac, 0x93, 0xd9, 0xab, 0x46, 0x7b, 0x08, 0x6d, 0x9c,
- 0x0d, 0xe1, 0xc7, 0xab, 0xe9, 0x17, 0x56, 0x86, 0xa0, 0xbe, 0xb0, 0xa8, 0x08, 0xb6, 0x01, 0xc1,
- 0x56, 0x11, 0xea, 0x64, 0xdd, 0xf4, 0x4e, 0xa2, 0x62, 0x94, 0x0c, 0x18, 0x25, 0x33, 0x06, 0x7a,
- 0xe9, 0x50, 0x31, 0x66, 0x0c, 0x18, 0x33, 0xa3, 0x18, 0x23, 0x6f, 0x15, 0x2a, 0xc6, 0x9a, 0x01,
- 0x63, 0xcd, 0x8c, 0x81, 0x5e, 0x1b, 0x54, 0x0c, 0xc7, 0x80, 0xe1, 0xa8, 0x18, 0x07, 0xa4, 0x62,
- 0x7e, 0x2b, 0x50, 0x51, 0xe6, 0x0d, 0x28, 0xf3, 0x63, 0x50, 0x70, 0xc9, 0x57, 0x51, 0xe6, 0x0c,
- 0x28, 0x73, 0x2a, 0xca, 0x11, 0x71, 0xc7, 0x55, 0x73, 0x15, 0x67, 0xd5, 0x80, 0xb3, 0x3a, 0x0e,
- 0x47, 0x2b, 0xd3, 0x2a, 0x4e, 0xd9, 0x80, 0x53, 0x36, 0xce, 0x36, 0xb5, 0x0a, 0xdf, 0x35, 0x5f,
- 0xa7, 0x55, 0x84, 0x7d, 0xf2, 0x93, 0xa1, 0xd2, 0xde, 0x05, 0x61, 0xa9, 0x10, 0x6f, 0x48, 0x59,
- 0xaf, 0xa7, 0xea, 0xfd, 0x0b, 0x86, 0xfb, 0x17, 0x0c, 0x93, 0x44, 0x2f, 0x9a, 0x2a, 0xc6, 0xa2,
- 0x01, 0x63, 0x71, 0xb4, 0x1b, 0x7a, 0x59, 0xbc, 0x0b, 0x62, 0x59, 0x85, 0xb8, 0x26, 0x5b, 0xb7,
- 0x14, 0x3c, 0x03, 0xd4, 0x81, 0x0a, 0x95, 0x7f, 0x97, 0xa7, 0x50, 0x27, 0x30, 0x1d, 0x4c, 0x55,
- 0xcf, 0xc0, 0xbb, 0xaf, 0xf2, 0xe6, 0xdc, 0xf8, 0x65, 0xa4, 0xdb, 0x2f, 0x09, 0x51, 0xea, 0xe8,
- 0x3c, 0xb1, 0x8f, 0x3e, 0x7d, 0x2a, 0x4f, 0xb1, 0x2f, 0xf5, 0xfd, 0xb0, 0x6c, 0xc1, 0x97, 0xaf,
- 0xe5, 0x69, 0xd6, 0x82, 0x8f, 0x87, 0xef, 0xca, 0xff, 0x13, 0xff, 0xac, 0x7a, 0x49, 0x56, 0x97,
- 0x56, 0xd4, 0xbe, 0xd8, 0xfe, 0x99, 0xac, 0xa5, 0x7c, 0x87, 0x3f, 0x06, 0x51, 0x37, 0x69, 0xc5,
- 0xdd, 0xe4, 0xd9, 0xc2, 0x82, 0x55, 0xbe, 0xb9, 0xb9, 0xb9, 0x99, 0xde, 0x7e, 0x42, 0xaa, 0x68,
- 0x49, 0x3e, 0x8d, 0x44, 0x16, 0x5e, 0x9c, 0x59, 0x22, 0x5a, 0x9c, 0xf5, 0x44, 0xb1, 0x4c, 0xbf,
- 0x3a, 0x25, 0x2e, 0x3e, 0xb2, 0x55, 0x32, 0x1f, 0xdf, 0x32, 0x1c, 0x59, 0xf3, 0xd2, 0x99, 0x5d,
- 0x41, 0x67, 0xbc, 0xf2, 0xb2, 0x4e, 0x10, 0xf8, 0xf9, 0x09, 0x60, 0x5d, 0xaf, 0xa0, 0xd3, 0xe1,
- 0x8c, 0xa0, 0x41, 0x36, 0xb5, 0x63, 0xe2, 0xfc, 0x0c, 0x70, 0xae, 0x5c, 0xc5, 0xe7, 0xca, 0xe3,
- 0x29, 0x8a, 0x74, 0x02, 0x4e, 0xa4, 0xab, 0xf8, 0x44, 0xda, 0x4c, 0x91, 0x14, 0xec, 0x05, 0x9c,
- 0x65, 0x57, 0xf1, 0x59, 0xf6, 0x78, 0x8a, 0x22, 0xbd, 0x80, 0x53, 0xf0, 0x2a, 0x3e, 0x05, 0xcf,
- 0x28, 0xce, 0xc9, 0x3d, 0xfd, 0x38, 0x3c, 0x3f, 0x07, 0x9c, 0x9f, 0xbb, 0xda, 0xf9, 0xf9, 0x2d,
- 0x24, 0x45, 0x3a, 0x02, 0x27, 0xef, 0xae, 0x76, 0xf2, 0x9e, 0x91, 0x44, 0x64, 0x6b, 0xe4, 0x08,
- 0x3e, 0x3f, 0x0b, 0x9c, 0xd9, 0x6f, 0xea, 0x67, 0xf6, 0xb7, 0xd1, 0x14, 0xe9, 0x0c, 0x9c, 0xf6,
- 0x6f, 0xea, 0xa7, 0xfd, 0x66, 0x11, 0xf2, 0xd7, 0xd8, 0xfc, 0x1c, 0xe0, 0x13, 0x54, 0x90, 0x4f,
- 0x60, 0x9e, 0x5b, 0xf0, 0x12, 0x9c, 0x9f, 0x01, 0x1c, 0x86, 0x2a, 0x76, 0x18, 0x32, 0x8a, 0x6f,
- 0xca, 0xf9, 0x3c, 0xdf, 0xa6, 0xe6, 0x26, 0x00, 0x6f, 0x62, 0x43, 0xf5, 0x26, 0xc6, 0xa8, 0x03,
- 0xb6, 0x5c, 0xb9, 0x09, 0xc0, 0xd5, 0xa8, 0x62, 0x57, 0xc3, 0xfc, 0x14, 0xf8, 0xae, 0x25, 0x3f,
- 0x03, 0xf8, 0x21, 0x15, 0xe4, 0x87, 0x64, 0x04, 0xff, 0xb2, 0xb2, 0x31, 0x6a, 0x6a, 0xcb, 0xfe,
- 0x84, 0x04, 0x60, 0xa5, 0x18, 0x0b, 0xe1, 0x98, 0xca, 0x93, 0xb5, 0x86, 0x53, 0x66, 0xad, 0xf9,
- 0x8f, 0x45, 0x1e, 0x8e, 0x71, 0x54, 0xf2, 0xb7, 0xab, 0x98, 0x05, 0x73, 0xdf, 0x68, 0xc1, 0x64,
- 0x4d, 0xfc, 0xb7, 0x45, 0xee, 0x9b, 0xcc, 0x98, 0xfc, 0xed, 0x2b, 0xe0, 0xde, 0x6c, 0x8d, 0xba,
- 0x37, 0x68, 0xae, 0x60, 0x1b, 0x27, 0x7f, 0x93, 0xc0, 0xf7, 0xa9, 0x20, 0xdf, 0x67, 0x2c, 0x41,
- 0x91, 0x65, 0x07, 0x1c, 0xa3, 0x0a, 0x72, 0x8c, 0x90, 0xa0, 0x34, 0xeb, 0x28, 0x3f, 0x03, 0x78,
- 0x4d, 0x55, 0xec, 0x35, 0x8d, 0xa7, 0x28, 0xd2, 0x09, 0x70, 0xa9, 0xaa, 0xd8, 0xa5, 0x32, 0x53,
- 0x14, 0xad, 0xcb, 0xe0, 0x6f, 0x55, 0xb1, 0xbf, 0x35, 0x9e, 0xa2, 0x48, 0x2f, 0xc0, 0x19, 0xab,
- 0x62, 0x67, 0x0c, 0x95, 0x4c, 0xdd, 0x22, 0xcb, 0xcf, 0x01, 0x9e, 0x9a, 0xab, 0x79, 0x6a, 0xb7,
- 0x90, 0x14, 0xe9, 0x08, 0xb8, 0x71, 0xae, 0xe6, 0xc6, 0xa1, 0x82, 0x39, 0x62, 0xcb, 0xe5, 0x67,
- 0x01, 0x1f, 0x6f, 0x53, 0xf7, 0xf1, 0x6e, 0xa3, 0x29, 0xd2, 0x19, 0x70, 0x00, 0x37, 0x75, 0x07,
- 0xd0, 0x2c, 0xc2, 0x82, 0x75, 0x19, 0xbc, 0xc3, 0x0a, 0xf2, 0x0e, 0xcd, 0x73, 0xab, 0x68, 0x5d,
- 0x06, 0xd7, 0xb1, 0x8a, 0x5d, 0x47, 0x54, 0x97, 0x91, 0xfd, 0x98, 0x9f, 0x00, 0xfc, 0xca, 0x0d,
- 0xd5, 0xaf, 0x1c, 0xa3, 0x8e, 0x82, 0x75, 0x19, 0x9c, 0xce, 0x2a, 0x76, 0x3a, 0xcd, 0x4f, 0xa1,
- 0x60, 0x5d, 0x06, 0x8f, 0xb4, 0x82, 0x3c, 0x52, 0x5c, 0x97, 0x91, 0xd1, 0x99, 0x9f, 0x00, 0xec,
- 0x55, 0x63, 0x7d, 0x19, 0xb3, 0xd1, 0xcb, 0x5a, 0x63, 0xa8, 0xcb, 0x63, 0x5c, 0xd6, 0xfc, 0xed,
- 0x2a, 0x66, 0xcb, 0xde, 0x37, 0xda, 0xb2, 0xb8, 0x2e, 0x9b, 0x0c, 0xda, 0xfc, 0xed, 0x2b, 0xe0,
- 0xe8, 0x6e, 0x8d, 0x3a, 0xba, 0x12, 0xb0, 0xfe, 0xe2, 0x6b, 0xd0, 0x6c, 0x0d, 0xfe, 0x3e, 0x3c,
- 0xab, 0x9d, 0xc7, 0x9d, 0x9d, 0x66, 0xdc, 0x6e, 0x74, 0x9b, 0x3b, 0x1c, 0xf4, 0x6c, 0x78, 0xb9,
- 0x73, 0xb5, 0xbb, 0xd3, 0xea, 0x0e, 0xa2, 0x7e, 0xb7, 0xd1, 0xde, 0x61, 0x1c, 0xfc, 0x42, 0xc2,
- 0xbf, 0xfe, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xf6, 0x2d, 0x9b, 0x88, 0x4e, 0x25, 0x00, 0x00,
+ // 9550 bytes of the wire-encoded FileDescriptorProto
+ 0x0a, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x67, 0x6f,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
+ 0x22, 0xd0, 0x2a, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
+ 0x73, 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, 0x54, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0a, 0x32,
+ 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x74, 0x65, 0x73, 0x74, 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, 0x52,
+ 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x66,
+ 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,
+ 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x74, 0x65, 0x73, 0x74, 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, 0x5d, 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, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 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, 0x54, 0x0a, 0x0d,
+ 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x2e, 0x20,
+ 0x03, 0x28, 0x0a, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f,
+ 0x75, 0x70, 0x12, 0x66, 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, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x5d, 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, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x5b, 0x0a, 0x0f, 0x6d, 0x61, 0x70,
+ 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x38, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x5b, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x39, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x33, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x74, 0x65, 0x73, 0x74, 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, 0x61, 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, 0x35,
+ 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
+ 0x65, 0x73, 0x74, 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, 0x61, 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, 0x35, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x61, 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, 0x35, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x61, 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, 0x35, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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,
+ 0x67, 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, 0x37, 0x2e, 0x67,
+ 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
+ 0x74, 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, 0x67, 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, 0x37, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x6d, 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, 0x39, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x6d, 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,
+ 0x39, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x74, 0x65, 0x73, 0x74, 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,
+ 0x5b, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f,
+ 0x61, 0x74, 0x18, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x5e, 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, 0x34, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x55, 0x0a, 0x0d,
+ 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x44, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x61, 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, 0x35,
+ 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
+ 0x65, 0x73, 0x74, 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, 0x5e, 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, 0x34, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x77, 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, 0x3c, 0x2e, 0x67, 0x6f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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,
+ 0x6e, 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,
+ 0x39, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x74, 0x65, 0x73, 0x74, 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,
+ 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, 0x62, 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, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x4c,
+ 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x77, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x1a, 0x61, 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, 0x42, 0x0a, 0x0b, 0x63,
+ 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 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,
+ 0x1d, 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, 0x1a, 0x1d,
+ 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, 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, 0x79, 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, 0x44, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x73, 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, 0x41, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 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, 0x22, 0x1d, 0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2a, 0x08, 0x08, 0x01, 0x10, 0x80, 0x80, 0x80,
+ 0x80, 0x02, 0x22, 0x27, 0x0a, 0x17, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72,
+ 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0c, 0x0a,
+ 0x01, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x61, 0x22, 0x27, 0x0a, 0x17, 0x52,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x2f, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x01, 0x61, 0x3a, 0x5f, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x5f, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+ 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
+ 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e,
+ 0x74, 0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f,
+ 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
+ 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
+ 0x61, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74,
+ 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67,
+ 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
+ 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x3a, 0x63, 0x0a, 0x1a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66,
+ 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x18, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x63, 0x0a, 0x1a, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x06, 0x52, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65,
+ 0x64, 0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x65, 0x0a, 0x1b,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
+ 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
+ 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x3a, 0x65, 0x0a, 0x1b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
+ 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x10, 0x52,
+ 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
+ 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x5f, 0x0a, 0x18, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x65, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x02, 0x52, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6c, 0x6f,
+ 0x61, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x65,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65,
+ 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44,
+ 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x5d,
+ 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f,
+ 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
+ 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a,
+ 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
+ 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x3a, 0x5f, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74,
+ 0x65, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67,
+ 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
+ 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x3a, 0x8b, 0x01, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72,
+ 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0a, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e,
+ 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
+ 0xa0, 0x01, 0x0a, 0x21, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x1e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74,
+ 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x3a, 0x97, 0x01, 0x0a, 0x1e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
+ 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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,
+ 0x1b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
+ 0x6e, 0x75, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x5f, 0x0a, 0x18,
+ 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65,
+ 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+ 0x1f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x5f, 0x0a,
+ 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f,
+ 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
+ 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+ 0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61,
+ 0x0a, 0x19, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
+ 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25,
+ 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
+ 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e,
+ 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x22, 0x20, 0x03, 0x28, 0x04, 0x52, 0x17, 0x72, 0x65, 0x70,
+ 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e,
+ 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x11, 0x52, 0x17,
+ 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x65, 0x61,
+ 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
+ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+ 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x24, 0x20, 0x03, 0x28,
+ 0x12, 0x52, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36,
+ 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x63, 0x0a, 0x1a, 0x72, 0x65,
+ 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x65,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65,
+ 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+ 0x25, 0x20, 0x03, 0x28, 0x07, 0x52, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46,
+ 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
+ 0x63, 0x0a, 0x1a, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65,
+ 0x64, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x26, 0x20, 0x03, 0x28, 0x06, 0x52, 0x18, 0x72, 0x65, 0x70, 0x65,
+ 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e,
+ 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x65, 0x0a, 0x1b, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+ 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f,
+ 0x52, 0x19, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64,
+ 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x65, 0x0a, 0x1b, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
+ 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x10, 0x52, 0x19, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+ 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x3a, 0x5f, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66,
+ 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25,
+ 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
+ 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e,
+ 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x29, 0x20, 0x03, 0x28, 0x02, 0x52, 0x16, 0x72, 0x65, 0x70,
+ 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
+ 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x01, 0x52, 0x17, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x5d, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x15,
+ 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+ 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x5f, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65,
+ 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
+ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+ 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2d, 0x20, 0x03, 0x28,
+ 0x0c, 0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73,
+ 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x8b, 0x01, 0x0a, 0x17, 0x72, 0x65,
+ 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2e, 0x20, 0x03,
+ 0x28, 0x0a, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52,
+ 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0xa0, 0x01, 0x0a, 0x21, 0x72, 0x65, 0x70, 0x65,
+ 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x1e, 0x72, 0x65, 0x70, 0x65,
+ 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x97, 0x01, 0x0a, 0x1e, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65,
+ 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e,
+ 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
+ 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 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, 0x1b, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+ 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e,
+ 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x38, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74,
+ 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74,
}
-func init() {
- xxx_Test_protoFile_FileDesc.Messages = xxx_Test_protoFile_MessageDescs[0:4]
- xxx_Test_protoFile_MessageDescs[0].Enums = xxx_Test_protoFile_EnumDescs[0:1]
- xxx_Test_protoFile_MessageDescs[0].Messages = xxx_Test_protoFile_MessageDescs[4:24]
- xxx_Test_protoFile_MessageDescs[0].Fields[15].MessageType = xxx_Test_protoFile_MessageTypes[5].Type
- xxx_Test_protoFile_MessageDescs[0].Fields[16].MessageType = xxx_Test_protoFile_MessageTypes[4].Type
- xxx_Test_protoFile_MessageDescs[0].Fields[17].EnumType = xxx_Test_protoFile_EnumTypes[0]
- xxx_Test_protoFile_MessageDescs[0].Fields[33].MessageType = xxx_Test_protoFile_MessageTypes[6].Type
- xxx_Test_protoFile_MessageDescs[0].Fields[34].MessageType = xxx_Test_protoFile_MessageTypes[4].Type
- xxx_Test_protoFile_MessageDescs[0].Fields[35].EnumType = xxx_Test_protoFile_EnumTypes[0]
- xxx_Test_protoFile_MessageDescs[0].Fields[36].MessageType = xxx_Test_protoFile_MessageDescs[7].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[37].MessageType = xxx_Test_protoFile_MessageDescs[8].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[38].MessageType = xxx_Test_protoFile_MessageDescs[9].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[39].MessageType = xxx_Test_protoFile_MessageDescs[10].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[40].MessageType = xxx_Test_protoFile_MessageDescs[11].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[41].MessageType = xxx_Test_protoFile_MessageDescs[12].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[42].MessageType = xxx_Test_protoFile_MessageDescs[13].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[43].MessageType = xxx_Test_protoFile_MessageDescs[14].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[44].MessageType = xxx_Test_protoFile_MessageDescs[15].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[45].MessageType = xxx_Test_protoFile_MessageDescs[16].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[46].MessageType = xxx_Test_protoFile_MessageDescs[17].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[47].MessageType = xxx_Test_protoFile_MessageDescs[18].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[48].MessageType = xxx_Test_protoFile_MessageDescs[19].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[49].MessageType = xxx_Test_protoFile_MessageDescs[20].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[50].MessageType = xxx_Test_protoFile_MessageDescs[21].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[51].MessageType = xxx_Test_protoFile_MessageDescs[22].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[52].MessageType = xxx_Test_protoFile_MessageDescs[23].Reference()
- xxx_Test_protoFile_MessageDescs[0].Fields[54].MessageType = xxx_Test_protoFile_MessageTypes[4].Type
- xxx_Test_protoFile_MessageDescs[0].Fields[61].EnumType = xxx_Test_protoFile_EnumTypes[0]
- xxx_Test_protoFile_MessageDescs[4].Fields[1].MessageType = xxx_Test_protoFile_MessageTypes[0].Type
- xxx_Test_protoFile_MessageDescs[22].Fields[1].MessageType = xxx_Test_protoFile_MessageTypes[4].Type
- xxx_Test_protoFile_MessageDescs[23].Fields[1].EnumType = xxx_Test_protoFile_EnumTypes[0]
- var err error
- Test_protoFile, err = prototype.NewFile(&xxx_Test_protoFile_FileDesc)
- if err != nil {
- panic(err)
- }
-}
+var fileDescriptor_c161fcfdc0c3ff1e_gzipped = func() []byte {
+ bb := new(bytes.Buffer)
+ zw, _ := gzip.NewWriterLevel(bb, gzip.NoCompression)
+ zw.Write(fileDescriptor_c161fcfdc0c3ff1e)
+ zw.Close()
+ return bb.Bytes()
+}()
const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
var Test_protoFile protoreflect.FileDescriptor
-var xxx_Test_protoFile_FileDesc = prototype.File{
- Syntax: protoreflect.Proto2,
- Path: "test.proto",
- Package: "goproto.proto.test",
+var xxx_Test_protoFile_enumTypes [1]protoreflect.EnumType
+var xxx_Test_protoFile_messageTypes [24]protoimpl.MessageType
+var xxx_Test_protoFile_goTypes = []interface{}{
+ (TestAllTypes_NestedEnum)(0), // 0: goproto.proto.test.TestAllTypes.NestedEnum
+ (*TestAllTypes)(nil), // 1: goproto.proto.test.TestAllTypes
+ (*TestAllExtensions)(nil), // 2: goproto.proto.test.TestAllExtensions
+ (*OptionalGroupExtension)(nil), // 3: goproto.proto.test.OptionalGroup_extension
+ (*RepeatedGroupExtension)(nil), // 4: goproto.proto.test.RepeatedGroup_extension
+ (*TestAllTypes_NestedMessage)(nil), // 5: goproto.proto.test.TestAllTypes.NestedMessage
+ (*TestAllTypes_OptionalGroup)(nil), // 6: goproto.proto.test.TestAllTypes.OptionalGroup
+ (*TestAllTypes_RepeatedGroup)(nil), // 7: goproto.proto.test.TestAllTypes.RepeatedGroup
+ nil, // 8: goproto.proto.test.TestAllTypes.MapInt32Int32Entry
+ nil, // 9: goproto.proto.test.TestAllTypes.MapInt64Int64Entry
+ nil, // 10: goproto.proto.test.TestAllTypes.MapUint32Uint32Entry
+ nil, // 11: goproto.proto.test.TestAllTypes.MapUint64Uint64Entry
+ nil, // 12: goproto.proto.test.TestAllTypes.MapSint32Sint32Entry
+ nil, // 13: goproto.proto.test.TestAllTypes.MapSint64Sint64Entry
+ nil, // 14: goproto.proto.test.TestAllTypes.MapFixed32Fixed32Entry
+ nil, // 15: goproto.proto.test.TestAllTypes.MapFixed64Fixed64Entry
+ nil, // 16: goproto.proto.test.TestAllTypes.MapSfixed32Sfixed32Entry
+ nil, // 17: goproto.proto.test.TestAllTypes.MapSfixed64Sfixed64Entry
+ nil, // 18: goproto.proto.test.TestAllTypes.MapInt32FloatEntry
+ nil, // 19: goproto.proto.test.TestAllTypes.MapInt32DoubleEntry
+ nil, // 20: goproto.proto.test.TestAllTypes.MapBoolBoolEntry
+ nil, // 21: goproto.proto.test.TestAllTypes.MapStringStringEntry
+ nil, // 22: goproto.proto.test.TestAllTypes.MapStringBytesEntry
+ nil, // 23: goproto.proto.test.TestAllTypes.MapStringNestedMessageEntry
+ nil, // 24: goproto.proto.test.TestAllTypes.MapStringNestedEnumEntry
}
-var xxx_Test_protoFile_EnumTypes = [1]protoreflect.EnumType{
- prototype.GoEnum(
- xxx_Test_protoFile_EnumDescs[0].Reference(),
- func(_ protoreflect.EnumType, n protoreflect.EnumNumber) protoreflect.Enum {
- return TestAllTypes_NestedEnum(n)
- },
- ),
+var xxx_Test_protoFile_depIdxs = []int32{
+ 2, // goproto.proto.test.optional_int32_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_int64_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_uint32_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_uint64_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_sint32_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_sint64_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_fixed32_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_fixed64_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_sfixed32_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_sfixed64_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_float_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_double_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_bool_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_string_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_bytes_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optionalgroup_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_nested_message_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.optional_nested_enum_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_int32_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_int64_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_uint32_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_uint64_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_sint32_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_sint64_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_fixed32_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_fixed64_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_sfixed32_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_sfixed64_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_float_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_double_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_bool_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_string_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_bytes_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeatedgroup_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_nested_message_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 2, // goproto.proto.test.repeated_nested_enum_extension:extendee -> goproto.proto.test.TestAllExtensions
+ 6, // goproto.proto.test.TestAllTypes.optionalgroup:type_name -> goproto.proto.test.TestAllTypes.OptionalGroup
+ 5, // goproto.proto.test.TestAllTypes.optional_nested_message:type_name -> goproto.proto.test.TestAllTypes.NestedMessage
+ 0, // goproto.proto.test.TestAllTypes.optional_nested_enum:type_name -> goproto.proto.test.TestAllTypes.NestedEnum
+ 7, // goproto.proto.test.TestAllTypes.repeatedgroup:type_name -> goproto.proto.test.TestAllTypes.RepeatedGroup
+ 5, // goproto.proto.test.TestAllTypes.repeated_nested_message:type_name -> goproto.proto.test.TestAllTypes.NestedMessage
+ 0, // goproto.proto.test.TestAllTypes.repeated_nested_enum:type_name -> goproto.proto.test.TestAllTypes.NestedEnum
+ 8, // goproto.proto.test.TestAllTypes.map_int32_int32:type_name -> goproto.proto.test.TestAllTypes.MapInt32Int32Entry
+ 9, // goproto.proto.test.TestAllTypes.map_int64_int64:type_name -> goproto.proto.test.TestAllTypes.MapInt64Int64Entry
+ 10, // goproto.proto.test.TestAllTypes.map_uint32_uint32:type_name -> goproto.proto.test.TestAllTypes.MapUint32Uint32Entry
+ 11, // goproto.proto.test.TestAllTypes.map_uint64_uint64:type_name -> goproto.proto.test.TestAllTypes.MapUint64Uint64Entry
+ 12, // goproto.proto.test.TestAllTypes.map_sint32_sint32:type_name -> goproto.proto.test.TestAllTypes.MapSint32Sint32Entry
+ 13, // goproto.proto.test.TestAllTypes.map_sint64_sint64:type_name -> goproto.proto.test.TestAllTypes.MapSint64Sint64Entry
+ 14, // goproto.proto.test.TestAllTypes.map_fixed32_fixed32:type_name -> goproto.proto.test.TestAllTypes.MapFixed32Fixed32Entry
+ 15, // goproto.proto.test.TestAllTypes.map_fixed64_fixed64:type_name -> goproto.proto.test.TestAllTypes.MapFixed64Fixed64Entry
+ 16, // goproto.proto.test.TestAllTypes.map_sfixed32_sfixed32:type_name -> goproto.proto.test.TestAllTypes.MapSfixed32Sfixed32Entry
+ 17, // goproto.proto.test.TestAllTypes.map_sfixed64_sfixed64:type_name -> goproto.proto.test.TestAllTypes.MapSfixed64Sfixed64Entry
+ 18, // goproto.proto.test.TestAllTypes.map_int32_float:type_name -> goproto.proto.test.TestAllTypes.MapInt32FloatEntry
+ 19, // goproto.proto.test.TestAllTypes.map_int32_double:type_name -> goproto.proto.test.TestAllTypes.MapInt32DoubleEntry
+ 20, // goproto.proto.test.TestAllTypes.map_bool_bool:type_name -> goproto.proto.test.TestAllTypes.MapBoolBoolEntry
+ 21, // goproto.proto.test.TestAllTypes.map_string_string:type_name -> goproto.proto.test.TestAllTypes.MapStringStringEntry
+ 22, // goproto.proto.test.TestAllTypes.map_string_bytes:type_name -> goproto.proto.test.TestAllTypes.MapStringBytesEntry
+ 23, // goproto.proto.test.TestAllTypes.map_string_nested_message:type_name -> goproto.proto.test.TestAllTypes.MapStringNestedMessageEntry
+ 24, // goproto.proto.test.TestAllTypes.map_string_nested_enum:type_name -> goproto.proto.test.TestAllTypes.MapStringNestedEnumEntry
+ 5, // goproto.proto.test.TestAllTypes.oneof_nested_message:type_name -> goproto.proto.test.TestAllTypes.NestedMessage
+ 0, // goproto.proto.test.TestAllTypes.oneof_enum:type_name -> goproto.proto.test.TestAllTypes.NestedEnum
+ 1, // goproto.proto.test.TestAllTypes.NestedMessage.corecursive:type_name -> goproto.proto.test.TestAllTypes
+ 5, // goproto.proto.test.TestAllTypes.MapStringNestedMessageEntry.value:type_name -> goproto.proto.test.TestAllTypes.NestedMessage
+ 0, // goproto.proto.test.TestAllTypes.MapStringNestedEnumEntry.value:type_name -> goproto.proto.test.TestAllTypes.NestedEnum
+ 3, // goproto.proto.test.optionalgroup_extension:type_name -> goproto.proto.test.OptionalGroup_extension
+ 5, // goproto.proto.test.optional_nested_message_extension:type_name -> goproto.proto.test.TestAllTypes.NestedMessage
+ 0, // goproto.proto.test.optional_nested_enum_extension:type_name -> goproto.proto.test.TestAllTypes.NestedEnum
+ 4, // goproto.proto.test.repeatedgroup_extension:type_name -> goproto.proto.test.RepeatedGroup_extension
+ 5, // goproto.proto.test.repeated_nested_message_extension:type_name -> goproto.proto.test.TestAllTypes.NestedMessage
+ 0, // goproto.proto.test.repeated_nested_enum_extension:type_name -> goproto.proto.test.TestAllTypes.NestedEnum
}
-var xxx_Test_protoFile_EnumDescs = [1]prototype.Enum{
- {
- Name: "NestedEnum",
- Values: []prototype.EnumValue{
- {Name: "FOO", Number: 0},
- {Name: "BAR", Number: 1},
- {Name: "BAZ", Number: 2},
- {Name: "NEG", Number: -1},
- },
- },
-}
-var xxx_Test_protoFile_MessageTypes = [24]protoimpl.MessageType{
- {Type: prototype.GoMessage(
- xxx_Test_protoFile_MessageDescs[0].Reference(),
- func(protoreflect.MessageType) protoreflect.Message {
- return xxx_TestAllTypes{new(TestAllTypes)}
- },
- )},
- {Type: prototype.GoMessage(
- xxx_Test_protoFile_MessageDescs[1].Reference(),
- func(protoreflect.MessageType) protoreflect.Message {
- return xxx_TestAllExtensions{new(TestAllExtensions)}
- },
- )},
- {Type: prototype.GoMessage(
- xxx_Test_protoFile_MessageDescs[2].Reference(),
- func(protoreflect.MessageType) protoreflect.Message {
- return xxx_OptionalGroupExtension{new(OptionalGroupExtension)}
- },
- )},
- {Type: prototype.GoMessage(
- xxx_Test_protoFile_MessageDescs[3].Reference(),
- func(protoreflect.MessageType) protoreflect.Message {
- return xxx_RepeatedGroupExtension{new(RepeatedGroupExtension)}
- },
- )},
- {Type: prototype.GoMessage(
- xxx_Test_protoFile_MessageDescs[4].Reference(),
- func(protoreflect.MessageType) protoreflect.Message {
- return xxx_TestAllTypes_NestedMessage{new(TestAllTypes_NestedMessage)}
- },
- )},
- {Type: prototype.GoMessage(
- xxx_Test_protoFile_MessageDescs[5].Reference(),
- func(protoreflect.MessageType) protoreflect.Message {
- return xxx_TestAllTypes_OptionalGroup{new(TestAllTypes_OptionalGroup)}
- },
- )},
- {Type: prototype.GoMessage(
- xxx_Test_protoFile_MessageDescs[6].Reference(),
- func(protoreflect.MessageType) protoreflect.Message {
- return xxx_TestAllTypes_RepeatedGroup{new(TestAllTypes_RepeatedGroup)}
- },
- )},
- { /* no message type for TestAllTypes_MapInt32Int32Entry */ },
- { /* no message type for TestAllTypes_MapInt64Int64Entry */ },
- { /* no message type for TestAllTypes_MapUint32Uint32Entry */ },
- { /* no message type for TestAllTypes_MapUint64Uint64Entry */ },
- { /* no message type for TestAllTypes_MapSint32Sint32Entry */ },
- { /* no message type for TestAllTypes_MapSint64Sint64Entry */ },
- { /* no message type for TestAllTypes_MapFixed32Fixed32Entry */ },
- { /* no message type for TestAllTypes_MapFixed64Fixed64Entry */ },
- { /* no message type for TestAllTypes_MapSfixed32Sfixed32Entry */ },
- { /* no message type for TestAllTypes_MapSfixed64Sfixed64Entry */ },
- { /* no message type for TestAllTypes_MapInt32FloatEntry */ },
- { /* no message type for TestAllTypes_MapInt32DoubleEntry */ },
- { /* no message type for TestAllTypes_MapBoolBoolEntry */ },
- { /* no message type for TestAllTypes_MapStringStringEntry */ },
- { /* no message type for TestAllTypes_MapStringBytesEntry */ },
- { /* no message type for TestAllTypes_MapStringNestedMessageEntry */ },
- { /* no message type for TestAllTypes_MapStringNestedEnumEntry */ },
-}
-var xxx_Test_protoFile_MessageDescs = [24]prototype.Message{
- {
- Name: "TestAllTypes",
- Fields: []prototype.Field{
- {
- Name: "optional_int32",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Int32Kind,
- JSONName: "optionalInt32",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_int64",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Int64Kind,
- JSONName: "optionalInt64",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_uint32",
- Number: 3,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Uint32Kind,
- JSONName: "optionalUint32",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_uint64",
- Number: 4,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Uint64Kind,
- JSONName: "optionalUint64",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_sint32",
- Number: 5,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Sint32Kind,
- JSONName: "optionalSint32",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_sint64",
- Number: 6,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Sint64Kind,
- JSONName: "optionalSint64",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_fixed32",
- Number: 7,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Fixed32Kind,
- JSONName: "optionalFixed32",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_fixed64",
- Number: 8,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Fixed64Kind,
- JSONName: "optionalFixed64",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_sfixed32",
- Number: 9,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Sfixed32Kind,
- JSONName: "optionalSfixed32",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_sfixed64",
- Number: 10,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Sfixed64Kind,
- JSONName: "optionalSfixed64",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_float",
- Number: 11,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.FloatKind,
- JSONName: "optionalFloat",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_double",
- Number: 12,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.DoubleKind,
- JSONName: "optionalDouble",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_bool",
- Number: 13,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.BoolKind,
- JSONName: "optionalBool",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_string",
- Number: 14,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.StringKind,
- JSONName: "optionalString",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_bytes",
- Number: 15,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.BytesKind,
- JSONName: "optionalBytes",
- IsPacked: prototype.False,
- },
- {
- Name: "optionalgroup",
- Number: 16,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.GroupKind,
- JSONName: "optionalgroup",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_nested_message",
- Number: 18,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.MessageKind,
- JSONName: "optionalNestedMessage",
- IsPacked: prototype.False,
- },
- {
- Name: "optional_nested_enum",
- Number: 21,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.EnumKind,
- JSONName: "optionalNestedEnum",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_int32",
- Number: 31,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.Int32Kind,
- JSONName: "repeatedInt32",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_int64",
- Number: 32,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.Int64Kind,
- JSONName: "repeatedInt64",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_uint32",
- Number: 33,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.Uint32Kind,
- JSONName: "repeatedUint32",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_uint64",
- Number: 34,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.Uint64Kind,
- JSONName: "repeatedUint64",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_sint32",
- Number: 35,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.Sint32Kind,
- JSONName: "repeatedSint32",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_sint64",
- Number: 36,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.Sint64Kind,
- JSONName: "repeatedSint64",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_fixed32",
- Number: 37,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.Fixed32Kind,
- JSONName: "repeatedFixed32",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_fixed64",
- Number: 38,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.Fixed64Kind,
- JSONName: "repeatedFixed64",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_sfixed32",
- Number: 39,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.Sfixed32Kind,
- JSONName: "repeatedSfixed32",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_sfixed64",
- Number: 40,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.Sfixed64Kind,
- JSONName: "repeatedSfixed64",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_float",
- Number: 41,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.FloatKind,
- JSONName: "repeatedFloat",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_double",
- Number: 42,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.DoubleKind,
- JSONName: "repeatedDouble",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_bool",
- Number: 43,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.BoolKind,
- JSONName: "repeatedBool",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_string",
- Number: 44,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.StringKind,
- JSONName: "repeatedString",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_bytes",
- Number: 45,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.BytesKind,
- JSONName: "repeatedBytes",
- IsPacked: prototype.False,
- },
- {
- Name: "repeatedgroup",
- Number: 46,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.GroupKind,
- JSONName: "repeatedgroup",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_nested_message",
- Number: 48,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "repeatedNestedMessage",
- IsPacked: prototype.False,
- },
- {
- Name: "repeated_nested_enum",
- Number: 51,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.EnumKind,
- JSONName: "repeatedNestedEnum",
- IsPacked: prototype.False,
- },
- {
- Name: "map_int32_int32",
- Number: 56,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapInt32Int32",
- IsPacked: prototype.False,
- },
- {
- Name: "map_int64_int64",
- Number: 57,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapInt64Int64",
- IsPacked: prototype.False,
- },
- {
- Name: "map_uint32_uint32",
- Number: 58,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapUint32Uint32",
- IsPacked: prototype.False,
- },
- {
- Name: "map_uint64_uint64",
- Number: 59,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapUint64Uint64",
- IsPacked: prototype.False,
- },
- {
- Name: "map_sint32_sint32",
- Number: 60,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapSint32Sint32",
- IsPacked: prototype.False,
- },
- {
- Name: "map_sint64_sint64",
- Number: 61,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapSint64Sint64",
- IsPacked: prototype.False,
- },
- {
- Name: "map_fixed32_fixed32",
- Number: 62,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapFixed32Fixed32",
- IsPacked: prototype.False,
- },
- {
- Name: "map_fixed64_fixed64",
- Number: 63,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapFixed64Fixed64",
- IsPacked: prototype.False,
- },
- {
- Name: "map_sfixed32_sfixed32",
- Number: 64,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapSfixed32Sfixed32",
- IsPacked: prototype.False,
- },
- {
- Name: "map_sfixed64_sfixed64",
- Number: 65,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapSfixed64Sfixed64",
- IsPacked: prototype.False,
- },
- {
- Name: "map_int32_float",
- Number: 66,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapInt32Float",
- IsPacked: prototype.False,
- },
- {
- Name: "map_int32_double",
- Number: 67,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapInt32Double",
- IsPacked: prototype.False,
- },
- {
- Name: "map_bool_bool",
- Number: 68,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapBoolBool",
- IsPacked: prototype.False,
- },
- {
- Name: "map_string_string",
- Number: 69,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapStringString",
- IsPacked: prototype.False,
- },
- {
- Name: "map_string_bytes",
- Number: 70,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapStringBytes",
- IsPacked: prototype.False,
- },
- {
- Name: "map_string_nested_message",
- Number: 71,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapStringNestedMessage",
- IsPacked: prototype.False,
- },
- {
- Name: "map_string_nested_enum",
- Number: 73,
- Cardinality: protoreflect.Repeated,
- Kind: protoreflect.MessageKind,
- JSONName: "mapStringNestedEnum",
- IsPacked: prototype.False,
- },
- {
- Name: "oneof_uint32",
- Number: 111,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Uint32Kind,
- JSONName: "oneofUint32",
- OneofName: "oneof_field",
- IsPacked: prototype.False,
- },
- {
- Name: "oneof_nested_message",
- Number: 112,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.MessageKind,
- JSONName: "oneofNestedMessage",
- OneofName: "oneof_field",
- IsPacked: prototype.False,
- },
- {
- Name: "oneof_string",
- Number: 113,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.StringKind,
- JSONName: "oneofString",
- OneofName: "oneof_field",
- IsPacked: prototype.False,
- },
- {
- Name: "oneof_bytes",
- Number: 114,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.BytesKind,
- JSONName: "oneofBytes",
- OneofName: "oneof_field",
- IsPacked: prototype.False,
- },
- {
- Name: "oneof_bool",
- Number: 115,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.BoolKind,
- JSONName: "oneofBool",
- OneofName: "oneof_field",
- IsPacked: prototype.False,
- },
- {
- Name: "oneof_uint64",
- Number: 116,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Uint64Kind,
- JSONName: "oneofUint64",
- OneofName: "oneof_field",
- IsPacked: prototype.False,
- },
- {
- Name: "oneof_float",
- Number: 117,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.FloatKind,
- JSONName: "oneofFloat",
- OneofName: "oneof_field",
- IsPacked: prototype.False,
- },
- {
- Name: "oneof_double",
- Number: 118,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.DoubleKind,
- JSONName: "oneofDouble",
- OneofName: "oneof_field",
- IsPacked: prototype.False,
- },
- {
- Name: "oneof_enum",
- Number: 119,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.EnumKind,
- JSONName: "oneofEnum",
- OneofName: "oneof_field",
- IsPacked: prototype.False,
- },
- },
- Oneofs: []prototype.Oneof{
- {Name: "oneof_field"},
- },
- },
- {
- Name: "TestAllExtensions",
- ExtensionRanges: [][2]protoreflect.FieldNumber{{1, 536870912}},
- },
- {
- Name: "OptionalGroup_extension",
- Fields: []prototype.Field{
- {
- Name: "a",
- Number: 17,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Int32Kind,
- JSONName: "a",
- IsPacked: prototype.False,
- },
- },
- },
- {
- Name: "RepeatedGroup_extension",
- Fields: []prototype.Field{
- {
- Name: "a",
- Number: 47,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Int32Kind,
- JSONName: "a",
- IsPacked: prototype.False,
- },
- },
- },
- {
- Name: "NestedMessage",
- Fields: []prototype.Field{
- {
- Name: "a",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Int32Kind,
- JSONName: "a",
- IsPacked: prototype.False,
- },
- {
- Name: "corecursive",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.MessageKind,
- JSONName: "corecursive",
- IsPacked: prototype.False,
- },
- },
- },
- {
- Name: "OptionalGroup",
- Fields: []prototype.Field{
- {
- Name: "a",
- Number: 17,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Int32Kind,
- JSONName: "a",
- IsPacked: prototype.False,
- },
- },
- },
- {
- Name: "RepeatedGroup",
- Fields: []prototype.Field{
- {
- Name: "a",
- Number: 47,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Int32Kind,
- JSONName: "a",
- IsPacked: prototype.False,
- },
- },
- },
- {
- Name: "MapInt32Int32Entry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Int32Kind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Int32Kind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapInt64Int64Entry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Int64Kind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Int64Kind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapUint32Uint32Entry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Uint32Kind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Uint32Kind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapUint64Uint64Entry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Uint64Kind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Uint64Kind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapSint32Sint32Entry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Sint32Kind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Sint32Kind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapSint64Sint64Entry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Sint64Kind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Sint64Kind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapFixed32Fixed32Entry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Fixed32Kind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Fixed32Kind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapFixed64Fixed64Entry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Fixed64Kind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Fixed64Kind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapSfixed32Sfixed32Entry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Sfixed32Kind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Sfixed32Kind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapSfixed64Sfixed64Entry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Sfixed64Kind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Sfixed64Kind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapInt32FloatEntry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Int32Kind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.FloatKind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapInt32DoubleEntry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.Int32Kind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.DoubleKind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapBoolBoolEntry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.BoolKind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.BoolKind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapStringStringEntry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.StringKind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.StringKind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapStringBytesEntry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.StringKind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.BytesKind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapStringNestedMessageEntry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.StringKind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.MessageKind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
- {
- Name: "MapStringNestedEnumEntry",
- Fields: []prototype.Field{
- {
- Name: "key",
- Number: 1,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.StringKind,
- JSONName: "key",
- IsPacked: prototype.False,
- },
- {
- Name: "value",
- Number: 2,
- Cardinality: protoreflect.Optional,
- Kind: protoreflect.EnumKind,
- JSONName: "value",
- IsPacked: prototype.False,
- },
- },
- IsMapEntry: true,
- },
+
+func init() {
+ var messageTypes [24]protoreflect.MessageType
+ var extensionTypes [36]protoreflect.ExtensionType
+ Test_protoFile = protoimpl.FileBuilder{
+ RawDescriptor: fileDescriptor_c161fcfdc0c3ff1e,
+ GoTypes: xxx_Test_protoFile_goTypes,
+ DependencyIndexes: xxx_Test_protoFile_depIdxs,
+ EnumOutputTypes: xxx_Test_protoFile_enumTypes[:],
+ MessageOutputTypes: messageTypes[:],
+ ExtensionOutputTypes: extensionTypes[:],
+ }.Init()
+ messageGoTypes := xxx_Test_protoFile_goTypes[1:][:24]
+ for i, mt := range messageTypes[:] {
+ xxx_Test_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+ xxx_Test_protoFile_messageTypes[i].PBType = mt
+ }
+ E_OptionalInt32Extension.Type = extensionTypes[0]
+ E_OptionalInt64Extension.Type = extensionTypes[1]
+ E_OptionalUint32Extension.Type = extensionTypes[2]
+ E_OptionalUint64Extension.Type = extensionTypes[3]
+ E_OptionalSint32Extension.Type = extensionTypes[4]
+ E_OptionalSint64Extension.Type = extensionTypes[5]
+ E_OptionalFixed32Extension.Type = extensionTypes[6]
+ E_OptionalFixed64Extension.Type = extensionTypes[7]
+ E_OptionalSfixed32Extension.Type = extensionTypes[8]
+ E_OptionalSfixed64Extension.Type = extensionTypes[9]
+ E_OptionalFloatExtension.Type = extensionTypes[10]
+ E_OptionalDoubleExtension.Type = extensionTypes[11]
+ E_OptionalBoolExtension.Type = extensionTypes[12]
+ E_OptionalStringExtension.Type = extensionTypes[13]
+ E_OptionalBytesExtension.Type = extensionTypes[14]
+ E_OptionalgroupExtension.Type = extensionTypes[15]
+ E_OptionalNestedMessageExtension.Type = extensionTypes[16]
+ E_OptionalNestedEnumExtension.Type = extensionTypes[17]
+ E_RepeatedInt32Extension.Type = extensionTypes[18]
+ E_RepeatedInt64Extension.Type = extensionTypes[19]
+ E_RepeatedUint32Extension.Type = extensionTypes[20]
+ E_RepeatedUint64Extension.Type = extensionTypes[21]
+ E_RepeatedSint32Extension.Type = extensionTypes[22]
+ E_RepeatedSint64Extension.Type = extensionTypes[23]
+ E_RepeatedFixed32Extension.Type = extensionTypes[24]
+ E_RepeatedFixed64Extension.Type = extensionTypes[25]
+ E_RepeatedSfixed32Extension.Type = extensionTypes[26]
+ E_RepeatedSfixed64Extension.Type = extensionTypes[27]
+ E_RepeatedFloatExtension.Type = extensionTypes[28]
+ E_RepeatedDoubleExtension.Type = extensionTypes[29]
+ E_RepeatedBoolExtension.Type = extensionTypes[30]
+ E_RepeatedStringExtension.Type = extensionTypes[31]
+ E_RepeatedBytesExtension.Type = extensionTypes[32]
+ E_RepeatedgroupExtension.Type = extensionTypes[33]
+ E_RepeatedNestedMessageExtension.Type = extensionTypes[34]
+ E_RepeatedNestedEnumExtension.Type = extensionTypes[35]
+ xxx_Test_protoFile_goTypes = nil
+ xxx_Test_protoFile_depIdxs = nil
}