From c74d37bcd60078e4607de57f00360f83ce1b7d37 Mon Sep 17 00:00:00 2001 From: Jan Pfeifer Date: Thu, 3 Oct 2024 08:58:12 +0200 Subject: [PATCH] Added IsInfinite and PopulationCount operations. --- c/gomlx/xlabuilder/gen_op_types.h | 2 + c/gomlx/xlabuilder/xlabuilder.cpp | 6 + cmd/protoc_xla_protos/main.go | 2 +- cmd/xlabuilder_codegen/go_ops.go | 9 +- docs/CHANGELOG.md | 4 + protos/autotuning/autotuning.pb.go | 397 ++-- protos/dnn/dnn.pb.go | 461 +++-- protos/xla/xla.pb.go | 2771 +++++++++++++++------------- xlabuilder/gen_op_types.go | 2 + xlabuilder/gen_simple_ops.go | 26 + xlabuilder/gen_simple_ops_test.go | 7 + xlabuilder/op_types.txt | 10 +- xlabuilder/optype_string.go | 6 +- 13 files changed, 1987 insertions(+), 1716 deletions(-) diff --git a/c/gomlx/xlabuilder/gen_op_types.h b/c/gomlx/xlabuilder/gen_op_types.h index 1b7e0e3..cec1859 100644 --- a/c/gomlx/xlabuilder/gen_op_types.h +++ b/c/gomlx/xlabuilder/gen_op_types.h @@ -90,6 +90,8 @@ enum OpType { DynamicSliceOp, DynamicUpdateSliceOp, ErfOp, + IsFiniteOp, + PopulationCountOp, }; #ifdef __cplusplus diff --git a/c/gomlx/xlabuilder/xlabuilder.cpp b/c/gomlx/xlabuilder/xlabuilder.cpp index b4a796e..6d5b771 100644 --- a/c/gomlx/xlabuilder/xlabuilder.cpp +++ b/c/gomlx/xlabuilder/xlabuilder.cpp @@ -532,6 +532,12 @@ XlaStatus *XlaBuilderAddOp(XlaBuilder *builder, SerializedOp *serialized_op) { case ErfOp: op = xla::Erf(*inputs[0]); break; + case IsFiniteOp: + op = xla::IsFinite(*inputs[0]); + break; + case PopulationCountOp: + op = xla::PopulationCount(*inputs[0]); + break; // Two-arguments ops case AddOp: diff --git a/cmd/protoc_xla_protos/main.go b/cmd/protoc_xla_protos/main.go index 5fb06c8..41fb942 100644 --- a/cmd/protoc_xla_protos/main.go +++ b/cmd/protoc_xla_protos/main.go @@ -25,7 +25,7 @@ const ( ) var protos = []string{ - "third_party/tsl/tsl/protobuf/dnn.proto", + "xla/tsl/protobuf/dnn.proto", "xla/autotune_results.proto", "xla/autotuning.proto", "xla/pjrt/compile_options.proto", diff --git a/cmd/xlabuilder_codegen/go_ops.go b/cmd/xlabuilder_codegen/go_ops.go index 215c058..8169602 100644 --- a/cmd/xlabuilder_codegen/go_ops.go +++ b/cmd/xlabuilder_codegen/go_ops.go @@ -111,9 +111,16 @@ func TestSimpleOps(t *testing.T) { result, err = And(result, same) require.NoError(t, err, "Failed to build And operation") + result, err = IsFinite(x) + require.NoError(t, err, "Failed to build IsFinite operation") + require.Equal(t, dtypes.Bool, result.Shape.DType, "IsFinite should return booleans") + require.NoError(t, err, "Failed to build And operation") i, err = Clz(i) require.NoError(t, err, "Failed to build Clz operation") + + i, err = PopulationCount(i) + require.NoError(t, err, "Failed to build PopulationCount operation") same, err = Equal(i, i) require.NoError(t, err, "Failed to build Equal operation") @@ -149,7 +156,7 @@ func GenerateSimpleGoOps(opsInfo []OpInfo) { fmt.Printf("Generated %q based on %q\n", fileName, OpTypesFileName) // For testing we skip some that require special types. - skip := []string{"LogicalNot", "And", "Or", "Xor", "Dot", "Clz", "Real", "Imag", "Conj", "Complex"} + skip := []string{"LogicalNot", "And", "Or", "Xor", "Dot", "Clz", "Real", "Imag", "Conj", "Complex", "IsFinite", "PopulationCount"} filteredOps := slices.DeleteFunc(opsInfo, func(info OpInfo) bool { return slices.Index(skip, info.Name) != -1 }) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 8c98474..f40bb49 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,3 +1,7 @@ +# v0.4.2 - 2024-10-03 + +* Added `IsFinite` and `PopulationCount` operations. + # v0.4.1 - 2024-09-28 * Added memory layout information in buffer-to-host transfers: required for TPU. diff --git a/protos/autotuning/autotuning.pb.go b/protos/autotuning/autotuning.pb.go index 5ab1a64..004bef9 100644 --- a/protos/autotuning/autotuning.pb.go +++ b/protos/autotuning/autotuning.pb.go @@ -216,6 +216,7 @@ type AutotuneResult struct { // *AutotuneResult_Gemm // *AutotuneResult_Triton // *AutotuneResult_CudaConvPlan + // *AutotuneResult_CustomKernelFusion // *AutotuneResult_Algorithm Key isAutotuneResult_Key `protobuf_oneof:"key"` } @@ -308,6 +309,13 @@ func (x *AutotuneResult) GetCudaConvPlan() *AutotuneResult_CudaConvPlanKey { return nil } +func (x *AutotuneResult) GetCustomKernelFusion() *AutotuneResult_CustomKernelFusionKey { + if x, ok := x.GetKey().(*AutotuneResult_CustomKernelFusion); ok { + return x.CustomKernelFusion + } + return nil +} + func (x *AutotuneResult) GetAlgorithm() *dnn.AlgorithmProto { if x, ok := x.GetKey().(*AutotuneResult_Algorithm); ok { return x.Algorithm @@ -335,6 +343,10 @@ type AutotuneResult_CudaConvPlan struct { CudaConvPlan *AutotuneResult_CudaConvPlanKey `protobuf:"bytes,15,opt,name=cuda_conv_plan,json=cudaConvPlan,proto3,oneof"` } +type AutotuneResult_CustomKernelFusion struct { + CustomKernelFusion *AutotuneResult_CustomKernelFusionKey `protobuf:"bytes,18,opt,name=custom_kernel_fusion,json=customKernelFusion,proto3,oneof"` +} + type AutotuneResult_Algorithm struct { Algorithm *dnn.AlgorithmProto `protobuf:"bytes,16,opt,name=algorithm,proto3,oneof"` } @@ -347,6 +359,8 @@ func (*AutotuneResult_Triton) isAutotuneResult_Key() {} func (*AutotuneResult_CudaConvPlan) isAutotuneResult_Key() {} +func (*AutotuneResult_CustomKernelFusion) isAutotuneResult_Key() {} + func (*AutotuneResult_Algorithm) isAutotuneResult_Key() {} type AutotuningLog struct { @@ -842,6 +856,53 @@ func (x *AutotuneResult_TritonGemmKey) GetNumCtas() int64 { return 0 } +type AutotuneResult_CustomKernelFusionKey struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + KernelIndex int64 `protobuf:"varint,1,opt,name=kernel_index,json=kernelIndex,proto3" json:"kernel_index,omitempty"` +} + +func (x *AutotuneResult_CustomKernelFusionKey) Reset() { + *x = AutotuneResult_CustomKernelFusionKey{} + if protoimpl.UnsafeEnabled { + mi := &file_xla_autotuning_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AutotuneResult_CustomKernelFusionKey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AutotuneResult_CustomKernelFusionKey) ProtoMessage() {} + +func (x *AutotuneResult_CustomKernelFusionKey) ProtoReflect() protoreflect.Message { + mi := &file_xla_autotuning_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AutotuneResult_CustomKernelFusionKey.ProtoReflect.Descriptor instead. +func (*AutotuneResult_CustomKernelFusionKey) Descriptor() ([]byte, []int) { + return file_xla_autotuning_proto_rawDescGZIP(), []int{2, 5} +} + +func (x *AutotuneResult_CustomKernelFusionKey) GetKernelIndex() int64 { + if x != nil { + return x.KernelIndex + } + return 0 +} + var File_xla_autotuning_proto protoreflect.FileDescriptor var file_xla_autotuning_proto_rawDesc = []byte{ @@ -850,131 +911,140 @@ var file_xla_autotuning_proto_rawDesc = []byte{ 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x74, 0x73, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x6e, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, - 0x0a, 0x0c, 0x43, 0x75, 0x64, 0x6e, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, - 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, - 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, - 0x22, 0x3f, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x43, 0x61, 0x70, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, - 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, - 0x72, 0x22, 0x87, 0x0b, 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x63, 0x72, - 0x61, 0x74, 0x63, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x75, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x3b, 0x0a, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x31, 0x0a, 0x04, - 0x63, 0x6f, 0x6e, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x6c, 0x61, - 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, - 0x43, 0x6f, 0x6e, 0x76, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x76, 0x12, - 0x31, 0x0a, 0x04, 0x67, 0x65, 0x6d, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x78, 0x6c, 0x61, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x2e, 0x47, 0x65, 0x6d, 0x6d, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x04, 0x67, 0x65, - 0x6d, 0x6d, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, - 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x54, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x47, 0x65, - 0x6d, 0x6d, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x06, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x12, - 0x4b, 0x0a, 0x0e, 0x63, 0x75, 0x64, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x5f, 0x70, 0x6c, 0x61, - 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x41, 0x75, - 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x75, 0x64, - 0x61, 0x43, 0x6f, 0x6e, 0x76, 0x50, 0x6c, 0x61, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0c, - 0x63, 0x75, 0x64, 0x61, 0x43, 0x6f, 0x6e, 0x76, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x43, 0x0a, 0x09, - 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, - 0x72, 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, - 0x6d, 0x1a, 0xc8, 0x03, 0x0a, 0x0d, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1f, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4b, 0x69, - 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x44, 0x0a, 0x0e, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, - 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x4b, 0x65, 0x79, 0x48, - 0x00, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x76, - 0x12, 0x44, 0x0a, 0x0e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x65, - 0x6d, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x41, - 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x47, 0x65, - 0x6d, 0x6d, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x47, 0x65, 0x6d, 0x6d, 0x12, 0x5e, 0x0a, 0x18, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x75, 0x64, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x5f, 0x70, 0x6c, - 0x61, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x41, - 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x75, - 0x64, 0x61, 0x43, 0x6f, 0x6e, 0x76, 0x50, 0x6c, 0x61, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, - 0x15, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x75, 0x64, 0x61, 0x43, 0x6f, - 0x6e, 0x76, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x56, 0x0a, 0x13, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, - 0x74, 0x68, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x12, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x25, - 0x0a, 0x0e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x55, 0x0a, 0x07, - 0x43, 0x6f, 0x6e, 0x76, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, - 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, - 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x5f, - 0x6f, 0x70, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x10, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x1a, 0x27, 0x0a, 0x07, 0x47, 0x65, 0x6d, 0x6d, 0x4b, 0x65, 0x79, 0x12, 0x1c, - 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x1a, 0x33, 0x0a, 0x0f, - 0x43, 0x75, 0x64, 0x61, 0x43, 0x6f, 0x6e, 0x76, 0x50, 0x6c, 0x61, 0x6e, 0x4b, 0x65, 0x79, 0x12, - 0x20, 0x0a, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x50, 0x6c, 0x61, 0x6e, 0x49, - 0x64, 0x1a, 0xca, 0x01, 0x0a, 0x0d, 0x54, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x47, 0x65, 0x6d, 0x6d, - 0x4b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x12, 0x17, 0x0a, 0x07, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6b, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4b, 0x12, 0x17, - 0x0a, 0x07, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x06, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x4b, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x75, 0x6d, 0x5f, 0x73, - 0x74, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x75, 0x6d, - 0x53, 0x74, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x77, 0x61, - 0x72, 0x70, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x57, 0x61, - 0x72, 0x70, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x74, 0x61, 0x73, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x43, 0x74, 0x61, 0x73, 0x22, 0x54, - 0x0a, 0x0b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0b, 0x0a, - 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, - 0x44, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x01, - 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x52, 0x4f, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, - 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x53, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x03, 0x42, 0x05, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xfb, 0x02, 0x0a, 0x0d, - 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x67, 0x12, 0x2a, 0x0a, - 0x05, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, - 0x6e, 0x79, 0x52, 0x05, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x12, 0x2d, 0x0a, 0x07, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x6c, 0x61, - 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, - 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x0d, 0x63, 0x75, 0x64, 0x6e, - 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x43, 0x75, 0x64, 0x6e, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x75, 0x64, 0x6e, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x45, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, - 0x6c, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x43, 0x61, 0x70, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x11, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x70, 0x63, 0x69, 0x5f, 0x62, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x63, 0x69, 0x42, 0x75, 0x73, - 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x61, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x6c, 0x61, 0x73, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x75, 0x73, 0x69, - 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x75, - 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x78, 0x6c, 0x61, 0x2f, 0x74, 0x73, 0x6c, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x6e, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x0c, 0x43, 0x75, 0x64, 0x6e, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, + 0x61, 0x74, 0x63, 0x68, 0x22, 0x3f, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x43, + 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x22, 0xa2, 0x0c, 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, + 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x63, 0x72, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0c, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x34, 0x0a, + 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, + 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, + 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, + 0x12, 0x31, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x04, 0x63, + 0x6f, 0x6e, 0x76, 0x12, 0x31, 0x0a, 0x04, 0x67, 0x65, 0x6d, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x47, 0x65, 0x6d, 0x6d, 0x4b, 0x65, 0x79, 0x48, 0x00, + 0x52, 0x04, 0x67, 0x65, 0x6d, 0x6d, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x41, 0x75, 0x74, + 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x54, 0x72, 0x69, 0x74, + 0x6f, 0x6e, 0x47, 0x65, 0x6d, 0x6d, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x06, 0x74, 0x72, 0x69, + 0x74, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x0e, 0x63, 0x75, 0x64, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x76, + 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x6c, + 0x61, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x43, 0x75, 0x64, 0x61, 0x43, 0x6f, 0x6e, 0x76, 0x50, 0x6c, 0x61, 0x6e, 0x4b, 0x65, 0x79, + 0x48, 0x00, 0x52, 0x0c, 0x63, 0x75, 0x64, 0x61, 0x43, 0x6f, 0x6e, 0x76, 0x50, 0x6c, 0x61, 0x6e, + 0x12, 0x5d, 0x0a, 0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, + 0x6c, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, + 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x12, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x43, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x1a, 0xc8, 0x03, 0x0a, 0x0d, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, + 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, + 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x44, 0x0a, + 0x0e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x41, 0x75, 0x74, 0x6f, + 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x4b, + 0x65, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x76, 0x12, 0x44, 0x0a, 0x0e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x6c, + 0x61, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x47, 0x65, 0x6d, 0x6d, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x47, 0x65, 0x6d, 0x6d, 0x12, 0x5e, 0x0a, 0x18, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x75, 0x64, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x76, + 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x6c, + 0x61, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x43, 0x75, 0x64, 0x61, 0x43, 0x6f, 0x6e, 0x76, 0x50, 0x6c, 0x61, 0x6e, 0x4b, 0x65, 0x79, + 0x48, 0x00, 0x52, 0x15, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x75, 0x64, + 0x61, 0x43, 0x6f, 0x6e, 0x76, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x56, 0x0a, 0x13, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x41, 0x6c, 0x67, + 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x12, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x1a, + 0x55, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x76, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x4f, 0x70, 0x73, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x27, 0x0a, 0x07, 0x47, 0x65, 0x6d, 0x6d, 0x4b, 0x65, + 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x1a, + 0x33, 0x0a, 0x0f, 0x43, 0x75, 0x64, 0x61, 0x43, 0x6f, 0x6e, 0x76, 0x50, 0x6c, 0x61, 0x6e, 0x4b, + 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x50, 0x6c, + 0x61, 0x6e, 0x49, 0x64, 0x1a, 0xca, 0x01, 0x0a, 0x0d, 0x54, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x47, + 0x65, 0x6d, 0x6d, 0x4b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x12, + 0x17, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x4b, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x6b, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x06, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x4b, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x75, + 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, + 0x5f, 0x77, 0x61, 0x72, 0x70, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6e, 0x75, + 0x6d, 0x57, 0x61, 0x72, 0x70, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x74, + 0x61, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x43, 0x74, 0x61, + 0x73, 0x1a, 0x3a, 0x0a, 0x15, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4b, 0x65, 0x72, 0x6e, 0x65, + 0x6c, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6b, 0x65, + 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0b, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x54, 0x0a, + 0x0b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0b, 0x0a, 0x07, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x44, + 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x01, 0x12, + 0x10, 0x0a, 0x0c, 0x57, 0x52, 0x4f, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x10, + 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x53, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x03, 0x42, 0x05, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xfb, 0x02, 0x0a, 0x0d, 0x41, + 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x67, 0x12, 0x2a, 0x0a, 0x05, + 0x69, 0x6e, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, + 0x79, 0x52, 0x05, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x12, 0x2d, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x6c, 0x61, 0x2e, + 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x0d, 0x63, 0x75, 0x64, 0x6e, 0x6e, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x43, 0x75, 0x64, 0x6e, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x0c, 0x63, 0x75, 0x64, 0x6e, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x45, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x6c, + 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x43, 0x61, 0x70, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x11, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x70, 0x63, 0x69, 0x5f, 0x62, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x63, 0x69, 0x42, 0x75, 0x73, 0x49, + 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x61, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x6c, 0x61, 0x73, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x75, 0x73, 0x69, 0x6f, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x75, 0x73, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -990,44 +1060,46 @@ func file_xla_autotuning_proto_rawDescGZIP() []byte { } var file_xla_autotuning_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_xla_autotuning_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_xla_autotuning_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_xla_autotuning_proto_goTypes = []any{ - (AutotuneResult_FailureKind)(0), // 0: xla.AutotuneResult.FailureKind - (*CudnnVersion)(nil), // 1: xla.CudnnVersion - (*ComputeCapability)(nil), // 2: xla.ComputeCapability - (*AutotuneResult)(nil), // 3: xla.AutotuneResult - (*AutotuningLog)(nil), // 4: xla.AutotuningLog - (*AutotuneResult_FailureResult)(nil), // 5: xla.AutotuneResult.FailureResult - (*AutotuneResult_ConvKey)(nil), // 6: xla.AutotuneResult.ConvKey - (*AutotuneResult_GemmKey)(nil), // 7: xla.AutotuneResult.GemmKey - (*AutotuneResult_CudaConvPlanKey)(nil), // 8: xla.AutotuneResult.CudaConvPlanKey - (*AutotuneResult_TritonGemmKey)(nil), // 9: xla.AutotuneResult.TritonGemmKey - (*durationpb.Duration)(nil), // 10: google.protobuf.Duration - (*dnn.AlgorithmProto)(nil), // 11: stream_executor.dnn.AlgorithmProto - (*anypb.Any)(nil), // 12: google.protobuf.Any + (AutotuneResult_FailureKind)(0), // 0: xla.AutotuneResult.FailureKind + (*CudnnVersion)(nil), // 1: xla.CudnnVersion + (*ComputeCapability)(nil), // 2: xla.ComputeCapability + (*AutotuneResult)(nil), // 3: xla.AutotuneResult + (*AutotuningLog)(nil), // 4: xla.AutotuningLog + (*AutotuneResult_FailureResult)(nil), // 5: xla.AutotuneResult.FailureResult + (*AutotuneResult_ConvKey)(nil), // 6: xla.AutotuneResult.ConvKey + (*AutotuneResult_GemmKey)(nil), // 7: xla.AutotuneResult.GemmKey + (*AutotuneResult_CudaConvPlanKey)(nil), // 8: xla.AutotuneResult.CudaConvPlanKey + (*AutotuneResult_TritonGemmKey)(nil), // 9: xla.AutotuneResult.TritonGemmKey + (*AutotuneResult_CustomKernelFusionKey)(nil), // 10: xla.AutotuneResult.CustomKernelFusionKey + (*durationpb.Duration)(nil), // 11: google.protobuf.Duration + (*dnn.AlgorithmProto)(nil), // 12: stream_executor.dnn.AlgorithmProto + (*anypb.Any)(nil), // 13: google.protobuf.Any } var file_xla_autotuning_proto_depIdxs = []int32{ - 10, // 0: xla.AutotuneResult.run_time:type_name -> google.protobuf.Duration + 11, // 0: xla.AutotuneResult.run_time:type_name -> google.protobuf.Duration 5, // 1: xla.AutotuneResult.failure:type_name -> xla.AutotuneResult.FailureResult 6, // 2: xla.AutotuneResult.conv:type_name -> xla.AutotuneResult.ConvKey 7, // 3: xla.AutotuneResult.gemm:type_name -> xla.AutotuneResult.GemmKey 9, // 4: xla.AutotuneResult.triton:type_name -> xla.AutotuneResult.TritonGemmKey 8, // 5: xla.AutotuneResult.cuda_conv_plan:type_name -> xla.AutotuneResult.CudaConvPlanKey - 11, // 6: xla.AutotuneResult.algorithm:type_name -> stream_executor.dnn.AlgorithmProto - 12, // 7: xla.AutotuningLog.instr:type_name -> google.protobuf.Any - 3, // 8: xla.AutotuningLog.results:type_name -> xla.AutotuneResult - 1, // 9: xla.AutotuningLog.cudnn_version:type_name -> xla.CudnnVersion - 2, // 10: xla.AutotuningLog.compute_capability:type_name -> xla.ComputeCapability - 0, // 11: xla.AutotuneResult.FailureResult.kind:type_name -> xla.AutotuneResult.FailureKind - 6, // 12: xla.AutotuneResult.FailureResult.reference_conv:type_name -> xla.AutotuneResult.ConvKey - 7, // 13: xla.AutotuneResult.FailureResult.reference_gemm:type_name -> xla.AutotuneResult.GemmKey - 8, // 14: xla.AutotuneResult.FailureResult.reference_cuda_conv_plan:type_name -> xla.AutotuneResult.CudaConvPlanKey - 11, // 15: xla.AutotuneResult.FailureResult.reference_algorithm:type_name -> stream_executor.dnn.AlgorithmProto - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 10, // 6: xla.AutotuneResult.custom_kernel_fusion:type_name -> xla.AutotuneResult.CustomKernelFusionKey + 12, // 7: xla.AutotuneResult.algorithm:type_name -> stream_executor.dnn.AlgorithmProto + 13, // 8: xla.AutotuningLog.instr:type_name -> google.protobuf.Any + 3, // 9: xla.AutotuningLog.results:type_name -> xla.AutotuneResult + 1, // 10: xla.AutotuningLog.cudnn_version:type_name -> xla.CudnnVersion + 2, // 11: xla.AutotuningLog.compute_capability:type_name -> xla.ComputeCapability + 0, // 12: xla.AutotuneResult.FailureResult.kind:type_name -> xla.AutotuneResult.FailureKind + 6, // 13: xla.AutotuneResult.FailureResult.reference_conv:type_name -> xla.AutotuneResult.ConvKey + 7, // 14: xla.AutotuneResult.FailureResult.reference_gemm:type_name -> xla.AutotuneResult.GemmKey + 8, // 15: xla.AutotuneResult.FailureResult.reference_cuda_conv_plan:type_name -> xla.AutotuneResult.CudaConvPlanKey + 12, // 16: xla.AutotuneResult.FailureResult.reference_algorithm:type_name -> stream_executor.dnn.AlgorithmProto + 17, // [17:17] is the sub-list for method output_type + 17, // [17:17] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_xla_autotuning_proto_init() } @@ -1144,12 +1216,25 @@ func file_xla_autotuning_proto_init() { return nil } } + file_xla_autotuning_proto_msgTypes[9].Exporter = func(v any, i int) any { + switch v := v.(*AutotuneResult_CustomKernelFusionKey); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_xla_autotuning_proto_msgTypes[2].OneofWrappers = []any{ (*AutotuneResult_Conv)(nil), (*AutotuneResult_Gemm)(nil), (*AutotuneResult_Triton)(nil), (*AutotuneResult_CudaConvPlan)(nil), + (*AutotuneResult_CustomKernelFusion)(nil), (*AutotuneResult_Algorithm)(nil), } file_xla_autotuning_proto_msgTypes[4].OneofWrappers = []any{ @@ -1164,7 +1249,7 @@ func file_xla_autotuning_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_xla_autotuning_proto_rawDesc, NumEnums: 1, - NumMessages: 9, + NumMessages: 10, NumExtensions: 0, NumServices: 0, }, diff --git a/protos/dnn/dnn.pb.go b/protos/dnn/dnn.pb.go index 347c715..1239139 100644 --- a/protos/dnn/dnn.pb.go +++ b/protos/dnn/dnn.pb.go @@ -4,7 +4,7 @@ // versions: // protoc-gen-go v1.34.2 // protoc v5.27.2 -// source: third_party/tsl/tsl/protobuf/dnn.proto +// source: xla/tsl/protobuf/dnn.proto package dnn @@ -87,11 +87,11 @@ func (x DataType) String() string { } func (DataType) Descriptor() protoreflect.EnumDescriptor { - return file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[0].Descriptor() + return file_xla_tsl_protobuf_dnn_proto_enumTypes[0].Descriptor() } func (DataType) Type() protoreflect.EnumType { - return &file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[0] + return &file_xla_tsl_protobuf_dnn_proto_enumTypes[0] } func (x DataType) Number() protoreflect.EnumNumber { @@ -100,7 +100,7 @@ func (x DataType) Number() protoreflect.EnumNumber { // Deprecated: Use DataType.Descriptor instead. func (DataType) EnumDescriptor() ([]byte, []int) { - return file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{0} + return file_xla_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{0} } // Describes how a convolution input or output layer's data is formatted. @@ -158,11 +158,11 @@ func (x DataLayout) String() string { } func (DataLayout) Descriptor() protoreflect.EnumDescriptor { - return file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[1].Descriptor() + return file_xla_tsl_protobuf_dnn_proto_enumTypes[1].Descriptor() } func (DataLayout) Type() protoreflect.EnumType { - return &file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[1] + return &file_xla_tsl_protobuf_dnn_proto_enumTypes[1] } func (x DataLayout) Number() protoreflect.EnumNumber { @@ -171,7 +171,7 @@ func (x DataLayout) Number() protoreflect.EnumNumber { // Deprecated: Use DataLayout.Descriptor instead. func (DataLayout) EnumDescriptor() ([]byte, []int) { - return file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{1} + return file_xla_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{1} } // Describes how a convolution filter is laid out in the memory. @@ -228,11 +228,11 @@ func (x FilterLayout) String() string { } func (FilterLayout) Descriptor() protoreflect.EnumDescriptor { - return file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[2].Descriptor() + return file_xla_tsl_protobuf_dnn_proto_enumTypes[2].Descriptor() } func (FilterLayout) Type() protoreflect.EnumType { - return &file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[2] + return &file_xla_tsl_protobuf_dnn_proto_enumTypes[2] } func (x FilterLayout) Number() protoreflect.EnumNumber { @@ -241,7 +241,7 @@ func (x FilterLayout) Number() protoreflect.EnumNumber { // Deprecated: Use FilterLayout.Descriptor instead. func (FilterLayout) EnumDescriptor() ([]byte, []int) { - return file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{2} + return file_xla_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{2} } // Describes a kind of non-linearity (threshold-like mathematical function). @@ -309,11 +309,11 @@ func (x ActivationMode) String() string { } func (ActivationMode) Descriptor() protoreflect.EnumDescriptor { - return file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[3].Descriptor() + return file_xla_tsl_protobuf_dnn_proto_enumTypes[3].Descriptor() } func (ActivationMode) Type() protoreflect.EnumType { - return &file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[3] + return &file_xla_tsl_protobuf_dnn_proto_enumTypes[3] } func (x ActivationMode) Number() protoreflect.EnumNumber { @@ -322,7 +322,7 @@ func (x ActivationMode) Number() protoreflect.EnumNumber { // Deprecated: Use ActivationMode.Descriptor instead. func (ActivationMode) EnumDescriptor() ([]byte, []int) { - return file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{3} + return file_xla_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{3} } // Describe the math definition for the conv op. The popular behavior is @@ -358,11 +358,11 @@ func (x ConvolutionMode) String() string { } func (ConvolutionMode) Descriptor() protoreflect.EnumDescriptor { - return file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[4].Descriptor() + return file_xla_tsl_protobuf_dnn_proto_enumTypes[4].Descriptor() } func (ConvolutionMode) Type() protoreflect.EnumType { - return &file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[4] + return &file_xla_tsl_protobuf_dnn_proto_enumTypes[4] } func (x ConvolutionMode) Number() protoreflect.EnumNumber { @@ -371,7 +371,7 @@ func (x ConvolutionMode) Number() protoreflect.EnumNumber { // Deprecated: Use ConvolutionMode.Descriptor instead. func (ConvolutionMode) EnumDescriptor() ([]byte, []int) { - return file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{4} + return file_xla_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{4} } type ConvolutionKind int32 @@ -416,11 +416,11 @@ func (x ConvolutionKind) String() string { } func (ConvolutionKind) Descriptor() protoreflect.EnumDescriptor { - return file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[5].Descriptor() + return file_xla_tsl_protobuf_dnn_proto_enumTypes[5].Descriptor() } func (ConvolutionKind) Type() protoreflect.EnumType { - return &file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[5] + return &file_xla_tsl_protobuf_dnn_proto_enumTypes[5] } func (x ConvolutionKind) Number() protoreflect.EnumNumber { @@ -429,7 +429,7 @@ func (x ConvolutionKind) Number() protoreflect.EnumNumber { // Deprecated: Use ConvolutionKind.Descriptor instead. func (ConvolutionKind) EnumDescriptor() ([]byte, []int) { - return file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{5} + return file_xla_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{5} } // NormKind kind @@ -466,11 +466,11 @@ func (x NormKind) String() string { } func (NormKind) Descriptor() protoreflect.EnumDescriptor { - return file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[6].Descriptor() + return file_xla_tsl_protobuf_dnn_proto_enumTypes[6].Descriptor() } func (NormKind) Type() protoreflect.EnumType { - return &file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[6] + return &file_xla_tsl_protobuf_dnn_proto_enumTypes[6] } func (x NormKind) Number() protoreflect.EnumNumber { @@ -479,7 +479,7 @@ func (x NormKind) Number() protoreflect.EnumNumber { // Deprecated: Use NormKind.Descriptor instead. func (NormKind) EnumDescriptor() ([]byte, []int) { - return file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{6} + return file_xla_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{6} } // FusedMHAKind kind @@ -516,11 +516,11 @@ func (x FusedMHAKind) String() string { } func (FusedMHAKind) Descriptor() protoreflect.EnumDescriptor { - return file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[7].Descriptor() + return file_xla_tsl_protobuf_dnn_proto_enumTypes[7].Descriptor() } func (FusedMHAKind) Type() protoreflect.EnumType { - return &file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[7] + return &file_xla_tsl_protobuf_dnn_proto_enumTypes[7] } func (x FusedMHAKind) Number() protoreflect.EnumNumber { @@ -529,7 +529,7 @@ func (x FusedMHAKind) Number() protoreflect.EnumNumber { // Deprecated: Use FusedMHAKind.Descriptor instead. func (FusedMHAKind) EnumDescriptor() ([]byte, []int) { - return file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{7} + return file_xla_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{7} } // FusedMHAMaskKind kind @@ -572,11 +572,11 @@ func (x FMHAMaskKind) String() string { } func (FMHAMaskKind) Descriptor() protoreflect.EnumDescriptor { - return file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[8].Descriptor() + return file_xla_tsl_protobuf_dnn_proto_enumTypes[8].Descriptor() } func (FMHAMaskKind) Type() protoreflect.EnumType { - return &file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[8] + return &file_xla_tsl_protobuf_dnn_proto_enumTypes[8] } func (x FMHAMaskKind) Number() protoreflect.EnumNumber { @@ -585,7 +585,7 @@ func (x FMHAMaskKind) Number() protoreflect.EnumNumber { // Deprecated: Use FMHAMaskKind.Descriptor instead. func (FMHAMaskKind) EnumDescriptor() ([]byte, []int) { - return file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{8} + return file_xla_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{8} } type AlgorithmProto_MathType int32 @@ -620,11 +620,11 @@ func (x AlgorithmProto_MathType) String() string { } func (AlgorithmProto_MathType) Descriptor() protoreflect.EnumDescriptor { - return file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[9].Descriptor() + return file_xla_tsl_protobuf_dnn_proto_enumTypes[9].Descriptor() } func (AlgorithmProto_MathType) Type() protoreflect.EnumType { - return &file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes[9] + return &file_xla_tsl_protobuf_dnn_proto_enumTypes[9] } func (x AlgorithmProto_MathType) Number() protoreflect.EnumNumber { @@ -633,7 +633,7 @@ func (x AlgorithmProto_MathType) Number() protoreflect.EnumNumber { // Deprecated: Use AlgorithmProto_MathType.Descriptor instead. func (AlgorithmProto_MathType) EnumDescriptor() ([]byte, []int) { - return file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{1, 0} + return file_xla_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{1, 0} } // Generic tensor representation. @@ -654,7 +654,7 @@ type TensorDescriptorProto struct { func (x *TensorDescriptorProto) Reset() { *x = TensorDescriptorProto{} if protoimpl.UnsafeEnabled { - mi := &file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes[0] + mi := &file_xla_tsl_protobuf_dnn_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -667,7 +667,7 @@ func (x *TensorDescriptorProto) String() string { func (*TensorDescriptorProto) ProtoMessage() {} func (x *TensorDescriptorProto) ProtoReflect() protoreflect.Message { - mi := &file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes[0] + mi := &file_xla_tsl_protobuf_dnn_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -680,7 +680,7 @@ func (x *TensorDescriptorProto) ProtoReflect() protoreflect.Message { // Deprecated: Use TensorDescriptorProto.ProtoReflect.Descriptor instead. func (*TensorDescriptorProto) Descriptor() ([]byte, []int) { - return file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{0} + return file_xla_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{0} } func (x *TensorDescriptorProto) GetDimensions() []int64 { @@ -763,7 +763,7 @@ type AlgorithmProto struct { func (x *AlgorithmProto) Reset() { *x = AlgorithmProto{} if protoimpl.UnsafeEnabled { - mi := &file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes[1] + mi := &file_xla_tsl_protobuf_dnn_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -776,7 +776,7 @@ func (x *AlgorithmProto) String() string { func (*AlgorithmProto) ProtoMessage() {} func (x *AlgorithmProto) ProtoReflect() protoreflect.Message { - mi := &file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes[1] + mi := &file_xla_tsl_protobuf_dnn_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -789,7 +789,7 @@ func (x *AlgorithmProto) ProtoReflect() protoreflect.Message { // Deprecated: Use AlgorithmProto.ProtoReflect.Descriptor instead. func (*AlgorithmProto) Descriptor() ([]byte, []int) { - return file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{1} + return file_xla_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{1} } func (x *AlgorithmProto) GetAlgoId() int64 { @@ -855,7 +855,7 @@ type AlgorithmConfigProto struct { func (x *AlgorithmConfigProto) Reset() { *x = AlgorithmConfigProto{} if protoimpl.UnsafeEnabled { - mi := &file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes[2] + mi := &file_xla_tsl_protobuf_dnn_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -868,7 +868,7 @@ func (x *AlgorithmConfigProto) String() string { func (*AlgorithmConfigProto) ProtoMessage() {} func (x *AlgorithmConfigProto) ProtoReflect() protoreflect.Message { - mi := &file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes[2] + mi := &file_xla_tsl_protobuf_dnn_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -881,7 +881,7 @@ func (x *AlgorithmConfigProto) ProtoReflect() protoreflect.Message { // Deprecated: Use AlgorithmConfigProto.ProtoReflect.Descriptor instead. func (*AlgorithmConfigProto) Descriptor() ([]byte, []int) { - return file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{2} + return file_xla_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{2} } func (m *AlgorithmConfigProto) GetOptionalAlgorithm() isAlgorithmConfigProto_OptionalAlgorithm { @@ -979,7 +979,7 @@ type ConvolutionDescriptorProto struct { func (x *ConvolutionDescriptorProto) Reset() { *x = ConvolutionDescriptorProto{} if protoimpl.UnsafeEnabled { - mi := &file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes[3] + mi := &file_xla_tsl_protobuf_dnn_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -992,7 +992,7 @@ func (x *ConvolutionDescriptorProto) String() string { func (*ConvolutionDescriptorProto) ProtoMessage() {} func (x *ConvolutionDescriptorProto) ProtoReflect() protoreflect.Message { - mi := &file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes[3] + mi := &file_xla_tsl_protobuf_dnn_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1005,7 +1005,7 @@ func (x *ConvolutionDescriptorProto) ProtoReflect() protoreflect.Message { // Deprecated: Use ConvolutionDescriptorProto.ProtoReflect.Descriptor instead. func (*ConvolutionDescriptorProto) Descriptor() ([]byte, []int) { - return file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{3} + return file_xla_tsl_protobuf_dnn_proto_rawDescGZIP(), []int{3} } func (x *ConvolutionDescriptorProto) GetPaddings() []int64 { @@ -1057,184 +1057,183 @@ func (x *ConvolutionDescriptorProto) GetName() string { return "" } -var File_third_party_tsl_tsl_protobuf_dnn_proto protoreflect.FileDescriptor - -var file_third_party_tsl_tsl_protobuf_dnn_proto_rawDesc = []byte{ - 0x0a, 0x26, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x79, 0x2f, 0x74, 0x73, - 0x6c, 0x2f, 0x74, 0x73, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, - 0x6e, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, 0x1a, 0x1e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, - 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x02, - 0x0a, 0x15, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a, 0x64, 0x69, 0x6d, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, - 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x79, 0x6f, - 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x61, 0x74, - 0x61, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x5f, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, - 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, - 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x79, 0x6f, 0x75, - 0x74, 0x48, 0x00, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x79, 0x6f, 0x75, - 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, - 0x66, 0x22, 0xb6, 0x03, 0x0a, 0x0e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x6c, 0x67, 0x6f, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6c, 0x67, 0x6f, 0x49, 0x64, 0x12, 0x49, 0x0a, - 0x09, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, - 0x6d, 0x61, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x74, 0x75, 0x6e, 0x69, - 0x6e, 0x67, 0x5f, 0x6b, 0x6e, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, +var File_xla_tsl_protobuf_dnn_proto protoreflect.FileDescriptor + +var file_xla_tsl_protobuf_dnn_proto_rawDesc = []byte{ + 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x2f, 0x74, 0x73, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x64, 0x6e, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, + 0x6e, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x91, 0x02, 0x0a, 0x15, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x44, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x64, + 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, + 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, - 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4b, 0x6e, 0x6f, 0x62, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4b, 0x6e, 0x6f, 0x62, - 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x75, 0x64, 0x6e, 0x6e, 0x5f, 0x66, 0x72, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, - 0x43, 0x75, 0x64, 0x6e, 0x6e, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x43, 0x0a, - 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x1a, 0x3e, 0x0a, 0x10, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4b, 0x6e, 0x6f, 0x62, - 0x73, 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, 0x22, 0x30, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, - 0x0a, 0x0c, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x48, 0x10, 0x00, - 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x45, 0x4e, 0x53, 0x4f, 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x4d, 0x41, - 0x54, 0x48, 0x10, 0x01, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0xa9, 0x02, 0x0a, 0x14, 0x41, - 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x43, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x41, 0x6c, 0x67, - 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x61, - 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x57, 0x0a, 0x14, 0x61, 0x6c, 0x67, 0x6f, - 0x72, 0x69, 0x74, 0x68, 0x6d, 0x5f, 0x6e, 0x6f, 0x5f, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x41, 0x6c, 0x67, - 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x01, 0x52, 0x12, 0x61, - 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x6f, 0x53, 0x63, 0x72, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0b, 0x73, 0x63, 0x72, 0x61, 0x74, - 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x1f, 0x0a, 0x1d, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, - 0x68, 0x6d, 0x5f, 0x6e, 0x6f, 0x5f, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x42, 0x17, 0x0a, - 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0xb8, 0x02, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x76, 0x6f, - 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, - 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x03, 0x52, 0x07, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, - 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, - 0x64, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1d, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, - 0x72, 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x10, - 0x63, 0x6f, 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, - 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x63, 0x6f, - 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x2a, 0xc1, 0x01, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, - 0x0a, 0x06, 0x6b, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x6b, 0x44, - 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x6b, 0x48, 0x61, 0x6c, 0x66, - 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x6b, 0x49, 0x6e, 0x74, 0x38, 0x10, 0x03, 0x12, 0x0a, 0x0a, - 0x06, 0x6b, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, - 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x10, 0x06, - 0x12, 0x09, 0x0a, 0x05, 0x6b, 0x42, 0x46, 0x31, 0x36, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x6b, - 0x46, 0x38, 0x45, 0x35, 0x4d, 0x32, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x6b, 0x46, 0x38, 0x45, - 0x34, 0x4d, 0x33, 0x46, 0x4e, 0x10, 0x09, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x46, 0x38, 0x45, 0x35, - 0x4d, 0x32, 0x46, 0x4e, 0x55, 0x5a, 0x10, 0x0a, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x46, 0x38, 0x45, - 0x34, 0x4d, 0x33, 0x46, 0x4e, 0x55, 0x5a, 0x10, 0x0b, 0x12, 0x0a, 0x0a, 0x06, 0x6b, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x10, 0x0c, 0x2a, 0x81, 0x01, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, - 0x79, 0x6f, 0x75, 0x74, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x59, 0x58, 0x44, 0x65, 0x70, 0x74, 0x68, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x59, 0x58, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x44, 0x65, 0x70, 0x74, 0x68, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x59, 0x58, 0x44, 0x65, 0x70, 0x74, 0x68, 0x10, 0x02, 0x12, 0x11, 0x0a, - 0x0d, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x70, 0x74, 0x68, 0x59, 0x58, 0x10, 0x03, - 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x70, 0x74, 0x68, 0x59, - 0x58, 0x34, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, - 0x70, 0x74, 0x68, 0x59, 0x58, 0x33, 0x32, 0x10, 0x05, 0x2a, 0xae, 0x01, 0x0a, 0x0c, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x4f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x59, 0x58, 0x10, 0x00, 0x12, 0x12, - 0x0a, 0x0e, 0x6b, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x59, 0x58, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x70, - 0x75, 0x74, 0x59, 0x58, 0x34, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x4f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x59, 0x58, 0x33, 0x32, 0x10, 0x05, 0x12, 0x23, 0x0a, - 0x1f, 0x6b, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x59, 0x58, 0x33, - 0x32, 0x5f, 0x43, 0x75, 0x64, 0x6e, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, - 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x59, 0x58, 0x4f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x59, 0x58, 0x49, 0x6e, 0x70, - 0x75, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x10, 0x04, 0x2a, 0x90, 0x01, 0x0a, 0x0e, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x09, 0x0a, - 0x05, 0x6b, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x6b, 0x53, 0x69, 0x67, - 0x6d, 0x6f, 0x69, 0x64, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x6b, 0x52, 0x65, 0x6c, 0x75, 0x10, - 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x6b, 0x52, 0x65, 0x6c, 0x75, 0x36, 0x10, 0x03, 0x12, 0x0a, 0x0a, - 0x06, 0x6b, 0x52, 0x65, 0x6c, 0x75, 0x58, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x6b, 0x54, 0x61, - 0x6e, 0x68, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x73, - 0x73, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x6b, 0x45, 0x6c, 0x75, 0x10, 0x07, 0x12, 0x0e, 0x0a, - 0x0a, 0x6b, 0x4c, 0x65, 0x61, 0x6b, 0x79, 0x52, 0x65, 0x6c, 0x75, 0x10, 0x08, 0x12, 0x0e, 0x0a, - 0x0a, 0x6b, 0x47, 0x65, 0x6c, 0x75, 0x45, 0x78, 0x61, 0x63, 0x74, 0x10, 0x09, 0x2a, 0x39, 0x0a, - 0x0f, 0x43, 0x6f, 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x15, 0x0a, 0x11, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x5f, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x4c, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x4e, 0x56, 0x4f, - 0x4c, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x2a, 0x83, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, - 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0b, 0x0a, 0x07, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4f, 0x52, - 0x57, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x41, 0x43, 0x4b, 0x57, 0x41, - 0x52, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x42, - 0x41, 0x43, 0x4b, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x03, 0x12, 0x1b, - 0x0a, 0x17, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x42, 0x49, 0x41, 0x53, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x56, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x46, - 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x47, 0x52, 0x41, 0x50, 0x48, 0x10, 0x05, 0x2a, 0x43, - 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x41, - 0x59, 0x45, 0x52, 0x5f, 0x46, 0x57, 0x44, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x10, 0x00, 0x12, - 0x13, 0x0a, 0x0f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x46, 0x57, 0x44, 0x5f, 0x54, 0x52, 0x41, - 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x42, 0x57, - 0x44, 0x10, 0x02, 0x2a, 0x5a, 0x0a, 0x0c, 0x46, 0x75, 0x73, 0x65, 0x64, 0x4d, 0x48, 0x41, 0x4b, - 0x69, 0x6e, 0x64, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4d, 0x4d, 0x31, 0x5f, 0x4f, 0x55, 0x54, 0x50, - 0x55, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, - 0x42, 0x4d, 0x4d, 0x31, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x49, 0x4e, 0x50, 0x55, - 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x42, 0x4d, 0x4d, 0x31, - 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x10, 0x02, 0x2a, - 0x53, 0x0a, 0x0c, 0x46, 0x4d, 0x48, 0x41, 0x4d, 0x61, 0x73, 0x6b, 0x4b, 0x69, 0x6e, 0x64, 0x12, - 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, - 0x50, 0x41, 0x44, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x41, 0x55, - 0x53, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x41, 0x44, 0x44, 0x49, 0x4e, 0x47, - 0x5f, 0x43, 0x41, 0x55, 0x53, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x49, - 0x42, 0x49, 0x10, 0x04, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, + 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, + 0x6e, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x48, 0x00, 0x52, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x0d, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4c, + 0x61, 0x79, 0x6f, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4c, + 0x61, 0x79, 0x6f, 0x75, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, + 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x22, 0xb6, 0x03, 0x0a, 0x0e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x6c, 0x67, 0x6f, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6c, 0x67, 0x6f, 0x49, + 0x64, 0x12, 0x49, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x68, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x08, 0x6d, 0x61, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x57, 0x0a, 0x0c, + 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x6e, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4b, 0x6e, + 0x6f, 0x62, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x4b, 0x6e, 0x6f, 0x62, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x75, 0x64, 0x6e, + 0x6e, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0f, 0x69, 0x73, 0x43, 0x75, 0x64, 0x6e, 0x6e, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x64, 0x12, 0x43, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x3e, 0x0a, 0x10, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x4b, 0x6e, 0x6f, 0x62, 0x73, 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, 0x22, 0x30, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x68, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x4d, 0x41, + 0x54, 0x48, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x45, 0x4e, 0x53, 0x4f, 0x52, 0x5f, 0x4f, + 0x50, 0x5f, 0x4d, 0x41, 0x54, 0x48, 0x10, 0x01, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0xa9, + 0x02, 0x0a, 0x14, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x43, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, + 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, + 0x00, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x57, 0x0a, 0x14, + 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x5f, 0x6e, 0x6f, 0x5f, 0x73, 0x63, 0x72, + 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, + 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, + 0x01, 0x52, 0x12, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x6f, 0x53, 0x63, + 0x72, 0x61, 0x74, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0b, 0x73, + 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x6c, 0x67, + 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x5f, 0x6e, 0x6f, 0x5f, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, + 0x68, 0x42, 0x17, 0x0a, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, + 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0xb8, 0x02, 0x0a, 0x1a, 0x43, + 0x6f, 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x64, + 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x64, + 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x03, 0x52, 0x09, 0x64, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x0a, + 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x4f, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x64, 0x6e, 0x6e, + 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, + 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x2a, 0xc1, 0x01, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x6b, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x10, 0x00, 0x12, 0x0b, + 0x0a, 0x07, 0x6b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x6b, + 0x48, 0x61, 0x6c, 0x66, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x6b, 0x49, 0x6e, 0x74, 0x38, 0x10, + 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x6b, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x10, 0x04, 0x12, 0x11, 0x0a, + 0x0d, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x10, 0x05, + 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x44, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x6b, 0x42, 0x46, 0x31, 0x36, 0x10, 0x07, 0x12, + 0x0b, 0x0a, 0x07, 0x6b, 0x46, 0x38, 0x45, 0x35, 0x4d, 0x32, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, + 0x6b, 0x46, 0x38, 0x45, 0x34, 0x4d, 0x33, 0x46, 0x4e, 0x10, 0x09, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, + 0x46, 0x38, 0x45, 0x35, 0x4d, 0x32, 0x46, 0x4e, 0x55, 0x5a, 0x10, 0x0a, 0x12, 0x0f, 0x0a, 0x0b, + 0x6b, 0x46, 0x38, 0x45, 0x34, 0x4d, 0x33, 0x46, 0x4e, 0x55, 0x5a, 0x10, 0x0b, 0x12, 0x0a, 0x0a, + 0x06, 0x6b, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x10, 0x0c, 0x2a, 0x81, 0x01, 0x0a, 0x0a, 0x44, 0x61, + 0x74, 0x61, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x59, 0x58, 0x44, + 0x65, 0x70, 0x74, 0x68, 0x42, 0x61, 0x74, 0x63, 0x68, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x6b, + 0x59, 0x58, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x70, 0x74, 0x68, 0x10, 0x01, 0x12, 0x11, + 0x0a, 0x0d, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x59, 0x58, 0x44, 0x65, 0x70, 0x74, 0x68, 0x10, + 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x70, 0x74, 0x68, + 0x59, 0x58, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, + 0x70, 0x74, 0x68, 0x59, 0x58, 0x34, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x44, 0x65, 0x70, 0x74, 0x68, 0x59, 0x58, 0x33, 0x32, 0x10, 0x05, 0x2a, 0xae, 0x01, + 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x12, + 0x0a, 0x0e, 0x6b, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x59, 0x58, + 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x59, 0x58, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x59, 0x58, 0x34, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x6b, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x59, 0x58, 0x33, 0x32, 0x10, + 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x59, 0x58, 0x33, 0x32, 0x5f, 0x43, 0x75, 0x64, 0x6e, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x65, 0x64, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x59, 0x58, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x59, + 0x58, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x10, 0x04, 0x2a, 0x90, + 0x01, 0x0a, 0x0e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, + 0x65, 0x12, 0x09, 0x0a, 0x05, 0x6b, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, + 0x6b, 0x53, 0x69, 0x67, 0x6d, 0x6f, 0x69, 0x64, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x6b, 0x52, + 0x65, 0x6c, 0x75, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x6b, 0x52, 0x65, 0x6c, 0x75, 0x36, 0x10, + 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x6b, 0x52, 0x65, 0x6c, 0x75, 0x58, 0x10, 0x04, 0x12, 0x09, 0x0a, + 0x05, 0x6b, 0x54, 0x61, 0x6e, 0x68, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x6b, 0x42, 0x61, 0x6e, + 0x64, 0x50, 0x61, 0x73, 0x73, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x6b, 0x45, 0x6c, 0x75, 0x10, + 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x4c, 0x65, 0x61, 0x6b, 0x79, 0x52, 0x65, 0x6c, 0x75, 0x10, + 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x47, 0x65, 0x6c, 0x75, 0x45, 0x78, 0x61, 0x63, 0x74, 0x10, + 0x09, 0x2a, 0x39, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x5f, 0x43, 0x4f, + 0x52, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, + 0x4f, 0x4e, 0x56, 0x4f, 0x4c, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x2a, 0x83, 0x01, 0x0a, + 0x0f, 0x43, 0x6f, 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, + 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, + 0x07, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x41, + 0x43, 0x4b, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x10, 0x02, 0x12, + 0x11, 0x0a, 0x0d, 0x42, 0x41, 0x43, 0x4b, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x42, 0x49, + 0x41, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, + 0x11, 0x0a, 0x0d, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x47, 0x52, 0x41, 0x50, 0x48, + 0x10, 0x05, 0x2a, 0x43, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x13, + 0x0a, 0x0f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x46, 0x57, 0x44, 0x5f, 0x49, 0x4e, 0x46, 0x45, + 0x52, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x46, 0x57, 0x44, + 0x5f, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x41, 0x59, 0x45, + 0x52, 0x5f, 0x42, 0x57, 0x44, 0x10, 0x02, 0x2a, 0x5a, 0x0a, 0x0c, 0x46, 0x75, 0x73, 0x65, 0x64, + 0x4d, 0x48, 0x41, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4d, 0x4d, 0x31, 0x5f, + 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, + 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4d, 0x4d, 0x31, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, + 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, + 0x42, 0x4d, 0x4d, 0x31, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x41, + 0x54, 0x10, 0x02, 0x2a, 0x53, 0x0a, 0x0c, 0x46, 0x4d, 0x48, 0x41, 0x4d, 0x61, 0x73, 0x6b, 0x4b, + 0x69, 0x6e, 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x10, 0x00, + 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x41, 0x44, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, + 0x06, 0x43, 0x41, 0x55, 0x53, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x41, 0x44, + 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x41, 0x55, 0x53, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x09, 0x0a, + 0x05, 0x41, 0x4c, 0x49, 0x42, 0x49, 0x10, 0x04, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescOnce sync.Once - file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescData = file_third_party_tsl_tsl_protobuf_dnn_proto_rawDesc + file_xla_tsl_protobuf_dnn_proto_rawDescOnce sync.Once + file_xla_tsl_protobuf_dnn_proto_rawDescData = file_xla_tsl_protobuf_dnn_proto_rawDesc ) -func file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescGZIP() []byte { - file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescOnce.Do(func() { - file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescData = protoimpl.X.CompressGZIP(file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescData) +func file_xla_tsl_protobuf_dnn_proto_rawDescGZIP() []byte { + file_xla_tsl_protobuf_dnn_proto_rawDescOnce.Do(func() { + file_xla_tsl_protobuf_dnn_proto_rawDescData = protoimpl.X.CompressGZIP(file_xla_tsl_protobuf_dnn_proto_rawDescData) }) - return file_third_party_tsl_tsl_protobuf_dnn_proto_rawDescData + return file_xla_tsl_protobuf_dnn_proto_rawDescData } -var file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes = make([]protoimpl.EnumInfo, 10) -var file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes = make([]protoimpl.MessageInfo, 5) -var file_third_party_tsl_tsl_protobuf_dnn_proto_goTypes = []any{ +var file_xla_tsl_protobuf_dnn_proto_enumTypes = make([]protoimpl.EnumInfo, 10) +var file_xla_tsl_protobuf_dnn_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_xla_tsl_protobuf_dnn_proto_goTypes = []any{ (DataType)(0), // 0: stream_executor.dnn.DataType (DataLayout)(0), // 1: stream_executor.dnn.DataLayout (FilterLayout)(0), // 2: stream_executor.dnn.FilterLayout @@ -1252,7 +1251,7 @@ var file_third_party_tsl_tsl_protobuf_dnn_proto_goTypes = []any{ nil, // 14: stream_executor.dnn.AlgorithmProto.TuningKnobsEntry (*wrapperspb.UInt64Value)(nil), // 15: google.protobuf.UInt64Value } -var file_third_party_tsl_tsl_protobuf_dnn_proto_depIdxs = []int32{ +var file_xla_tsl_protobuf_dnn_proto_depIdxs = []int32{ 0, // 0: stream_executor.dnn.TensorDescriptorProto.data_type:type_name -> stream_executor.dnn.DataType 1, // 1: stream_executor.dnn.TensorDescriptorProto.data_layout:type_name -> stream_executor.dnn.DataLayout 2, // 2: stream_executor.dnn.TensorDescriptorProto.filter_layout:type_name -> stream_executor.dnn.FilterLayout @@ -1270,13 +1269,13 @@ var file_third_party_tsl_tsl_protobuf_dnn_proto_depIdxs = []int32{ 0, // [0:10] is the sub-list for field type_name } -func init() { file_third_party_tsl_tsl_protobuf_dnn_proto_init() } -func file_third_party_tsl_tsl_protobuf_dnn_proto_init() { - if File_third_party_tsl_tsl_protobuf_dnn_proto != nil { +func init() { file_xla_tsl_protobuf_dnn_proto_init() } +func file_xla_tsl_protobuf_dnn_proto_init() { + if File_xla_tsl_protobuf_dnn_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes[0].Exporter = func(v any, i int) any { + file_xla_tsl_protobuf_dnn_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*TensorDescriptorProto); i { case 0: return &v.state @@ -1288,7 +1287,7 @@ func file_third_party_tsl_tsl_protobuf_dnn_proto_init() { return nil } } - file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes[1].Exporter = func(v any, i int) any { + file_xla_tsl_protobuf_dnn_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*AlgorithmProto); i { case 0: return &v.state @@ -1300,7 +1299,7 @@ func file_third_party_tsl_tsl_protobuf_dnn_proto_init() { return nil } } - file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes[2].Exporter = func(v any, i int) any { + file_xla_tsl_protobuf_dnn_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*AlgorithmConfigProto); i { case 0: return &v.state @@ -1312,7 +1311,7 @@ func file_third_party_tsl_tsl_protobuf_dnn_proto_init() { return nil } } - file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes[3].Exporter = func(v any, i int) any { + file_xla_tsl_protobuf_dnn_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*ConvolutionDescriptorProto); i { case 0: return &v.state @@ -1325,11 +1324,11 @@ func file_third_party_tsl_tsl_protobuf_dnn_proto_init() { } } } - file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes[0].OneofWrappers = []any{ + file_xla_tsl_protobuf_dnn_proto_msgTypes[0].OneofWrappers = []any{ (*TensorDescriptorProto_DataLayout)(nil), (*TensorDescriptorProto_FilterLayout)(nil), } - file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes[2].OneofWrappers = []any{ + file_xla_tsl_protobuf_dnn_proto_msgTypes[2].OneofWrappers = []any{ (*AlgorithmConfigProto_Algorithm)(nil), (*AlgorithmConfigProto_AlgorithmNoScratch)(nil), (*AlgorithmConfigProto_ScratchSize)(nil), @@ -1338,19 +1337,19 @@ func file_third_party_tsl_tsl_protobuf_dnn_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_third_party_tsl_tsl_protobuf_dnn_proto_rawDesc, + RawDescriptor: file_xla_tsl_protobuf_dnn_proto_rawDesc, NumEnums: 10, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_third_party_tsl_tsl_protobuf_dnn_proto_goTypes, - DependencyIndexes: file_third_party_tsl_tsl_protobuf_dnn_proto_depIdxs, - EnumInfos: file_third_party_tsl_tsl_protobuf_dnn_proto_enumTypes, - MessageInfos: file_third_party_tsl_tsl_protobuf_dnn_proto_msgTypes, + GoTypes: file_xla_tsl_protobuf_dnn_proto_goTypes, + DependencyIndexes: file_xla_tsl_protobuf_dnn_proto_depIdxs, + EnumInfos: file_xla_tsl_protobuf_dnn_proto_enumTypes, + MessageInfos: file_xla_tsl_protobuf_dnn_proto_msgTypes, }.Build() - File_third_party_tsl_tsl_protobuf_dnn_proto = out.File - file_third_party_tsl_tsl_protobuf_dnn_proto_rawDesc = nil - file_third_party_tsl_tsl_protobuf_dnn_proto_goTypes = nil - file_third_party_tsl_tsl_protobuf_dnn_proto_depIdxs = nil + File_xla_tsl_protobuf_dnn_proto = out.File + file_xla_tsl_protobuf_dnn_proto_rawDesc = nil + file_xla_tsl_protobuf_dnn_proto_goTypes = nil + file_xla_tsl_protobuf_dnn_proto_depIdxs = nil } diff --git a/protos/xla/xla.pb.go b/protos/xla/xla.pb.go index 1e5d32d..79d6f00 100644 --- a/protos/xla/xla.pb.go +++ b/protos/xla/xla.pb.go @@ -346,6 +346,9 @@ const ( DebugOptions_WHILE_LOOP_UNROLLING_DOUBLE_BUFFER DebugOptions_WhileLoopUnrolling = 1 // Enables full loop unrolling using the same strategy as `DOUBLE_BUFFER`. DebugOptions_WHILE_LOOP_UNROLLING_FULL_UNROLL DebugOptions_WhileLoopUnrolling = 2 + // Enables loop unrolling when we have at least one collective within a + // while loop. + DebugOptions_WHILE_LOOP_UNROLLING_AUTO_UNROLL DebugOptions_WhileLoopUnrolling = 3 ) // Enum value maps for DebugOptions_WhileLoopUnrolling. @@ -354,11 +357,13 @@ var ( 0: "WHILE_LOOP_UNROLLING_NO_UNROLL", 1: "WHILE_LOOP_UNROLLING_DOUBLE_BUFFER", 2: "WHILE_LOOP_UNROLLING_FULL_UNROLL", + 3: "WHILE_LOOP_UNROLLING_AUTO_UNROLL", } DebugOptions_WhileLoopUnrolling_value = map[string]int32{ "WHILE_LOOP_UNROLLING_NO_UNROLL": 0, "WHILE_LOOP_UNROLLING_DOUBLE_BUFFER": 1, "WHILE_LOOP_UNROLLING_FULL_UNROLL": 2, + "WHILE_LOOP_UNROLLING_AUTO_UNROLL": 3, } ) @@ -604,6 +609,11 @@ type DebugOptions struct { XlaCpuPreferVectorWidth int32 `protobuf:"varint,308,opt,name=xla_cpu_prefer_vector_width,json=xlaCpuPreferVectorWidth,proto3" json:"xla_cpu_prefer_vector_width,omitempty"` // Specifies the behavior of per kernel autotuning cache. XlaGpuExperimentalAutotuneCacheMode DebugOptions_AutotuneCacheMode `protobuf:"varint,324,opt,name=xla_gpu_experimental_autotune_cache_mode,json=xlaGpuExperimentalAutotuneCacheMode,proto3,enum=xla.DebugOptions_AutotuneCacheMode" json:"xla_gpu_experimental_autotune_cache_mode,omitempty"` + // Experimentally disables binary libraries in GPU compiler passes. + XlaGpuExperimentalDisableBinaryLibraries bool `protobuf:"varint,329,opt,name=xla_gpu_experimental_disable_binary_libraries,json=xlaGpuExperimentalDisableBinaryLibraries,proto3" json:"xla_gpu_experimental_disable_binary_libraries,omitempty"` + // Gates the experimental feature coupling the Triton Softmax pattern matcher + // with priority fusion. + XlaGpuExperimentalEnableTritonSoftmaxPriorityFusion bool `protobuf:"varint,325,opt,name=xla_gpu_experimental_enable_triton_softmax_priority_fusion,json=xlaGpuExperimentalEnableTritonSoftmaxPriorityFusion,proto3" json:"xla_gpu_experimental_enable_triton_softmax_priority_fusion,omitempty"` // Internal debug/testing flag to switch Triton GEMM fusions on or off. XlaGpuUnsupportedEnableTritonGemm bool `protobuf:"varint,322,opt,name=xla_gpu_unsupported_enable_triton_gemm,json=xlaGpuUnsupportedEnableTritonGemm,proto3" json:"xla_gpu_unsupported_enable_triton_gemm,omitempty"` // Show addresses of HLO ops in graph dump. @@ -904,11 +914,9 @@ type DebugOptions struct { // Creates triton fusion for all supported gemms. // To make sure only triton gemm is chosen by the autotuner run with // `xla_gpu_cublas_fallback` set to false. - XlaGpuTritonGemmAny bool `protobuf:"varint,190,opt,name=xla_gpu_triton_gemm_any,json=xlaGpuTritonGemmAny,proto3" json:"xla_gpu_triton_gemm_any,omitempty"` - XlaGpuExhaustiveTilingSearch bool `protobuf:"varint,219,opt,name=xla_gpu_exhaustive_tiling_search,json=xlaGpuExhaustiveTilingSearch,proto3" json:"xla_gpu_exhaustive_tiling_search,omitempty"` - XlaGpuEnableTritonSoftmaxFusion bool `protobuf:"varint,220,opt,name=xla_gpu_enable_triton_softmax_fusion,json=xlaGpuEnableTritonSoftmaxFusion,proto3" json:"xla_gpu_enable_triton_softmax_fusion,omitempty"` - XlaGpuEnablePriorityFusion bool `protobuf:"varint,221,opt,name=xla_gpu_enable_priority_fusion,json=xlaGpuEnablePriorityFusion,proto3" json:"xla_gpu_enable_priority_fusion,omitempty"` - XlaGpuEnableTritonSoftmaxPriorityFusion bool `protobuf:"varint,286,opt,name=xla_gpu_enable_triton_softmax_priority_fusion,json=xlaGpuEnableTritonSoftmaxPriorityFusion,proto3" json:"xla_gpu_enable_triton_softmax_priority_fusion,omitempty"` + XlaGpuTritonGemmAny bool `protobuf:"varint,190,opt,name=xla_gpu_triton_gemm_any,json=xlaGpuTritonGemmAny,proto3" json:"xla_gpu_triton_gemm_any,omitempty"` + XlaGpuExhaustiveTilingSearch bool `protobuf:"varint,219,opt,name=xla_gpu_exhaustive_tiling_search,json=xlaGpuExhaustiveTilingSearch,proto3" json:"xla_gpu_exhaustive_tiling_search,omitempty"` + XlaGpuEnablePriorityFusion bool `protobuf:"varint,221,opt,name=xla_gpu_enable_priority_fusion,json=xlaGpuEnablePriorityFusion,proto3" json:"xla_gpu_enable_priority_fusion,omitempty"` // File to write autotune results to. It will be a binary file unless the name // ends with .txt or .textproto. Warning: The results are written at every // compilation, possibly multiple times per process. This only works on CUDA. @@ -1106,6 +1114,22 @@ type DebugOptions struct { // If true, XLA will wrap `dot` operations into async computations in an // effort to parallelize matrix operations. XlaGpuAsyncDot bool `protobuf:"varint,321,opt,name=xla_gpu_async_dot,json=xlaGpuAsyncDot,proto3" json:"xla_gpu_async_dot,omitempty"` + // Enables strict PGLE checking. If an FDO profile is specified and latency + // hiding scheduler encounters missing instructions in the profile + // compilation will halt. + XlaGpuEnablePgleAccuracyChecker bool `protobuf:"varint,326,opt,name=xla_gpu_enable_pgle_accuracy_checker,json=xlaGpuEnablePgleAccuracyChecker,proto3" json:"xla_gpu_enable_pgle_accuracy_checker,omitempty"` + // Timeouts for RendezvousSingle stuck warning and termination. + XlaGpuExecutableWarnStuckTimeoutSeconds int32 `protobuf:"varint,327,opt,name=xla_gpu_executable_warn_stuck_timeout_seconds,json=xlaGpuExecutableWarnStuckTimeoutSeconds,proto3" json:"xla_gpu_executable_warn_stuck_timeout_seconds,omitempty"` + XlaGpuExecutableTerminateTimeoutSeconds int32 `protobuf:"varint,328,opt,name=xla_gpu_executable_terminate_timeout_seconds,json=xlaGpuExecutableTerminateTimeoutSeconds,proto3" json:"xla_gpu_executable_terminate_timeout_seconds,omitempty"` + // Whether to ignore channel ids(including verifier channel id checks) + // for collectives in the given HLO. + XlaExperimentalIgnoreChannelId bool `protobuf:"varint,330,opt,name=xla_experimental_ignore_channel_id,json=xlaExperimentalIgnoreChannelId,proto3" json:"xla_experimental_ignore_channel_id,omitempty"` + // DotMerger pass threshold size to be used in MB. + XlaGpuDotMergerThresholdMb int32 `protobuf:"varint,331,opt,name=xla_gpu_dot_merger_threshold_mb,json=xlaGpuDotMergerThresholdMb,proto3" json:"xla_gpu_dot_merger_threshold_mb,omitempty"` + // If enabled, in the absence of user provided knobs might tune pass + // configurations based on the HLO. For example it decides to unroll the while + // loop by a factor of two if a collective op is present. + XlaGpuEnableHeuristicPassConfiguration bool `protobuf:"varint,332,opt,name=xla_gpu_enable_heuristic_pass_configuration,json=xlaGpuEnableHeuristicPassConfiguration,proto3" json:"xla_gpu_enable_heuristic_pass_configuration,omitempty"` // Extra options to pass to the compilation backend (e.g. LLVM); specific // interpretation of these values is left to the backend. XlaBackendExtraOptions map[string]string `protobuf:"bytes,500,rep,name=xla_backend_extra_options,json=xlaBackendExtraOptions,proto3" json:"xla_backend_extra_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` @@ -1220,6 +1244,20 @@ func (x *DebugOptions) GetXlaGpuExperimentalAutotuneCacheMode() DebugOptions_Aut return DebugOptions_AUTOTUNE_CACHE_MODE_UNSPECIFIED } +func (x *DebugOptions) GetXlaGpuExperimentalDisableBinaryLibraries() bool { + if x != nil { + return x.XlaGpuExperimentalDisableBinaryLibraries + } + return false +} + +func (x *DebugOptions) GetXlaGpuExperimentalEnableTritonSoftmaxPriorityFusion() bool { + if x != nil { + return x.XlaGpuExperimentalEnableTritonSoftmaxPriorityFusion + } + return false +} + func (x *DebugOptions) GetXlaGpuUnsupportedEnableTritonGemm() bool { if x != nil { return x.XlaGpuUnsupportedEnableTritonGemm @@ -2067,13 +2105,6 @@ func (x *DebugOptions) GetXlaGpuExhaustiveTilingSearch() bool { return false } -func (x *DebugOptions) GetXlaGpuEnableTritonSoftmaxFusion() bool { - if x != nil { - return x.XlaGpuEnableTritonSoftmaxFusion - } - return false -} - func (x *DebugOptions) GetXlaGpuEnablePriorityFusion() bool { if x != nil { return x.XlaGpuEnablePriorityFusion @@ -2081,13 +2112,6 @@ func (x *DebugOptions) GetXlaGpuEnablePriorityFusion() bool { return false } -func (x *DebugOptions) GetXlaGpuEnableTritonSoftmaxPriorityFusion() bool { - if x != nil { - return x.XlaGpuEnableTritonSoftmaxPriorityFusion - } - return false -} - func (x *DebugOptions) GetXlaGpuDumpAutotuneResultsTo() string { if x != nil { return x.XlaGpuDumpAutotuneResultsTo @@ -2529,6 +2553,48 @@ func (x *DebugOptions) GetXlaGpuAsyncDot() bool { return false } +func (x *DebugOptions) GetXlaGpuEnablePgleAccuracyChecker() bool { + if x != nil { + return x.XlaGpuEnablePgleAccuracyChecker + } + return false +} + +func (x *DebugOptions) GetXlaGpuExecutableWarnStuckTimeoutSeconds() int32 { + if x != nil { + return x.XlaGpuExecutableWarnStuckTimeoutSeconds + } + return 0 +} + +func (x *DebugOptions) GetXlaGpuExecutableTerminateTimeoutSeconds() int32 { + if x != nil { + return x.XlaGpuExecutableTerminateTimeoutSeconds + } + return 0 +} + +func (x *DebugOptions) GetXlaExperimentalIgnoreChannelId() bool { + if x != nil { + return x.XlaExperimentalIgnoreChannelId + } + return false +} + +func (x *DebugOptions) GetXlaGpuDotMergerThresholdMb() int32 { + if x != nil { + return x.XlaGpuDotMergerThresholdMb + } + return 0 +} + +func (x *DebugOptions) GetXlaGpuEnableHeuristicPassConfiguration() bool { + if x != nil { + return x.XlaGpuEnableHeuristicPassConfiguration + } + return false +} + func (x *DebugOptions) GetXlaBackendExtraOptions() map[string]string { if x != nil { return x.XlaBackendExtraOptions @@ -2939,27 +3005,31 @@ func (x *ExecutionOptions) GetUseShardyPartitioner() bool { // Serialization of HloModuleConfig. See the C++ class definition for // descriptions of each field. // There are no guarantees of backwards or forwards compatibility. -// Next id: 35. +// Next id: 36. type HloModuleConfigProto struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - EntryComputationLayout *xla_data.ProgramShapeProto `protobuf:"bytes,1,opt,name=entry_computation_layout,json=entryComputationLayout,proto3" json:"entry_computation_layout,omitempty"` - Seed uint64 `protobuf:"varint,2,opt,name=seed,proto3" json:"seed,omitempty"` - LaunchId int32 `protobuf:"varint,3,opt,name=launch_id,json=launchId,proto3" json:"launch_id,omitempty"` - ReplicaCount int64 `protobuf:"varint,4,opt,name=replica_count,json=replicaCount,proto3" json:"replica_count,omitempty"` - NumPartitions int64 `protobuf:"varint,5,opt,name=num_partitions,json=numPartitions,proto3" json:"num_partitions,omitempty"` - ParamRequiresBroadcastViaCollectives []bool `protobuf:"varint,6,rep,packed,name=param_requires_broadcast_via_collectives,json=paramRequiresBroadcastViaCollectives,proto3" json:"param_requires_broadcast_via_collectives,omitempty"` - UseSpmdPartitioning bool `protobuf:"varint,7,opt,name=use_spmd_partitioning,json=useSpmdPartitioning,proto3" json:"use_spmd_partitioning,omitempty"` - UseAutoSpmdPartitioning bool `protobuf:"varint,8,opt,name=use_auto_spmd_partitioning,json=useAutoSpmdPartitioning,proto3" json:"use_auto_spmd_partitioning,omitempty"` - AutoSpmdPartitioningMeshShape []int64 `protobuf:"varint,9,rep,packed,name=auto_spmd_partitioning_mesh_shape,json=autoSpmdPartitioningMeshShape,proto3" json:"auto_spmd_partitioning_mesh_shape,omitempty"` - AutoSpmdPartitioningMeshIds []int64 `protobuf:"varint,10,rep,packed,name=auto_spmd_partitioning_mesh_ids,json=autoSpmdPartitioningMeshIds,proto3" json:"auto_spmd_partitioning_mesh_ids,omitempty"` - DeduplicateHlo bool `protobuf:"varint,11,opt,name=deduplicate_hlo,json=deduplicateHlo,proto3" json:"deduplicate_hlo,omitempty"` - IntraOpParallelismThreads int64 `protobuf:"varint,12,opt,name=intra_op_parallelism_threads,json=intraOpParallelismThreads,proto3" json:"intra_op_parallelism_threads,omitempty"` - DeviceType string `protobuf:"bytes,13,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"` - DebugOptions *DebugOptions `protobuf:"bytes,14,opt,name=debug_options,json=debugOptions,proto3" json:"debug_options,omitempty"` - StaticDeviceAssignment *xla_data.DeviceAssignmentProto `protobuf:"bytes,15,opt,name=static_device_assignment,json=staticDeviceAssignment,proto3" json:"static_device_assignment,omitempty"` + EntryComputationLayout *xla_data.ProgramShapeProto `protobuf:"bytes,1,opt,name=entry_computation_layout,json=entryComputationLayout,proto3" json:"entry_computation_layout,omitempty"` + Seed uint64 `protobuf:"varint,2,opt,name=seed,proto3" json:"seed,omitempty"` + LaunchId int32 `protobuf:"varint,3,opt,name=launch_id,json=launchId,proto3" json:"launch_id,omitempty"` + ReplicaCount int64 `protobuf:"varint,4,opt,name=replica_count,json=replicaCount,proto3" json:"replica_count,omitempty"` + NumPartitions int64 `protobuf:"varint,5,opt,name=num_partitions,json=numPartitions,proto3" json:"num_partitions,omitempty"` + ParamRequiresBroadcastViaCollectives []bool `protobuf:"varint,6,rep,packed,name=param_requires_broadcast_via_collectives,json=paramRequiresBroadcastViaCollectives,proto3" json:"param_requires_broadcast_via_collectives,omitempty"` + UseSpmdPartitioning bool `protobuf:"varint,7,opt,name=use_spmd_partitioning,json=useSpmdPartitioning,proto3" json:"use_spmd_partitioning,omitempty"` + UseAutoSpmdPartitioning bool `protobuf:"varint,8,opt,name=use_auto_spmd_partitioning,json=useAutoSpmdPartitioning,proto3" json:"use_auto_spmd_partitioning,omitempty"` + AutoSpmdPartitioningMeshShape []int64 `protobuf:"varint,9,rep,packed,name=auto_spmd_partitioning_mesh_shape,json=autoSpmdPartitioningMeshShape,proto3" json:"auto_spmd_partitioning_mesh_shape,omitempty"` + AutoSpmdPartitioningMeshIds []int64 `protobuf:"varint,10,rep,packed,name=auto_spmd_partitioning_mesh_ids,json=autoSpmdPartitioningMeshIds,proto3" json:"auto_spmd_partitioning_mesh_ids,omitempty"` + DeduplicateHlo bool `protobuf:"varint,11,opt,name=deduplicate_hlo,json=deduplicateHlo,proto3" json:"deduplicate_hlo,omitempty"` + IntraOpParallelismThreads int64 `protobuf:"varint,12,opt,name=intra_op_parallelism_threads,json=intraOpParallelismThreads,proto3" json:"intra_op_parallelism_threads,omitempty"` + DeviceType string `protobuf:"bytes,13,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"` + DebugOptions *DebugOptions `protobuf:"bytes,14,opt,name=debug_options,json=debugOptions,proto3" json:"debug_options,omitempty"` + StaticDeviceAssignment *xla_data.DeviceAssignmentProto `protobuf:"bytes,15,opt,name=static_device_assignment,json=staticDeviceAssignment,proto3" json:"static_device_assignment,omitempty"` + // The original device assignment before being changed by a simulator. + // Simulators, like HybridSim, may change the device assignment to a smaller + // topology, to make simulation easier. + PreSimulationDeviceAssignment *xla_data.DeviceAssignmentProto `protobuf:"bytes,35,opt,name=pre_simulation_device_assignment,json=preSimulationDeviceAssignment,proto3" json:"pre_simulation_device_assignment,omitempty"` AllowSeparateShardingPrograms bool `protobuf:"varint,30,opt,name=allow_separate_sharding_programs,json=allowSeparateShardingPrograms,proto3" json:"allow_separate_sharding_programs,omitempty"` ShardableValueUpdatePairs []*ShardableValueUpdatePairProto `protobuf:"bytes,16,rep,name=shardable_value_update_pairs,json=shardableValueUpdatePairs,proto3" json:"shardable_value_update_pairs,omitempty"` AliasPassthroughParams bool `protobuf:"varint,17,opt,name=alias_passthrough_params,json=aliasPassthroughParams,proto3" json:"alias_passthrough_params,omitempty"` @@ -3117,6 +3187,13 @@ func (x *HloModuleConfigProto) GetStaticDeviceAssignment() *xla_data.DeviceAssig return nil } +func (x *HloModuleConfigProto) GetPreSimulationDeviceAssignment() *xla_data.DeviceAssignmentProto { + if x != nil { + return x.PreSimulationDeviceAssignment + } + return nil +} + func (x *HloModuleConfigProto) GetAllowSeparateShardingPrograms() bool { if x != nil { return x.AllowSeparateShardingPrograms @@ -3591,1293 +3668,1338 @@ var file_xla_xla_proto_rawDesc = []byte{ 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0c, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x22, 0x8c, 0x7c, 0x0a, 0x0c, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x2e, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, - 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x63, 0x79, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x18, 0xb3, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x29, - 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, - 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x18, 0x78, 0x6c, 0x61, - 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x73, 0x74, - 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x18, 0x63, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x78, 0x6c, 0x61, - 0x43, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x73, 0x74, 0x4d, 0x61, 0x74, - 0x68, 0x12, 0x3c, 0x0a, 0x1b, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x78, - 0x18, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x73, 0x74, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x12, - 0x45, 0x0a, 0x20, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, - 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x76, 0x69, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x7e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x78, 0x6c, 0x61, 0x43, 0x70, - 0x75, 0x46, 0x61, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x68, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x44, 0x69, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x21, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, - 0x75, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x68, 0x6f, 0x6e, 0x6f, - 0x72, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x81, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x1c, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x46, 0x61, 0x73, 0x74, 0x4d, 0x61, - 0x74, 0x68, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x65, 0x6e, 0x74, 0x73, 0x22, 0xef, 0x80, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x2e, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, + 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x18, 0xb3, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x29, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, + 0x64, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x18, 0x78, 0x6c, + 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x73, + 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x18, 0x63, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x78, 0x6c, + 0x61, 0x43, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x73, 0x74, 0x4d, 0x61, + 0x74, 0x68, 0x12, 0x3c, 0x0a, 0x1b, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, + 0x78, 0x18, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x73, 0x74, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, + 0x12, 0x45, 0x0a, 0x20, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x66, 0x61, 0x73, 0x74, + 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x7e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x78, 0x6c, 0x61, 0x43, + 0x70, 0x75, 0x46, 0x61, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x68, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x44, + 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x21, 0x78, 0x6c, 0x61, 0x5f, 0x63, + 0x70, 0x75, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x68, 0x6f, 0x6e, + 0x6f, 0x72, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x81, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x1c, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x46, 0x61, 0x73, 0x74, 0x4d, + 0x61, 0x74, 0x68, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x3d, 0x0a, 0x1c, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x66, 0x61, 0x73, + 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x66, + 0x73, 0x18, 0x79, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x46, + 0x61, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x68, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x73, 0x12, 0x3d, 0x0a, 0x1c, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x66, 0x61, 0x73, 0x74, - 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x73, - 0x18, 0x79, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x46, 0x61, - 0x73, 0x74, 0x4d, 0x61, 0x74, 0x68, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x73, 0x12, - 0x3d, 0x0a, 0x1c, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, - 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6e, 0x73, 0x18, - 0x78, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x46, 0x61, 0x73, - 0x74, 0x4d, 0x61, 0x74, 0x68, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x4e, 0x61, 0x6e, 0x73, 0x12, 0x39, - 0x0a, 0x19, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x68, - 0x75, 0x6e, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xaa, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x15, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x55, 0x73, 0x65, 0x54, 0x68, 0x75, - 0x6e, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x24, 0x78, 0x6c, 0x61, - 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x63, 0x6f, - 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0xc3, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, - 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x53, - 0x70, 0x6c, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x78, 0x6c, 0x61, - 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0xb4, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x17, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x56, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x7b, 0x0a, 0x28, 0x78, 0x6c, 0x61, 0x5f, + 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6e, 0x73, + 0x18, 0x78, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x46, 0x61, + 0x73, 0x74, 0x4d, 0x61, 0x74, 0x68, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x4e, 0x61, 0x6e, 0x73, 0x12, + 0x39, 0x0a, 0x19, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x74, + 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xaa, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x15, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x55, 0x73, 0x65, 0x54, 0x68, + 0x75, 0x6e, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x24, 0x78, 0x6c, + 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0xc3, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x43, 0x70, + 0x75, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, + 0x53, 0x70, 0x6c, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x78, 0x6c, + 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0xb4, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x17, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x56, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x7b, 0x0a, 0x28, 0x78, 0x6c, 0x61, + 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xc4, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x78, + 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x52, 0x23, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x60, 0x0a, 0x2d, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, + 0x75, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x6c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0xc9, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x28, + 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x78, 0x0a, 0x3a, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, - 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, - 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xc4, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x78, 0x6c, - 0x61, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, - 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x52, 0x23, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, - 0x6e, 0x74, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x43, 0x61, 0x63, 0x68, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x52, 0x0a, 0x26, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, - 0x5f, 0x75, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x18, - 0xc2, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x55, 0x6e, - 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, - 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x47, 0x65, 0x6d, 0x6d, 0x12, 0x35, 0x0a, 0x17, 0x78, 0x6c, 0x61, - 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x78, 0x6c, 0x61, 0x48, - 0x6c, 0x6f, 0x47, 0x72, 0x61, 0x70, 0x68, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, - 0x12, 0x26, 0x0a, 0x0f, 0x78, 0x6c, 0x61, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x78, 0x6c, 0x61, 0x48, 0x6c, - 0x6f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x78, 0x6c, 0x61, 0x5f, - 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x70, 0x61, 0x73, 0x73, - 0x65, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x78, 0x6c, 0x61, 0x44, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x48, 0x6c, 0x6f, 0x50, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x3a, 0x0a, - 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, - 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x7c, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x6c, 0x6f, 0x50, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x3a, 0x0a, 0x1a, 0x78, 0x6c, 0x61, - 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x68, 0x6c, 0x6f, - 0x5f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x68, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x78, - 0x6c, 0x61, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x48, 0x6c, 0x6f, 0x50, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x78, 0x6c, 0x61, 0x5f, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1b, 0x78, - 0x6c, 0x61, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3a, 0x0a, 0x1a, 0x78, 0x6c, - 0x61, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x5f, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x5f, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, - 0x78, 0x6c, 0x61, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x49, 0x72, 0x49, 0x6e, 0x45, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x4e, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x65, 0x6c, - 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x69, 0x6d, 0x70, 0x6c, - 0x69, 0x63, 0x69, 0x74, 0x5f, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x18, 0x23, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x78, 0x6c, 0x61, 0x45, 0x6c, 0x69, 0x6d, 0x69, 0x6e, 0x61, - 0x74, 0x65, 0x48, 0x6c, 0x6f, 0x49, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x42, 0x72, 0x6f, - 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, - 0x75, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x65, - 0x69, 0x67, 0x65, 0x6e, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x43, - 0x70, 0x75, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x45, 0x69, 0x67, - 0x65, 0x6e, 0x12, 0x30, 0x0a, 0x15, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x75, - 0x64, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x3d, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x11, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x43, 0x75, 0x64, 0x61, 0x44, 0x61, 0x74, - 0x61, 0x44, 0x69, 0x72, 0x12, 0x1e, 0x0a, 0x0b, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, - 0x66, 0x74, 0x7a, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x78, 0x6c, 0x61, 0x47, 0x70, - 0x75, 0x46, 0x74, 0x7a, 0x12, 0x4d, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x6c, 0x6c, 0x76, 0x6d, - 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x73, 0x63, - 0x6f, 0x70, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x46, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x4c, 0x6c, 0x76, 0x6d, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x20, 0x78, 0x6c, 0x61, 0x5f, 0x6c, 0x6c, 0x76, 0x6d, 0x5f, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x47, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x78, - 0x6c, 0x61, 0x4c, 0x6c, 0x76, 0x6d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x61, 0x6c, - 0x69, 0x61, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x53, 0x0a, 0x27, 0x78, - 0x6c, 0x61, 0x5f, 0x6c, 0x6c, 0x76, 0x6d, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, - 0x6e, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x48, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x78, 0x6c, - 0x61, 0x4c, 0x6c, 0x76, 0x6d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x72, - 0x69, 0x61, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x48, 0x0a, 0x21, 0x78, 0x6c, 0x61, 0x5f, 0x6c, 0x6c, 0x76, 0x6d, 0x5f, 0x64, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x70, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x49, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x78, 0x6c, 0x61, - 0x4c, 0x6c, 0x76, 0x6d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x65, 0x6e, - 0x73, 0x69, 0x76, 0x65, 0x50, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x1b, 0x78, 0x6c, - 0x61, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x73, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x17, 0x78, 0x6c, 0x61, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x4f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, - 0x74, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6c, - 0x61, 0x79, 0x6f, 0x75, 0x74, 0x73, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x78, 0x6c, - 0x61, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4c, 0x61, 0x79, - 0x6f, 0x75, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x1c, 0x78, 0x6c, 0x61, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, - 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x78, 0x6c, 0x61, 0x48, - 0x6c, 0x6f, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x43, - 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x13, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, - 0x75, 0x73, 0x65, 0x5f, 0x6d, 0x6b, 0x6c, 0x5f, 0x64, 0x6e, 0x6e, 0x18, 0x61, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0f, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x55, 0x73, 0x65, 0x4d, 0x6b, 0x6c, 0x44, - 0x6e, 0x6e, 0x12, 0x3b, 0x0a, 0x1b, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, - 0x78, 0x18, 0x64, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x73, 0x74, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x12, - 0x3b, 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x63, - 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x7a, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x17, 0x78, 0x6c, 0x61, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x63, - 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x26, - 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x72, 0x61, 0x73, 0x68, 0x5f, 0x6f, 0x6e, - 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, - 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x65, 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, 0x78, 0x6c, - 0x61, 0x47, 0x70, 0x75, 0x43, 0x72, 0x61, 0x73, 0x68, 0x4f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x12, - 0x33, 0x0a, 0x16, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, - 0x75, 0x6e, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x7b, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x13, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x12, 0x4d, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x66, 0x6f, 0x72, 0x63, - 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x66, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x64, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x67, 0x70, 0x75, 0x61, 0x73, 0x6d, 0x5f, 0x6f, 0x70, - 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x67, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x20, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x47, 0x70, 0x75, 0x61, 0x73, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x14, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x73, - 0x68, 0x61, 0x70, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0xaa, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x73, 0x52, 0x11, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x53, 0x68, 0x61, 0x70, 0x65, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x73, 0x12, 0x43, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, - 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x66, 0x61, - 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x78, - 0x6c, 0x61, 0x48, 0x6c, 0x6f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, - 0x65, 0x46, 0x61, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x49, 0x0a, 0x22, 0x78, 0x6c, 0x61, - 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6f, 0x70, 0x73, 0x18, - 0x6b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x78, 0x6c, 0x61, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x53, - 0x63, 0x61, 0x6c, 0x61, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, - 0x63, 0x4f, 0x70, 0x73, 0x12, 0x5d, 0x0a, 0x18, 0x78, 0x6c, 0x61, 0x5f, 0x73, 0x74, 0x65, 0x70, - 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x6c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x78, 0x6c, - 0x61, 0x53, 0x74, 0x65, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0b, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, - 0x74, 0x6f, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, - 0x70, 0x54, 0x6f, 0x12, 0x32, 0x0a, 0x16, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, - 0x68, 0x6c, 0x6f, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x18, 0x6e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x12, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x6c, 0x6f, 0x4d, - 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x12, 0x2e, 0x0a, 0x14, 0x78, 0x6c, 0x61, 0x5f, 0x64, - 0x75, 0x6d, 0x70, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x18, - 0x6f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x6c, - 0x6f, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x12, 0x2e, 0x0a, 0x14, 0x78, 0x6c, 0x61, 0x5f, 0x64, - 0x75, 0x6d, 0x70, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x61, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, - 0x70, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x6c, - 0x6f, 0x41, 0x73, 0x54, 0x65, 0x78, 0x74, 0x12, 0x30, 0x0a, 0x15, 0x78, 0x6c, 0x61, 0x5f, 0x64, - 0x75, 0x6d, 0x70, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x18, 0x71, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, - 0x6c, 0x6f, 0x41, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2c, 0x0a, 0x13, 0x78, 0x6c, 0x61, - 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x61, 0x73, 0x5f, 0x64, 0x6f, 0x74, - 0x18, 0x72, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, - 0x6c, 0x6f, 0x41, 0x73, 0x44, 0x6f, 0x74, 0x12, 0x2c, 0x0a, 0x13, 0x78, 0x6c, 0x61, 0x5f, 0x64, - 0x75, 0x6d, 0x70, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x61, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x73, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x6c, 0x6f, - 0x41, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x2e, 0x0a, 0x14, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, - 0x70, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x74, 0x6d, 0x6c, 0x18, 0x74, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x10, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x6c, 0x6f, 0x41, - 0x73, 0x48, 0x74, 0x6d, 0x6c, 0x12, 0x42, 0x0a, 0x1d, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, - 0x70, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x95, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x78, - 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x73, 0x75, - 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x16, 0x78, 0x6c, 0x61, - 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x73, 0x18, 0x76, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x78, 0x6c, 0x61, 0x44, 0x75, - 0x6d, 0x70, 0x48, 0x6c, 0x6f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x3c, - 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x83, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x17, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x49, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x37, 0x0a, 0x18, - 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x6c, 0x6f, - 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x84, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x14, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x4d, 0x61, 0x78, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, - 0x70, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x90, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, - 0x70, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x38, 0x0a, 0x18, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x63, 0x6f, 0x6d, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x18, 0x97, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x15, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x6d, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x12, 0x38, 0x0a, 0x19, 0x78, 0x6c, 0x61, - 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x61, 0x73, 0x5f, 0x6c, 0x6f, 0x6e, - 0x67, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0xa4, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x78, - 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x6c, 0x6f, 0x41, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, - 0x65, 0x78, 0x74, 0x12, 0x34, 0x0a, 0x17, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x66, - 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x5f, 0x6e, 0x63, 0x68, 0x77, 0x18, 0x7d, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x46, 0x6f, 0x72, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x4e, 0x63, 0x68, 0x77, 0x12, 0x35, 0x0a, 0x17, 0x78, 0x6c, 0x61, - 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x5f, - 0x6e, 0x68, 0x77, 0x63, 0x18, 0x92, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x78, 0x6c, 0x61, - 0x47, 0x70, 0x75, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x4e, 0x68, 0x77, 0x63, - 0x12, 0x27, 0x0a, 0x10, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x70, 0x74, 0x78, 0x5f, - 0x66, 0x69, 0x6c, 0x65, 0x18, 0x7f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x78, 0x6c, 0x61, 0x47, - 0x70, 0x75, 0x50, 0x74, 0x78, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x78, 0x6c, 0x61, - 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x6c, 0x6c, 0x76, 0x6d, 0x69, 0x72, - 0x18, 0x9b, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x44, - 0x75, 0x6d, 0x70, 0x4c, 0x6c, 0x76, 0x6d, 0x69, 0x72, 0x12, 0x46, 0x0a, 0x20, 0x78, 0x6c, 0x61, - 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6c, 0x69, - 0x72, 0x5f, 0x70, 0x72, 0x65, 0x74, 0x74, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0xb9, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x4d, 0x6c, 0x69, 0x72, 0x50, 0x72, 0x65, 0x74, 0x74, 0x79, 0x46, 0x6f, 0x72, - 0x6d, 0x12, 0x45, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x61, 0x6c, 0x67, - 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x5f, 0x64, 0x65, 0x6e, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x78, 0x6c, 0x61, - 0x47, 0x70, 0x75, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x6e, 0x79, - 0x6c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x78, 0x6c, 0x61, 0x5f, - 0x74, 0x70, 0x75, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6e, 0x18, 0x87, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x78, 0x6c, 0x61, 0x54, 0x70, 0x75, 0x44, 0x65, 0x74, - 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x78, 0x6c, 0x61, 0x5f, 0x74, 0x70, - 0x75, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x18, 0x88, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0f, 0x78, 0x6c, 0x61, 0x54, 0x70, 0x75, 0x44, 0x65, 0x74, 0x65, 0x63, - 0x74, 0x49, 0x6e, 0x66, 0x12, 0x3f, 0x0a, 0x1c, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x78, 0x70, 0x72, 0x6f, 0x66, 0x5f, 0x74, 0x72, 0x61, - 0x63, 0x65, 0x6d, 0x65, 0x18, 0x89, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x78, 0x6c, 0x61, - 0x43, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x72, 0x6f, 0x66, 0x54, 0x72, - 0x61, 0x63, 0x65, 0x6d, 0x65, 0x12, 0x6a, 0x0a, 0x34, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, - 0x5f, 0x75, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, - 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x70, 0x74, - 0x78, 0x61, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x8a, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x2b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x55, 0x6e, 0x73, 0x61, - 0x66, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x44, 0x72, 0x69, 0x76, - 0x65, 0x72, 0x4f, 0x6e, 0x50, 0x74, 0x78, 0x61, 0x73, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, - 0x64, 0x12, 0x35, 0x0a, 0x17, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x61, 0x73, 0x6d, - 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x8d, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x13, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x41, 0x73, 0x6d, 0x45, 0x78, - 0x74, 0x72, 0x61, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x52, 0x0a, 0x26, 0x78, 0x6c, 0x61, 0x5f, - 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x68, 0x65, 0x61, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x68, 0x65, - 0x61, 0x70, 0x18, 0x8e, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x21, 0x78, 0x6c, 0x61, 0x4d, 0x75, - 0x6c, 0x74, 0x69, 0x68, 0x65, 0x61, 0x70, 0x53, 0x69, 0x7a, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, - 0x72, 0x61, 0x69, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x48, 0x65, 0x61, 0x70, 0x12, 0x31, 0x0a, 0x14, - 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x67, - 0x67, 0x69, 0x6e, 0x67, 0x18, 0xfc, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x78, 0x6c, 0x61, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, - 0x2d, 0x0a, 0x12, 0x78, 0x6c, 0x61, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x75, - 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x18, 0xfd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x78, 0x6c, - 0x61, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x75, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x51, - 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, - 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, - 0x6c, 0x6c, 0x65, 0x6c, 0x69, 0x73, 0x6d, 0x18, 0x93, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x21, - 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x69, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x69, 0x73, - 0x6d, 0x12, 0x69, 0x0a, 0x32, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x6c, 0x76, 0x6d, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, - 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, - 0x6c, 0x6c, 0x65, 0x6c, 0x69, 0x73, 0x6d, 0x18, 0x8c, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x2c, - 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x6c, 0x76, 0x6d, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x69, 0x73, 0x6d, 0x12, 0x3a, 0x0a, 0x19, - 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x6f, 0x70, 0x73, 0x18, 0x94, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x16, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x4f, 0x70, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x78, 0x6c, 0x61, 0x5f, - 0x67, 0x70, 0x75, 0x5f, 0x6c, 0x6c, 0x76, 0x6d, 0x5f, 0x69, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, - 0x18, 0x96, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4c, - 0x6c, 0x76, 0x6d, 0x49, 0x72, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x6d, 0x0a, 0x21, 0x78, 0x6c, 0x61, - 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x79, - 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0xa1, - 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x62, 0x75, - 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x1d, 0x78, 0x6c, 0x61, 0x47, 0x70, - 0x75, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x2a, 0x78, 0x6c, 0x61, 0x5f, - 0x67, 0x70, 0x75, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x63, - 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, - 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x9d, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x24, 0x78, - 0x6c, 0x61, 0x47, 0x70, 0x75, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x43, 0x6f, - 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x2a, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x61, - 0x6c, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, - 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x18, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x24, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, - 0x41, 0x6c, 0x6c, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, - 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x61, - 0x0a, 0x2e, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, - 0x5f, 0x73, 0x63, 0x61, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, - 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x18, 0xd5, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x28, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x52, - 0x65, 0x64, 0x75, 0x63, 0x65, 0x53, 0x63, 0x61, 0x74, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, - 0x69, 0x6e, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x79, 0x74, 0x65, - 0x73, 0x12, 0x54, 0x0a, 0x28, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, - 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x5f, 0x62, 0x79, 0x5f, 0x64, 0x69, 0x6d, 0x18, 0xfe, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x69, - 0x6e, 0x65, 0x42, 0x79, 0x44, 0x69, 0x6d, 0x12, 0x5c, 0x0a, 0x2c, 0x78, 0x6c, 0x61, 0x5f, 0x67, - 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, - 0x5f, 0x73, 0x63, 0x61, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, - 0x5f, 0x62, 0x79, 0x5f, 0x64, 0x69, 0x6d, 0x18, 0x81, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x25, - 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x75, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x5f, 0x73, + 0x6f, 0x66, 0x74, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, + 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xc5, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x33, 0x78, + 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x53, 0x6f, 0x66, + 0x74, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x46, 0x75, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x26, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x75, 0x6e, + 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x18, 0xc2, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x21, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x55, 0x6e, 0x73, 0x75, 0x70, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x74, + 0x6f, 0x6e, 0x47, 0x65, 0x6d, 0x6d, 0x12, 0x35, 0x0a, 0x17, 0x78, 0x6c, 0x61, 0x5f, 0x68, 0x6c, + 0x6f, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x78, 0x6c, 0x61, 0x48, 0x6c, 0x6f, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x26, 0x0a, + 0x0f, 0x78, 0x6c, 0x61, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x78, 0x6c, 0x61, 0x48, 0x6c, 0x6f, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, + 0x1e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x78, 0x6c, 0x61, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x48, 0x6c, 0x6f, 0x50, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x1a, 0x78, 0x6c, + 0x61, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x70, 0x61, 0x73, + 0x73, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x7c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, + 0x78, 0x6c, 0x61, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x6c, 0x6f, 0x50, 0x61, 0x73, 0x73, + 0x65, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x3a, 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x70, 0x61, + 0x73, 0x73, 0x65, 0x73, 0x18, 0x68, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x48, 0x6c, 0x6f, 0x50, 0x61, 0x73, 0x73, + 0x65, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x78, 0x6c, 0x61, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1b, 0x78, 0x6c, 0x61, 0x42, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3a, 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x65, + 0x6d, 0x62, 0x65, 0x64, 0x5f, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x78, 0x6c, 0x61, + 0x45, 0x6d, 0x62, 0x65, 0x64, 0x49, 0x72, 0x49, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x4e, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x65, 0x6c, 0x69, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, + 0x74, 0x5f, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x20, 0x78, 0x6c, 0x61, 0x45, 0x6c, 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x48, + 0x6c, 0x6f, 0x49, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, + 0x61, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x65, 0x69, 0x67, 0x65, + 0x6e, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x45, 0x69, 0x67, 0x65, 0x6e, 0x12, + 0x30, 0x0a, 0x15, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x75, 0x64, 0x61, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x43, 0x75, 0x64, 0x61, 0x44, 0x61, 0x74, 0x61, 0x44, 0x69, + 0x72, 0x12, 0x1e, 0x0a, 0x0b, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x66, 0x74, 0x7a, + 0x18, 0x3e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x46, 0x74, + 0x7a, 0x12, 0x4d, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x6c, 0x6c, 0x76, 0x6d, 0x5f, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x46, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x1f, 0x78, 0x6c, 0x61, 0x4c, 0x6c, 0x76, 0x6d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, + 0x69, 0x61, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x46, 0x0a, 0x20, 0x78, 0x6c, 0x61, 0x5f, 0x6c, 0x6c, 0x76, 0x6d, 0x5f, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x47, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x78, 0x6c, 0x61, 0x4c, + 0x6c, 0x76, 0x6d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x53, 0x0a, 0x27, 0x78, 0x6c, 0x61, 0x5f, + 0x6c, 0x6c, 0x76, 0x6d, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x48, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x78, 0x6c, 0x61, 0x4c, 0x6c, + 0x76, 0x6d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, + 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x48, 0x0a, + 0x21, 0x78, 0x6c, 0x61, 0x5f, 0x6c, 0x6c, 0x76, 0x6d, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, + 0x65, 0x73, 0x18, 0x49, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x78, 0x6c, 0x61, 0x4c, 0x6c, 0x76, + 0x6d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x76, + 0x65, 0x50, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x1b, 0x78, 0x6c, 0x61, 0x5f, 0x74, + 0x65, 0x73, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6c, + 0x61, 0x79, 0x6f, 0x75, 0x74, 0x73, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x78, 0x6c, + 0x61, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4c, 0x61, + 0x79, 0x6f, 0x75, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x74, 0x65, 0x73, + 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x6f, + 0x75, 0x74, 0x73, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x54, 0x65, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, + 0x73, 0x12, 0x3e, 0x0a, 0x1c, 0x78, 0x6c, 0x61, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x78, 0x6c, 0x61, 0x48, 0x6c, 0x6f, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x6f, + 0x72, 0x12, 0x2c, 0x0a, 0x13, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x65, + 0x5f, 0x6d, 0x6b, 0x6c, 0x5f, 0x64, 0x6e, 0x6e, 0x18, 0x61, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x55, 0x73, 0x65, 0x4d, 0x6b, 0x6c, 0x44, 0x6e, 0x6e, 0x12, + 0x3b, 0x0a, 0x1b, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x64, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x46, 0x61, 0x73, 0x74, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x12, 0x3b, 0x0a, 0x1a, + 0x78, 0x6c, 0x61, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x7a, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x17, 0x78, 0x6c, 0x61, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x63, 0x65, 0x73, 0x73, + 0x50, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x26, 0x78, 0x6c, 0x61, + 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x72, 0x61, 0x73, 0x68, 0x5f, 0x6f, 0x6e, 0x5f, 0x76, 0x65, + 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, + 0x72, 0x65, 0x73, 0x18, 0x65, 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, 0x78, 0x6c, 0x61, 0x47, 0x70, + 0x75, 0x43, 0x72, 0x61, 0x73, 0x68, 0x4f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x16, + 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, + 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x7b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x78, 0x6c, + 0x61, 0x47, 0x70, 0x75, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x12, 0x4d, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x68, + 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x66, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x1f, 0x78, 0x6c, 0x61, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x4e, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x67, 0x70, 0x75, 0x61, 0x73, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x67, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, + 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x70, 0x75, + 0x61, 0x73, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x4f, 0x0a, 0x14, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x73, 0x68, 0x61, 0x70, + 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1d, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x52, 0x11, + 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x53, 0x68, 0x61, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x73, 0x12, 0x43, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x78, 0x6c, 0x61, 0x48, + 0x6c, 0x6f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x46, 0x61, + 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x49, 0x0a, 0x22, 0x78, 0x6c, 0x61, 0x5f, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6f, 0x70, 0x73, 0x18, 0x6b, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x1d, 0x78, 0x6c, 0x61, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x63, 0x61, 0x6c, + 0x61, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4f, 0x70, + 0x73, 0x12, 0x5d, 0x0a, 0x18, 0x78, 0x6c, 0x61, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x6c, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x65, + 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x78, 0x6c, 0x61, 0x53, 0x74, + 0x65, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1e, 0x0a, 0x0b, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x74, 0x6f, 0x18, + 0x6d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x54, 0x6f, + 0x12, 0x32, 0x0a, 0x16, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x68, 0x6c, 0x6f, + 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x12, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, + 0x6c, 0x65, 0x52, 0x65, 0x12, 0x2e, 0x0a, 0x14, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, + 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x18, 0x6f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x6c, 0x6f, 0x50, 0x61, + 0x73, 0x73, 0x52, 0x65, 0x12, 0x2e, 0x0a, 0x14, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, + 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x61, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x70, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x10, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x6c, 0x6f, 0x41, 0x73, + 0x54, 0x65, 0x78, 0x74, 0x12, 0x30, 0x0a, 0x15, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, + 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x71, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x11, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x6c, 0x6f, 0x41, + 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2c, 0x0a, 0x13, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, + 0x6d, 0x70, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x61, 0x73, 0x5f, 0x64, 0x6f, 0x74, 0x18, 0x72, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0f, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x6c, 0x6f, 0x41, + 0x73, 0x44, 0x6f, 0x74, 0x12, 0x2c, 0x0a, 0x13, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, + 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x61, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x73, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x6c, 0x6f, 0x41, 0x73, 0x55, + 0x72, 0x6c, 0x12, 0x2e, 0x0a, 0x14, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x68, + 0x6c, 0x6f, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x74, 0x6d, 0x6c, 0x18, 0x74, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x10, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x6c, 0x6f, 0x41, 0x73, 0x48, 0x74, + 0x6d, 0x6c, 0x12, 0x42, 0x0a, 0x1d, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x66, + 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x95, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x78, 0x6c, 0x61, 0x44, + 0x75, 0x6d, 0x70, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x16, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, + 0x6d, 0x70, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, + 0x18, 0x76, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, + 0x6c, 0x6f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x78, + 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x83, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x17, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x37, 0x0a, 0x18, 0x78, 0x6c, 0x61, + 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x6d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x84, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x78, 0x6c, + 0x61, 0x44, 0x75, 0x6d, 0x70, 0x4d, 0x61, 0x78, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x6d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x90, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x4d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x18, + 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x18, 0x97, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x15, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x12, 0x38, 0x0a, 0x19, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, + 0x6d, 0x70, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x61, 0x73, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x74, + 0x65, 0x78, 0x74, 0x18, 0xa4, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x78, 0x6c, 0x61, 0x44, + 0x75, 0x6d, 0x70, 0x48, 0x6c, 0x6f, 0x41, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x78, 0x74, + 0x12, 0x34, 0x0a, 0x17, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x66, 0x6f, 0x72, 0x63, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x5f, 0x6e, 0x63, 0x68, 0x77, 0x18, 0x7d, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x13, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x76, 0x4e, 0x63, 0x68, 0x77, 0x12, 0x35, 0x0a, 0x17, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, + 0x75, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x5f, 0x6e, 0x68, 0x77, + 0x63, 0x18, 0x92, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, + 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x4e, 0x68, 0x77, 0x63, 0x12, 0x27, 0x0a, + 0x10, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x70, 0x74, 0x78, 0x5f, 0x66, 0x69, 0x6c, + 0x65, 0x18, 0x7f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x50, + 0x74, 0x78, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, + 0x75, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x6c, 0x6c, 0x76, 0x6d, 0x69, 0x72, 0x18, 0x9b, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x44, 0x75, 0x6d, 0x70, + 0x4c, 0x6c, 0x76, 0x6d, 0x69, 0x72, 0x12, 0x46, 0x0a, 0x20, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, + 0x6d, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6c, 0x69, 0x72, 0x5f, 0x70, + 0x72, 0x65, 0x74, 0x74, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0xb9, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x1b, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x4d, 0x6c, 0x69, 0x72, 0x50, 0x72, 0x65, 0x74, 0x74, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x12, 0x45, + 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x5f, 0x64, 0x65, 0x6e, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x6e, 0x79, 0x6c, 0x69, 0x73, + 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x78, 0x6c, 0x61, 0x5f, 0x74, 0x70, 0x75, + 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6e, 0x18, 0x87, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0f, 0x78, 0x6c, 0x61, 0x54, 0x70, 0x75, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, + 0x4e, 0x61, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x78, 0x6c, 0x61, 0x5f, 0x74, 0x70, 0x75, 0x5f, 0x64, + 0x65, 0x74, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x18, 0x88, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0f, 0x78, 0x6c, 0x61, 0x54, 0x70, 0x75, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, + 0x66, 0x12, 0x3f, 0x0a, 0x1c, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x78, 0x70, 0x72, 0x6f, 0x66, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x6d, + 0x65, 0x18, 0x89, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x72, 0x6f, 0x66, 0x54, 0x72, 0x61, 0x63, 0x65, + 0x6d, 0x65, 0x12, 0x6a, 0x0a, 0x34, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x75, 0x6e, + 0x73, 0x61, 0x66, 0x65, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, + 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x70, 0x74, 0x78, 0x61, 0x73, + 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x8a, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x2b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x55, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x46, + 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4f, + 0x6e, 0x50, 0x74, 0x78, 0x61, 0x73, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x35, + 0x0a, 0x17, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x61, 0x73, 0x6d, 0x5f, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x13, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x41, 0x73, 0x6d, 0x45, 0x78, 0x74, 0x72, 0x61, + 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x52, 0x0a, 0x26, 0x78, 0x6c, 0x61, 0x5f, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x68, 0x65, 0x61, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x18, + 0x8e, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x21, 0x78, 0x6c, 0x61, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x68, 0x65, 0x61, 0x70, 0x53, 0x69, 0x7a, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x74, 0x50, 0x65, 0x72, 0x48, 0x65, 0x61, 0x70, 0x12, 0x31, 0x0a, 0x14, 0x78, 0x6c, 0x61, + 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x18, 0xfc, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x78, 0x6c, 0x61, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x12, + 0x78, 0x6c, 0x61, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x69, + 0x6e, 0x67, 0x18, 0xfd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x78, 0x6c, 0x61, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x44, 0x75, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x51, 0x0a, 0x25, 0x78, + 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6d, + 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, + 0x6c, 0x69, 0x73, 0x6d, 0x18, 0x93, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x21, 0x78, 0x6c, 0x61, + 0x47, 0x70, 0x75, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x69, 0x73, 0x6d, 0x12, 0x69, + 0x0a, 0x32, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x6c, 0x6c, 0x76, 0x6d, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, + 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, + 0x6c, 0x69, 0x73, 0x6d, 0x18, 0x8c, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x2c, 0x78, 0x6c, 0x61, + 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x6c, 0x76, 0x6d, 0x4d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, + 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x69, 0x73, 0x6d, 0x12, 0x3a, 0x0a, 0x19, 0x78, 0x6c, 0x61, + 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, + 0x69, 0x63, 0x5f, 0x6f, 0x70, 0x73, 0x18, 0x94, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x78, + 0x6c, 0x61, 0x47, 0x70, 0x75, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, + 0x69, 0x63, 0x4f, 0x70, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, + 0x5f, 0x6c, 0x6c, 0x76, 0x6d, 0x5f, 0x69, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x96, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4c, 0x6c, 0x76, 0x6d, + 0x49, 0x72, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x6d, 0x0a, 0x21, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, + 0x75, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0xa1, 0x02, 0x20, 0x03, + 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x1d, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x2a, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, + 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x62, + 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x18, 0x9d, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x24, 0x78, 0x6c, 0x61, 0x47, + 0x70, 0x75, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x69, + 0x6e, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, + 0x12, 0x59, 0x0a, 0x2a, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, + 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x5f, 0x74, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xd4, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x24, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x41, 0x6c, 0x6c, + 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x54, 0x68, 0x72, + 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x2e, 0x78, + 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x73, 0x63, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xd5, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x28, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x53, 0x63, 0x61, 0x74, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, - 0x42, 0x79, 0x44, 0x69, 0x6d, 0x12, 0x5f, 0x0a, 0x2d, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, - 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x18, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x27, 0x78, - 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x74, 0x65, 0x64, 0x41, 0x72, 0x12, 0x69, 0x0a, 0x33, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, - 0x75, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x62, 0x6c, 0x75, - 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x9f, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x2b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x41, 0x6c, 0x6c, 0x52, - 0x65, 0x64, 0x75, 0x63, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x4e, 0x75, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x50, 0x65, 0x72, 0x48, 0x6f, 0x73, - 0x74, 0x12, 0x6b, 0x0a, 0x34, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x72, - 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, - 0x64, 0x65, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x2c, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x68, - 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x53, 0x63, 0x61, - 0x74, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, - 0x0a, 0x23, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, - 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1f, 0x78, 0x6c, - 0x61, 0x47, 0x70, 0x75, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, - 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x4a, 0x0a, - 0x22, 0x78, 0x6c, 0x61, 0x5f, 0x6c, 0x6c, 0x76, 0x6d, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x70, - 0x6c, 0x69, 0x74, 0x18, 0xac, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x78, 0x6c, 0x61, 0x4c, - 0x6c, 0x76, 0x6d, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x65, - 0x66, 0x6f, 0x72, 0x65, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x41, 0x0a, 0x1d, 0x78, 0x6c, 0x61, + 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x54, + 0x0a, 0x28, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x62, + 0x69, 0x6e, 0x65, 0x5f, 0x62, 0x79, 0x5f, 0x64, 0x69, 0x6d, 0x18, 0xfe, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x21, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, + 0x6c, 0x6c, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x42, + 0x79, 0x44, 0x69, 0x6d, 0x12, 0x5c, 0x0a, 0x2c, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x73, 0x63, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x5f, 0x62, 0x79, + 0x5f, 0x64, 0x69, 0x6d, 0x18, 0x81, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x25, 0x78, 0x6c, 0x61, + 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x53, + 0x63, 0x61, 0x74, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x42, 0x79, 0x44, + 0x69, 0x6d, 0x12, 0x5f, 0x0a, 0x2d, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x72, 0x18, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x27, 0x78, 0x6c, 0x61, 0x47, + 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, + 0x64, 0x41, 0x72, 0x12, 0x69, 0x0a, 0x33, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x61, + 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x62, 0x6c, 0x75, 0x65, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x9f, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x2b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x64, 0x75, + 0x63, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x50, 0x65, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x6b, + 0x0a, 0x34, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x64, 0x75, + 0x63, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, + 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x2c, 0x78, + 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x68, 0x69, 0x6c, 0x65, + 0x4c, 0x6f, 0x6f, 0x70, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x53, 0x63, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x43, 0x6f, 0x64, 0x65, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x23, 0x78, + 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x47, 0x70, + 0x75, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x4a, 0x0a, 0x22, 0x78, 0x6c, + 0x61, 0x5f, 0x6c, 0x6c, 0x76, 0x6d, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, + 0x18, 0xac, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x78, 0x6c, 0x61, 0x4c, 0x6c, 0x76, 0x6d, + 0x46, 0x6f, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, + 0x65, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x41, 0x0a, 0x1d, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, + 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x64, 0x6e, 0x6e, 0x5f, 0x66, + 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x18, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, + 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x64, 0x6e, + 0x6e, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x64, 0x6e, - 0x6e, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x18, 0xa0, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x19, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, - 0x75, 0x64, 0x6e, 0x6e, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x39, 0x0a, 0x19, - 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, - 0x75, 0x64, 0x6e, 0x6e, 0x5f, 0x66, 0x6d, 0x68, 0x61, 0x18, 0xda, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x15, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, - 0x64, 0x6e, 0x6e, 0x46, 0x6d, 0x68, 0x61, 0x12, 0x4f, 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x67, - 0x70, 0x75, 0x5f, 0x66, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x75, 0x64, 0x6e, 0x6e, 0x5f, 0x72, 0x6e, 0x67, - 0x18, 0xeb, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x46, - 0x75, 0x73, 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, - 0x43, 0x75, 0x64, 0x6e, 0x6e, 0x52, 0x6e, 0x67, 0x12, 0x44, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, - 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x64, 0x6e, 0x6e, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x18, 0x86, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x1a, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x43, 0x75, 0x64, 0x6e, 0x6e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x72, 0x6d, 0x12, 0x3a, - 0x0a, 0x19, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x99, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x44, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x37, 0x0a, 0x18, 0x78, 0x6c, - 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x18, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x78, - 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x6c, 0x6f, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x52, 0x65, 0x12, 0x4e, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x73, - 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, - 0x69, 0x74, 0x68, 0x6d, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x9c, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, - 0x43, 0x6f, 0x6e, 0x76, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x50, 0x69, 0x63, - 0x6b, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x1d, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, + 0x6e, 0x5f, 0x66, 0x6d, 0x68, 0x61, 0x18, 0xda, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x78, + 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x64, 0x6e, 0x6e, + 0x46, 0x6d, 0x68, 0x61, 0x12, 0x4f, 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, + 0x66, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x75, 0x73, 0x65, 0x5f, 0x63, 0x75, 0x64, 0x6e, 0x6e, 0x5f, 0x72, 0x6e, 0x67, 0x18, 0xeb, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x46, 0x75, 0x73, 0x65, + 0x64, 0x41, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x43, 0x75, 0x64, + 0x6e, 0x6e, 0x52, 0x6e, 0x67, 0x12, 0x44, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x64, 0x6e, 0x6e, 0x5f, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x18, 0x86, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x1a, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x64, + 0x6e, 0x6e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x72, 0x6d, 0x12, 0x3a, 0x0a, 0x19, 0x78, + 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x99, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x16, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x37, 0x0a, 0x18, 0x78, 0x6c, 0x61, 0x5f, 0x64, + 0x75, 0x6d, 0x70, 0x5f, 0x68, 0x6c, 0x6f, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x5f, 0x72, 0x65, 0x18, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x78, 0x6c, 0x61, 0x44, + 0x75, 0x6d, 0x70, 0x48, 0x6c, 0x6f, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, + 0x12, 0x4e, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x1f, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x6e, + 0x76, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x50, 0x69, 0x63, 0x6b, 0x65, 0x72, + 0x12, 0x41, 0x0a, 0x1d, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x87, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x20, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x75, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x87, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x78, 0x6c, 0x61, - 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, - 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x20, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, - 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, - 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x18, 0x88, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x1b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x12, 0x4b, - 0x0a, 0x23, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x66, - 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x69, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x78, 0x6c, 0x61, - 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, - 0x53, 0x6c, 0x69, 0x63, 0x65, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x28, 0x78, - 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6e, 0x63, 0x63, 0x6c, 0x5f, 0x74, 0x65, 0x72, 0x6d, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0xa3, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x23, - 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4e, 0x63, 0x63, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x18, 0xa5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x78, - 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x78, 0x6c, - 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x62, - 0x6c, 0x61, 0x73, 0x6c, 0x74, 0x18, 0xa6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x78, 0x6c, - 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x62, 0x6c, 0x61, 0x73, - 0x6c, 0x74, 0x12, 0x69, 0x0a, 0x1d, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x18, 0x82, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x78, 0x6c, 0x61, - 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x43, 0x6d, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x19, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x12, 0x3e, 0x0a, - 0x1c, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6d, - 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0xd0, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x47, 0x72, 0x61, 0x70, - 0x68, 0x4d, 0x69, 0x6e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x52, 0x0a, - 0x26, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, - 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x47, 0x72, 0x61, 0x70, 0x68, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x50, 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x72, 0x65, 0x64, - 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x78, - 0x5f, 0x6d, 0x65, 0x67, 0x61, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xa7, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x20, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x52, 0x65, 0x64, 0x7a, 0x6f, 0x6e, 0x65, - 0x53, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x67, 0x61, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x72, - 0x65, 0x64, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x18, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x78, 0x6c, 0x61, - 0x47, 0x70, 0x75, 0x52, 0x65, 0x64, 0x7a, 0x6f, 0x6e, 0x65, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, - 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, - 0x75, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0xae, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0c, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x55, 0x73, 0x65, 0x41, 0x63, 0x6c, 0x12, 0x3e, - 0x0a, 0x1c, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, - 0x5f, 0x64, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x18, 0xaf, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x53, 0x74, 0x72, - 0x69, 0x63, 0x74, 0x44, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x4d, 0x61, 0x74, 0x68, 0x12, 0x3b, - 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xb5, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x55, 0x73, 0x65, 0x52, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x20, 0x78, - 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, - 0x68, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, - 0xb6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x4c, - 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x48, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x12, 0x4f, 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6c, 0x69, 0x72, 0x5f, 0x74, 0x69, 0x6c, 0x69, - 0x6e, 0x67, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xb8, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x4d, 0x6c, 0x69, 0x72, 0x54, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x64, 0x46, - 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x23, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, - 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, - 0x61, 0x74, 0x6d, 0x75, 0x6c, 0x5f, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0xc3, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x1e, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x61, 0x74, 0x6d, 0x75, 0x6c, 0x54, 0x69, 0x6c, - 0x69, 0x6e, 0x67, 0x12, 0x3c, 0x0a, 0x1b, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x6d, - 0x61, 0x74, 0x6d, 0x75, 0x6c, 0x5f, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x5f, 0x64, - 0x69, 0x6d, 0x18, 0xc4, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x43, 0x70, - 0x75, 0x4d, 0x61, 0x74, 0x6d, 0x75, 0x6c, 0x54, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x44, 0x69, - 0x6d, 0x12, 0x3c, 0x0a, 0x1b, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x6d, 0x61, 0x74, - 0x6d, 0x75, 0x6c, 0x5f, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x5f, 0x64, 0x69, 0x6d, - 0x18, 0xc5, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x4d, - 0x61, 0x74, 0x6d, 0x75, 0x6c, 0x54, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x4e, 0x44, 0x69, 0x6d, 0x12, - 0x3c, 0x0a, 0x1b, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x6d, 0x61, 0x74, 0x6d, 0x75, - 0x6c, 0x5f, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x5f, 0x64, 0x69, 0x6d, 0x18, 0xc6, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x4d, 0x61, 0x74, - 0x6d, 0x75, 0x6c, 0x54, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x4b, 0x44, 0x69, 0x6d, 0x12, 0x4e, 0x0a, - 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x6d, 0x6c, 0x69, 0x72, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x6c, - 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x78, 0x6c, - 0x61, 0x43, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6c, 0x69, 0x72, 0x46, 0x75, - 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x57, 0x0a, - 0x28, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x61, - 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xbf, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x24, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, - 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x61, 0x6c, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x27, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, - 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, - 0x5f, 0x68, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x72, 0x18, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x48, 0x69, 0x64, - 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x2c, - 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, - 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, - 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0xd8, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x26, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x41, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x5c, 0x0a, 0x2b, 0x78, - 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, - 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x26, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, - 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x4d, 0x0a, 0x24, 0x78, 0x6c, 0x61, - 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6c, 0x68, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x67, 0x70, 0x75, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, - 0x72, 0x18, 0xcc, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, - 0x4c, 0x68, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x70, 0x75, 0x41, 0x73, 0x79, 0x6e, - 0x63, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x5a, 0x0a, 0x2b, 0x78, 0x6c, 0x61, 0x5f, - 0x67, 0x70, 0x75, 0x5f, 0x70, 0x67, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x24, - 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x50, 0x67, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, - 0x50, 0x61, 0x74, 0x68, 0x12, 0x46, 0x0a, 0x20, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, - 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x6c, 0x6f, - 0x70, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x84, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x1b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x53, 0x6c, 0x6f, 0x70, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x4f, 0x0a, 0x24, - 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, - 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x73, 0x18, 0xef, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x78, 0x6c, 0x61, - 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x4c, 0x0a, - 0x23, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, - 0x64, 0x75, 0x63, 0x65, 0x18, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x78, 0x6c, 0x61, - 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x23, 0x78, - 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x68, - 0x65, 0x72, 0x18, 0xe3, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x78, 0x6c, 0x61, 0x47, 0x70, - 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, - 0x41, 0x6c, 0x6c, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x27, 0x78, 0x6c, 0x61, + 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x18, 0x88, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, + 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x12, 0x4b, 0x0a, 0x23, 0x78, + 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x79, + 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x66, 0x75, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x69, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x6c, 0x69, + 0x63, 0x65, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x28, 0x78, 0x6c, 0x61, 0x5f, + 0x67, 0x70, 0x75, 0x5f, 0x6e, 0x63, 0x63, 0x6c, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x73, 0x18, 0xa3, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x23, 0x78, 0x6c, 0x61, + 0x47, 0x70, 0x75, 0x4e, 0x63, 0x63, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, + 0x12, 0x45, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x74, 0x73, 0x18, 0xa5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x78, 0x6c, 0x61, 0x47, + 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x43, 0x6f, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x78, 0x6c, 0x61, 0x5f, 0x67, + 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x62, 0x6c, 0x61, 0x73, + 0x6c, 0x74, 0x18, 0xa6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x78, 0x6c, 0x61, 0x47, 0x70, + 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x62, 0x6c, 0x61, 0x73, 0x6c, 0x74, 0x12, + 0x69, 0x0a, 0x1d, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, + 0x18, 0x82, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x19, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x1c, 0x78, 0x6c, + 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0xd0, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x17, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x47, 0x72, 0x61, 0x70, 0x68, 0x4d, 0x69, + 0x6e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x52, 0x0a, 0x26, 0x78, 0x6c, + 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, 0x78, 0x6c, 0x61, + 0x47, 0x70, 0x75, 0x47, 0x72, 0x61, 0x70, 0x68, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, + 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x50, + 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x72, 0x65, 0x64, 0x7a, 0x6f, 0x6e, + 0x65, 0x5f, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, + 0x67, 0x61, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x20, + 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x52, 0x65, 0x64, 0x7a, 0x6f, 0x6e, 0x65, 0x53, 0x63, 0x72, + 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x67, 0x61, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x12, 0x41, 0x0a, 0x1d, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x72, 0x65, 0x64, 0x7a, + 0x6f, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x18, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, + 0x52, 0x65, 0x64, 0x7a, 0x6f, 0x6e, 0x65, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, + 0x73, 0x65, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0xae, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x78, + 0x6c, 0x61, 0x43, 0x70, 0x75, 0x55, 0x73, 0x65, 0x41, 0x63, 0x6c, 0x12, 0x3e, 0x0a, 0x1c, 0x78, + 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x64, 0x6f, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x18, 0xaf, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x17, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x44, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x4d, 0x61, 0x74, 0x68, 0x12, 0x3b, 0x0a, 0x1a, 0x78, + 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x16, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x55, 0x73, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x20, 0x78, 0x6c, 0x61, 0x5f, + 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x68, 0x69, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0xb6, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x1c, 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x4c, 0x61, 0x74, 0x65, + 0x6e, 0x63, 0x79, 0x48, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x12, 0x4f, 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6c, 0x69, 0x72, 0x5f, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, + 0x61, 0x6e, 0x64, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xb8, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, + 0x6c, 0x69, 0x72, 0x54, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x64, 0x46, 0x75, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x23, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x74, 0x6d, + 0x75, 0x6c, 0x5f, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x1e, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x61, 0x74, 0x6d, 0x75, 0x6c, 0x54, 0x69, 0x6c, 0x69, 0x6e, 0x67, + 0x12, 0x3c, 0x0a, 0x1b, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x6d, 0x61, 0x74, 0x6d, + 0x75, 0x6c, 0x5f, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x5f, 0x64, 0x69, 0x6d, 0x18, + 0xc4, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x4d, 0x61, + 0x74, 0x6d, 0x75, 0x6c, 0x54, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x44, 0x69, 0x6d, 0x12, 0x3c, + 0x0a, 0x1b, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x6d, 0x61, 0x74, 0x6d, 0x75, 0x6c, + 0x5f, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x5f, 0x64, 0x69, 0x6d, 0x18, 0xc5, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x4d, 0x61, 0x74, 0x6d, + 0x75, 0x6c, 0x54, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x4e, 0x44, 0x69, 0x6d, 0x12, 0x3c, 0x0a, 0x1b, + 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x6d, 0x61, 0x74, 0x6d, 0x75, 0x6c, 0x5f, 0x74, + 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x5f, 0x64, 0x69, 0x6d, 0x18, 0xc6, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x43, 0x70, 0x75, 0x4d, 0x61, 0x74, 0x6d, 0x75, 0x6c, + 0x54, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x4b, 0x44, 0x69, 0x6d, 0x12, 0x4e, 0x0a, 0x24, 0x78, 0x6c, + 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6c, 0x69, + 0x72, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x69, + 0x6e, 0x67, 0x18, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x43, 0x70, + 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6c, 0x69, 0x72, 0x46, 0x75, 0x73, 0x69, 0x6f, + 0x6e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x57, 0x0a, 0x28, 0x78, 0x6c, + 0x61, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x61, 0x6c, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xbf, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x24, 0x78, + 0x6c, 0x61, 0x43, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x27, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x68, 0x69, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x18, 0xba, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x48, 0x69, 0x64, 0x69, 0x6e, 0x67, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x2c, 0x78, 0x6c, 0x61, + 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x69, 0x67, 0x68, + 0x65, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x73, 0x79, + 0x6e, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0xd8, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x26, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x69, + 0x67, 0x68, 0x65, 0x73, 0x74, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x41, 0x73, 0x79, + 0x6e, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x5c, 0x0a, 0x2b, 0x78, 0x6c, 0x61, 0x5f, + 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x65, 0x73, + 0x74, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x26, + 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x45, 0x73, 0x74, + 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x4d, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, + 0x75, 0x5f, 0x6c, 0x68, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x67, 0x70, 0x75, + 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x18, 0xcc, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4c, 0x68, 0x73, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x70, 0x75, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x54, 0x72, + 0x61, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x5a, 0x0a, 0x2b, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, + 0x5f, 0x70, 0x67, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x18, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x24, 0x78, 0x6c, 0x61, + 0x47, 0x70, 0x75, 0x50, 0x67, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x4f, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x61, 0x74, + 0x68, 0x12, 0x46, 0x0a, 0x20, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6d, 0x65, 0x6d, + 0x6f, 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x70, 0x5f, 0x66, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x84, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1b, 0x78, 0x6c, + 0x61, 0x47, 0x70, 0x75, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, + 0x6c, 0x6f, 0x70, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x4f, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x61, - 0x74, 0x74, 0x65, 0x72, 0x18, 0xe7, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x78, 0x6c, 0x61, - 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x64, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x53, 0x63, 0x61, 0x74, 0x74, 0x65, 0x72, 0x12, - 0x3f, 0x0a, 0x1c, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x32, 0x70, 0x18, - 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x50, 0x32, 0x70, - 0x12, 0x5d, 0x0a, 0x2c, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x72, 0x75, 0x6e, 0x5f, - 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x72, - 0x18, 0xb9, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x26, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x52, - 0x75, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x72, 0x12, - 0x64, 0x0a, 0x2f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x75, 0x74, 0x65, 0x5f, 0x64, 0x65, - 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, - 0x6c, 0x64, 0x18, 0xed, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x2a, 0x78, 0x6c, 0x61, 0x47, 0x70, - 0x75, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x75, - 0x74, 0x65, 0x44, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x54, 0x68, 0x72, 0x65, - 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x66, 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, - 0x74, 0x68, 0x6d, 0x18, 0xbb, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x78, 0x6c, 0x61, - 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, - 0x74, 0x68, 0x6d, 0x52, 0x18, 0x78, 0x6c, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x3b, 0x0a, - 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x18, 0xbc, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x54, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x47, 0x65, 0x6d, 0x6d, 0x12, 0x6b, 0x0a, 0x33, 0x78, 0x6c, - 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x64, - 0x6e, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x38, 0x78, 0x33, 0x32, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x6f, - 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x18, 0xbd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x2d, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x64, 0x6e, 0x6e, 0x49, 0x6e, 0x74, 0x38, 0x78, - 0x33, 0x32, 0x43, 0x6f, 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x35, 0x0a, 0x17, 0x78, 0x6c, 0x61, 0x5f, 0x67, - 0x70, 0x75, 0x5f, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x5f, 0x61, - 0x6e, 0x79, 0x18, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x78, 0x6c, 0x61, 0x47, 0x70, - 0x75, 0x54, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x47, 0x65, 0x6d, 0x6d, 0x41, 0x6e, 0x79, 0x12, 0x47, - 0x0a, 0x20, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x78, 0x68, 0x61, 0x75, 0x73, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x18, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x78, 0x6c, 0x61, 0x47, 0x70, - 0x75, 0x45, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6c, 0x69, 0x6e, - 0x67, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x4e, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x67, - 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, - 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0xdc, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x53, 0x6f, 0x66, 0x74, 0x6d, 0x61, - 0x78, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x1e, 0x78, 0x6c, 0x61, 0x5f, 0x67, - 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x1a, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x2d, - 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, - 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x9e, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x27, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x54, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x53, 0x6f, 0x66, 0x74, 0x6d, 0x61, 0x78, 0x50, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, - 0x20, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x61, 0x75, - 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x74, - 0x6f, 0x18, 0xde, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, - 0x44, 0x75, 0x6d, 0x70, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x54, 0x6f, 0x12, 0x4a, 0x0a, 0x22, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, - 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0xdf, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x1d, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x75, - 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x46, 0x72, 0x6f, - 0x6d, 0x12, 0x43, 0x0a, 0x1e, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x85, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x78, 0x6c, 0x61, 0x47, - 0x70, 0x75, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, - 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x2f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, + 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x73, 0x18, 0xef, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x43, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x23, 0x78, 0x6c, + 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, + 0x65, 0x18, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x41, + 0x6c, 0x6c, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x23, 0x78, 0x6c, 0x61, 0x5f, + 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x18, + 0xe3, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x6c, 0x6c, + 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x27, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, + 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x64, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x18, 0xe7, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x52, + 0x65, 0x64, 0x75, 0x63, 0x65, 0x53, 0x63, 0x61, 0x74, 0x74, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x1c, + 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x32, 0x70, 0x18, 0xf6, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x18, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x50, 0x32, 0x70, 0x12, 0x5d, 0x0a, + 0x2c, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x70, 0x6f, 0x73, + 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x72, 0x18, 0xb9, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x26, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x52, 0x75, 0x6e, 0x50, + 0x6f, 0x73, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x64, 0x0a, 0x2f, + 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x75, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, + 0xed, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x2a, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x75, 0x74, 0x65, 0x44, + 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x12, 0x66, 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x18, 0xbb, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x52, 0x18, 0x78, 0x6c, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, + 0x67, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x3b, 0x0a, 0x1a, 0x78, 0x6c, + 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x69, + 0x74, 0x6f, 0x6e, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x18, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x16, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, + 0x74, 0x6f, 0x6e, 0x47, 0x65, 0x6d, 0x6d, 0x12, 0x6b, 0x0a, 0x33, 0x78, 0x6c, 0x61, 0x5f, 0x67, + 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x64, 0x6e, 0x6e, 0x5f, + 0x69, 0x6e, 0x74, 0x38, 0x78, 0x33, 0x32, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0xbd, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x2d, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x43, 0x75, 0x64, 0x6e, 0x6e, 0x49, 0x6e, 0x74, 0x38, 0x78, 0x33, 0x32, 0x43, + 0x6f, 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x12, 0x35, 0x0a, 0x17, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, + 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x5f, 0x61, 0x6e, 0x79, 0x18, + 0xbe, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x54, 0x72, + 0x69, 0x74, 0x6f, 0x6e, 0x47, 0x65, 0x6d, 0x6d, 0x41, 0x6e, 0x79, 0x12, 0x47, 0x0a, 0x20, 0x78, + 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, + 0xdb, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x78, + 0x68, 0x61, 0x75, 0x73, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x12, 0x43, 0x0a, 0x1e, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, + 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x78, + 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x20, 0x78, 0x6c, 0x61, + 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, + 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x18, 0xde, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x44, 0x75, 0x6d, 0x70, + 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x54, + 0x6f, 0x12, 0x4a, 0x0a, 0x22, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6c, 0x6f, 0x61, + 0x64, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1d, + 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, + 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x43, 0x0a, + 0x1e, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x85, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x2f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x61, 0x75, + 0x74, 0x6f, 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x62, 0x75, 0x64, 0x67, + 0x65, 0x74, 0x5f, 0x67, 0x62, 0x18, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x28, 0x78, 0x6c, + 0x61, 0x47, 0x70, 0x75, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x70, 0x6d, 0x64, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x75, + 0x64, 0x67, 0x65, 0x74, 0x47, 0x62, 0x12, 0x68, 0x0a, 0x32, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, - 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x62, 0x18, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x28, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x70, 0x6d, 0x64, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x6d, 0x6f, - 0x72, 0x79, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x47, 0x62, 0x12, 0x68, 0x0a, 0x32, 0x78, 0x6c, - 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x6d, - 0x6f, 0x72, 0x79, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x18, 0xe1, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x2b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x41, - 0x75, 0x74, 0x6f, 0x53, 0x70, 0x6d, 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x52, - 0x61, 0x74, 0x69, 0x6f, 0x12, 0x72, 0x0a, 0x37, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, - 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x5f, 0x64, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x63, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0xe2, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x30, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x54, 0x72, - 0x69, 0x74, 0x6f, 0x6e, 0x47, 0x65, 0x6d, 0x6d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, - 0x65, 0x64, 0x75, 0x63, 0x65, 0x64, 0x50, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x1b, 0x78, 0x6c, 0x61, 0x5f, - 0x67, 0x70, 0x75, 0x5f, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, - 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x54, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x46, 0x75, 0x73, 0x69, - 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x4c, 0x0a, 0x23, 0x78, 0x6c, 0x61, 0x5f, 0x67, - 0x70, 0x75, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, - 0x64, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe8, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x44, 0x75, 0x6d, - 0x70, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x64, 0x47, 0x65, 0x6d, 0x6d, 0x46, 0x75, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, - 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x5f, 0x61, - 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x72, 0x18, 0xa7, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x1b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x47, - 0x65, 0x6d, 0x6d, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x2a, - 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x69, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0xec, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x24, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x43, 0x6f, 0x70, 0x79, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x46, 0x0a, 0x20, 0x78, 0x6c, 0x61, 0x5f, 0x67, - 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0xf0, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x1b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x43, 0x6f, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, - 0x48, 0x0a, 0x21, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x6b, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0xf1, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x78, 0x6c, 0x61, - 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x4b, 0x41, - 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x56, 0x0a, 0x28, 0x78, 0x6c, 0x61, - 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x70, 0x69, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x5f, 0x66, - 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xf3, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x23, 0x78, 0x6c, - 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x70, 0x69, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x46, 0x75, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x54, 0x0a, 0x27, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x63, 0x63, 0x6c, 0x5f, 0x63, 0x6c, 0x69, 0x71, 0x75, 0x65, 0x5f, - 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x22, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x4e, 0x63, 0x63, 0x6c, 0x43, 0x6c, 0x69, 0x71, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6d, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x19, 0x78, 0x6c, 0x61, 0x5f, 0x67, - 0x70, 0x75, 0x5f, 0x6d, 0x6f, 0x63, 0x6b, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, - 0x61, 0x6c, 0x6c, 0x73, 0x18, 0xf5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x78, 0x6c, 0x61, - 0x47, 0x70, 0x75, 0x4d, 0x6f, 0x63, 0x6b, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x61, 0x6c, - 0x6c, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x75, - 0x62, 0x6c, 0x61, 0x73, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0xf7, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x43, 0x75, 0x62, 0x6c, - 0x61, 0x73, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x59, 0x0a, 0x2a, 0x78, 0x6c, - 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x68, 0x69, - 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0xf8, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x24, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x68, 0x69, - 0x6c, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x42, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x72, 0x0a, 0x23, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, - 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, - 0x6f, 0x70, 0x5f, 0x75, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0xa6, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x57, 0x68, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x6f, 0x70, - 0x55, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x1e, 0x78, 0x6c, 0x61, 0x47, 0x70, - 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x68, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x6f, 0x70, - 0x55, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x57, 0x0a, 0x29, 0x78, 0x6c, 0x61, - 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x6f, - 0x72, 0x5f, 0x64, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x64, 0x69, 0x6d, 0x73, 0x18, 0xf9, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x23, 0x78, - 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x6f, 0x72, - 0x44, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, - 0x6d, 0x73, 0x12, 0x72, 0x0a, 0x37, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x73, 0x5f, 0x73, 0x70, 0x69, - 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x73, 0x5f, - 0x6f, 0x6e, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0xfa, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x30, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x73, 0x53, 0x70, 0x69, 0x6c, 0x6c, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x41, 0x75, 0x74, 0x6f, - 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x4e, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x65, - 0x62, 0x75, 0x67, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0xfb, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x53, - 0x68, 0x6f, 0x77, 0x4d, 0x61, 0x78, 0x12, 0x45, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, - 0x75, 0x5f, 0x6c, 0x6c, 0x76, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x80, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x1b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4c, 0x6c, 0x76, 0x6d, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x40, 0x0a, - 0x1d, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x63, 0x75, 0x62, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x78, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x83, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x43, 0x75, 0x62, 0x52, 0x61, 0x64, 0x69, 0x78, 0x53, 0x6f, 0x72, 0x74, 0x12, - 0x57, 0x0a, 0x29, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, - 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, - 0x64, 0x5f, 0x65, 0x69, 0x6e, 0x73, 0x75, 0x6d, 0x5f, 0x6d, 0x69, 0x62, 0x18, 0x89, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x23, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x54, 0x68, 0x72, 0x65, 0x73, - 0x68, 0x6f, 0x6c, 0x64, 0x46, 0x6f, 0x72, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x45, - 0x69, 0x6e, 0x73, 0x75, 0x6d, 0x4d, 0x69, 0x62, 0x12, 0x3f, 0x0a, 0x1c, 0x78, 0x6c, 0x61, 0x5f, - 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x74, 0x6f, - 0x6e, 0x5f, 0x68, 0x6f, 0x70, 0x70, 0x65, 0x72, 0x18, 0x8a, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x18, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, - 0x74, 0x6f, 0x6e, 0x48, 0x6f, 0x70, 0x70, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x20, 0x78, 0x6c, 0x61, + 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0xe1, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x2b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x41, 0x75, 0x74, 0x6f, 0x53, + 0x70, 0x6d, 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, + 0x12, 0x72, 0x0a, 0x37, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x74, 0x72, 0x69, 0x74, + 0x6f, 0x6e, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe2, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x30, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x54, 0x72, 0x69, 0x74, 0x6f, 0x6e, + 0x47, 0x65, 0x6d, 0x6d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, + 0x65, 0x64, 0x50, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x64, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x1b, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, + 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x18, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x78, 0x6c, 0x61, 0x47, + 0x70, 0x75, 0x54, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x4c, 0x0a, 0x23, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x64, + 0x75, 0x6d, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x64, 0x5f, 0x67, 0x65, + 0x6d, 0x6d, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe8, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x1e, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x44, 0x75, 0x6d, 0x70, 0x41, 0x75, 0x74, + 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x64, 0x47, 0x65, 0x6d, 0x6d, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6f, 0x76, 0x65, + 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, + 0x75, 0x6e, 0x65, 0x72, 0x18, 0xa7, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x78, 0x6c, 0x61, + 0x47, 0x70, 0x75, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x47, 0x65, 0x6d, 0x6d, 0x41, + 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x2a, 0x78, 0x6c, 0x61, 0x5f, + 0x67, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0xec, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x24, 0x78, + 0x6c, 0x61, 0x47, 0x70, 0x75, 0x43, 0x6f, 0x70, 0x79, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x69, + 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x12, 0x46, 0x0a, 0x20, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, + 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x73, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x48, 0x0a, 0x21, 0x78, + 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, + 0x6c, 0x69, 0x74, 0x5f, 0x6b, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x18, 0xf1, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x4b, 0x41, 0x75, 0x74, 0x6f, 0x74, + 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x56, 0x0a, 0x28, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x65, 0x70, 0x69, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0xf3, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x23, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x70, 0x69, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, + 0x27, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x6e, 0x63, 0x63, 0x6c, 0x5f, 0x63, 0x6c, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x22, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x63, 0x63, + 0x6c, 0x43, 0x6c, 0x69, 0x71, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x19, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6d, + 0x6f, 0x63, 0x6b, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, + 0x18, 0xf5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4d, + 0x6f, 0x63, 0x6b, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x36, + 0x0a, 0x17, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x75, 0x62, 0x6c, 0x61, 0x73, + 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0xf7, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x14, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x43, 0x75, 0x62, 0x6c, 0x61, 0x73, 0x46, 0x61, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x59, 0x0a, 0x2a, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, + 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x5f, 0x6c, + 0x6f, 0x6f, 0x70, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x18, 0xf8, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x24, 0x78, 0x6c, 0x61, + 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x68, 0x69, 0x6c, 0x65, 0x4c, 0x6f, + 0x6f, 0x70, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x12, 0x72, 0x0a, 0x23, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x75, + 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0xa6, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x24, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x57, 0x68, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x55, 0x6e, 0x72, 0x6f, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x1e, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x57, 0x68, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x55, 0x6e, 0x72, 0x6f, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x57, 0x0a, 0x29, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, + 0x5f, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x64, 0x6f, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, + 0x6d, 0x73, 0x18, 0xf9, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x23, 0x78, 0x6c, 0x61, 0x47, 0x70, + 0x75, 0x45, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x44, 0x6f, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x6d, 0x73, 0x12, 0x72, + 0x0a, 0x37, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x73, 0x5f, 0x73, 0x70, 0x69, 0x6c, 0x6c, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x61, + 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0xfa, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x30, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4b, 0x65, + 0x72, 0x6e, 0x65, 0x6c, 0x73, 0x53, 0x70, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x69, + 0x6e, 0x67, 0x12, 0x4e, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, + 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0xfb, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x4d, + 0x61, 0x78, 0x12, 0x45, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6c, 0x6c, + 0x76, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x80, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1b, 0x78, 0x6c, + 0x61, 0x47, 0x70, 0x75, 0x4c, 0x6c, 0x76, 0x6d, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x40, 0x0a, 0x1d, 0x78, 0x6c, 0x61, + 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x62, 0x5f, + 0x72, 0x61, 0x64, 0x69, 0x78, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x83, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x18, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, + 0x75, 0x62, 0x52, 0x61, 0x64, 0x69, 0x78, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x57, 0x0a, 0x29, 0x78, + 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x65, 0x69, + 0x6e, 0x73, 0x75, 0x6d, 0x5f, 0x6d, 0x69, 0x62, 0x18, 0x89, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x23, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x46, 0x6f, 0x72, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x45, 0x69, 0x6e, 0x73, 0x75, + 0x6d, 0x4d, 0x69, 0x62, 0x12, 0x3f, 0x0a, 0x1c, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, + 0x70, 0x70, 0x65, 0x72, 0x18, 0x8a, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x78, 0x6c, 0x61, + 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x48, + 0x6f, 0x70, 0x70, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x20, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x63, 0x63, 0x6c, 0x5f, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x18, 0x8b, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x1b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x63, + 0x63, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x12, 0x4a, 0x0a, + 0x22, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x6e, 0x63, 0x63, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x18, 0x90, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x78, 0x6c, 0x61, 0x47, + 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x63, 0x63, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, + 0x53, 0x70, 0x6c, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4d, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x63, 0x63, 0x6c, - 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x18, 0x8b, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x4e, 0x63, 0x63, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, - 0x73, 0x12, 0x4a, 0x0a, 0x22, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x63, 0x63, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x5f, 0x73, 0x70, - 0x6c, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x90, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, - 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x63, 0x63, 0x6c, - 0x43, 0x6f, 0x6d, 0x6d, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4d, 0x0a, - 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x6e, 0x63, 0x63, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, - 0x63, 0x6f, 0x6d, 0x6d, 0x73, 0x18, 0x94, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x78, 0x6c, - 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x63, 0x63, 0x6c, 0x50, 0x65, - 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x73, 0x12, 0x46, 0x0a, 0x1f, - 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, - 0x69, 0x62, 0x6e, 0x76, 0x70, 0x74, 0x78, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x18, - 0x8d, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x62, 0x6e, 0x76, 0x70, 0x74, 0x78, 0x63, 0x6f, 0x6d, 0x70, - 0x69, 0x6c, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x8e, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x44, 0x6f, 0x74, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x65, 0x64, - 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x26, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, - 0x75, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, - 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x65, 0x69, 0x6e, 0x73, 0x75, 0x6d, - 0x18, 0x98, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4d, - 0x75, 0x6c, 0x74, 0x69, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x65, 0x64, 0x45, 0x69, 0x6e, 0x73, 0x75, 0x6d, 0x12, 0x40, 0x0a, 0x1d, 0x78, 0x6c, - 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x66, 0x31, - 0x36, 0x5f, 0x36, 0x77, 0x61, 0x79, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x18, 0x8f, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x18, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x42, 0x66, 0x31, 0x36, 0x36, 0x77, 0x61, 0x79, 0x47, 0x65, 0x6d, 0x6d, 0x12, 0x40, 0x0a, 0x1d, - 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, - 0x66, 0x31, 0x36, 0x5f, 0x33, 0x77, 0x61, 0x79, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x18, 0x97, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x42, 0x66, 0x31, 0x36, 0x33, 0x77, 0x61, 0x79, 0x47, 0x65, 0x6d, 0x6d, 0x12, 0x50, - 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6e, 0x63, 0x63, 0x6c, 0x5f, 0x63, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x91, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x20, - 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4e, 0x63, 0x63, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x12, 0x42, 0x0a, 0x1e, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6e, 0x63, 0x63, 0x6c, - 0x5f, 0x70, 0x32, 0x70, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x18, 0x92, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x78, 0x6c, 0x61, 0x47, 0x70, - 0x75, 0x4e, 0x63, 0x63, 0x6c, 0x50, 0x32, 0x70, 0x4d, 0x61, 0x78, 0x4e, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, - 0x6d, 0x6c, 0x69, 0x72, 0x5f, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x18, 0xaf, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x47, 0x70, - 0x75, 0x4d, 0x6c, 0x69, 0x72, 0x45, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x12, 0x4c, 0x0a, 0x23, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x67, 0x65, 0x6d, - 0x6d, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, - 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x9b, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x1e, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x47, 0x65, 0x6d, 0x6d, 0x52, 0x65, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, - 0x5f, 0x0a, 0x2d, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x61, 0x6f, 0x74, 0x5f, - 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0x9c, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x27, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6f, - 0x74, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x12, 0x44, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x75, 0x64, 0x6e, - 0x6e, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x9d, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1a, 0x78, 0x6c, 0x61, 0x47, - 0x70, 0x75, 0x43, 0x75, 0x64, 0x6e, 0x6e, 0x47, 0x65, 0x6d, 0x6d, 0x46, 0x75, 0x73, 0x69, 0x6f, - 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3e, 0x0a, 0x1c, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, - 0x75, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x6d, 0x65, 0x6d, 0x63, 0x70, 0x79, 0x5f, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x5f, 0x70, 0x32, 0x70, 0x18, 0x9f, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x78, - 0x6c, 0x61, 0x47, 0x70, 0x75, 0x55, 0x73, 0x65, 0x4d, 0x65, 0x6d, 0x63, 0x70, 0x79, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x50, 0x32, 0x70, 0x12, 0x43, 0x0a, 0x1e, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, - 0x75, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, - 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa0, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x1a, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x4d, - 0x61, 0x78, 0x53, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x78, - 0x6c, 0x61, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x18, 0xa2, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, - 0x78, 0x6c, 0x61, 0x44, 0x75, 0x6d, 0x70, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x50, 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, - 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x5f, 0x66, - 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x73, 0x18, 0xa3, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x56, 0x65, 0x72, - 0x69, 0x66, 0x79, 0x54, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4e, - 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x73, 0x12, 0x40, 0x0a, 0x1d, 0x78, 0x6c, 0x61, 0x5f, 0x67, - 0x70, 0x75, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, - 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x74, 0x6f, 0x18, 0xa4, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x18, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x44, 0x75, 0x6d, 0x70, 0x41, 0x75, 0x74, 0x6f, 0x74, - 0x75, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x54, 0x6f, 0x12, 0x50, 0x0a, 0x25, 0x78, 0x6c, 0x61, - 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x72, - 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x18, 0xa5, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x20, 0x78, 0x6c, 0x61, 0x52, 0x65, - 0x64, 0x75, 0x63, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x42, 0x61, 0x73, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x50, 0x0a, 0x25, 0x78, - 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6f, - 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, - 0x64, 0x69, 0x6e, 0x67, 0x18, 0xa8, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x78, 0x6c, 0x61, - 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x6d, - 0x6f, 0x72, 0x79, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x4f, 0x0a, - 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x5f, 0x6e, 0x6f, 0x6e, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, - 0x63, 0x5f, 0x6f, 0x70, 0x73, 0x18, 0xa9, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x78, 0x6c, - 0x61, 0x47, 0x70, 0x75, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x6f, 0x6e, 0x64, 0x65, - 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x4f, 0x70, 0x73, 0x12, 0x44, - 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6e, 0x63, 0x63, 0x6c, 0x5f, 0x74, - 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x18, 0xad, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, - 0x4e, 0x63, 0x63, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x12, 0x38, 0x0a, 0x18, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, - 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, - 0x18, 0xb0, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x53, - 0x68, 0x61, 0x72, 0x64, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x56, - 0x0a, 0x28, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x6c, 0x79, 0x5f, 0x63, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0xb1, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x23, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, - 0x70, 0x70, 0x72, 0x6f, 0x78, 0x43, 0x6f, 0x73, 0x74, 0x6c, 0x79, 0x43, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, - 0x75, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x66, - 0x69, 0x6c, 0x65, 0x18, 0xb2, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x78, 0x6c, 0x61, 0x47, - 0x70, 0x75, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x69, 0x6c, - 0x65, 0x12, 0x54, 0x0a, 0x27, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x75, 0x6e, 0x73, - 0x61, 0x66, 0x65, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x6c, 0x6f, - 0x6f, 0x70, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x18, 0xb5, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x22, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x55, 0x6e, 0x73, 0x61, 0x66, - 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x70, 0x41, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x4f, 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x67, - 0x70, 0x75, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x75, - 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x64, 0x69, 0x72, - 0x18, 0xb6, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x50, - 0x65, 0x72, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, - 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x12, 0x44, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, - 0x63, 0x6d, 0x64, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0xb7, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x1a, 0x78, 0x6c, 0x61, 0x43, 0x6d, 0x64, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x51, - 0x0a, 0x26, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, - 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0xb8, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x20, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x54, 0x65, 0x6d, 0x70, 0x42, 0x75, 0x66, 0x66, 0x65, - 0x72, 0x55, 0x73, 0x65, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6f, - 0x72, 0x12, 0x58, 0x0a, 0x29, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0xba, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x24, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x78, - 0x6c, 0x61, 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x73, 0x75, 0x67, 0x61, 0x72, 0x5f, - 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x73, 0x18, 0xbb, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x16, 0x78, 0x6c, 0x61, 0x53, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x53, 0x75, 0x67, 0x61, 0x72, - 0x41, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, - 0x67, 0x70, 0x75, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x5f, 0x67, 0x65, 0x6d, - 0x6d, 0x5f, 0x72, 0x74, 0x6f, 0x6c, 0x18, 0xbc, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x78, - 0x6c, 0x61, 0x47, 0x70, 0x75, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x47, 0x65, 0x6d, - 0x6d, 0x52, 0x74, 0x6f, 0x6c, 0x12, 0x5c, 0x0a, 0x2b, 0x78, 0x6c, 0x61, 0x5f, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x73, 0x5f, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x69, 0x6e, 0x67, 0x18, 0xbd, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x26, 0x78, 0x6c, 0x61, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x73, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x69, 0x6e, 0x67, 0x12, 0x3e, 0x0a, 0x1c, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, - 0x75, 0x64, 0x6e, 0x6e, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, - 0x61, 0x6e, 0x73, 0x18, 0xbe, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x78, 0x6c, 0x61, 0x47, - 0x70, 0x75, 0x43, 0x75, 0x64, 0x6e, 0x6e, 0x47, 0x65, 0x6d, 0x6d, 0x4d, 0x61, 0x78, 0x50, 0x6c, - 0x61, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x1b, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x62, 0x6e, 0x76, 0x6a, 0x69, 0x74, 0x6c, 0x69, - 0x6e, 0x6b, 0x18, 0xbf, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x78, 0x6c, 0x61, 0x47, 0x70, - 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x62, 0x6e, 0x76, 0x6a, 0x69, 0x74, 0x6c, - 0x69, 0x6e, 0x6b, 0x12, 0x44, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x5f, 0x67, 0x65, 0x6d, - 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x34, 0x18, 0xc0, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x78, - 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x74, 0x6f, - 0x6e, 0x47, 0x65, 0x6d, 0x6d, 0x49, 0x6e, 0x74, 0x34, 0x12, 0x2a, 0x0a, 0x11, 0x78, 0x6c, 0x61, - 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x64, 0x6f, 0x74, 0x18, 0xc1, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x41, 0x73, 0x79, - 0x6e, 0x63, 0x44, 0x6f, 0x74, 0x12, 0x69, 0x0a, 0x19, 0x78, 0x6c, 0x61, 0x5f, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0xf4, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x78, 0x6c, 0x61, 0x2e, - 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x58, 0x6c, 0x61, - 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x42, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x1a, 0x49, 0x0a, 0x1b, 0x58, 0x6c, 0x61, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x45, 0x78, - 0x74, 0x72, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 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, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x38, 0x0a, 0x0b, 0x53, - 0x68, 0x61, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x47, - 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, - 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x5f, 0x54, - 0x49, 0x4d, 0x45, 0x10, 0x02, 0x22, 0x91, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x65, 0x70, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, - 0x53, 0x54, 0x45, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, - 0x52, 0x59, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x54, 0x45, 0x50, 0x5f, 0x4d, 0x41, 0x52, - 0x4b, 0x5f, 0x41, 0x54, 0x5f, 0x54, 0x4f, 0x50, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, - 0x48, 0x49, 0x4c, 0x45, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x53, - 0x54, 0x45, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x41, 0x54, 0x5f, 0x53, 0x45, 0x43, 0x4f, - 0x4e, 0x44, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, 0x48, 0x49, 0x4c, 0x45, 0x5f, 0x4c, - 0x4f, 0x4f, 0x50, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x45, 0x50, 0x5f, 0x4d, 0x41, - 0x52, 0x4b, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x22, 0x8b, 0x01, 0x0a, 0x10, 0x43, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, - 0x0a, 0x04, 0x4e, 0x4f, 0x4f, 0x50, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4c, 0x4c, 0x52, - 0x45, 0x44, 0x55, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4c, 0x4c, 0x47, 0x41, - 0x54, 0x48, 0x45, 0x52, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, - 0x53, 0x43, 0x41, 0x54, 0x54, 0x45, 0x52, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4c, - 0x4c, 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, - 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x4c, 0x4c, 0x54, 0x4f, 0x41, 0x4c, 0x4c, 0x10, 0x05, - 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, 0x50, 0x45, - 0x52, 0x4d, 0x55, 0x54, 0x45, 0x10, 0x06, 0x22, 0x88, 0x01, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, - 0x06, 0x46, 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x42, - 0x4c, 0x41, 0x53, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x55, 0x44, 0x4e, 0x4e, 0x10, 0x03, - 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, 0x53, 0x10, - 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, - 0x53, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x43, 0x41, - 0x4c, 0x4c, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x55, 0x42, 0x4c, 0x41, 0x53, 0x4c, 0x54, - 0x10, 0x07, 0x22, 0x9b, 0x01, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1f, 0x0a, 0x1b, + 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, + 0x73, 0x18, 0x94, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x63, 0x63, 0x6c, 0x50, 0x65, 0x72, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x73, 0x12, 0x46, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, + 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x62, 0x6e, 0x76, + 0x70, 0x74, 0x78, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x18, 0x8d, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x1c, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x4c, 0x69, 0x62, 0x6e, 0x76, 0x70, 0x74, 0x78, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, + 0x12, 0x50, 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x64, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, + 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x8e, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x20, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x6f, + 0x74, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x26, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x77, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x65, 0x69, 0x6e, 0x73, 0x75, 0x6d, 0x18, 0x98, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x21, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x65, 0x64, + 0x45, 0x69, 0x6e, 0x73, 0x75, 0x6d, 0x12, 0x40, 0x0a, 0x1d, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, + 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x66, 0x31, 0x36, 0x5f, 0x36, 0x77, + 0x61, 0x79, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x18, 0x8f, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, + 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x66, 0x31, 0x36, + 0x36, 0x77, 0x61, 0x79, 0x47, 0x65, 0x6d, 0x6d, 0x12, 0x40, 0x0a, 0x1d, 0x78, 0x6c, 0x61, 0x5f, + 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x66, 0x31, 0x36, 0x5f, + 0x33, 0x77, 0x61, 0x79, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x18, 0x97, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x18, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x66, + 0x31, 0x36, 0x33, 0x77, 0x61, 0x79, 0x47, 0x65, 0x6d, 0x6d, 0x12, 0x50, 0x0a, 0x25, 0x78, 0x6c, + 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6e, 0x63, 0x63, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x18, 0x91, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x20, 0x78, 0x6c, 0x61, 0x47, + 0x70, 0x75, 0x4e, 0x63, 0x63, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x4d, 0x61, 0x78, 0x4e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x1e, + 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6e, 0x63, 0x63, 0x6c, 0x5f, 0x70, 0x32, 0x70, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x92, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4e, 0x63, 0x63, + 0x6c, 0x50, 0x32, 0x70, 0x4d, 0x61, 0x78, 0x4e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x12, 0x3b, 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6d, 0x6c, 0x69, 0x72, + 0x5f, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0xaf, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4d, 0x6c, 0x69, + 0x72, 0x45, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x4c, 0x0a, + 0x23, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x5f, 0x72, 0x65, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x9b, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x78, 0x6c, 0x61, + 0x47, 0x70, 0x75, 0x47, 0x65, 0x6d, 0x6d, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x5f, 0x0a, 0x2d, 0x78, + 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x61, 0x6f, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x6f, + 0x74, 0x75, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9c, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x27, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x52, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6f, 0x74, 0x41, 0x75, 0x74, + 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x1f, + 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x75, 0x64, 0x6e, 0x6e, 0x5f, 0x67, 0x65, + 0x6d, 0x6d, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x9d, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1a, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x43, 0x75, + 0x64, 0x6e, 0x6e, 0x47, 0x65, 0x6d, 0x6d, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x12, 0x3e, 0x0a, 0x1c, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x75, 0x73, + 0x65, 0x5f, 0x6d, 0x65, 0x6d, 0x63, 0x70, 0x79, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, + 0x32, 0x70, 0x18, 0x9f, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x78, 0x6c, 0x61, 0x47, 0x70, + 0x75, 0x55, 0x73, 0x65, 0x4d, 0x65, 0x6d, 0x63, 0x70, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, + 0x32, 0x70, 0x12, 0x43, 0x0a, 0x1e, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x61, 0x75, + 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x6f, 0x6c, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa0, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x78, 0x6c, 0x61, + 0x47, 0x70, 0x75, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x4d, 0x61, 0x78, 0x53, 0x6f, + 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x78, 0x6c, 0x61, 0x5f, 0x64, + 0x75, 0x6d, 0x70, 0x5f, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x74, 0x73, 0x18, 0xa2, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x78, 0x6c, 0x61, 0x44, + 0x75, 0x6d, 0x70, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, + 0x73, 0x12, 0x50, 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x76, 0x65, 0x72, + 0x69, 0x66, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x73, 0x18, 0xa3, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x20, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, + 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x65, 0x72, + 0x69, 0x63, 0x73, 0x12, 0x40, 0x0a, 0x1d, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x64, + 0x75, 0x6d, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x5f, 0x6c, 0x6f, 0x67, + 0x73, 0x5f, 0x74, 0x6f, 0x18, 0xa4, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x78, 0x6c, 0x61, + 0x47, 0x70, 0x75, 0x44, 0x75, 0x6d, 0x70, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x4c, + 0x6f, 0x67, 0x73, 0x54, 0x6f, 0x12, 0x50, 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x72, 0x65, 0x64, + 0x75, 0x63, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0xa5, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x20, 0x78, 0x6c, 0x61, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, + 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0x61, 0x73, + 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x50, 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x67, + 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, + 0x18, 0xa8, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4f, + 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x4f, 0x0a, 0x24, 0x78, 0x6c, 0x61, + 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, + 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x6f, 0x70, + 0x73, 0x18, 0xa9, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, + 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x6f, 0x6e, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x4f, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x1f, 0x78, 0x6c, + 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6e, 0x63, 0x63, 0x6c, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xad, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4e, 0x63, 0x63, 0x6c, + 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x12, 0x38, 0x0a, 0x18, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x73, 0x68, 0x61, 0x72, + 0x64, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0xb0, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x15, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x53, 0x68, 0x61, 0x72, 0x64, + 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x56, 0x0a, 0x28, 0x78, 0x6c, + 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x70, 0x70, + 0x72, 0x6f, 0x78, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0xb1, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x23, 0x78, + 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, + 0x78, 0x43, 0x6f, 0x73, 0x74, 0x6c, 0x79, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6b, 0x65, + 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, + 0xb2, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x4b, 0x65, + 0x72, 0x6e, 0x65, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x54, 0x0a, + 0x27, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x75, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x5f, + 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x18, 0xb5, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x22, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x55, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x50, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x70, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x4f, 0x0a, 0x25, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x70, + 0x65, 0x72, 0x5f, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, + 0x6e, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0xb6, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x50, 0x65, 0x72, 0x46, 0x75, + 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x44, 0x69, 0x72, 0x12, 0x44, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x63, 0x6d, 0x64, 0x5f, + 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x61, 0x63, + 0x68, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0xb7, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, + 0x78, 0x6c, 0x61, 0x43, 0x6d, 0x64, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x63, + 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x51, 0x0a, 0x26, 0x78, 0x6c, + 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0xb8, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x78, 0x6c, 0x61, + 0x47, 0x70, 0x75, 0x54, 0x65, 0x6d, 0x70, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55, 0x73, 0x65, + 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x58, 0x0a, + 0x29, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, + 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x61, + 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0xba, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x24, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x61, 0x6c, 0x6c, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x73, + 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x73, 0x75, 0x67, 0x61, 0x72, 0x5f, 0x61, 0x73, 0x79, 0x6e, + 0x63, 0x5f, 0x6f, 0x70, 0x73, 0x18, 0xbb, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x78, 0x6c, + 0x61, 0x53, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x53, 0x75, 0x67, 0x61, 0x72, 0x41, 0x73, 0x79, 0x6e, + 0x63, 0x4f, 0x70, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, + 0x61, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x5f, 0x72, 0x74, + 0x6f, 0x6c, 0x18, 0xbc, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x47, 0x70, + 0x75, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x47, 0x65, 0x6d, 0x6d, 0x52, 0x74, 0x6f, + 0x6c, 0x12, 0x5c, 0x0a, 0x2b, 0x78, 0x6c, 0x61, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x5f, + 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, + 0x18, 0xbd, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x26, 0x78, 0x6c, 0x61, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, + 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x12, + 0x3e, 0x0a, 0x1c, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x75, 0x64, 0x6e, 0x6e, + 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x18, + 0xbe, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x43, 0x75, + 0x64, 0x6e, 0x6e, 0x47, 0x65, 0x6d, 0x6d, 0x4d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x12, + 0x3e, 0x0a, 0x1b, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x6c, 0x69, 0x62, 0x6e, 0x76, 0x6a, 0x69, 0x74, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0xbf, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x62, 0x6e, 0x76, 0x6a, 0x69, 0x74, 0x6c, 0x69, 0x6e, 0x6b, 0x12, + 0x44, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x5f, 0x67, 0x65, 0x6d, 0x6d, 0x5f, 0x69, 0x6e, + 0x74, 0x34, 0x18, 0xc0, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x78, 0x6c, 0x61, 0x47, 0x70, + 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x74, 0x6f, 0x6e, 0x47, 0x65, 0x6d, + 0x6d, 0x49, 0x6e, 0x74, 0x34, 0x12, 0x2a, 0x0a, 0x11, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, + 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x64, 0x6f, 0x74, 0x18, 0xc1, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0e, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x44, 0x6f, + 0x74, 0x12, 0x4e, 0x0a, 0x24, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, + 0x79, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x18, 0xc6, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x1f, 0x78, 0x6c, 0x61, 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x67, + 0x6c, 0x65, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, + 0x72, 0x12, 0x5f, 0x0a, 0x2d, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x5f, 0x73, 0x74, 0x75, + 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x73, 0x18, 0xc7, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x27, 0x78, 0x6c, 0x61, 0x47, 0x70, + 0x75, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x61, 0x72, 0x6e, 0x53, + 0x74, 0x75, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x73, 0x12, 0x5e, 0x0a, 0x2c, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, + 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x73, 0x18, 0xc8, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x27, 0x78, 0x6c, 0x61, 0x47, 0x70, + 0x75, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x73, 0x12, 0x4b, 0x0a, 0x22, 0x78, 0x6c, 0x61, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0xca, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x1e, 0x78, 0x6c, 0x61, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, + 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, + 0x44, 0x0a, 0x1f, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x64, 0x6f, 0x74, 0x5f, 0x6d, + 0x65, 0x72, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, + 0x6d, 0x62, 0x18, 0xcb, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1a, 0x78, 0x6c, 0x61, 0x47, 0x70, + 0x75, 0x44, 0x6f, 0x74, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x72, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x4d, 0x62, 0x12, 0x5c, 0x0a, 0x2b, 0x78, 0x6c, 0x61, 0x5f, 0x67, 0x70, 0x75, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x65, 0x75, 0x72, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xcc, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x26, 0x78, 0x6c, 0x61, + 0x47, 0x70, 0x75, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x65, 0x75, 0x72, 0x69, 0x73, 0x74, + 0x69, 0x63, 0x50, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x19, 0x78, 0x6c, 0x61, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0xf4, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x58, 0x6c, 0x61, 0x42, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x78, 0x6c, 0x61, 0x42, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x49, + 0x0a, 0x1b, 0x58, 0x6c, 0x61, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x45, 0x78, 0x74, 0x72, + 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 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, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x38, 0x0a, 0x0b, 0x53, 0x68, 0x61, + 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x47, 0x4e, 0x4f, + 0x52, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, + 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x5f, 0x54, 0x49, 0x4d, + 0x45, 0x10, 0x02, 0x22, 0x91, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x65, 0x70, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, + 0x45, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, + 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x54, 0x45, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, + 0x41, 0x54, 0x5f, 0x54, 0x4f, 0x50, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, 0x48, 0x49, + 0x4c, 0x45, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x54, 0x45, + 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x41, 0x54, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, + 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, 0x48, 0x49, 0x4c, 0x45, 0x5f, 0x4c, 0x4f, 0x4f, + 0x50, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x45, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, + 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x22, 0x8b, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, + 0x4e, 0x4f, 0x4f, 0x50, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4c, 0x4c, 0x52, 0x45, 0x44, + 0x55, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4c, 0x4c, 0x47, 0x41, 0x54, 0x48, + 0x45, 0x52, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x53, 0x43, + 0x41, 0x54, 0x54, 0x45, 0x52, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4c, 0x4c, 0x45, + 0x43, 0x54, 0x49, 0x56, 0x45, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x10, 0x04, + 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x4c, 0x4c, 0x54, 0x4f, 0x41, 0x4c, 0x4c, 0x10, 0x05, 0x12, 0x15, + 0x0a, 0x11, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, 0x50, 0x45, 0x52, 0x4d, + 0x55, 0x54, 0x45, 0x10, 0x06, 0x22, 0x88, 0x01, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, + 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x46, + 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x42, 0x4c, 0x41, + 0x53, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x55, 0x44, 0x4e, 0x4e, 0x10, 0x03, 0x12, 0x0f, + 0x0a, 0x0b, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, 0x53, 0x10, 0x04, 0x12, + 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x53, 0x10, + 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x43, 0x41, 0x4c, 0x4c, + 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x55, 0x42, 0x4c, 0x41, 0x53, 0x4c, 0x54, 0x10, 0x07, + 0x22, 0x9b, 0x01, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, + 0x67, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x41, + 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x4c, 0x47, 0x4f, 0x52, + 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x4e, 0x4f, 0x4f, 0x50, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x4c, 0x47, 0x4f, + 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x45, 0x58, 0x50, 0x30, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x4c, 0x47, - 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x4e, 0x4f, 0x4f, 0x50, 0x10, 0x00, 0x12, 0x1f, 0x0a, + 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x45, 0x58, 0x50, 0x31, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x4c, - 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x45, 0x58, 0x50, 0x30, 0x10, 0x01, 0x12, 0x1f, - 0x0a, 0x1b, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x41, - 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x45, 0x58, 0x50, 0x31, 0x10, 0x02, 0x12, - 0x1f, 0x0a, 0x1b, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x5f, - 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x45, 0x58, 0x50, 0x32, 0x10, 0x03, - 0x22, 0x86, 0x01, 0x0a, 0x12, 0x57, 0x68, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x55, 0x6e, - 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x1e, 0x57, 0x48, 0x49, 0x4c, 0x45, + 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x45, 0x58, 0x50, 0x32, 0x10, 0x03, 0x22, 0xac, + 0x01, 0x0a, 0x12, 0x57, 0x68, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x55, 0x6e, 0x72, 0x6f, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x1e, 0x57, 0x48, 0x49, 0x4c, 0x45, 0x5f, 0x4c, + 0x4f, 0x4f, 0x50, 0x5f, 0x55, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, + 0x5f, 0x55, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x57, 0x48, 0x49, + 0x4c, 0x45, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x55, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x49, 0x4e, + 0x47, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x42, 0x55, 0x46, 0x46, 0x45, 0x52, 0x10, + 0x01, 0x12, 0x24, 0x0a, 0x20, 0x57, 0x48, 0x49, 0x4c, 0x45, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, + 0x55, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x55, + 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x57, 0x48, 0x49, 0x4c, 0x45, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x55, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, - 0x4e, 0x4f, 0x5f, 0x55, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x57, - 0x48, 0x49, 0x4c, 0x45, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x55, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, - 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x42, 0x55, 0x46, 0x46, 0x45, - 0x52, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x57, 0x48, 0x49, 0x4c, 0x45, 0x5f, 0x4c, 0x4f, 0x4f, - 0x50, 0x5f, 0x55, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x55, 0x4c, 0x4c, - 0x5f, 0x55, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x10, 0x02, 0x22, 0x76, 0x0a, 0x11, 0x41, 0x75, 0x74, - 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x23, - 0x0a, 0x1f, 0x41, 0x55, 0x54, 0x4f, 0x54, 0x55, 0x4e, 0x45, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x55, 0x54, 0x4f, 0x54, 0x55, 0x4e, 0x45, 0x5f, - 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, - 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x55, 0x54, 0x4f, 0x54, 0x55, 0x4e, 0x45, 0x5f, - 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, - 0x02, 0x4a, 0x04, 0x08, 0x3f, 0x10, 0x40, 0x4a, 0x06, 0x08, 0x86, 0x01, 0x10, 0x87, 0x01, 0x4a, - 0x04, 0x08, 0x50, 0x10, 0x51, 0x4a, 0x04, 0x08, 0x5d, 0x10, 0x5e, 0x4a, 0x04, 0x08, 0x5e, 0x10, - 0x5f, 0x4a, 0x06, 0x08, 0xb1, 0x01, 0x10, 0xb2, 0x01, 0x4a, 0x04, 0x08, 0x62, 0x10, 0x63, 0x4a, - 0x06, 0x08, 0xcf, 0x01, 0x10, 0xd0, 0x01, 0x4a, 0x06, 0x08, 0xab, 0x01, 0x10, 0xac, 0x01, 0x4a, - 0x06, 0x08, 0xad, 0x01, 0x10, 0xae, 0x01, 0x4a, 0x06, 0x08, 0xb3, 0x01, 0x10, 0xb4, 0x01, 0x4a, - 0x06, 0x08, 0x82, 0x01, 0x10, 0x83, 0x01, 0x4a, 0x06, 0x08, 0x8f, 0x01, 0x10, 0x90, 0x01, 0x4a, - 0x06, 0x08, 0x98, 0x01, 0x10, 0x99, 0x01, 0x4a, 0x06, 0x08, 0x96, 0x02, 0x10, 0x97, 0x02, 0x4a, - 0x06, 0x08, 0xb7, 0x01, 0x10, 0xb8, 0x01, 0x4a, 0x06, 0x08, 0xc7, 0x01, 0x10, 0xc8, 0x01, 0x4a, - 0x06, 0x08, 0xc8, 0x01, 0x10, 0xc9, 0x01, 0x4a, 0x06, 0x08, 0xc9, 0x01, 0x10, 0xca, 0x01, 0x4a, - 0x06, 0x08, 0xee, 0x01, 0x10, 0xef, 0x01, 0x4a, 0x06, 0x08, 0x9e, 0x01, 0x10, 0x9f, 0x01, 0x4a, - 0x06, 0x08, 0xab, 0x02, 0x10, 0xac, 0x02, 0x4a, 0x06, 0x08, 0xa1, 0x01, 0x10, 0xa2, 0x01, 0x4a, - 0x06, 0x08, 0xa2, 0x01, 0x10, 0xa3, 0x01, 0x4a, 0x06, 0x08, 0xa9, 0x01, 0x10, 0xaa, 0x01, 0x4a, - 0x06, 0x08, 0xe9, 0x01, 0x10, 0xea, 0x01, 0x4a, 0x06, 0x08, 0xea, 0x01, 0x10, 0xeb, 0x01, 0x4a, - 0x06, 0x08, 0xca, 0x01, 0x10, 0xcb, 0x01, 0x4a, 0x06, 0x08, 0xe6, 0x01, 0x10, 0xe7, 0x01, 0x4a, - 0x06, 0x08, 0xa8, 0x01, 0x10, 0xa9, 0x01, 0x4a, 0x06, 0x08, 0xac, 0x01, 0x10, 0xad, 0x01, 0x4a, - 0x06, 0x08, 0xd3, 0x01, 0x10, 0xd4, 0x01, 0x4a, 0x06, 0x08, 0x93, 0x02, 0x10, 0x94, 0x02, 0x4a, - 0x06, 0x08, 0x99, 0x02, 0x10, 0x9a, 0x02, 0x4a, 0x06, 0x08, 0x9a, 0x02, 0x10, 0x9b, 0x02, 0x4a, - 0x06, 0x08, 0xae, 0x02, 0x10, 0xaf, 0x02, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, - 0x75, 0x10, 0x76, 0x4a, 0x06, 0x08, 0x85, 0x01, 0x10, 0x86, 0x01, 0x4a, 0x06, 0x08, 0x8b, 0x01, - 0x10, 0x8c, 0x01, 0x4a, 0x06, 0x08, 0xb0, 0x01, 0x10, 0xb1, 0x01, 0x4a, 0x06, 0x08, 0xb2, 0x01, - 0x10, 0xb3, 0x01, 0x4a, 0x06, 0x08, 0xb4, 0x01, 0x10, 0xb5, 0x01, 0x4a, 0x06, 0x08, 0xc1, 0x01, - 0x10, 0xc2, 0x01, 0x4a, 0x06, 0x08, 0xd6, 0x01, 0x10, 0xd7, 0x01, 0x4a, 0x06, 0x08, 0xc2, 0x01, - 0x10, 0xc3, 0x01, 0x4a, 0x06, 0x08, 0xf2, 0x01, 0x10, 0xf3, 0x01, 0x4a, 0x06, 0x08, 0xce, 0x01, - 0x10, 0xcf, 0x01, 0x22, 0x3a, 0x0a, 0x19, 0x47, 0x70, 0x75, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x22, - 0xb7, 0x01, 0x0a, 0x1d, 0x53, 0x68, 0x61, 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x69, 0x72, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x14, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x13, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x53, 0x68, 0x61, 0x70, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2c, 0x0a, 0x12, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, - 0x68, 0x61, 0x70, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xc1, 0x0a, 0x0a, 0x10, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x48, - 0x0a, 0x18, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0f, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x52, 0x15, 0x73, 0x68, 0x61, 0x70, 0x65, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x65, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x0d, - 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x64, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x0e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, - 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x52, - 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x12, 0x21, - 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x73, 0x12, 0x47, 0x0a, 0x11, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, - 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x10, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x6c, - 0x69, 0x61, 0x73, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x61, 0x6c, - 0x69, 0x61, 0x73, 0x50, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6e, 0x75, - 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, - 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x5f, + 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x55, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x10, 0x03, 0x22, 0x76, 0x0a, + 0x11, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x75, 0x6e, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x55, 0x54, 0x4f, 0x54, 0x55, 0x4e, 0x45, 0x5f, 0x43, + 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x55, 0x54, 0x4f, 0x54, + 0x55, 0x4e, 0x45, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, + 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x55, 0x54, 0x4f, 0x54, + 0x55, 0x4e, 0x45, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, + 0x45, 0x41, 0x44, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x3f, 0x10, 0x40, 0x4a, 0x06, 0x08, 0x86, 0x01, + 0x10, 0x87, 0x01, 0x4a, 0x04, 0x08, 0x50, 0x10, 0x51, 0x4a, 0x04, 0x08, 0x5d, 0x10, 0x5e, 0x4a, + 0x04, 0x08, 0x5e, 0x10, 0x5f, 0x4a, 0x06, 0x08, 0xb1, 0x01, 0x10, 0xb2, 0x01, 0x4a, 0x04, 0x08, + 0x62, 0x10, 0x63, 0x4a, 0x06, 0x08, 0xcf, 0x01, 0x10, 0xd0, 0x01, 0x4a, 0x06, 0x08, 0xab, 0x01, + 0x10, 0xac, 0x01, 0x4a, 0x06, 0x08, 0xad, 0x01, 0x10, 0xae, 0x01, 0x4a, 0x06, 0x08, 0xb3, 0x01, + 0x10, 0xb4, 0x01, 0x4a, 0x06, 0x08, 0x82, 0x01, 0x10, 0x83, 0x01, 0x4a, 0x06, 0x08, 0x8f, 0x01, + 0x10, 0x90, 0x01, 0x4a, 0x06, 0x08, 0x98, 0x01, 0x10, 0x99, 0x01, 0x4a, 0x06, 0x08, 0x96, 0x02, + 0x10, 0x97, 0x02, 0x4a, 0x06, 0x08, 0xb7, 0x01, 0x10, 0xb8, 0x01, 0x4a, 0x06, 0x08, 0xc7, 0x01, + 0x10, 0xc8, 0x01, 0x4a, 0x06, 0x08, 0xc8, 0x01, 0x10, 0xc9, 0x01, 0x4a, 0x06, 0x08, 0xc9, 0x01, + 0x10, 0xca, 0x01, 0x4a, 0x06, 0x08, 0xee, 0x01, 0x10, 0xef, 0x01, 0x4a, 0x06, 0x08, 0x9e, 0x01, + 0x10, 0x9f, 0x01, 0x4a, 0x06, 0x08, 0xab, 0x02, 0x10, 0xac, 0x02, 0x4a, 0x06, 0x08, 0xa1, 0x01, + 0x10, 0xa2, 0x01, 0x4a, 0x06, 0x08, 0xa2, 0x01, 0x10, 0xa3, 0x01, 0x4a, 0x06, 0x08, 0xa9, 0x01, + 0x10, 0xaa, 0x01, 0x4a, 0x06, 0x08, 0xe9, 0x01, 0x10, 0xea, 0x01, 0x4a, 0x06, 0x08, 0xea, 0x01, + 0x10, 0xeb, 0x01, 0x4a, 0x06, 0x08, 0xca, 0x01, 0x10, 0xcb, 0x01, 0x4a, 0x06, 0x08, 0xe6, 0x01, + 0x10, 0xe7, 0x01, 0x4a, 0x06, 0x08, 0xa8, 0x01, 0x10, 0xa9, 0x01, 0x4a, 0x06, 0x08, 0xac, 0x01, + 0x10, 0xad, 0x01, 0x4a, 0x06, 0x08, 0xd3, 0x01, 0x10, 0xd4, 0x01, 0x4a, 0x06, 0x08, 0xdc, 0x01, + 0x10, 0xdd, 0x01, 0x4a, 0x06, 0x08, 0x9e, 0x02, 0x10, 0x9f, 0x02, 0x4a, 0x06, 0x08, 0x93, 0x02, + 0x10, 0x94, 0x02, 0x4a, 0x06, 0x08, 0x99, 0x02, 0x10, 0x9a, 0x02, 0x4a, 0x06, 0x08, 0x9a, 0x02, + 0x10, 0x9b, 0x02, 0x4a, 0x06, 0x08, 0xae, 0x02, 0x10, 0xaf, 0x02, 0x4a, 0x04, 0x08, 0x05, 0x10, + 0x06, 0x4a, 0x04, 0x08, 0x75, 0x10, 0x76, 0x4a, 0x06, 0x08, 0x85, 0x01, 0x10, 0x86, 0x01, 0x4a, + 0x06, 0x08, 0x8b, 0x01, 0x10, 0x8c, 0x01, 0x4a, 0x06, 0x08, 0xb0, 0x01, 0x10, 0xb1, 0x01, 0x4a, + 0x06, 0x08, 0xb2, 0x01, 0x10, 0xb3, 0x01, 0x4a, 0x06, 0x08, 0xb4, 0x01, 0x10, 0xb5, 0x01, 0x4a, + 0x06, 0x08, 0xc1, 0x01, 0x10, 0xc2, 0x01, 0x4a, 0x06, 0x08, 0xd6, 0x01, 0x10, 0xd7, 0x01, 0x4a, + 0x06, 0x08, 0xc2, 0x01, 0x10, 0xc3, 0x01, 0x4a, 0x06, 0x08, 0xf2, 0x01, 0x10, 0xf3, 0x01, 0x4a, + 0x06, 0x08, 0xce, 0x01, 0x10, 0xcf, 0x01, 0x22, 0x3a, 0x0a, 0x19, 0x47, 0x70, 0x75, 0x43, 0x6f, + 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x66, 0x6c, + 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x46, + 0x6c, 0x61, 0x67, 0x22, 0xb7, 0x01, 0x0a, 0x1d, 0x53, 0x68, 0x61, 0x72, 0x64, 0x61, 0x62, 0x6c, + 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x69, 0x72, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x13, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x70, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x2c, 0x0a, 0x12, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x10, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x53, 0x68, 0x61, 0x70, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xc1, 0x0a, + 0x0a, 0x10, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x48, 0x0a, 0x18, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, + 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x70, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x15, 0x73, 0x68, 0x61, 0x70, 0x65, 0x57, 0x69, 0x74, 0x68, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x65, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, + 0x12, 0x36, 0x0a, 0x0d, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x64, 0x65, 0x62, 0x75, + 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x0e, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x48, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x52, 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x47, 0x0a, 0x11, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x10, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x38, + 0x0a, 0x18, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, + 0x75, 0x67, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x16, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x50, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, + 0x67, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, + 0x75, 0x73, 0x65, 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x75, 0x73, 0x65, + 0x53, 0x70, 0x6d, 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, + 0x12, 0x3b, 0x0a, 0x1a, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x70, 0x6d, + 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x75, 0x73, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x70, 0x6d, + 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x48, 0x0a, + 0x21, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x73, 0x68, 0x61, + 0x70, 0x65, 0x18, 0x10, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1d, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x70, + 0x6d, 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x65, + 0x73, 0x68, 0x53, 0x68, 0x61, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x1f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, - 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x75, 0x73, 0x65, 0x53, 0x70, 0x6d, 0x64, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x1a, - 0x75, 0x73, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x17, 0x75, 0x73, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x70, 0x6d, 0x64, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x48, 0x0a, 0x21, 0x61, 0x75, 0x74, + 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x03, + 0x52, 0x1b, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x70, 0x6d, 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x68, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, + 0x0f, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x6c, 0x6f, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x48, 0x6c, 0x6f, 0x12, 0x5f, 0x0a, 0x2d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, + 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, + 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x08, 0x52, 0x28, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x6d, 0x64, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, + 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x57, 0x0a, 0x29, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, + 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x08, 0x52, 0x24, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x53, 0x70, 0x6d, 0x64, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, + 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x12, 0x56, 0x0a, 0x28, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x73, 0x5f, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x76, 0x69, 0x61, + 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x12, 0x20, 0x03, + 0x28, 0x08, 0x52, 0x24, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x73, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x56, 0x69, 0x61, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x20, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x5f, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x1d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, + 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, + 0x73, 0x12, 0x63, 0x0a, 0x1c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x72, + 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x53, 0x68, + 0x61, 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x61, 0x69, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x19, 0x73, 0x68, 0x61, + 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x64, 0x6f, 0x5f, 0x70, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x64, 0x6f, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x16, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x10, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x68, 0x61, + 0x72, 0x64, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x18, + 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x75, 0x73, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x79, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x0d, 0x10, + 0x0e, 0x22, 0x84, 0x15, 0x0a, 0x14, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x50, 0x0a, 0x18, 0x65, 0x6e, + 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, + 0x6c, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x53, 0x68, 0x61, 0x70, 0x65, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x16, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x65, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x49, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x56, 0x0a, 0x28, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x62, 0x72, 0x6f, 0x61, + 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x08, 0x52, 0x24, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, + 0x61, 0x73, 0x74, 0x56, 0x69, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x73, 0x12, 0x32, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x13, 0x75, 0x73, 0x65, 0x53, 0x70, 0x6d, 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x1a, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x10, - 0x20, 0x03, 0x28, 0x03, 0x52, 0x1d, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x70, 0x6d, 0x64, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x68, 0x53, 0x68, - 0x61, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x1f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x70, 0x6d, 0x64, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, - 0x73, 0x68, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1b, 0x61, 0x75, + 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x75, 0x73, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x70, 0x6d, 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, - 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x68, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x64, - 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x6c, 0x6f, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0e, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, - 0x6c, 0x6f, 0x12, 0x5f, 0x0a, 0x2d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x70, 0x6d, 0x64, - 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x08, 0x52, 0x28, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x53, 0x70, 0x6d, 0x64, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x70, - 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x12, 0x57, 0x0a, 0x29, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x70, 0x6d, - 0x64, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x61, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x18, 0x0e, 0x20, 0x03, 0x28, 0x08, 0x52, 0x24, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x6d, - 0x64, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x56, 0x0a, 0x28, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x62, - 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x63, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x08, 0x52, 0x24, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x42, 0x72, 0x6f, - 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x56, 0x69, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x65, - 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, - 0x72, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x63, 0x0a, - 0x1c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x14, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x61, - 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, - 0x69, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x19, 0x73, 0x68, 0x61, 0x72, 0x64, 0x61, 0x62, - 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x69, - 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x64, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x64, 0x6f, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x10, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x34, 0x0a, 0x16, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x79, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x14, 0x75, 0x73, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x79, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x0d, 0x10, 0x0e, 0x22, 0x9f, 0x14, - 0x0a, 0x14, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x50, 0x0a, 0x18, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x79, 0x6f, - 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x53, 0x68, 0x61, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x52, 0x16, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, - 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x56, 0x0a, 0x28, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, - 0x74, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x08, 0x52, 0x24, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x56, - 0x69, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x32, 0x0a, - 0x15, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x75, 0x73, - 0x65, 0x53, 0x70, 0x6d, 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, - 0x67, 0x12, 0x3b, 0x0a, 0x1a, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x70, - 0x6d, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x75, 0x73, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x70, - 0x6d, 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x48, - 0x0a, 0x21, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x73, 0x68, - 0x61, 0x70, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1d, 0x61, 0x75, 0x74, 0x6f, 0x53, - 0x70, 0x6d, 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, - 0x65, 0x73, 0x68, 0x53, 0x68, 0x61, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x1f, 0x61, 0x75, 0x74, 0x6f, - 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, - 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, - 0x03, 0x52, 0x1b, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x70, 0x6d, 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x68, 0x49, 0x64, 0x73, 0x12, 0x27, - 0x0a, 0x0f, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x6c, - 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x48, 0x6c, 0x6f, 0x12, 0x3f, 0x0a, 0x1c, 0x69, 0x6e, 0x74, 0x72, 0x61, - 0x5f, 0x6f, 0x70, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x69, 0x73, 0x6d, 0x5f, - 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x69, - 0x6e, 0x74, 0x72, 0x61, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x69, 0x73, - 0x6d, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x0d, 0x64, 0x65, 0x62, - 0x75, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x64, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x54, 0x0a, 0x18, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, - 0x16, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x73, 0x73, - 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x5f, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69, - 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x1d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, - 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, - 0x12, 0x63, 0x0a, 0x1c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, - 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x53, 0x68, 0x61, - 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x61, 0x69, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x19, 0x73, 0x68, 0x61, 0x72, - 0x64, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x70, - 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x50, 0x61, - 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, - 0x49, 0x0a, 0x21, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x65, - 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x72, - 0x74, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x41, 0x77, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x6a, 0x0a, 0x18, 0x66, 0x75, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x78, + 0x6e, 0x67, 0x12, 0x48, 0x0a, 0x21, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, + 0x68, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1d, 0x61, + 0x75, 0x74, 0x6f, 0x53, 0x70, 0x6d, 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x68, 0x53, 0x68, 0x61, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x1f, + 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1b, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x70, 0x6d, 0x64, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x68, 0x49, + 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x5f, 0x68, 0x6c, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x65, 0x64, + 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x6c, 0x6f, 0x12, 0x3f, 0x0a, 0x1c, 0x69, + 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6f, 0x70, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, + 0x69, 0x73, 0x6d, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x19, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, + 0x65, 0x6c, 0x69, 0x73, 0x6d, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, + 0x0d, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x64, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x54, 0x0a, 0x18, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x52, 0x16, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x44, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x63, 0x0a, 0x20, 0x70, + 0x72, 0x65, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x52, 0x1d, 0x70, 0x72, 0x65, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x47, 0x0a, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, + 0x74, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x67, + 0x72, 0x61, 0x6d, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x63, 0x0a, 0x1c, 0x73, 0x68, 0x61, + 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x69, 0x72, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x52, 0x19, 0x73, 0x68, 0x61, 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x38, + 0x0a, 0x18, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, + 0x75, 0x67, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x16, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x50, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, + 0x67, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x49, 0x0a, 0x21, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x1e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x77, 0x61, 0x72, + 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x72, 0x74, + 0x69, 0x6e, 0x67, 0x12, 0x6a, 0x0a, 0x18, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, 0x6f, 0x4d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x47, 0x0a, 0x0d, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, 0x6f, + 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0c, 0x66, 0x75, 0x73, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x0a, 0x64, 0x6f, 0x74, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, - 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0d, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x0c, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x47, 0x0a, 0x0a, 0x64, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, - 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x64, - 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x0d, 0x6c, 0x61, 0x79, 0x6f, - 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0c, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x1e, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x17, 0x20, 0x03, 0x28, 0x04, 0x52, 0x1b, - 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x70, 0x61, 0x63, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x15, 0x70, - 0x68, 0x61, 0x73, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6c, 0x61, + 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x64, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x4c, 0x0a, 0x0d, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x48, + 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x0c, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x43, 0x0a, 0x1e, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, + 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x17, 0x20, 0x03, 0x28, 0x04, 0x52, 0x1b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, + 0x70, 0x61, 0x63, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x15, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x18, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, + 0x6f, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x13, 0x70, 0x68, 0x61, 0x73, 0x65, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, + 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x19, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x70, 0x68, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x5f, 0x0a, + 0x2d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x21, + 0x20, 0x03, 0x28, 0x08, 0x52, 0x28, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x6d, 0x64, 0x53, + 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x57, + 0x0a, 0x29, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x70, 0x6d, 0x64, 0x5f, 0x73, 0x68, 0x61, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x1b, 0x20, 0x03, 0x28, + 0x08, 0x52, 0x24, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x6d, 0x64, 0x53, 0x68, 0x61, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x6f, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x69, 0x0a, 0x16, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x61, + 0x70, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, + 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x61, 0x6e, 0x63, 0x65, 0x4d, + 0x61, 0x70, 0x12, 0x61, 0x0a, 0x1d, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x5f, 0x75, 0x6e, 0x69, + 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x78, 0x6c, 0x61, 0x2e, + 0x50, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x50, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x6d, 0x61, 0x74, 0x72, 0x69, + 0x78, 0x55, 0x6e, 0x69, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x50, 0x72, 0x65, 0x63, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x64, 0x6f, 0x5f, 0x70, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x64, 0x6f, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x20, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x10, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, + 0x64, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x18, 0x22, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x75, 0x73, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x79, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x1a, 0x1e, 0x0a, 0x08, 0x42, 0x6f, + 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x08, 0x52, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x1a, 0x1f, 0x0a, 0x09, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x1a, 0x4a, 0x0a, 0x0d, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, + 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x6c, + 0x61, 0x2e, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x05, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x1a, 0x61, 0x0a, 0x0e, 0x44, 0x6f, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 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, 0x39, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x13, - 0x70, 0x68, 0x61, 0x73, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x68, 0x61, 0x73, 0x65, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x5f, 0x0a, 0x2d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x70, - 0x6d, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x70, - 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x08, 0x52, 0x28, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x53, 0x70, 0x6d, 0x64, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, - 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x57, 0x0a, 0x29, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, - 0x70, 0x6d, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, - 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x24, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, - 0x70, 0x6d, 0x64, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x70, 0x61, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x69, - 0x0a, 0x16, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, - 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, - 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x14, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x61, 0x0a, 0x1d, 0x6d, 0x61, 0x74, - 0x72, 0x69, 0x78, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, - 0x5f, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1e, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x1a, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x55, 0x6e, 0x69, 0x74, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x6e, 0x64, 0x50, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, - 0x66, 0x64, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0a, 0x66, 0x64, 0x6f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2c, 0x0a, - 0x12, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x75, - 0x73, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x18, 0x22, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x75, 0x73, 0x65, - 0x53, 0x68, 0x61, 0x72, 0x64, 0x79, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, - 0x72, 0x1a, 0x1e, 0x0a, 0x08, 0x42, 0x6f, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x08, 0x52, 0x04, 0x76, 0x61, 0x6c, - 0x73, 0x1a, 0x1f, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x04, 0x76, 0x61, - 0x6c, 0x73, 0x1a, 0x4a, 0x0a, 0x0d, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x1a, 0x61, - 0x0a, 0x0e, 0x44, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 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, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x1a, 0x47, 0x0a, 0x19, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x70, 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, 0x03, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3d, 0x0a, 0x16, 0x46, 0x75, - 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0x00, 0x12, 0x0c, 0x0a, - 0x08, 0x50, 0x45, 0x52, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x50, - 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1b, 0x22, - 0x81, 0x01, 0x0a, 0x18, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x0a, - 0x68, 0x6c, 0x6f, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x68, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x22, 0xec, 0x02, 0x0a, 0x0d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x42, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x6c, - 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x69, 0x6e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x32, 0x0a, 0x0a, 0x68, 0x6c, 0x6f, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x68, 0x6c, 0x6f, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x50, 0x65, 0x72, 0x4d, - 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x1a, 0x85, 0x01, 0x0a, 0x0b, 0x49, - 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x63, 0x79, - 0x63, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x14, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x73, - 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, - 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x43, 0x79, 0x63, 0x6c, - 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x47, 0x0a, 0x19, 0x41, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x61, 0x6e, 0x63, 0x65, 0x4d, + 0x61, 0x70, 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, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x3d, 0x0a, 0x16, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x07, 0x0a, + 0x03, 0x4f, 0x46, 0x46, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x45, 0x52, 0x5f, 0x45, 0x44, + 0x47, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, + 0x10, 0x02, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1b, 0x22, 0x81, 0x01, 0x0a, 0x18, 0x48, 0x6c, 0x6f, + 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x0a, 0x68, 0x6c, 0x6f, 0x5f, 0x6d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x6c, 0x61, 0x2e, + 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, + 0x68, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x6c, 0x61, 0x2e, + 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xec, 0x02, 0x0a, + 0x0d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x42, + 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x6c, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x0a, 0x68, 0x6c, 0x6f, + 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x78, 0x6c, 0x61, 0x2e, 0x48, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x52, 0x09, 0x68, 0x6c, 0x6f, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x34, 0x0a, + 0x16, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x63, 0x72, + 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x63, + 0x79, 0x63, 0x6c, 0x65, 0x73, 0x50, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x1a, 0x85, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x14, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -4944,25 +5066,26 @@ var file_xla_xla_proto_depIdxs = []int32{ 27, // 14: xla.HloModuleConfigProto.entry_computation_layout:type_name -> xla.ProgramShapeProto 9, // 15: xla.HloModuleConfigProto.debug_options:type_name -> xla.DebugOptions 26, // 16: xla.HloModuleConfigProto.static_device_assignment:type_name -> xla.DeviceAssignmentProto - 11, // 17: xla.HloModuleConfigProto.shardable_value_update_pairs:type_name -> xla.ShardableValueUpdatePairProto - 7, // 18: xla.HloModuleConfigProto.fusion_config_collection:type_name -> xla.HloModuleConfigProto.FusionConfigCollection - 17, // 19: xla.HloModuleConfigProto.fusion_config:type_name -> xla.HloModuleConfigProto.BoolList - 20, // 20: xla.HloModuleConfigProto.dot_config:type_name -> xla.HloModuleConfigProto.DotConfigEntry - 19, // 21: xla.HloModuleConfigProto.layout_config:type_name -> xla.HloModuleConfigProto.Int64ListList - 17, // 22: xla.HloModuleConfigProto.phase_ordering_config:type_name -> xla.HloModuleConfigProto.BoolList - 21, // 23: xla.HloModuleConfigProto.analysis_allowance_map:type_name -> xla.HloModuleConfigProto.AnalysisAllowanceMapEntry - 28, // 24: xla.HloModuleConfigProto.matrix_unit_operand_precision:type_name -> xla.PrecisionConfig.Precision - 29, // 25: xla.HloModuleProtoWithConfig.hlo_module:type_name -> xla.HloModuleProto - 13, // 26: xla.HloModuleProtoWithConfig.config:type_name -> xla.HloModuleConfigProto - 22, // 27: xla.ScheduleProto.instructions:type_name -> xla.ScheduleProto.Instruction - 29, // 28: xla.ScheduleProto.hlo_module:type_name -> xla.HloModuleProto - 18, // 29: xla.HloModuleConfigProto.Int64ListList.lists:type_name -> xla.HloModuleConfigProto.Int64List - 18, // 30: xla.HloModuleConfigProto.DotConfigEntry.value:type_name -> xla.HloModuleConfigProto.Int64List - 31, // [31:31] is the sub-list for method output_type - 31, // [31:31] is the sub-list for method input_type - 31, // [31:31] is the sub-list for extension type_name - 31, // [31:31] is the sub-list for extension extendee - 0, // [0:31] is the sub-list for field type_name + 26, // 17: xla.HloModuleConfigProto.pre_simulation_device_assignment:type_name -> xla.DeviceAssignmentProto + 11, // 18: xla.HloModuleConfigProto.shardable_value_update_pairs:type_name -> xla.ShardableValueUpdatePairProto + 7, // 19: xla.HloModuleConfigProto.fusion_config_collection:type_name -> xla.HloModuleConfigProto.FusionConfigCollection + 17, // 20: xla.HloModuleConfigProto.fusion_config:type_name -> xla.HloModuleConfigProto.BoolList + 20, // 21: xla.HloModuleConfigProto.dot_config:type_name -> xla.HloModuleConfigProto.DotConfigEntry + 19, // 22: xla.HloModuleConfigProto.layout_config:type_name -> xla.HloModuleConfigProto.Int64ListList + 17, // 23: xla.HloModuleConfigProto.phase_ordering_config:type_name -> xla.HloModuleConfigProto.BoolList + 21, // 24: xla.HloModuleConfigProto.analysis_allowance_map:type_name -> xla.HloModuleConfigProto.AnalysisAllowanceMapEntry + 28, // 25: xla.HloModuleConfigProto.matrix_unit_operand_precision:type_name -> xla.PrecisionConfig.Precision + 29, // 26: xla.HloModuleProtoWithConfig.hlo_module:type_name -> xla.HloModuleProto + 13, // 27: xla.HloModuleProtoWithConfig.config:type_name -> xla.HloModuleConfigProto + 22, // 28: xla.ScheduleProto.instructions:type_name -> xla.ScheduleProto.Instruction + 29, // 29: xla.ScheduleProto.hlo_module:type_name -> xla.HloModuleProto + 18, // 30: xla.HloModuleConfigProto.Int64ListList.lists:type_name -> xla.HloModuleConfigProto.Int64List + 18, // 31: xla.HloModuleConfigProto.DotConfigEntry.value:type_name -> xla.HloModuleConfigProto.Int64List + 32, // [32:32] is the sub-list for method output_type + 32, // [32:32] is the sub-list for method input_type + 32, // [32:32] is the sub-list for extension type_name + 32, // [32:32] is the sub-list for extension extendee + 0, // [0:32] is the sub-list for field type_name } func init() { file_xla_xla_proto_init() } diff --git a/xlabuilder/gen_op_types.go b/xlabuilder/gen_op_types.go index f0e8351..f2b6513 100644 --- a/xlabuilder/gen_op_types.go +++ b/xlabuilder/gen_op_types.go @@ -87,4 +87,6 @@ const ( DynamicSliceOp DynamicUpdateSliceOp ErfOp + IsFiniteOp + PopulationCountOp ) diff --git a/xlabuilder/gen_simple_ops.go b/xlabuilder/gen_simple_ops.go index 0904fcf..b93371f 100644 --- a/xlabuilder/gen_simple_ops.go +++ b/xlabuilder/gen_simple_ops.go @@ -766,3 +766,29 @@ func Erf(x *Op) (*Op, error) { } return y, nil } + +// IsFinite tests whether each element of operand is finite, i.e., is not positive or negative infinity, and is not NaN. +// It returns an array of boolean values with the same shape as the input, where each element is true if and only if +// the corresponding input element is finite. +// The op is created on the same XlaBuilder as used for x. +func IsFinite(x *Op) (*Op, error) { + builder := x.builder + y := newOp(IsFiniteOp, x) + err := builder.addOp(y) + if err != nil { + return nil, err + } + return y, nil +} + +// PopulationCount computes the number of bits set in each element of operand. +// The op is created on the same XlaBuilder as used for x. +func PopulationCount(x *Op) (*Op, error) { + builder := x.builder + y := newOp(PopulationCountOp, x) + err := builder.addOp(y) + if err != nil { + return nil, err + } + return y, nil +} diff --git a/xlabuilder/gen_simple_ops_test.go b/xlabuilder/gen_simple_ops_test.go index 2185c98..b3be86c 100644 --- a/xlabuilder/gen_simple_ops_test.go +++ b/xlabuilder/gen_simple_ops_test.go @@ -186,9 +186,16 @@ func TestSimpleOps(t *testing.T) { result, err = And(result, same) require.NoError(t, err, "Failed to build And operation") + result, err = IsFinite(x) + require.NoError(t, err, "Failed to build IsFinite operation") + require.Equal(t, dtypes.Bool, result.Shape.DType, "IsFinite should return booleans") + require.NoError(t, err, "Failed to build And operation") i, err = Clz(i) require.NoError(t, err, "Failed to build Clz operation") + + i, err = PopulationCount(i) + require.NoError(t, err, "Failed to build PopulationCount operation") same, err = Equal(i, i) require.NoError(t, err, "Failed to build Equal operation") diff --git a/xlabuilder/op_types.txt b/xlabuilder/op_types.txt index a7b39c5..b88408f 100644 --- a/xlabuilder/op_types.txt +++ b/xlabuilder/op_types.txt @@ -199,4 +199,12 @@ DynamicSlice:special DynamicUpdateSlice:special // Erf returns the "error function", defined as erf(x) = 2/Pi * \int_{0}^{x}{e^{-t^2}dt}. -Erf:one \ No newline at end of file +Erf:one + +// IsFinite tests whether each element of operand is finite, i.e., is not positive or negative infinity, and is not NaN. +// It returns an array of boolean values with the same shape as the input, where each element is true if and only if +// the corresponding input element is finite. +IsFinite:one + +// PopulationCount computes the number of bits set in each element of operand. +PopulationCount:one diff --git a/xlabuilder/optype_string.go b/xlabuilder/optype_string.go index dac3e26..3a0001e 100644 --- a/xlabuilder/optype_string.go +++ b/xlabuilder/optype_string.go @@ -89,11 +89,13 @@ func _() { _ = x[DynamicSliceOp-78] _ = x[DynamicUpdateSliceOp-79] _ = x[ErfOp-80] + _ = x[IsFiniteOp-81] + _ = x[PopulationCountOp-82] } -const _OpType_name = "InvalidOpParameterOpIotaOpConstantOpIdentityOpConvertDTypeOpWhereOpTupleOpGetTupleElementOpReshapeOpBroadcastOpBroadcastInDimOpTransposeOpCallOpReduceOpReduceWindowOpConcatenateOpSliceOpArgMinMaxOpPadOpGatherOpScatterOpSelectAndScatterOpConvGeneralDilatedOpReverseOpDotGeneralOpFftOpBatchNormTrainingOpBatchNormInferenceOpBatchNormGradOpRngBitGeneratorOpWhileOpAbsOpNegOpExpOpExpm1OpFloorOpCeilOpRoundOpLogOpLog1pOpLogicalNotOpLogisticOpSignOpClzOpCosOpSinOpTanhOpSqrtOpRsqrtOpImagOpRealOpConjOpAddOpMulOpSubOpDivOpRemOpAndOpOrOpXorOpDotOpMinOpMaxOpPowOpComplexOpEqualOpNotEqualOpGreaterOrEqualOpGreaterThanOpLessOrEqualOpLessThanOpEqualTotalOrderOpNotEqualTotalOrderOpGreaterOrEqualTotalOrderOpGreaterThanTotalOrderOpLessOrEqualTotalOrderOpLessThanTotalOrderOpDynamicSliceOpDynamicUpdateSliceOpErfOp" +const _OpType_name = "InvalidOpParameterOpIotaOpConstantOpIdentityOpConvertDTypeOpWhereOpTupleOpGetTupleElementOpReshapeOpBroadcastOpBroadcastInDimOpTransposeOpCallOpReduceOpReduceWindowOpConcatenateOpSliceOpArgMinMaxOpPadOpGatherOpScatterOpSelectAndScatterOpConvGeneralDilatedOpReverseOpDotGeneralOpFftOpBatchNormTrainingOpBatchNormInferenceOpBatchNormGradOpRngBitGeneratorOpWhileOpAbsOpNegOpExpOpExpm1OpFloorOpCeilOpRoundOpLogOpLog1pOpLogicalNotOpLogisticOpSignOpClzOpCosOpSinOpTanhOpSqrtOpRsqrtOpImagOpRealOpConjOpAddOpMulOpSubOpDivOpRemOpAndOpOrOpXorOpDotOpMinOpMaxOpPowOpComplexOpEqualOpNotEqualOpGreaterOrEqualOpGreaterThanOpLessOrEqualOpLessThanOpEqualTotalOrderOpNotEqualTotalOrderOpGreaterOrEqualTotalOrderOpGreaterThanTotalOrderOpLessOrEqualTotalOrderOpLessThanTotalOrderOpDynamicSliceOpDynamicUpdateSliceOpErfOpIsFiniteOpPopulationCountOp" -var _OpType_index = [...]uint16{0, 9, 20, 26, 36, 46, 60, 67, 74, 91, 100, 111, 127, 138, 144, 152, 166, 179, 186, 197, 202, 210, 219, 237, 257, 266, 278, 283, 302, 322, 337, 354, 361, 366, 371, 376, 383, 390, 396, 403, 408, 415, 427, 437, 443, 448, 453, 458, 464, 470, 477, 483, 489, 495, 500, 505, 510, 515, 520, 525, 529, 534, 539, 544, 549, 554, 563, 570, 580, 596, 609, 622, 632, 649, 669, 695, 718, 741, 761, 775, 795, 800} +var _OpType_index = [...]uint16{0, 9, 20, 26, 36, 46, 60, 67, 74, 91, 100, 111, 127, 138, 144, 152, 166, 179, 186, 197, 202, 210, 219, 237, 257, 266, 278, 283, 302, 322, 337, 354, 361, 366, 371, 376, 383, 390, 396, 403, 408, 415, 427, 437, 443, 448, 453, 458, 464, 470, 477, 483, 489, 495, 500, 505, 510, 515, 520, 525, 529, 534, 539, 544, 549, 554, 563, 570, 580, 596, 609, 622, 632, 649, 669, 695, 718, 741, 761, 775, 795, 800, 810, 827} func (i OpType) String() string { if i < 0 || i >= OpType(len(_OpType_index)-1) {