From 900267964a25accc0d2e77ab4bd032c95c0db540 Mon Sep 17 00:00:00 2001 From: Sarthak Nandi Date: Wed, 28 Aug 2024 13:37:09 -0700 Subject: [PATCH] Update grpc-gateway (#703) --- grpc-gateway/luceneserver.swagger.json | 52 + grpc-gateway/search.pb.go | 2672 +++++++++++++----------- 2 files changed, 1505 insertions(+), 1219 deletions(-) diff --git a/grpc-gateway/luceneserver.swagger.json b/grpc-gateway/luceneserver.swagger.json index 0cd1710b5..8e136a5ee 100644 --- a/grpc-gateway/luceneserver.swagger.json +++ b/grpc-gateway/luceneserver.swagger.json @@ -2228,6 +2228,9 @@ "lastScore": { "type": "number", "format": "float" + }, + "lastHitInfo": { + "$ref": "#/definitions/luceneserverLastHitInfo" } } }, @@ -3535,6 +3538,9 @@ "type": "integer", "format": "int32", "description": "Specifies the size to use for the TOP_TERMS* rewrite methods." + }, + "auto": { + "$ref": "#/definitions/FuzzyParamsAutoFuzziness" } }, "description": "A query that matches documents containing terms similar to the specified term." @@ -3952,6 +3958,26 @@ } } }, + "luceneserverLastHitInfo": { + "type": "object", + "properties": { + "lastFieldValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "lastDocId": { + "type": "integer", + "format": "int32" + }, + "lastScore": { + "type": "number", + "format": "float" + } + }, + "title": "Last Hit info for search after" + }, "luceneserverLiveSettingsRequest": { "type": "object", "properties": { @@ -4061,6 +4087,19 @@ } } }, + "luceneserverLoggingHits": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of the hits logger to be called, as registered by a HitsLoggerPlugin" + }, + "params": { + "type": "object", + "title": "Optional logging parameters" + } + } + }, "luceneserverMatchOperator": { "type": "string", "enum": [ @@ -4946,6 +4985,19 @@ "$ref": "#/definitions/luceneserverRuntimeField" }, "title": "Defines runtime fields for this query" + }, + "terminateAfterMaxRecallCount": { + "type": "integer", + "format": "int32", + "description": "Stop document collection in search phase after this many recalled documents, after terminateAfter docs will be counted but not scored upto terminateAfterMaxRecallCount." + }, + "loggingHits": { + "$ref": "#/definitions/luceneserverLoggingHits", + "title": "Any custom logging that should log hits after ranking" + }, + "searchAfter": { + "$ref": "#/definitions/luceneserverLastHitInfo", + "title": "Keeps tracks of last hit for search after" } } }, diff --git a/grpc-gateway/search.pb.go b/grpc-gateway/search.pb.go index 3fd287a7e..e73f0e933 100644 --- a/grpc-gateway/search.pb.go +++ b/grpc-gateway/search.pb.go @@ -826,7 +826,7 @@ func (x Script_ParamNullValue) Number() protoreflect.EnumNumber { // Deprecated: Use Script_ParamNullValue.Descriptor instead. func (Script_ParamNullValue) EnumDescriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{37, 0} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{38, 0} } // * How the {TotalHits#value} should be interpreted. @@ -875,7 +875,7 @@ func (x TotalHits_Relation) Number() protoreflect.EnumNumber { // Deprecated: Use TotalHits_Relation.Descriptor instead. func (TotalHits_Relation) EnumDescriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{41, 0} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{42, 0} } // Sorting order type @@ -922,7 +922,7 @@ func (x BucketOrder_OrderType) Number() protoreflect.EnumNumber { // Deprecated: Use BucketOrder_OrderType.Descriptor instead. func (BucketOrder_OrderType) EnumDescriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{61, 0} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{62, 0} } type Highlight_Type int32 @@ -976,7 +976,7 @@ func (x Highlight_Type) Number() protoreflect.EnumNumber { // Deprecated: Use Highlight_Type.Descriptor instead. func (Highlight_Type) EnumDescriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{65, 0} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{67, 0} } // A clause in a BooleanQuery. @@ -3150,7 +3150,8 @@ type FuzzyQuery struct { // Method used to rewrite the query. Rewrite RewriteMethod `protobuf:"varint,7,opt,name=rewrite,proto3,enum=luceneserver.RewriteMethod" json:"rewrite,omitempty"` // Specifies the size to use for the TOP_TERMS* rewrite methods. - RewriteTopTermsSize int32 `protobuf:"varint,8,opt,name=rewriteTopTermsSize,proto3" json:"rewriteTopTermsSize,omitempty"` + RewriteTopTermsSize int32 `protobuf:"varint,8,opt,name=rewriteTopTermsSize,proto3" json:"rewriteTopTermsSize,omitempty"` + Auto *FuzzyParams_AutoFuzziness `protobuf:"bytes,9,opt,name=auto,proto3" json:"auto,omitempty"` // Auto fuzziness which determines the max edits based on the term length. AUTO is the preferred setting. Either set this or maxEdits. } func (x *FuzzyQuery) Reset() { @@ -3241,6 +3242,13 @@ func (x *FuzzyQuery) GetRewriteTopTermsSize() int32 { return 0 } +func (x *FuzzyQuery) GetAuto() *FuzzyParams_AutoFuzziness { + if x != nil { + return x.Auto + } + return nil +} + // Message for a SpanMultiTermQuery type SpanMultiTermQuery struct { state protoimpl.MessageState @@ -3966,6 +3974,12 @@ type SearchRequest struct { InnerHits map[string]*InnerHit `protobuf:"bytes,26,rep,name=inner_hits,json=innerHits,proto3" json:"inner_hits,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Defines runtime fields for this query RuntimeFields []*RuntimeField `protobuf:"bytes,27,rep,name=runtimeFields,proto3" json:"runtimeFields,omitempty"` + // Stop document collection in search phase after this many recalled documents, after terminateAfter docs will be counted but not scored upto terminateAfterMaxRecallCount. + TerminateAfterMaxRecallCount int32 `protobuf:"varint,28,opt,name=terminateAfterMaxRecallCount,proto3" json:"terminateAfterMaxRecallCount,omitempty"` + // Any custom logging that should log hits after ranking + LoggingHits *LoggingHits `protobuf:"bytes,29,opt,name=loggingHits,proto3" json:"loggingHits,omitempty"` + // Keeps tracks of last hit for search after + SearchAfter *LastHitInfo `protobuf:"bytes,30,opt,name=searchAfter,proto3" json:"searchAfter,omitempty"` } func (x *SearchRequest) Reset() { @@ -4196,6 +4210,27 @@ func (x *SearchRequest) GetRuntimeFields() []*RuntimeField { return nil } +func (x *SearchRequest) GetTerminateAfterMaxRecallCount() int32 { + if x != nil { + return x.TerminateAfterMaxRecallCount + } + return 0 +} + +func (x *SearchRequest) GetLoggingHits() *LoggingHits { + if x != nil { + return x.LoggingHits + } + return nil +} + +func (x *SearchRequest) GetSearchAfter() *LastHitInfo { + if x != nil { + return x.SearchAfter + } + return nil +} + type isSearchRequest_Searcher interface { isSearchRequest_Searcher() } @@ -4218,6 +4253,70 @@ func (*SearchRequest_Version) isSearchRequest_Searcher() {} func (*SearchRequest_Snapshot) isSearchRequest_Searcher() {} +// Last Hit info for search after +type LastHitInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LastFieldValues []string `protobuf:"bytes,1,rep,name=lastFieldValues,proto3" json:"lastFieldValues,omitempty"` + LastDocId int32 `protobuf:"varint,2,opt,name=lastDocId,proto3" json:"lastDocId,omitempty"` + LastScore float32 `protobuf:"fixed32,3,opt,name=lastScore,proto3" json:"lastScore,omitempty"` +} + +func (x *LastHitInfo) Reset() { + *x = LastHitInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_yelp_nrtsearch_search_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LastHitInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LastHitInfo) ProtoMessage() {} + +func (x *LastHitInfo) ProtoReflect() protoreflect.Message { + mi := &file_yelp_nrtsearch_search_proto_msgTypes[34] + 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 LastHitInfo.ProtoReflect.Descriptor instead. +func (*LastHitInfo) Descriptor() ([]byte, []int) { + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{34} +} + +func (x *LastHitInfo) GetLastFieldValues() []string { + if x != nil { + return x.LastFieldValues + } + return nil +} + +func (x *LastHitInfo) GetLastDocId() int32 { + if x != nil { + return x.LastDocId + } + return 0 +} + +func (x *LastHitInfo) GetLastScore() float32 { + if x != nil { + return x.LastScore + } + return 0 +} + // Inner Hit search request type InnerHit struct { state protoimpl.MessageState @@ -4243,7 +4342,7 @@ type InnerHit struct { func (x *InnerHit) Reset() { *x = InnerHit{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[34] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4256,7 +4355,7 @@ func (x *InnerHit) String() string { func (*InnerHit) ProtoMessage() {} func (x *InnerHit) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[34] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4269,7 +4368,7 @@ func (x *InnerHit) ProtoReflect() protoreflect.Message { // Deprecated: Use InnerHit.ProtoReflect.Descriptor instead. func (*InnerHit) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{34} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{35} } func (x *InnerHit) GetQueryNestedPath() string { @@ -4334,7 +4433,7 @@ type VirtualField struct { func (x *VirtualField) Reset() { *x = VirtualField{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[35] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4347,7 +4446,7 @@ func (x *VirtualField) String() string { func (*VirtualField) ProtoMessage() {} func (x *VirtualField) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[35] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4360,7 +4459,7 @@ func (x *VirtualField) ProtoReflect() protoreflect.Message { // Deprecated: Use VirtualField.ProtoReflect.Descriptor instead. func (*VirtualField) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{35} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{36} } func (x *VirtualField) GetScript() *Script { @@ -4392,7 +4491,7 @@ type RuntimeField struct { func (x *RuntimeField) Reset() { *x = RuntimeField{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[36] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4405,7 +4504,7 @@ func (x *RuntimeField) String() string { func (*RuntimeField) ProtoMessage() {} func (x *RuntimeField) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[36] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4418,7 +4517,7 @@ func (x *RuntimeField) ProtoReflect() protoreflect.Message { // Deprecated: Use RuntimeField.ProtoReflect.Descriptor instead. func (*RuntimeField) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{36} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{37} } func (x *RuntimeField) GetScript() *Script { @@ -4448,7 +4547,7 @@ type Script struct { func (x *Script) Reset() { *x = Script{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[37] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4461,7 +4560,7 @@ func (x *Script) String() string { func (*Script) ProtoMessage() {} func (x *Script) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[37] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4474,7 +4573,7 @@ func (x *Script) ProtoReflect() protoreflect.Message { // Deprecated: Use Script.ProtoReflect.Descriptor instead. func (*Script) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{37} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{38} } func (x *Script) GetLang() string { @@ -4511,7 +4610,7 @@ type QuerySortField struct { func (x *QuerySortField) Reset() { *x = QuerySortField{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[38] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4524,7 +4623,7 @@ func (x *QuerySortField) String() string { func (*QuerySortField) ProtoMessage() {} func (x *QuerySortField) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[38] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4537,7 +4636,7 @@ func (x *QuerySortField) ProtoReflect() protoreflect.Message { // Deprecated: Use QuerySortField.ProtoReflect.Descriptor instead. func (*QuerySortField) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{38} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{39} } func (x *QuerySortField) GetDoDocScores() bool { @@ -4573,7 +4672,7 @@ type SortFields struct { func (x *SortFields) Reset() { *x = SortFields{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[39] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4586,7 +4685,7 @@ func (x *SortFields) String() string { func (*SortFields) ProtoMessage() {} func (x *SortFields) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[39] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4599,7 +4698,7 @@ func (x *SortFields) ProtoReflect() protoreflect.Message { // Deprecated: Use SortFields.ProtoReflect.Descriptor instead. func (*SortFields) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{39} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{40} } func (x *SortFields) GetSortedFields() []*SortType { @@ -4631,7 +4730,7 @@ type SortType struct { func (x *SortType) Reset() { *x = SortType{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[40] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4644,7 +4743,7 @@ func (x *SortType) String() string { func (*SortType) ProtoMessage() {} func (x *SortType) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[40] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4657,7 +4756,7 @@ func (x *SortType) ProtoReflect() protoreflect.Message { // Deprecated: Use SortType.ProtoReflect.Descriptor instead. func (*SortType) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{40} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{41} } func (x *SortType) GetFieldName() string { @@ -4715,7 +4814,7 @@ type TotalHits struct { func (x *TotalHits) Reset() { *x = TotalHits{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[41] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4728,7 +4827,7 @@ func (x *TotalHits) String() string { func (*TotalHits) ProtoMessage() {} func (x *TotalHits) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[41] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4741,7 +4840,7 @@ func (x *TotalHits) ProtoReflect() protoreflect.Message { // Deprecated: Use TotalHits.ProtoReflect.Descriptor instead. func (*TotalHits) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{41} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{42} } func (x *TotalHits) GetRelation() TotalHits_Relation { @@ -4771,7 +4870,7 @@ type Point struct { func (x *Point) Reset() { *x = Point{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[42] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4784,7 +4883,7 @@ func (x *Point) String() string { func (*Point) ProtoMessage() {} func (x *Point) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[42] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4797,7 +4896,7 @@ func (x *Point) ProtoReflect() protoreflect.Message { // Deprecated: Use Point.ProtoReflect.Descriptor instead. func (*Point) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{42} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{43} } func (x *Point) GetLatitude() float64 { @@ -4836,7 +4935,7 @@ type SearchResponse struct { func (x *SearchResponse) Reset() { *x = SearchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[43] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4849,7 +4948,7 @@ func (x *SearchResponse) String() string { func (*SearchResponse) ProtoMessage() {} func (x *SearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[43] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4862,7 +4961,7 @@ func (x *SearchResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchResponse.ProtoReflect.Descriptor instead. func (*SearchResponse) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{43} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{44} } func (x *SearchResponse) GetDiagnostics() *SearchResponse_Diagnostics { @@ -4943,7 +5042,7 @@ type NumericRangeType struct { func (x *NumericRangeType) Reset() { *x = NumericRangeType{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[44] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4956,7 +5055,7 @@ func (x *NumericRangeType) String() string { func (*NumericRangeType) ProtoMessage() {} func (x *NumericRangeType) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[44] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4969,7 +5068,7 @@ func (x *NumericRangeType) ProtoReflect() protoreflect.Message { // Deprecated: Use NumericRangeType.ProtoReflect.Descriptor instead. func (*NumericRangeType) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{44} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{45} } func (x *NumericRangeType) GetLabel() string { @@ -5026,7 +5125,7 @@ type Facet struct { func (x *Facet) Reset() { *x = Facet{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[45] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5039,7 +5138,7 @@ func (x *Facet) String() string { func (*Facet) ProtoMessage() {} func (x *Facet) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[45] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5052,7 +5151,7 @@ func (x *Facet) ProtoReflect() protoreflect.Message { // Deprecated: Use Facet.ProtoReflect.Descriptor instead. func (*Facet) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{45} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{46} } func (x *Facet) GetDim() string { @@ -5134,7 +5233,7 @@ type FacetResult struct { func (x *FacetResult) Reset() { *x = FacetResult{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[46] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5147,7 +5246,7 @@ func (x *FacetResult) String() string { func (*FacetResult) ProtoMessage() {} func (x *FacetResult) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[46] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5160,7 +5259,7 @@ func (x *FacetResult) ProtoReflect() protoreflect.Message { // Deprecated: Use FacetResult.ProtoReflect.Descriptor instead. func (*FacetResult) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{46} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{47} } func (x *FacetResult) GetDim() string { @@ -5217,7 +5316,7 @@ type LabelAndValue struct { func (x *LabelAndValue) Reset() { *x = LabelAndValue{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[47] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5230,7 +5329,7 @@ func (x *LabelAndValue) String() string { func (*LabelAndValue) ProtoMessage() {} func (x *LabelAndValue) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[47] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5243,7 +5342,7 @@ func (x *LabelAndValue) ProtoReflect() protoreflect.Message { // Deprecated: Use LabelAndValue.ProtoReflect.Descriptor instead. func (*LabelAndValue) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{47} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{48} } func (x *LabelAndValue) GetLabel() string { @@ -5272,7 +5371,7 @@ type FetchTask struct { func (x *FetchTask) Reset() { *x = FetchTask{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[48] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5285,7 +5384,7 @@ func (x *FetchTask) String() string { func (*FetchTask) ProtoMessage() {} func (x *FetchTask) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[48] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5298,7 +5397,7 @@ func (x *FetchTask) ProtoReflect() protoreflect.Message { // Deprecated: Use FetchTask.ProtoReflect.Descriptor instead. func (*FetchTask) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{48} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{49} } func (x *FetchTask) GetName() string { @@ -5328,7 +5427,7 @@ type PluginRescorer struct { func (x *PluginRescorer) Reset() { *x = PluginRescorer{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[49] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5341,7 +5440,7 @@ func (x *PluginRescorer) String() string { func (*PluginRescorer) ProtoMessage() {} func (x *PluginRescorer) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[49] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5354,7 +5453,7 @@ func (x *PluginRescorer) ProtoReflect() protoreflect.Message { // Deprecated: Use PluginRescorer.ProtoReflect.Descriptor instead. func (*PluginRescorer) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{49} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{50} } func (x *PluginRescorer) GetName() string { @@ -5385,7 +5484,7 @@ type QueryRescorer struct { func (x *QueryRescorer) Reset() { *x = QueryRescorer{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[50] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5398,7 +5497,7 @@ func (x *QueryRescorer) String() string { func (*QueryRescorer) ProtoMessage() {} func (x *QueryRescorer) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[50] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5411,7 +5510,7 @@ func (x *QueryRescorer) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryRescorer.ProtoReflect.Descriptor instead. func (*QueryRescorer) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{50} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{51} } func (x *QueryRescorer) GetRescoreQuery() *Query { @@ -5454,7 +5553,7 @@ type Rescorer struct { func (x *Rescorer) Reset() { *x = Rescorer{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[51] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5467,7 +5566,7 @@ func (x *Rescorer) String() string { func (*Rescorer) ProtoMessage() {} func (x *Rescorer) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[51] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5480,7 +5579,7 @@ func (x *Rescorer) ProtoReflect() protoreflect.Message { // Deprecated: Use Rescorer.ProtoReflect.Descriptor instead. func (*Rescorer) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{51} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{52} } func (x *Rescorer) GetWindowSize() int32 { @@ -5549,7 +5648,7 @@ type ProfileResult struct { func (x *ProfileResult) Reset() { *x = ProfileResult{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[52] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5562,7 +5661,7 @@ func (x *ProfileResult) String() string { func (*ProfileResult) ProtoMessage() {} func (x *ProfileResult) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[52] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5575,7 +5674,7 @@ func (x *ProfileResult) ProtoReflect() protoreflect.Message { // Deprecated: Use ProfileResult.ProtoReflect.Descriptor instead. func (*ProfileResult) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{52} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{53} } func (x *ProfileResult) GetSearchStats() *ProfileResult_SearchStats { @@ -5628,7 +5727,7 @@ type Collector struct { func (x *Collector) Reset() { *x = Collector{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[53] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5641,7 +5740,7 @@ func (x *Collector) String() string { func (*Collector) ProtoMessage() {} func (x *Collector) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[53] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5654,7 +5753,7 @@ func (x *Collector) ProtoReflect() protoreflect.Message { // Deprecated: Use Collector.ProtoReflect.Descriptor instead. func (*Collector) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{53} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{54} } func (m *Collector) GetCollectors() isCollector_Collectors { @@ -5771,7 +5870,7 @@ type PluginCollector struct { func (x *PluginCollector) Reset() { *x = PluginCollector{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[54] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5784,7 +5883,7 @@ func (x *PluginCollector) String() string { func (*PluginCollector) ProtoMessage() {} func (x *PluginCollector) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[54] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5797,7 +5896,7 @@ func (x *PluginCollector) ProtoReflect() protoreflect.Message { // Deprecated: Use PluginCollector.ProtoReflect.Descriptor instead. func (*PluginCollector) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{54} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{55} } func (x *PluginCollector) GetName() string { @@ -5834,7 +5933,7 @@ type TermsCollector struct { func (x *TermsCollector) Reset() { *x = TermsCollector{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[55] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5847,7 +5946,7 @@ func (x *TermsCollector) String() string { func (*TermsCollector) ProtoMessage() {} func (x *TermsCollector) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[55] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5860,7 +5959,7 @@ func (x *TermsCollector) ProtoReflect() protoreflect.Message { // Deprecated: Use TermsCollector.ProtoReflect.Descriptor instead. func (*TermsCollector) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{55} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{56} } func (m *TermsCollector) GetTermsSource() isTermsCollector_TermsSource { @@ -5937,7 +6036,7 @@ type TopHitsCollector struct { func (x *TopHitsCollector) Reset() { *x = TopHitsCollector{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[56] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5950,7 +6049,7 @@ func (x *TopHitsCollector) String() string { func (*TopHitsCollector) ProtoMessage() {} func (x *TopHitsCollector) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[56] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5963,7 +6062,7 @@ func (x *TopHitsCollector) ProtoReflect() protoreflect.Message { // Deprecated: Use TopHitsCollector.ProtoReflect.Descriptor instead. func (*TopHitsCollector) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{56} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{57} } func (x *TopHitsCollector) GetStartHit() int32 { @@ -6017,7 +6116,7 @@ type FilterCollector struct { func (x *FilterCollector) Reset() { *x = FilterCollector{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[57] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6030,7 +6129,7 @@ func (x *FilterCollector) String() string { func (*FilterCollector) ProtoMessage() {} func (x *FilterCollector) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[57] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6043,7 +6142,7 @@ func (x *FilterCollector) ProtoReflect() protoreflect.Message { // Deprecated: Use FilterCollector.ProtoReflect.Descriptor instead. func (*FilterCollector) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{57} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{58} } func (m *FilterCollector) GetFilter() isFilterCollector_Filter { @@ -6100,7 +6199,7 @@ type MaxCollector struct { func (x *MaxCollector) Reset() { *x = MaxCollector{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[58] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6113,7 +6212,7 @@ func (x *MaxCollector) String() string { func (*MaxCollector) ProtoMessage() {} func (x *MaxCollector) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[58] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6126,7 +6225,7 @@ func (x *MaxCollector) ProtoReflect() protoreflect.Message { // Deprecated: Use MaxCollector.ProtoReflect.Descriptor instead. func (*MaxCollector) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{58} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{59} } func (m *MaxCollector) GetValueSource() isMaxCollector_ValueSource { @@ -6169,7 +6268,7 @@ type MinCollector struct { func (x *MinCollector) Reset() { *x = MinCollector{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[59] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6182,7 +6281,7 @@ func (x *MinCollector) String() string { func (*MinCollector) ProtoMessage() {} func (x *MinCollector) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[59] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6195,7 +6294,7 @@ func (x *MinCollector) ProtoReflect() protoreflect.Message { // Deprecated: Use MinCollector.ProtoReflect.Descriptor instead. func (*MinCollector) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{59} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{60} } func (m *MinCollector) GetValueSource() isMinCollector_ValueSource { @@ -6241,7 +6340,7 @@ type CollectorResult struct { func (x *CollectorResult) Reset() { *x = CollectorResult{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[60] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6254,7 +6353,7 @@ func (x *CollectorResult) String() string { func (*CollectorResult) ProtoMessage() {} func (x *CollectorResult) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[60] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6267,7 +6366,7 @@ func (x *CollectorResult) ProtoReflect() protoreflect.Message { // Deprecated: Use CollectorResult.ProtoReflect.Descriptor instead. func (*CollectorResult) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{60} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{61} } func (m *CollectorResult) GetCollectorResults() isCollectorResult_CollectorResults { @@ -6366,7 +6465,7 @@ type BucketOrder struct { func (x *BucketOrder) Reset() { *x = BucketOrder{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[61] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6379,7 +6478,7 @@ func (x *BucketOrder) String() string { func (*BucketOrder) ProtoMessage() {} func (x *BucketOrder) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[61] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6392,7 +6491,7 @@ func (x *BucketOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use BucketOrder.ProtoReflect.Descriptor instead. func (*BucketOrder) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{61} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{62} } func (x *BucketOrder) GetKey() string { @@ -6424,7 +6523,7 @@ type BucketResult struct { func (x *BucketResult) Reset() { *x = BucketResult{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[62] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6437,7 +6536,7 @@ func (x *BucketResult) String() string { func (*BucketResult) ProtoMessage() {} func (x *BucketResult) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[62] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6450,7 +6549,7 @@ func (x *BucketResult) ProtoReflect() protoreflect.Message { // Deprecated: Use BucketResult.ProtoReflect.Descriptor instead. func (*BucketResult) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{62} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{63} } func (x *BucketResult) GetBuckets() []*BucketResult_Bucket { @@ -6488,7 +6587,7 @@ type HitsResult struct { func (x *HitsResult) Reset() { *x = HitsResult{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[63] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6501,7 +6600,7 @@ func (x *HitsResult) String() string { func (*HitsResult) ProtoMessage() {} func (x *HitsResult) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[63] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6514,7 +6613,7 @@ func (x *HitsResult) ProtoReflect() protoreflect.Message { // Deprecated: Use HitsResult.ProtoReflect.Descriptor instead. func (*HitsResult) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{63} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{64} } func (x *HitsResult) GetTotalHits() *TotalHits { @@ -6545,7 +6644,7 @@ type FilterResult struct { func (x *FilterResult) Reset() { *x = FilterResult{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[64] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6558,7 +6657,7 @@ func (x *FilterResult) String() string { func (*FilterResult) ProtoMessage() {} func (x *FilterResult) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[64] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6571,7 +6670,7 @@ func (x *FilterResult) ProtoReflect() protoreflect.Message { // Deprecated: Use FilterResult.ProtoReflect.Descriptor instead. func (*FilterResult) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{64} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{65} } func (x *FilterResult) GetDocCount() int32 { @@ -6588,6 +6687,63 @@ func (x *FilterResult) GetNestedCollectorResults() map[string]*CollectorResult { return nil } +type LoggingHits struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // name of the hits logger to be called, as registered by a HitsLoggerPlugin + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional logging parameters + Params *structpb.Struct `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *LoggingHits) Reset() { + *x = LoggingHits{} + if protoimpl.UnsafeEnabled { + mi := &file_yelp_nrtsearch_search_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoggingHits) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoggingHits) ProtoMessage() {} + +func (x *LoggingHits) ProtoReflect() protoreflect.Message { + mi := &file_yelp_nrtsearch_search_proto_msgTypes[66] + 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 LoggingHits.ProtoReflect.Descriptor instead. +func (*LoggingHits) Descriptor() ([]byte, []int) { + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{66} +} + +func (x *LoggingHits) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *LoggingHits) GetParams() *structpb.Struct { + if x != nil { + return x.Params + } + return nil +} + // Specify how to highlight matched text in SearchRequest type Highlight struct { state protoimpl.MessageState @@ -6605,7 +6761,7 @@ type Highlight struct { func (x *Highlight) Reset() { *x = Highlight{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[65] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6618,7 +6774,7 @@ func (x *Highlight) String() string { func (*Highlight) ProtoMessage() {} func (x *Highlight) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[65] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6631,7 +6787,7 @@ func (x *Highlight) ProtoReflect() protoreflect.Message { // Deprecated: Use Highlight.ProtoReflect.Descriptor instead. func (*Highlight) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{65} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{67} } func (x *Highlight) GetSettings() *Highlight_Settings { @@ -6668,7 +6824,7 @@ type FuzzyParams_AutoFuzziness struct { func (x *FuzzyParams_AutoFuzziness) Reset() { *x = FuzzyParams_AutoFuzziness{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[66] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6681,7 +6837,7 @@ func (x *FuzzyParams_AutoFuzziness) String() string { func (*FuzzyParams_AutoFuzziness) ProtoMessage() {} func (x *FuzzyParams_AutoFuzziness) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[66] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6722,7 +6878,7 @@ type TermInSetQuery_TextTerms struct { func (x *TermInSetQuery_TextTerms) Reset() { *x = TermInSetQuery_TextTerms{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[67] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6735,7 +6891,7 @@ func (x *TermInSetQuery_TextTerms) String() string { func (*TermInSetQuery_TextTerms) ProtoMessage() {} func (x *TermInSetQuery_TextTerms) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[67] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6769,7 +6925,7 @@ type TermInSetQuery_IntTerms struct { func (x *TermInSetQuery_IntTerms) Reset() { *x = TermInSetQuery_IntTerms{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[68] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6782,7 +6938,7 @@ func (x *TermInSetQuery_IntTerms) String() string { func (*TermInSetQuery_IntTerms) ProtoMessage() {} func (x *TermInSetQuery_IntTerms) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[68] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6816,7 +6972,7 @@ type TermInSetQuery_LongTerms struct { func (x *TermInSetQuery_LongTerms) Reset() { *x = TermInSetQuery_LongTerms{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[69] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6829,7 +6985,7 @@ func (x *TermInSetQuery_LongTerms) String() string { func (*TermInSetQuery_LongTerms) ProtoMessage() {} func (x *TermInSetQuery_LongTerms) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[69] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6863,7 +7019,7 @@ type TermInSetQuery_FloatTerms struct { func (x *TermInSetQuery_FloatTerms) Reset() { *x = TermInSetQuery_FloatTerms{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[70] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6876,7 +7032,7 @@ func (x *TermInSetQuery_FloatTerms) String() string { func (*TermInSetQuery_FloatTerms) ProtoMessage() {} func (x *TermInSetQuery_FloatTerms) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[70] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6910,7 +7066,7 @@ type TermInSetQuery_DoubleTerms struct { func (x *TermInSetQuery_DoubleTerms) Reset() { *x = TermInSetQuery_DoubleTerms{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[71] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6923,7 +7079,7 @@ func (x *TermInSetQuery_DoubleTerms) String() string { func (*TermInSetQuery_DoubleTerms) ProtoMessage() {} func (x *TermInSetQuery_DoubleTerms) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[71] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6968,7 +7124,7 @@ type MultiFunctionScoreQuery_FilterFunction struct { func (x *MultiFunctionScoreQuery_FilterFunction) Reset() { *x = MultiFunctionScoreQuery_FilterFunction{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[73] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6981,7 +7137,7 @@ func (x *MultiFunctionScoreQuery_FilterFunction) String() string { func (*MultiFunctionScoreQuery_FilterFunction) ProtoMessage() {} func (x *MultiFunctionScoreQuery_FilterFunction) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[73] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7080,7 +7236,7 @@ type MultiFunctionScoreQuery_DecayFunction struct { func (x *MultiFunctionScoreQuery_DecayFunction) Reset() { *x = MultiFunctionScoreQuery_DecayFunction{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[74] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7093,7 +7249,7 @@ func (x *MultiFunctionScoreQuery_DecayFunction) String() string { func (*MultiFunctionScoreQuery_DecayFunction) ProtoMessage() {} func (x *MultiFunctionScoreQuery_DecayFunction) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[74] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7192,7 +7348,7 @@ type Script_ParamValue struct { func (x *Script_ParamValue) Reset() { *x = Script_ParamValue{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[77] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7205,7 +7361,7 @@ func (x *Script_ParamValue) String() string { func (*Script_ParamValue) ProtoMessage() {} func (x *Script_ParamValue) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[77] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7218,7 +7374,7 @@ func (x *Script_ParamValue) ProtoReflect() protoreflect.Message { // Deprecated: Use Script_ParamValue.ProtoReflect.Descriptor instead. func (*Script_ParamValue) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{37, 0} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{38, 0} } func (m *Script_ParamValue) GetParamValues() isScript_ParamValue_ParamValues { @@ -7361,7 +7517,7 @@ type Script_ParamStructValue struct { func (x *Script_ParamStructValue) Reset() { *x = Script_ParamStructValue{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[78] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7374,7 +7530,7 @@ func (x *Script_ParamStructValue) String() string { func (*Script_ParamStructValue) ProtoMessage() {} func (x *Script_ParamStructValue) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[78] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7387,7 +7543,7 @@ func (x *Script_ParamStructValue) ProtoReflect() protoreflect.Message { // Deprecated: Use Script_ParamStructValue.ProtoReflect.Descriptor instead. func (*Script_ParamStructValue) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{37, 1} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{38, 1} } func (x *Script_ParamStructValue) GetFields() map[string]*Script_ParamValue { @@ -7409,7 +7565,7 @@ type Script_ParamListValue struct { func (x *Script_ParamListValue) Reset() { *x = Script_ParamListValue{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[79] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7422,7 +7578,7 @@ func (x *Script_ParamListValue) String() string { func (*Script_ParamListValue) ProtoMessage() {} func (x *Script_ParamListValue) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[79] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7435,7 +7591,7 @@ func (x *Script_ParamListValue) ProtoReflect() protoreflect.Message { // Deprecated: Use Script_ParamListValue.ProtoReflect.Descriptor instead. func (*Script_ParamListValue) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{37, 2} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{38, 2} } func (x *Script_ParamListValue) GetValues() []*Script_ParamValue { @@ -7472,7 +7628,7 @@ type SearchResponse_Diagnostics struct { func (x *SearchResponse_Diagnostics) Reset() { *x = SearchResponse_Diagnostics{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[82] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7485,7 +7641,7 @@ func (x *SearchResponse_Diagnostics) String() string { func (*SearchResponse_Diagnostics) ProtoMessage() {} func (x *SearchResponse_Diagnostics) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[82] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7498,7 +7654,7 @@ func (x *SearchResponse_Diagnostics) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchResponse_Diagnostics.ProtoReflect.Descriptor instead. func (*SearchResponse_Diagnostics) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{43, 0} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{44, 0} } // Deprecated: Do not use. @@ -7608,7 +7764,7 @@ type SearchResponse_Hit struct { func (x *SearchResponse_Hit) Reset() { *x = SearchResponse_Hit{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[83] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7621,7 +7777,7 @@ func (x *SearchResponse_Hit) String() string { func (*SearchResponse_Hit) ProtoMessage() {} func (x *SearchResponse_Hit) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[83] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7634,7 +7790,7 @@ func (x *SearchResponse_Hit) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchResponse_Hit.ProtoReflect.Descriptor instead. func (*SearchResponse_Hit) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{43, 1} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{44, 1} } func (x *SearchResponse_Hit) GetLuceneDocId() int32 { @@ -7691,17 +7847,21 @@ type SearchResponse_SearchState struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - SearcherVersion int64 `protobuf:"varint,2,opt,name=searcherVersion,proto3" json:"searcherVersion,omitempty"` - LastDocId int32 `protobuf:"varint,3,opt,name=lastDocId,proto3" json:"lastDocId,omitempty"` - LastFieldValues []string `protobuf:"bytes,4,rep,name=lastFieldValues,proto3" json:"lastFieldValues,omitempty"` - LastScore float32 `protobuf:"fixed32,5,opt,name=lastScore,proto3" json:"lastScore,omitempty"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + SearcherVersion int64 `protobuf:"varint,2,opt,name=searcherVersion,proto3" json:"searcherVersion,omitempty"` + // Deprecated: Do not use. + LastDocId int32 `protobuf:"varint,3,opt,name=lastDocId,proto3" json:"lastDocId,omitempty"` // replaced by lastHitInfo + // Deprecated: Do not use. + LastFieldValues []string `protobuf:"bytes,4,rep,name=lastFieldValues,proto3" json:"lastFieldValues,omitempty"` // replaced by lastHitInfo + // Deprecated: Do not use. + LastScore float32 `protobuf:"fixed32,5,opt,name=lastScore,proto3" json:"lastScore,omitempty"` // replaced by lastHitInfo + LastHitInfo *LastHitInfo `protobuf:"bytes,6,opt,name=lastHitInfo,proto3" json:"lastHitInfo,omitempty"` } func (x *SearchResponse_SearchState) Reset() { *x = SearchResponse_SearchState{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[84] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7714,7 +7874,7 @@ func (x *SearchResponse_SearchState) String() string { func (*SearchResponse_SearchState) ProtoMessage() {} func (x *SearchResponse_SearchState) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[84] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7727,7 +7887,7 @@ func (x *SearchResponse_SearchState) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchResponse_SearchState.ProtoReflect.Descriptor instead. func (*SearchResponse_SearchState) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{43, 2} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{44, 2} } func (x *SearchResponse_SearchState) GetTimestamp() int64 { @@ -7744,6 +7904,7 @@ func (x *SearchResponse_SearchState) GetSearcherVersion() int64 { return 0 } +// Deprecated: Do not use. func (x *SearchResponse_SearchState) GetLastDocId() int32 { if x != nil { return x.LastDocId @@ -7751,6 +7912,7 @@ func (x *SearchResponse_SearchState) GetLastDocId() int32 { return 0 } +// Deprecated: Do not use. func (x *SearchResponse_SearchState) GetLastFieldValues() []string { if x != nil { return x.LastFieldValues @@ -7758,6 +7920,7 @@ func (x *SearchResponse_SearchState) GetLastFieldValues() []string { return nil } +// Deprecated: Do not use. func (x *SearchResponse_SearchState) GetLastScore() float32 { if x != nil { return x.LastScore @@ -7765,6 +7928,13 @@ func (x *SearchResponse_SearchState) GetLastScore() float32 { return 0 } +func (x *SearchResponse_SearchState) GetLastHitInfo() *LastHitInfo { + if x != nil { + return x.LastHitInfo + } + return nil +} + type SearchResponse_Hit_FieldValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -7788,7 +7958,7 @@ type SearchResponse_Hit_FieldValue struct { func (x *SearchResponse_Hit_FieldValue) Reset() { *x = SearchResponse_Hit_FieldValue{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[89] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7801,7 +7971,7 @@ func (x *SearchResponse_Hit_FieldValue) String() string { func (*SearchResponse_Hit_FieldValue) ProtoMessage() {} func (x *SearchResponse_Hit_FieldValue) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[89] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7814,7 +7984,7 @@ func (x *SearchResponse_Hit_FieldValue) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchResponse_Hit_FieldValue.ProtoReflect.Descriptor instead. func (*SearchResponse_Hit_FieldValue) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{43, 1, 0} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{44, 1, 0} } func (m *SearchResponse_Hit_FieldValue) GetFieldValues() isSearchResponse_Hit_FieldValue_FieldValues { @@ -7970,7 +8140,7 @@ type SearchResponse_Hit_CompositeFieldValue struct { func (x *SearchResponse_Hit_CompositeFieldValue) Reset() { *x = SearchResponse_Hit_CompositeFieldValue{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[90] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7983,7 +8153,7 @@ func (x *SearchResponse_Hit_CompositeFieldValue) String() string { func (*SearchResponse_Hit_CompositeFieldValue) ProtoMessage() {} func (x *SearchResponse_Hit_CompositeFieldValue) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[90] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7996,7 +8166,7 @@ func (x *SearchResponse_Hit_CompositeFieldValue) ProtoReflect() protoreflect.Mes // Deprecated: Use SearchResponse_Hit_CompositeFieldValue.ProtoReflect.Descriptor instead. func (*SearchResponse_Hit_CompositeFieldValue) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{43, 1, 1} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{44, 1, 1} } func (x *SearchResponse_Hit_CompositeFieldValue) GetFieldValue() []*SearchResponse_Hit_FieldValue { @@ -8018,7 +8188,7 @@ type SearchResponse_Hit_Highlights struct { func (x *SearchResponse_Hit_Highlights) Reset() { *x = SearchResponse_Hit_Highlights{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[91] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8031,7 +8201,7 @@ func (x *SearchResponse_Hit_Highlights) String() string { func (*SearchResponse_Hit_Highlights) ProtoMessage() {} func (x *SearchResponse_Hit_Highlights) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[91] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8044,7 +8214,7 @@ func (x *SearchResponse_Hit_Highlights) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchResponse_Hit_Highlights.ProtoReflect.Descriptor instead. func (*SearchResponse_Hit_Highlights) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{43, 1, 2} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{44, 1, 2} } func (x *SearchResponse_Hit_Highlights) GetFragments() []string { @@ -8065,7 +8235,7 @@ type SearchResponse_Hit_FieldValue_Vector struct { func (x *SearchResponse_Hit_FieldValue_Vector) Reset() { *x = SearchResponse_Hit_FieldValue_Vector{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[96] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8078,7 +8248,7 @@ func (x *SearchResponse_Hit_FieldValue_Vector) String() string { func (*SearchResponse_Hit_FieldValue_Vector) ProtoMessage() {} func (x *SearchResponse_Hit_FieldValue_Vector) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[96] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8091,7 +8261,7 @@ func (x *SearchResponse_Hit_FieldValue_Vector) ProtoReflect() protoreflect.Messa // Deprecated: Use SearchResponse_Hit_FieldValue_Vector.ProtoReflect.Descriptor instead. func (*SearchResponse_Hit_FieldValue_Vector) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{43, 1, 0, 0} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{44, 1, 0, 0} } func (x *SearchResponse_Hit_FieldValue_Vector) GetValue() []float32 { @@ -8113,7 +8283,7 @@ type ProfileResult_AdditionalCollectorStats struct { func (x *ProfileResult_AdditionalCollectorStats) Reset() { *x = ProfileResult_AdditionalCollectorStats{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[97] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8126,7 +8296,7 @@ func (x *ProfileResult_AdditionalCollectorStats) String() string { func (*ProfileResult_AdditionalCollectorStats) ProtoMessage() {} func (x *ProfileResult_AdditionalCollectorStats) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[97] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8139,7 +8309,7 @@ func (x *ProfileResult_AdditionalCollectorStats) ProtoReflect() protoreflect.Mes // Deprecated: Use ProfileResult_AdditionalCollectorStats.ProtoReflect.Descriptor instead. func (*ProfileResult_AdditionalCollectorStats) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{52, 0} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{53, 0} } func (x *ProfileResult_AdditionalCollectorStats) GetCollectTimeMs() float64 { @@ -8168,7 +8338,7 @@ type ProfileResult_CollectorStats struct { func (x *ProfileResult_CollectorStats) Reset() { *x = ProfileResult_CollectorStats{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[98] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8181,7 +8351,7 @@ func (x *ProfileResult_CollectorStats) String() string { func (*ProfileResult_CollectorStats) ProtoMessage() {} func (x *ProfileResult_CollectorStats) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[98] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8194,7 +8364,7 @@ func (x *ProfileResult_CollectorStats) ProtoReflect() protoreflect.Message { // Deprecated: Use ProfileResult_CollectorStats.ProtoReflect.Descriptor instead. func (*ProfileResult_CollectorStats) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{52, 1} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{53, 1} } func (x *ProfileResult_CollectorStats) GetTerminated() bool { @@ -8252,7 +8422,7 @@ type ProfileResult_SegmentStats struct { func (x *ProfileResult_SegmentStats) Reset() { *x = ProfileResult_SegmentStats{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[99] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8265,7 +8435,7 @@ func (x *ProfileResult_SegmentStats) String() string { func (*ProfileResult_SegmentStats) ProtoMessage() {} func (x *ProfileResult_SegmentStats) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[99] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8278,7 +8448,7 @@ func (x *ProfileResult_SegmentStats) ProtoReflect() protoreflect.Message { // Deprecated: Use ProfileResult_SegmentStats.ProtoReflect.Descriptor instead. func (*ProfileResult_SegmentStats) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{52, 2} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{53, 2} } func (x *ProfileResult_SegmentStats) GetMaxDoc() int32 { @@ -8331,7 +8501,7 @@ type ProfileResult_SearchStats struct { func (x *ProfileResult_SearchStats) Reset() { *x = ProfileResult_SearchStats{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[100] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8344,7 +8514,7 @@ func (x *ProfileResult_SearchStats) String() string { func (*ProfileResult_SearchStats) ProtoMessage() {} func (x *ProfileResult_SearchStats) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[100] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8357,7 +8527,7 @@ func (x *ProfileResult_SearchStats) ProtoReflect() protoreflect.Message { // Deprecated: Use ProfileResult_SearchStats.ProtoReflect.Descriptor instead. func (*ProfileResult_SearchStats) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{52, 3} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{53, 3} } func (x *ProfileResult_SearchStats) GetTotalCollectTimeMs() float64 { @@ -8395,7 +8565,7 @@ type BucketResult_Bucket struct { func (x *BucketResult_Bucket) Reset() { *x = BucketResult_Bucket{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[103] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8408,7 +8578,7 @@ func (x *BucketResult_Bucket) String() string { func (*BucketResult_Bucket) ProtoMessage() {} func (x *BucketResult_Bucket) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[103] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8421,7 +8591,7 @@ func (x *BucketResult_Bucket) ProtoReflect() protoreflect.Message { // Deprecated: Use BucketResult_Bucket.ProtoReflect.Descriptor instead. func (*BucketResult_Bucket) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{62, 0} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{63, 0} } func (x *BucketResult_Bucket) GetKey() string { @@ -8487,7 +8657,7 @@ type Highlight_Settings struct { func (x *Highlight_Settings) Reset() { *x = Highlight_Settings{} if protoimpl.UnsafeEnabled { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[106] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8500,7 +8670,7 @@ func (x *Highlight_Settings) String() string { func (*Highlight_Settings) ProtoMessage() {} func (x *Highlight_Settings) ProtoReflect() protoreflect.Message { - mi := &file_yelp_nrtsearch_search_proto_msgTypes[106] + mi := &file_yelp_nrtsearch_search_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8513,7 +8683,7 @@ func (x *Highlight_Settings) ProtoReflect() protoreflect.Message { // Deprecated: Use Highlight_Settings.ProtoReflect.Descriptor instead. func (*Highlight_Settings) Descriptor() ([]byte, []int) { - return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{65, 0} + return file_yelp_nrtsearch_search_proto_rawDescGZIP(), []int{67, 0} } func (x *Highlight_Settings) GetHighlighterType() Highlight_Type { @@ -9041,7 +9211,7 @@ var file_yelp_nrtsearch_search_proto_rawDesc = []byte{ 0x0a, 0x13, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x53, 0x69, 0x7a, 0x65, - 0x22, 0x84, 0x03, 0x0a, 0x0a, 0x46, 0x75, 0x7a, 0x7a, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x22, 0xc1, 0x03, 0x0a, 0x0a, 0x46, 0x75, 0x7a, 0x7a, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x6d, 0x61, 0x78, @@ -9061,260 +9231,283 @@ var file_yelp_nrtsearch_search_proto_rawDesc = []byte{ 0x74, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x54, 0x65, 0x72, 0x6d, 0x73, - 0x53, 0x69, 0x7a, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x61, 0x78, 0x45, 0x64, 0x69, 0x74, - 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xeb, 0x02, 0x0a, 0x12, 0x53, 0x70, 0x61, 0x6e, - 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x65, 0x72, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x43, - 0x0a, 0x0d, 0x77, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2e, 0x57, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x66, 0x75, 0x7a, 0x7a, 0x79, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x46, 0x75, 0x7a, 0x7a, 0x79, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x75, 0x7a, 0x7a, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, - 0x3d, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x46, 0x75, 0x7a, 0x7a, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x41, 0x75, + 0x74, 0x6f, 0x46, 0x75, 0x7a, 0x7a, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x04, 0x61, 0x75, 0x74, + 0x6f, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x61, 0x78, 0x45, 0x64, 0x69, 0x74, 0x73, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, + 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xeb, 0x02, 0x0a, 0x12, 0x53, 0x70, 0x61, 0x6e, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x54, 0x65, 0x72, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x43, 0x0a, 0x0d, 0x77, + 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x57, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, + 0x00, 0x52, 0x0d, 0x77, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x12, 0x3a, 0x0a, 0x0a, 0x66, 0x75, 0x7a, 0x7a, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x2e, 0x46, 0x75, 0x7a, 0x7a, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, + 0x52, 0x0a, 0x66, 0x75, 0x7a, 0x7a, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x0b, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0b, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x0b, 0x72, + 0x65, 0x67, 0x65, 0x78, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x72, + 0x65, 0x67, 0x65, 0x78, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x0e, 0x74, 0x65, + 0x72, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x48, 0x00, 0x52, 0x0e, 0x74, 0x65, 0x72, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x22, 0xa3, 0x02, 0x0a, 0x0b, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2c, 0x0a, 0x04, + 0x66, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x75, 0x63, + 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, + 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x39, 0x0a, 0x15, 0x6d, 0x61, + 0x78, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x15, 0x6d, 0x61, 0x78, + 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x52, 0x07, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x13, + 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x53, + 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x72, 0x65, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x54, 0x6f, 0x70, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x18, + 0x0a, 0x16, 0x5f, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x7a, + 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x22, 0x70, 0x0a, 0x0d, 0x53, 0x70, 0x61, 0x6e, + 0x4e, 0x65, 0x61, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x75, 0x63, + 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x6c, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x70, + 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x69, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x81, 0x0e, 0x0a, 0x05, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, + 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, + 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x75, + 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, + 0x61, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, + 0x61, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x0b, 0x70, 0x68, 0x72, 0x61, 0x73, + 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, + 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 0x68, 0x72, 0x61, + 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x68, 0x72, 0x61, 0x73, + 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x52, 0x0a, 0x12, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x12, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x74, 0x65, + 0x72, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x54, 0x65, 0x72, + 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x09, 0x74, 0x65, 0x72, 0x6d, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x0e, 0x74, 0x65, 0x72, 0x6d, 0x49, 0x6e, 0x53, 0x65, 0x74, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, + 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x49, + 0x6e, 0x53, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x65, 0x72, + 0x6d, 0x49, 0x6e, 0x53, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x55, 0x0a, 0x13, 0x64, + 0x69, 0x73, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x69, 0x73, 0x6a, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x13, 0x64, + 0x69, 0x73, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4c, + 0x0a, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x68, 0x72, + 0x61, 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x10, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x49, 0x0a, 0x0f, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x75, + 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x55, 0x0a, 0x13, 0x67, 0x65, 0x6f, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x47, 0x65, 0x6f, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x13, 0x67, 0x65, 0x6f, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x43, 0x0a, 0x0d, 0x67, 0x65, + 0x6f, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2e, 0x47, 0x65, 0x6f, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, + 0x52, 0x0d, 0x67, 0x65, 0x6f, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x3d, 0x0a, 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, - 0x00, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3d, - 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, + 0x76, 0x65, 0x72, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, + 0x00, 0x52, 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3d, + 0x0a, 0x0b, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, - 0x52, 0x0b, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x46, 0x0a, - 0x0e, 0x74, 0x65, 0x72, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x65, 0x72, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x22, 0xa3, 0x02, 0x0a, 0x0b, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, - 0x2c, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, - 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x67, - 0x65, 0x78, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x39, 0x0a, - 0x15, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x7a, 0x65, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x15, - 0x6d, 0x61, 0x78, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x7a, 0x65, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x75, 0x63, 0x65, - 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x07, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, - 0x30, 0x0a, 0x13, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x54, 0x65, 0x72, - 0x6d, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x72, 0x65, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x53, 0x69, 0x7a, - 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, - 0x6e, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x22, 0x70, 0x0a, 0x0d, 0x53, - 0x70, 0x61, 0x6e, 0x4e, 0x65, 0x61, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x07, - 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x70, 0x61, - 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, - 0x6c, 0x6f, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x81, 0x0e, - 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6c, 0x75, 0x63, - 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, - 0x79, 0x70, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, - 0x65, 0x61, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x42, 0x6f, - 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, - 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x0b, 0x70, 0x68, - 0x72, 0x61, 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, - 0x68, 0x72, 0x61, 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x68, - 0x72, 0x61, 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x52, 0x0a, 0x12, 0x66, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x12, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x37, 0x0a, - 0x09, 0x74, 0x65, 0x72, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, - 0x54, 0x65, 0x72, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x09, 0x74, 0x65, 0x72, - 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x0e, 0x74, 0x65, 0x72, 0x6d, 0x49, 0x6e, - 0x53, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x54, 0x65, - 0x72, 0x6d, 0x49, 0x6e, 0x53, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0e, - 0x74, 0x65, 0x72, 0x6d, 0x49, 0x6e, 0x53, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x55, - 0x0a, 0x13, 0x64, 0x69, 0x73, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x75, - 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x69, 0x73, 0x6a, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, - 0x52, 0x13, 0x64, 0x69, 0x73, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x75, 0x63, 0x65, - 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x4c, 0x0a, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x75, - 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x10, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, - 0x49, 0x0a, 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x55, 0x0a, 0x13, 0x67, 0x65, 0x6f, 0x42, 0x6f, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, - 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x13, 0x67, 0x65, 0x6f, 0x42, 0x6f, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x43, 0x0a, - 0x0d, 0x67, 0x65, 0x6f, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x65, 0x6f, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x3d, 0x0a, 0x0b, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x12, 0x46, 0x0a, 0x0e, 0x67, 0x65, 0x6f, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f, 0x52, 0x61, 0x64, 0x69, 0x75, - 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x65, 0x6f, 0x52, 0x61, 0x64, - 0x69, 0x75, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x55, 0x0a, 0x13, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x13, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, - 0x49, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, - 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x61, 0x0a, 0x17, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6c, 0x75, - 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x65, 0x72, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, + 0x52, 0x0b, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x46, 0x0a, + 0x0e, 0x67, 0x65, 0x6f, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x65, 0x6f, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x55, 0x0a, 0x13, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x13, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x49, 0x0a, 0x0f, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, + 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x61, 0x0a, 0x17, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x48, 0x00, 0x52, 0x17, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x5e, 0x0a, - 0x16, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x50, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x16, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x68, 0x72, 0x61, - 0x73, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3d, 0x0a, - 0x0b, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x16, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, - 0x0b, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x52, 0x0a, 0x12, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, - 0x53, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x12, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x12, 0x49, 0x0a, 0x0f, 0x67, 0x65, 0x6f, 0x50, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x75, 0x63, 0x65, - 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f, 0x50, 0x6f, 0x6c, 0x79, - 0x67, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x67, 0x65, 0x6f, 0x50, - 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x73, - 0x70, 0x61, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x70, - 0x61, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x09, 0x73, 0x70, 0x61, 0x6e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x6f, 0x64, - 0x65, 0x22, 0xff, 0x0a, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x48, 0x69, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x48, 0x69, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x74, 0x6f, 0x70, 0x48, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x74, 0x6f, 0x70, 0x48, 0x69, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x53, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x72, 0x69, - 0x65, 0x76, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0e, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, - 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x78, 0x74, 0x12, 0x40, 0x0a, - 0x0d, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x07, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x52, 0x0d, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, - 0x29, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x09, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x47, - 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x47, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x1c, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x2e, - 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x48, 0x69, 0x74, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, - 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x48, 0x69, 0x74, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x2b, - 0x0a, 0x06, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x46, 0x61, - 0x63, 0x65, 0x74, 0x52, 0x06, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x0a, 0x66, - 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x46, - 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x66, 0x65, 0x74, 0x63, 0x68, 0x54, - 0x61, 0x73, 0x6b, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x0f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x73, 0x74, - 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x72, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x75, 0x63, 0x65, - 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, - 0x72, 0x52, 0x09, 0x72, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x76, 0x65, 0x72, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, - 0x76, 0x65, 0x72, 0x79, 0x12, 0x4b, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x41, 0x66, - 0x74, 0x65, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x65, 0x72, 0x6d, 0x69, - 0x6e, 0x61, 0x74, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x09, 0x68, - 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x48, 0x69, - 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x52, 0x09, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, - 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x18, 0x19, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x49, 0x0a, 0x0a, - 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, - 0x6e, 0x65, 0x72, 0x48, 0x69, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x69, 0x6e, - 0x6e, 0x65, 0x72, 0x48, 0x69, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x74, 0x69, - 0x6d, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x74, - 0x69, 0x6d, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x56, 0x0a, 0x0f, 0x43, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 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, 0x2d, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x1a, 0x54, 0x0a, 0x0e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x69, 0x74, 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, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x69, 0x74, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x65, 0x72, 0x22, 0xc1, 0x02, 0x0a, 0x08, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x69, 0x74, + 0x72, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, + 0x00, 0x52, 0x17, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x5e, 0x0a, 0x16, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6c, 0x75, 0x63, + 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, + 0x68, 0x72, 0x61, 0x73, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x48, 0x00, 0x52, 0x16, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x0b, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x52, 0x0a, 0x12, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, + 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x49, 0x0a, + 0x0f, 0x67, 0x65, 0x6f, 0x50, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f, 0x50, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x67, 0x65, 0x6f, 0x50, 0x6f, 0x6c, 0x79, + 0x67, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x6e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x75, + 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x09, 0x73, 0x70, 0x61, 0x6e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x22, 0xbd, + 0x0c, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x48, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x48, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x6f, + 0x70, 0x48, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x6f, 0x70, + 0x48, 0x69, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, + 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x53, 0x65, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x78, 0x74, 0x12, 0x40, 0x0a, 0x0d, 0x76, 0x69, + 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x0d, 0x76, + 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x05, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x75, + 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x6f, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, + 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x47, 0x65, 0x6e, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x47, 0x65, + 0x6e, 0x12, 0x1a, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x03, 0x48, 0x00, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, + 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x48, 0x69, 0x74, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x48, 0x69, + 0x74, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x2b, 0x0a, 0x06, 0x66, + 0x61, 0x63, 0x65, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x75, + 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, + 0x52, 0x06, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x0a, 0x66, 0x65, 0x74, 0x63, + 0x68, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, + 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x46, 0x65, 0x74, 0x63, + 0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x66, 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, + 0x73, 0x12, 0x36, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x16, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x73, + 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x52, 0x09, + 0x72, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x45, 0x76, 0x65, 0x72, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x76, 0x65, 0x72, + 0x79, 0x12, 0x4b, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, + 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x26, + 0x0a, 0x0e, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, + 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x17, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x09, 0x68, 0x69, 0x67, 0x68, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x75, + 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, + 0x69, 0x67, 0x68, 0x74, 0x52, 0x09, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x49, 0x0a, 0x0a, 0x69, 0x6e, 0x6e, + 0x65, 0x72, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, + 0x48, 0x69, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, + 0x48, 0x69, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x75, + 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x42, 0x0a, 0x1c, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x63, 0x61, 0x6c, + 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1c, 0x74, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x52, + 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x6c, 0x6f, + 0x67, 0x67, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x74, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4c, + 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x74, 0x73, 0x52, 0x0b, 0x6c, 0x6f, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x48, 0x69, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x41, 0x66, 0x74, 0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, + 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x73, 0x74, + 0x48, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, + 0x66, 0x74, 0x65, 0x72, 0x1a, 0x56, 0x0a, 0x0f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 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, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x54, 0x0a, 0x0e, + 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x69, 0x74, 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, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x49, + 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x69, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x72, 0x22, 0x73, + 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, + 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x44, + 0x6f, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, + 0x44, 0x6f, 0x63, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x22, 0xc1, 0x02, 0x0a, 0x08, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x69, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, @@ -9444,7 +9637,7 @@ var file_yelp_nrtsearch_search_proto_rawDesc = []byte{ 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, - 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x22, 0x9f, 0x1a, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x22, 0xe8, 0x1a, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x65, @@ -9636,491 +9829,501 @@ var file_yelp_nrtsearch_search_proto_rawDesc = []byte{ 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x48, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xbb, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x84, 0x02, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, - 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x63, - 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x62, 0x0a, 0x15, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 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, - 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x94, 0x01, 0x0a, 0x10, 0x4e, 0x75, 0x6d, - 0x65, 0x72, 0x69, 0x63, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6d, 0x69, 0x6e, - 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x6d, - 0x61, 0x78, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x22, - 0xab, 0x02, 0x0a, 0x05, 0x46, 0x61, 0x63, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x70, - 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, - 0x73, 0x12, 0x42, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x4f, 0x72, 0x64, 0x73, - 0x43, 0x61, 0x63, 0x68, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x75, 0x73, 0x65, - 0x4f, 0x72, 0x64, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x70, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x74, 0x6f, 0x70, 0x4e, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x06, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x54, 0x6f, 0x70, - 0x44, 0x6f, 0x63, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x44, 0x6f, 0x63, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xbc, 0x01, - 0x0a, 0x0b, 0x46, 0x61, 0x63, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x10, 0x0a, - 0x03, 0x64, 0x69, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x6d, 0x12, - 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x70, - 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x0b, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x41, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6c, - 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x68, - 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3b, 0x0a, 0x0d, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x50, 0x0a, 0x09, 0x46, 0x65, 0x74, - 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x05, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x49, 0x64, + 0x12, 0x2c, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x6c, + 0x61, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x20, + 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x12, 0x3b, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x62, 0x0a, + 0x15, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 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, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x94, 0x01, 0x0a, 0x10, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x22, + 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, + 0x76, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x03, 0x6d, 0x61, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x63, 0x6c, 0x75, + 0x73, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x49, + 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x22, 0xab, 0x02, 0x0a, 0x05, 0x46, 0x61, 0x63, + 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x64, 0x69, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x42, 0x0a, 0x0c, 0x6e, 0x75, + 0x6d, 0x65, 0x72, 0x69, 0x63, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x22, + 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x4f, 0x72, 0x64, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x4f, 0x72, 0x64, 0x73, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, + 0x70, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x6f, 0x70, 0x4e, 0x12, 0x2c, + 0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x24, 0x0a, 0x0d, + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x44, 0x6f, 0x63, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x54, 0x6f, 0x70, 0x44, 0x6f, + 0x63, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x0b, 0x46, 0x61, 0x63, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x0b, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x6e, 0x64, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3b, 0x0a, 0x0d, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x6e, + 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0x50, 0x0a, 0x09, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x22, 0x55, 0x0a, 0x0e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x55, 0x0a, 0x0e, 0x50, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x22, 0x9a, 0x01, 0x0a, 0x0d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x63, - 0x6f, 0x72, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x75, 0x63, - 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, - 0x0c, 0x72, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x20, 0x0a, - 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, - 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x72, 0x65, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, - 0xd8, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x43, 0x0a, 0x0d, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, - 0x48, 0x00, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, - 0x72, 0x12, 0x46, 0x0a, 0x0e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x63, 0x6f, - 0x72, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x65, - 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, - 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, - 0x09, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x73, 0x22, 0x81, 0x09, 0x0a, 0x0d, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x49, 0x0a, 0x0b, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0b, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x73, 0x65, - 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, - 0x72, 0x73, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x77, - 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x72, 0x69, 0x6c, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x72, 0x69, 0x6c, 0x6c, - 0x44, 0x6f, 0x77, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x40, 0x0a, 0x18, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x63, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x1a, 0xeb, 0x03, 0x0a, 0x0e, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0a, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4c, - 0x0a, 0x0c, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0c, - 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, - 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x4d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x84, - 0x01, 0x0a, 0x18, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x48, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x18, 0x61, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x81, 0x01, 0x0a, 0x1d, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, - 0x74, 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, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xc0, 0x01, 0x0a, 0x0c, 0x53, 0x65, - 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, - 0x78, 0x44, 0x6f, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x44, - 0x6f, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x75, 0x6d, 0x44, 0x6f, 0x63, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x44, 0x6f, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0e, - 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x63, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x1a, 0xbf, 0x01, 0x0a, - 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x12, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x4d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x2c, 0x0a, 0x11, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, - 0x64, 0x75, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x63, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0e, - 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xba, - 0x04, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x34, 0x0a, 0x05, - 0x74, 0x65, 0x72, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, - 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x73, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x74, 0x65, 0x72, - 0x6d, 0x73, 0x12, 0x49, 0x0a, 0x0f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x75, - 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x4c, 0x0a, - 0x10, 0x74, 0x6f, 0x70, 0x48, 0x69, 0x74, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x54, 0x6f, 0x70, 0x48, 0x69, 0x74, 0x73, 0x43, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x10, 0x74, 0x6f, 0x70, 0x48, 0x69, - 0x74, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x75, - 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, - 0x03, 0x6d, 0x61, 0x78, 0x12, 0x2e, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x4d, 0x69, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, - 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x59, 0x0a, 0x10, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6e, - 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x1a, - 0x5c, 0x0a, 0x15, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x6f, 0x72, 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, 0x2d, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x75, 0x63, 0x65, - 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0c, 0x0a, - 0x0a, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x56, 0x0a, 0x0f, 0x50, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x0e, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x43, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x2e, - 0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, - 0x7a, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0xc6, 0x01, 0x0a, 0x10, 0x54, 0x6f, 0x70, 0x48, 0x69, 0x74, 0x73, 0x43, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x48, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x48, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x6f, 0x70, 0x48, 0x69, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x48, 0x69, 0x74, 0x73, 0x12, 0x3a, 0x0a, - 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x09, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x74, - 0x72, 0x69, 0x65, 0x76, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0e, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x0f, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, - 0x2b, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x08, - 0x73, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x54, 0x65, - 0x72, 0x6d, 0x49, 0x6e, 0x53, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x08, - 0x73, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x22, 0x4d, 0x0a, 0x0c, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x4d, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0xdf, 0x02, 0x0a, 0x0f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x75, 0x63, + 0x75, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x9a, 0x01, 0x0a, 0x0d, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x12, 0x37, 0x0a, + 0x0c, 0x72, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x57, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x72, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xd8, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, + 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, + 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, + 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x0e, 0x70, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, + 0x48, 0x00, 0x52, 0x0e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x72, 0x73, 0x22, 0x81, 0x09, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x49, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6c, 0x75, 0x63, + 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x52, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x72, + 0x69, 0x74, 0x74, 0x65, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x72, + 0x69, 0x6c, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x64, 0x72, 0x69, 0x6c, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x1a, 0x40, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x24, + 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x4d, 0x73, 0x1a, 0xeb, 0x03, 0x0a, 0x0e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x74, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4c, 0x0a, 0x0c, 0x73, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0c, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x61, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6c, 0x75, 0x63, + 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x18, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x81, + 0x01, 0x0a, 0x1d, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 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, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x34, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0xc0, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x44, 0x6f, 0x63, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x44, 0x6f, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x6e, + 0x75, 0x6d, 0x44, 0x6f, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x75, + 0x6d, 0x44, 0x6f, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, + 0x13, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x4d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x13, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, + 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x1a, 0xbf, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, + 0x64, 0x75, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x4d, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6c, 0x75, + 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xba, 0x04, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x34, 0x0a, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x49, 0x0a, 0x0f, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x10, 0x74, 0x6f, 0x70, 0x48, 0x69, 0x74, + 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x54, 0x6f, 0x70, 0x48, 0x69, 0x74, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x48, 0x00, 0x52, 0x10, 0x74, 0x6f, 0x70, 0x48, 0x69, 0x74, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x0a, + 0x03, 0x6d, 0x61, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x75, 0x63, + 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x2e, 0x0a, + 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x75, 0x63, + 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x69, 0x6e, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x59, 0x0a, + 0x10, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x1a, 0x5c, 0x0a, 0x15, 0x4e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 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, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x22, 0x56, 0x0a, 0x0f, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xac, 0x01, 0x0a, + 0x0e, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, + 0x16, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x48, 0x00, 0x52, + 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x34, 0x0a, 0x09, 0x61, 0x6e, 0x79, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x02, 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, 0x48, - 0x00, 0x52, 0x09, 0x61, 0x6e, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3a, 0x0a, 0x0a, - 0x68, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, - 0x48, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x69, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x0c, 0x64, 0x6f, - 0x75, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 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, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, - 0x52, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x12, - 0x0a, 0x10, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x22, 0x7a, 0x0a, 0x0b, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x1e, - 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x44, - 0x45, 0x53, 0x43, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x53, 0x43, 0x10, 0x01, 0x22, 0xaf, - 0x03, 0x0a, 0x0c, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x3b, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, - 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x42, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, - 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x1a, 0x91, 0x02, 0x0a, - 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x75, 0x0a, 0x16, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x3d, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x42, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x42, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, - 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x68, 0x0a, 0x1b, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 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, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0x79, 0x0a, 0x0a, 0x48, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x35, - 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x48, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x48, 0x69, 0x74, 0x73, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x48, 0x69, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x68, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x48, 0x69, 0x74, 0x52, 0x04, 0x68, 0x69, 0x74, 0x73, 0x22, 0x84, 0x02, 0x0a, 0x0c, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, - 0x64, 0x6f, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x64, 0x6f, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x6e, 0x0a, 0x16, 0x6e, 0x65, 0x73, 0x74, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, + 0x54, 0x65, 0x72, 0x6d, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xc6, 0x01, 0x0a, 0x10, + 0x54, 0x6f, 0x70, 0x48, 0x69, 0x74, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x48, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x48, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x74, 0x6f, 0x70, 0x48, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, + 0x6f, 0x70, 0x48, 0x69, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x65, + 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, + 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, + 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, + 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x78, 0x70, + 0x6c, 0x61, 0x69, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x0f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x05, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x49, 0x6e, 0x53, 0x65, 0x74, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x08, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x4d, 0x0a, 0x0c, 0x4d, + 0x61, 0x78, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x06, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x75, + 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4d, 0x0a, 0x0c, 0x4d, 0x69, + 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x75, 0x63, + 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xdf, 0x02, 0x0a, 0x0f, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, + 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, + 0x00, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x34, 0x0a, 0x09, 0x61, 0x6e, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 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, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6e, 0x79, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3a, 0x0a, 0x0a, 0x68, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x75, 0x63, 0x65, + 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x48, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x40, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 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, 0x44, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x43, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x7a, 0x0a, 0x0b, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6c, 0x75, + 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x1e, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x45, 0x53, 0x43, 0x10, 0x00, 0x12, 0x07, + 0x0a, 0x03, 0x41, 0x53, 0x43, 0x10, 0x01, 0x22, 0xaf, 0x03, 0x0a, 0x0c, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x75, 0x63, 0x65, + 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x1a, 0x91, 0x02, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x75, 0x0a, 0x16, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x16, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x68, 0x0a, 0x1b, 0x4e, 0x65, 0x73, 0x74, + 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 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, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0xfd, 0x0a, 0x0a, 0x09, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x3c, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x51, 0x0a, 0x0e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, - 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x48, 0x69, - 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0xa5, 0x08, 0x0a, 0x08, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x47, 0x0a, 0x10, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, - 0x67, 0x68, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, - 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, - 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x19, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x07, 0x70, 0x72, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, - 0x73, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, - 0x6f, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x66, 0x72, 0x61, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, + 0x68, 0x0a, 0x1b, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 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, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x79, 0x0a, 0x0a, 0x48, 0x69, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x48, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x75, 0x63, + 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x48, + 0x69, 0x74, 0x73, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x48, 0x69, 0x74, 0x73, 0x12, 0x34, + 0x0a, 0x04, 0x68, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, + 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x69, 0x74, 0x52, 0x04, + 0x68, 0x69, 0x74, 0x73, 0x22, 0x84, 0x02, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x6e, 0x0a, 0x16, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x36, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6e, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x1a, 0x68, 0x0a, 0x1b, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 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, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x0b, 0x4c, + 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x66, 0x72, - 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x53, 0x0a, 0x17, 0x6d, 0x61, - 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x66, 0x72, 0x61, 0x67, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, + 0xfd, 0x0a, 0x0a, 0x09, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3c, 0x0a, + 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x48, + 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x73, 0x12, 0x51, 0x0a, 0x0e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6c, 0x75, + 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, + 0x69, 0x67, 0x68, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0xa5, 0x08, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x47, 0x0a, 0x10, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, + 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, + 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x48, 0x69, 0x67, + 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x68, 0x69, 0x67, + 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, + 0x70, 0x72, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x72, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x5f, + 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, + 0x54, 0x61, 0x67, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, - 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x3c, 0x0a, 0x0f, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x0e, 0x68, - 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3b, 0x0a, - 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x63, - 0x6f, 0x72, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x66, - 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x66, - 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x13, 0x64, 0x69, 0x73, - 0x63, 0x72, 0x65, 0x74, 0x65, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x12, 0x64, 0x69, 0x73, 0x63, 0x72, 0x65, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, - 0x69, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x5f, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, - 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x53, - 0x0a, 0x19, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, - 0x68, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x17, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x12, 0x47, 0x0a, 0x10, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, - 0x73, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x61, 0x72, 0x79, 0x53, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0e, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x73, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x43, 0x68, 0x61, 0x72, - 0x73, 0x12, 0x48, 0x0a, 0x11, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, - 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x61, 0x72, 0x79, 0x4d, 0x61, 0x78, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x54, 0x0a, 0x17, 0x62, - 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x5f, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x66, 0x72, 0x61, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x53, 0x0a, 0x17, 0x6d, 0x61, 0x78, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x4f, 0x66, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x0f, + 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x0e, 0x68, 0x69, 0x67, 0x68, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3b, 0x0a, 0x0b, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x67, + 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x61, 0x72, 0x79, 0x53, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, - 0x65, 0x1a, 0x62, 0x0a, 0x12, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 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, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, - 0x74, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3b, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, - 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x41, - 0x53, 0x54, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x50, - 0x4c, 0x41, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, - 0x10, 0x03, 0x2a, 0x25, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x10, 0x00, 0x12, - 0x08, 0x0a, 0x04, 0x4d, 0x55, 0x53, 0x54, 0x10, 0x01, 0x2a, 0x95, 0x01, 0x0a, 0x0d, 0x52, 0x65, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x0e, 0x43, - 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, - 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x43, 0x4f, 0x52, - 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, - 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x02, - 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x4f, 0x50, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x53, 0x5f, 0x42, 0x4c, - 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x46, 0x52, 0x45, 0x51, 0x53, 0x10, 0x03, 0x12, 0x13, 0x0a, - 0x0f, 0x54, 0x4f, 0x50, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x53, 0x5f, 0x42, 0x4f, 0x4f, 0x53, 0x54, - 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x4f, 0x50, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x53, 0x10, - 0x05, 0x2a, 0x38, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x45, 0x46, - 0x49, 0x58, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x55, - 0x5a, 0x5a, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x01, 0x2a, 0xb0, 0x01, 0x0a, 0x0a, - 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, - 0x47, 0x45, 0x58, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, - 0x47, 0x45, 0x58, 0x50, 0x5f, 0x41, 0x4e, 0x59, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, - 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x47, 0x45, 0x58, 0x50, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x4d, - 0x41, 0x54, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x47, 0x45, 0x58, 0x50, - 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x10, 0x0a, - 0x0c, 0x52, 0x45, 0x47, 0x45, 0x58, 0x50, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x04, 0x12, - 0x17, 0x0a, 0x13, 0x52, 0x45, 0x47, 0x45, 0x58, 0x50, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x53, - 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x47, 0x45, - 0x58, 0x50, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x10, 0x06, 0x12, 0x0f, 0x0a, - 0x0b, 0x52, 0x45, 0x47, 0x45, 0x58, 0x50, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x07, 0x2a, 0xa6, - 0x03, 0x0a, 0x09, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, - 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, - 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x48, 0x52, - 0x41, 0x53, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x46, - 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x5f, 0x51, 0x55, - 0x45, 0x52, 0x59, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x51, 0x55, - 0x45, 0x52, 0x59, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x49, 0x4e, - 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, - 0x44, 0x49, 0x53, 0x4a, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x10, - 0x06, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, - 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x50, 0x48, 0x52, 0x41, 0x53, 0x45, 0x10, 0x08, 0x12, 0x0f, - 0x0a, 0x0b, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x09, 0x12, - 0x09, 0x0a, 0x05, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x45, - 0x4f, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x4f, 0x58, 0x10, 0x0b, - 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x45, 0x4f, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x0c, 0x12, - 0x0a, 0x0a, 0x06, 0x4e, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x0a, 0x0a, 0x06, 0x45, - 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x0e, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x45, 0x4f, 0x5f, 0x52, - 0x41, 0x44, 0x49, 0x55, 0x53, 0x10, 0x0f, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4d, 0x50, 0x4c, - 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x10, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x55, 0x4c, 0x54, 0x49, - 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x5f, - 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x11, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x41, 0x54, 0x43, 0x48, - 0x5f, 0x50, 0x48, 0x52, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x10, 0x12, - 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x10, 0x13, 0x12, 0x18, 0x0a, 0x14, - 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x5f, 0x51, - 0x55, 0x45, 0x52, 0x59, 0x10, 0x14, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x45, 0x4f, 0x5f, 0x50, 0x4f, - 0x4c, 0x59, 0x47, 0x4f, 0x4e, 0x10, 0x15, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x50, 0x41, 0x4e, 0x5f, - 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x16, 0x2a, 0x3c, 0x0a, 0x08, 0x53, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, - 0x4d, 0x41, 0x58, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x49, 0x44, 0x44, 0x4c, 0x45, 0x5f, - 0x4d, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x49, 0x44, 0x44, 0x4c, 0x45, 0x5f, - 0x4d, 0x41, 0x58, 0x10, 0x03, 0x42, 0x58, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x79, 0x65, 0x6c, - 0x70, 0x2e, 0x6e, 0x72, 0x74, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x42, 0x13, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x19, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x59, 0x65, 0x6c, 0x70, 0x2f, - 0x6e, 0x72, 0x74, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0xa2, 0x02, 0x03, 0x48, 0x4c, 0x57, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x66, 0x72, 0x61, 0x67, + 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x63, 0x72, 0x65, + 0x74, 0x65, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x12, 0x64, 0x69, 0x73, 0x63, 0x72, 0x65, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x68, 0x69, + 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x69, 0x67, 0x68, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x19, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x65, + 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, + 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x12, 0x47, 0x0a, 0x10, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x63, 0x61, + 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, + 0x72, 0x79, 0x53, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0e, 0x62, 0x6f, 0x75, + 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x43, 0x68, 0x61, 0x72, 0x73, 0x12, 0x48, + 0x0a, 0x11, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, + 0x63, 0x61, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x4d, 0x61, 0x78, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x54, 0x0a, 0x17, 0x62, 0x6f, 0x75, 0x6e, + 0x64, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x53, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x1a, 0x62, + 0x0a, 0x12, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 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, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, 0x75, 0x63, 0x65, 0x6e, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x3b, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, + 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x41, 0x53, 0x54, 0x5f, + 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x4c, 0x41, 0x49, + 0x4e, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x03, 0x2a, + 0x25, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, + 0x4d, 0x55, 0x53, 0x54, 0x10, 0x01, 0x2a, 0x95, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x53, + 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, + 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x5f, 0x42, + 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x43, 0x4f, 0x52, + 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x1b, 0x0a, + 0x17, 0x54, 0x4f, 0x50, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x53, 0x5f, 0x42, 0x4c, 0x45, 0x4e, 0x44, + 0x45, 0x44, 0x5f, 0x46, 0x52, 0x45, 0x51, 0x53, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x4f, + 0x50, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x53, 0x5f, 0x42, 0x4f, 0x4f, 0x53, 0x54, 0x10, 0x04, 0x12, + 0x0d, 0x0a, 0x09, 0x54, 0x4f, 0x50, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x53, 0x10, 0x05, 0x2a, 0x38, + 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, + 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x55, 0x5a, 0x5a, 0x59, + 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x01, 0x2a, 0xb0, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x67, + 0x65, 0x78, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x47, 0x45, 0x58, + 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x47, 0x45, 0x58, + 0x50, 0x5f, 0x41, 0x4e, 0x59, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x14, 0x0a, + 0x10, 0x52, 0x45, 0x47, 0x45, 0x58, 0x50, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, 0x4f, + 0x4e, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x47, 0x45, 0x58, 0x50, 0x5f, 0x43, 0x4f, + 0x4d, 0x50, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, + 0x47, 0x45, 0x58, 0x50, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, + 0x52, 0x45, 0x47, 0x45, 0x58, 0x50, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x47, 0x45, 0x58, 0x50, 0x5f, + 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x45, + 0x47, 0x45, 0x58, 0x50, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x07, 0x2a, 0xa6, 0x03, 0x0a, 0x09, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, + 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x48, 0x52, 0x41, 0x53, 0x45, + 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x55, 0x4e, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, + 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, + 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x45, + 0x54, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x49, 0x53, + 0x4a, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x10, 0x06, 0x12, 0x09, + 0x0a, 0x05, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x41, 0x54, + 0x43, 0x48, 0x5f, 0x50, 0x48, 0x52, 0x41, 0x53, 0x45, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, + 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x09, 0x12, 0x09, 0x0a, 0x05, + 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x45, 0x4f, 0x5f, 0x42, + 0x4f, 0x55, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x4f, 0x58, 0x10, 0x0b, 0x12, 0x0d, 0x0a, + 0x09, 0x47, 0x45, 0x4f, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x0c, 0x12, 0x0a, 0x0a, 0x06, + 0x4e, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x58, 0x49, 0x53, + 0x54, 0x53, 0x10, 0x0e, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x45, 0x4f, 0x5f, 0x52, 0x41, 0x44, 0x49, + 0x55, 0x53, 0x10, 0x0f, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x10, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x46, 0x55, + 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x10, 0x11, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x50, 0x48, + 0x52, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x10, 0x12, 0x12, 0x0a, 0x0a, + 0x06, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x10, 0x13, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4e, + 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x52, + 0x59, 0x10, 0x14, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x45, 0x4f, 0x5f, 0x50, 0x4f, 0x4c, 0x59, 0x47, + 0x4f, 0x4e, 0x10, 0x15, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x50, 0x41, 0x4e, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x10, 0x16, 0x2a, 0x3c, 0x0a, 0x08, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x41, 0x58, + 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x49, 0x44, 0x44, 0x4c, 0x45, 0x5f, 0x4d, 0x49, 0x4e, + 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x49, 0x44, 0x44, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x58, + 0x10, 0x03, 0x42, 0x58, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x79, 0x65, 0x6c, 0x70, 0x2e, 0x6e, + 0x72, 0x74, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x42, 0x13, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x19, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x59, 0x65, 0x6c, 0x70, 0x2f, 0x6e, 0x72, 0x74, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0xa2, 0x02, 0x03, 0x48, 0x4c, 0x57, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -10136,7 +10339,7 @@ func file_yelp_nrtsearch_search_proto_rawDescGZIP() []byte { } var file_yelp_nrtsearch_search_proto_enumTypes = make([]protoimpl.EnumInfo, 17) -var file_yelp_nrtsearch_search_proto_msgTypes = make([]protoimpl.MessageInfo, 108) +var file_yelp_nrtsearch_search_proto_msgTypes = make([]protoimpl.MessageInfo, 110) var file_yelp_nrtsearch_search_proto_goTypes = []interface{}{ (MatchOperator)(0), // 0: luceneserver.MatchOperator (RewriteMethod)(0), // 1: luceneserver.RewriteMethod @@ -10189,129 +10392,131 @@ var file_yelp_nrtsearch_search_proto_goTypes = []interface{}{ (*SpanNearQuery)(nil), // 48: luceneserver.SpanNearQuery (*Query)(nil), // 49: luceneserver.Query (*SearchRequest)(nil), // 50: luceneserver.SearchRequest - (*InnerHit)(nil), // 51: luceneserver.InnerHit - (*VirtualField)(nil), // 52: luceneserver.VirtualField - (*RuntimeField)(nil), // 53: luceneserver.RuntimeField - (*Script)(nil), // 54: luceneserver.Script - (*QuerySortField)(nil), // 55: luceneserver.QuerySortField - (*SortFields)(nil), // 56: luceneserver.SortFields - (*SortType)(nil), // 57: luceneserver.SortType - (*TotalHits)(nil), // 58: luceneserver.TotalHits - (*Point)(nil), // 59: luceneserver.Point - (*SearchResponse)(nil), // 60: luceneserver.SearchResponse - (*NumericRangeType)(nil), // 61: luceneserver.NumericRangeType - (*Facet)(nil), // 62: luceneserver.Facet - (*FacetResult)(nil), // 63: luceneserver.FacetResult - (*LabelAndValue)(nil), // 64: luceneserver.LabelAndValue - (*FetchTask)(nil), // 65: luceneserver.FetchTask - (*PluginRescorer)(nil), // 66: luceneserver.PluginRescorer - (*QueryRescorer)(nil), // 67: luceneserver.QueryRescorer - (*Rescorer)(nil), // 68: luceneserver.Rescorer - (*ProfileResult)(nil), // 69: luceneserver.ProfileResult - (*Collector)(nil), // 70: luceneserver.Collector - (*PluginCollector)(nil), // 71: luceneserver.PluginCollector - (*TermsCollector)(nil), // 72: luceneserver.TermsCollector - (*TopHitsCollector)(nil), // 73: luceneserver.TopHitsCollector - (*FilterCollector)(nil), // 74: luceneserver.FilterCollector - (*MaxCollector)(nil), // 75: luceneserver.MaxCollector - (*MinCollector)(nil), // 76: luceneserver.MinCollector - (*CollectorResult)(nil), // 77: luceneserver.CollectorResult - (*BucketOrder)(nil), // 78: luceneserver.BucketOrder - (*BucketResult)(nil), // 79: luceneserver.BucketResult - (*HitsResult)(nil), // 80: luceneserver.HitsResult - (*FilterResult)(nil), // 81: luceneserver.FilterResult - (*Highlight)(nil), // 82: luceneserver.Highlight - (*FuzzyParams_AutoFuzziness)(nil), // 83: luceneserver.FuzzyParams.AutoFuzziness - (*TermInSetQuery_TextTerms)(nil), // 84: luceneserver.TermInSetQuery.TextTerms - (*TermInSetQuery_IntTerms)(nil), // 85: luceneserver.TermInSetQuery.IntTerms - (*TermInSetQuery_LongTerms)(nil), // 86: luceneserver.TermInSetQuery.LongTerms - (*TermInSetQuery_FloatTerms)(nil), // 87: luceneserver.TermInSetQuery.FloatTerms - (*TermInSetQuery_DoubleTerms)(nil), // 88: luceneserver.TermInSetQuery.DoubleTerms - nil, // 89: luceneserver.MultiMatchQuery.FieldBoostsEntry - (*MultiFunctionScoreQuery_FilterFunction)(nil), // 90: luceneserver.MultiFunctionScoreQuery.FilterFunction - (*MultiFunctionScoreQuery_DecayFunction)(nil), // 91: luceneserver.MultiFunctionScoreQuery.DecayFunction - nil, // 92: luceneserver.SearchRequest.CollectorsEntry - nil, // 93: luceneserver.SearchRequest.InnerHitsEntry - (*Script_ParamValue)(nil), // 94: luceneserver.Script.ParamValue - (*Script_ParamStructValue)(nil), // 95: luceneserver.Script.ParamStructValue - (*Script_ParamListValue)(nil), // 96: luceneserver.Script.ParamListValue - nil, // 97: luceneserver.Script.ParamsEntry - nil, // 98: luceneserver.Script.ParamStructValue.FieldsEntry - (*SearchResponse_Diagnostics)(nil), // 99: luceneserver.SearchResponse.Diagnostics - (*SearchResponse_Hit)(nil), // 100: luceneserver.SearchResponse.Hit - (*SearchResponse_SearchState)(nil), // 101: luceneserver.SearchResponse.SearchState - nil, // 102: luceneserver.SearchResponse.CollectorResultsEntry - nil, // 103: luceneserver.SearchResponse.Diagnostics.FacetTimeMsEntry - nil, // 104: luceneserver.SearchResponse.Diagnostics.RescorersTimeMsEntry - nil, // 105: luceneserver.SearchResponse.Diagnostics.InnerHitsDiagnosticsEntry - (*SearchResponse_Hit_FieldValue)(nil), // 106: luceneserver.SearchResponse.Hit.FieldValue - (*SearchResponse_Hit_CompositeFieldValue)(nil), // 107: luceneserver.SearchResponse.Hit.CompositeFieldValue - (*SearchResponse_Hit_Highlights)(nil), // 108: luceneserver.SearchResponse.Hit.Highlights - nil, // 109: luceneserver.SearchResponse.Hit.FieldsEntry - nil, // 110: luceneserver.SearchResponse.Hit.SortedFieldsEntry - nil, // 111: luceneserver.SearchResponse.Hit.HighlightsEntry - nil, // 112: luceneserver.SearchResponse.Hit.InnerHitsEntry - (*SearchResponse_Hit_FieldValue_Vector)(nil), // 113: luceneserver.SearchResponse.Hit.FieldValue.Vector - (*ProfileResult_AdditionalCollectorStats)(nil), // 114: luceneserver.ProfileResult.AdditionalCollectorStats - (*ProfileResult_CollectorStats)(nil), // 115: luceneserver.ProfileResult.CollectorStats - (*ProfileResult_SegmentStats)(nil), // 116: luceneserver.ProfileResult.SegmentStats - (*ProfileResult_SearchStats)(nil), // 117: luceneserver.ProfileResult.SearchStats - nil, // 118: luceneserver.ProfileResult.CollectorStats.AdditionalCollectorStatsEntry - nil, // 119: luceneserver.Collector.NestedCollectorsEntry - (*BucketResult_Bucket)(nil), // 120: luceneserver.BucketResult.Bucket - nil, // 121: luceneserver.BucketResult.Bucket.NestedCollectorResultsEntry - nil, // 122: luceneserver.FilterResult.NestedCollectorResultsEntry - (*Highlight_Settings)(nil), // 123: luceneserver.Highlight.Settings - nil, // 124: luceneserver.Highlight.FieldSettingsEntry - (*Analyzer)(nil), // 125: luceneserver.Analyzer - (*latlng.LatLng)(nil), // 126: google.type.LatLng - (*structpb.Struct)(nil), // 127: google.protobuf.Struct - (*anypb.Any)(nil), // 128: google.protobuf.Any - (*wrapperspb.DoubleValue)(nil), // 129: google.protobuf.DoubleValue - (*structpb.ListValue)(nil), // 130: google.protobuf.ListValue - (*wrapperspb.UInt32Value)(nil), // 131: google.protobuf.UInt32Value - (*wrapperspb.BoolValue)(nil), // 132: google.protobuf.BoolValue - (*wrapperspb.StringValue)(nil), // 133: google.protobuf.StringValue + (*LastHitInfo)(nil), // 51: luceneserver.LastHitInfo + (*InnerHit)(nil), // 52: luceneserver.InnerHit + (*VirtualField)(nil), // 53: luceneserver.VirtualField + (*RuntimeField)(nil), // 54: luceneserver.RuntimeField + (*Script)(nil), // 55: luceneserver.Script + (*QuerySortField)(nil), // 56: luceneserver.QuerySortField + (*SortFields)(nil), // 57: luceneserver.SortFields + (*SortType)(nil), // 58: luceneserver.SortType + (*TotalHits)(nil), // 59: luceneserver.TotalHits + (*Point)(nil), // 60: luceneserver.Point + (*SearchResponse)(nil), // 61: luceneserver.SearchResponse + (*NumericRangeType)(nil), // 62: luceneserver.NumericRangeType + (*Facet)(nil), // 63: luceneserver.Facet + (*FacetResult)(nil), // 64: luceneserver.FacetResult + (*LabelAndValue)(nil), // 65: luceneserver.LabelAndValue + (*FetchTask)(nil), // 66: luceneserver.FetchTask + (*PluginRescorer)(nil), // 67: luceneserver.PluginRescorer + (*QueryRescorer)(nil), // 68: luceneserver.QueryRescorer + (*Rescorer)(nil), // 69: luceneserver.Rescorer + (*ProfileResult)(nil), // 70: luceneserver.ProfileResult + (*Collector)(nil), // 71: luceneserver.Collector + (*PluginCollector)(nil), // 72: luceneserver.PluginCollector + (*TermsCollector)(nil), // 73: luceneserver.TermsCollector + (*TopHitsCollector)(nil), // 74: luceneserver.TopHitsCollector + (*FilterCollector)(nil), // 75: luceneserver.FilterCollector + (*MaxCollector)(nil), // 76: luceneserver.MaxCollector + (*MinCollector)(nil), // 77: luceneserver.MinCollector + (*CollectorResult)(nil), // 78: luceneserver.CollectorResult + (*BucketOrder)(nil), // 79: luceneserver.BucketOrder + (*BucketResult)(nil), // 80: luceneserver.BucketResult + (*HitsResult)(nil), // 81: luceneserver.HitsResult + (*FilterResult)(nil), // 82: luceneserver.FilterResult + (*LoggingHits)(nil), // 83: luceneserver.LoggingHits + (*Highlight)(nil), // 84: luceneserver.Highlight + (*FuzzyParams_AutoFuzziness)(nil), // 85: luceneserver.FuzzyParams.AutoFuzziness + (*TermInSetQuery_TextTerms)(nil), // 86: luceneserver.TermInSetQuery.TextTerms + (*TermInSetQuery_IntTerms)(nil), // 87: luceneserver.TermInSetQuery.IntTerms + (*TermInSetQuery_LongTerms)(nil), // 88: luceneserver.TermInSetQuery.LongTerms + (*TermInSetQuery_FloatTerms)(nil), // 89: luceneserver.TermInSetQuery.FloatTerms + (*TermInSetQuery_DoubleTerms)(nil), // 90: luceneserver.TermInSetQuery.DoubleTerms + nil, // 91: luceneserver.MultiMatchQuery.FieldBoostsEntry + (*MultiFunctionScoreQuery_FilterFunction)(nil), // 92: luceneserver.MultiFunctionScoreQuery.FilterFunction + (*MultiFunctionScoreQuery_DecayFunction)(nil), // 93: luceneserver.MultiFunctionScoreQuery.DecayFunction + nil, // 94: luceneserver.SearchRequest.CollectorsEntry + nil, // 95: luceneserver.SearchRequest.InnerHitsEntry + (*Script_ParamValue)(nil), // 96: luceneserver.Script.ParamValue + (*Script_ParamStructValue)(nil), // 97: luceneserver.Script.ParamStructValue + (*Script_ParamListValue)(nil), // 98: luceneserver.Script.ParamListValue + nil, // 99: luceneserver.Script.ParamsEntry + nil, // 100: luceneserver.Script.ParamStructValue.FieldsEntry + (*SearchResponse_Diagnostics)(nil), // 101: luceneserver.SearchResponse.Diagnostics + (*SearchResponse_Hit)(nil), // 102: luceneserver.SearchResponse.Hit + (*SearchResponse_SearchState)(nil), // 103: luceneserver.SearchResponse.SearchState + nil, // 104: luceneserver.SearchResponse.CollectorResultsEntry + nil, // 105: luceneserver.SearchResponse.Diagnostics.FacetTimeMsEntry + nil, // 106: luceneserver.SearchResponse.Diagnostics.RescorersTimeMsEntry + nil, // 107: luceneserver.SearchResponse.Diagnostics.InnerHitsDiagnosticsEntry + (*SearchResponse_Hit_FieldValue)(nil), // 108: luceneserver.SearchResponse.Hit.FieldValue + (*SearchResponse_Hit_CompositeFieldValue)(nil), // 109: luceneserver.SearchResponse.Hit.CompositeFieldValue + (*SearchResponse_Hit_Highlights)(nil), // 110: luceneserver.SearchResponse.Hit.Highlights + nil, // 111: luceneserver.SearchResponse.Hit.FieldsEntry + nil, // 112: luceneserver.SearchResponse.Hit.SortedFieldsEntry + nil, // 113: luceneserver.SearchResponse.Hit.HighlightsEntry + nil, // 114: luceneserver.SearchResponse.Hit.InnerHitsEntry + (*SearchResponse_Hit_FieldValue_Vector)(nil), // 115: luceneserver.SearchResponse.Hit.FieldValue.Vector + (*ProfileResult_AdditionalCollectorStats)(nil), // 116: luceneserver.ProfileResult.AdditionalCollectorStats + (*ProfileResult_CollectorStats)(nil), // 117: luceneserver.ProfileResult.CollectorStats + (*ProfileResult_SegmentStats)(nil), // 118: luceneserver.ProfileResult.SegmentStats + (*ProfileResult_SearchStats)(nil), // 119: luceneserver.ProfileResult.SearchStats + nil, // 120: luceneserver.ProfileResult.CollectorStats.AdditionalCollectorStatsEntry + nil, // 121: luceneserver.Collector.NestedCollectorsEntry + (*BucketResult_Bucket)(nil), // 122: luceneserver.BucketResult.Bucket + nil, // 123: luceneserver.BucketResult.Bucket.NestedCollectorResultsEntry + nil, // 124: luceneserver.FilterResult.NestedCollectorResultsEntry + (*Highlight_Settings)(nil), // 125: luceneserver.Highlight.Settings + nil, // 126: luceneserver.Highlight.FieldSettingsEntry + (*Analyzer)(nil), // 127: luceneserver.Analyzer + (*latlng.LatLng)(nil), // 128: google.type.LatLng + (*structpb.Struct)(nil), // 129: google.protobuf.Struct + (*anypb.Any)(nil), // 130: google.protobuf.Any + (*wrapperspb.DoubleValue)(nil), // 131: google.protobuf.DoubleValue + (*structpb.ListValue)(nil), // 132: google.protobuf.ListValue + (*wrapperspb.UInt32Value)(nil), // 133: google.protobuf.UInt32Value + (*wrapperspb.BoolValue)(nil), // 134: google.protobuf.BoolValue + (*wrapperspb.StringValue)(nil), // 135: google.protobuf.StringValue } var file_yelp_nrtsearch_search_proto_depIdxs = []int32{ 49, // 0: luceneserver.BooleanClause.query:type_name -> luceneserver.Query 6, // 1: luceneserver.BooleanClause.occur:type_name -> luceneserver.BooleanClause.Occur - 83, // 2: luceneserver.FuzzyParams.auto:type_name -> luceneserver.FuzzyParams.AutoFuzziness + 85, // 2: luceneserver.FuzzyParams.auto:type_name -> luceneserver.FuzzyParams.AutoFuzziness 17, // 3: luceneserver.BooleanQuery.clauses:type_name -> luceneserver.BooleanClause 1, // 4: luceneserver.PrefixQuery.rewrite:type_name -> luceneserver.RewriteMethod 1, // 5: luceneserver.TermRangeQuery.rewrite:type_name -> luceneserver.RewriteMethod 49, // 6: luceneserver.FunctionScoreQuery.query:type_name -> luceneserver.Query - 54, // 7: luceneserver.FunctionScoreQuery.script:type_name -> luceneserver.Script - 54, // 8: luceneserver.FunctionFilterQuery.script:type_name -> luceneserver.Script + 55, // 7: luceneserver.FunctionScoreQuery.script:type_name -> luceneserver.Script + 55, // 8: luceneserver.FunctionFilterQuery.script:type_name -> luceneserver.Script 49, // 9: luceneserver.NestedQuery.query:type_name -> luceneserver.Query 7, // 10: luceneserver.NestedQuery.scoreMode:type_name -> luceneserver.NestedQuery.ScoreMode - 84, // 11: luceneserver.TermInSetQuery.textTerms:type_name -> luceneserver.TermInSetQuery.TextTerms - 85, // 12: luceneserver.TermInSetQuery.intTerms:type_name -> luceneserver.TermInSetQuery.IntTerms - 86, // 13: luceneserver.TermInSetQuery.longTerms:type_name -> luceneserver.TermInSetQuery.LongTerms - 87, // 14: luceneserver.TermInSetQuery.floatTerms:type_name -> luceneserver.TermInSetQuery.FloatTerms - 88, // 15: luceneserver.TermInSetQuery.doubleTerms:type_name -> luceneserver.TermInSetQuery.DoubleTerms + 86, // 11: luceneserver.TermInSetQuery.textTerms:type_name -> luceneserver.TermInSetQuery.TextTerms + 87, // 12: luceneserver.TermInSetQuery.intTerms:type_name -> luceneserver.TermInSetQuery.IntTerms + 88, // 13: luceneserver.TermInSetQuery.longTerms:type_name -> luceneserver.TermInSetQuery.LongTerms + 89, // 14: luceneserver.TermInSetQuery.floatTerms:type_name -> luceneserver.TermInSetQuery.FloatTerms + 90, // 15: luceneserver.TermInSetQuery.doubleTerms:type_name -> luceneserver.TermInSetQuery.DoubleTerms 49, // 16: luceneserver.DisjunctionMaxQuery.disjuncts:type_name -> luceneserver.Query 0, // 17: luceneserver.MatchQuery.operator:type_name -> luceneserver.MatchOperator - 125, // 18: luceneserver.MatchQuery.analyzer:type_name -> luceneserver.Analyzer + 127, // 18: luceneserver.MatchQuery.analyzer:type_name -> luceneserver.Analyzer 18, // 19: luceneserver.MatchQuery.fuzzyParams:type_name -> luceneserver.FuzzyParams - 125, // 20: luceneserver.MatchPhraseQuery.analyzer:type_name -> luceneserver.Analyzer + 127, // 20: luceneserver.MatchPhraseQuery.analyzer:type_name -> luceneserver.Analyzer 8, // 21: luceneserver.MatchPhraseQuery.zeroTermsQuery:type_name -> luceneserver.MatchPhraseQuery.ZeroTerms - 125, // 22: luceneserver.MatchPhrasePrefixQuery.analyzer:type_name -> luceneserver.Analyzer - 89, // 23: luceneserver.MultiMatchQuery.fieldBoosts:type_name -> luceneserver.MultiMatchQuery.FieldBoostsEntry + 127, // 22: luceneserver.MatchPhrasePrefixQuery.analyzer:type_name -> luceneserver.Analyzer + 91, // 23: luceneserver.MultiMatchQuery.fieldBoosts:type_name -> luceneserver.MultiMatchQuery.FieldBoostsEntry 0, // 24: luceneserver.MultiMatchQuery.operator:type_name -> luceneserver.MatchOperator - 125, // 25: luceneserver.MultiMatchQuery.analyzer:type_name -> luceneserver.Analyzer + 127, // 25: luceneserver.MultiMatchQuery.analyzer:type_name -> luceneserver.Analyzer 18, // 26: luceneserver.MultiMatchQuery.fuzzyParams:type_name -> luceneserver.FuzzyParams 9, // 27: luceneserver.MultiMatchQuery.type:type_name -> luceneserver.MultiMatchQuery.MatchType - 126, // 28: luceneserver.GeoBoundingBoxQuery.topLeft:type_name -> google.type.LatLng - 126, // 29: luceneserver.GeoBoundingBoxQuery.bottomRight:type_name -> google.type.LatLng - 126, // 30: luceneserver.GeoRadiusQuery.center:type_name -> google.type.LatLng - 126, // 31: luceneserver.GeoPointQuery.point:type_name -> google.type.LatLng - 126, // 32: luceneserver.Polygon.points:type_name -> google.type.LatLng + 128, // 28: luceneserver.GeoBoundingBoxQuery.topLeft:type_name -> google.type.LatLng + 128, // 29: luceneserver.GeoBoundingBoxQuery.bottomRight:type_name -> google.type.LatLng + 128, // 30: luceneserver.GeoRadiusQuery.center:type_name -> google.type.LatLng + 128, // 31: luceneserver.GeoPointQuery.point:type_name -> google.type.LatLng + 128, // 32: luceneserver.Polygon.points:type_name -> google.type.LatLng 37, // 33: luceneserver.Polygon.holes:type_name -> luceneserver.Polygon 37, // 34: luceneserver.GeoPolygonQuery.polygons:type_name -> luceneserver.Polygon 2, // 35: luceneserver.CompletionQuery.queryType:type_name -> luceneserver.CompletionQueryType 49, // 36: luceneserver.MultiFunctionScoreQuery.query:type_name -> luceneserver.Query - 90, // 37: luceneserver.MultiFunctionScoreQuery.functions:type_name -> luceneserver.MultiFunctionScoreQuery.FilterFunction + 92, // 37: luceneserver.MultiFunctionScoreQuery.functions:type_name -> luceneserver.MultiFunctionScoreQuery.FilterFunction 11, // 38: luceneserver.MultiFunctionScoreQuery.score_mode:type_name -> luceneserver.MultiFunctionScoreQuery.FunctionScoreMode 12, // 39: luceneserver.MultiFunctionScoreQuery.boost_mode:type_name -> luceneserver.MultiFunctionScoreQuery.BoostMode 49, // 40: luceneserver.ConstantScoreQuery.filter:type_name -> luceneserver.Query @@ -10320,161 +10525,166 @@ var file_yelp_nrtsearch_search_proto_depIdxs = []int32{ 46, // 43: luceneserver.SpanQuery.spanMultiTermQuery:type_name -> luceneserver.SpanMultiTermQuery 1, // 44: luceneserver.WildcardQuery.rewrite:type_name -> luceneserver.RewriteMethod 1, // 45: luceneserver.FuzzyQuery.rewrite:type_name -> luceneserver.RewriteMethod - 44, // 46: luceneserver.SpanMultiTermQuery.wildcardQuery:type_name -> luceneserver.WildcardQuery - 45, // 47: luceneserver.SpanMultiTermQuery.fuzzyQuery:type_name -> luceneserver.FuzzyQuery - 21, // 48: luceneserver.SpanMultiTermQuery.prefixQuery:type_name -> luceneserver.PrefixQuery - 47, // 49: luceneserver.SpanMultiTermQuery.regexpQuery:type_name -> luceneserver.RegexpQuery - 22, // 50: luceneserver.SpanMultiTermQuery.termRangeQuery:type_name -> luceneserver.TermRangeQuery - 3, // 51: luceneserver.RegexpQuery.flag:type_name -> luceneserver.RegexpFlag - 1, // 52: luceneserver.RegexpQuery.rewrite:type_name -> luceneserver.RewriteMethod - 43, // 53: luceneserver.SpanNearQuery.clauses:type_name -> luceneserver.SpanQuery - 4, // 54: luceneserver.Query.queryType:type_name -> luceneserver.QueryType - 19, // 55: luceneserver.Query.booleanQuery:type_name -> luceneserver.BooleanQuery - 20, // 56: luceneserver.Query.phraseQuery:type_name -> luceneserver.PhraseQuery - 23, // 57: luceneserver.Query.functionScoreQuery:type_name -> luceneserver.FunctionScoreQuery - 26, // 58: luceneserver.Query.termQuery:type_name -> luceneserver.TermQuery - 27, // 59: luceneserver.Query.termInSetQuery:type_name -> luceneserver.TermInSetQuery - 28, // 60: luceneserver.Query.disjunctionMaxQuery:type_name -> luceneserver.DisjunctionMaxQuery - 29, // 61: luceneserver.Query.matchQuery:type_name -> luceneserver.MatchQuery - 30, // 62: luceneserver.Query.matchPhraseQuery:type_name -> luceneserver.MatchPhraseQuery - 32, // 63: luceneserver.Query.multiMatchQuery:type_name -> luceneserver.MultiMatchQuery - 33, // 64: luceneserver.Query.rangeQuery:type_name -> luceneserver.RangeQuery - 34, // 65: luceneserver.Query.geoBoundingBoxQuery:type_name -> luceneserver.GeoBoundingBoxQuery - 36, // 66: luceneserver.Query.geoPointQuery:type_name -> luceneserver.GeoPointQuery - 25, // 67: luceneserver.Query.nestedQuery:type_name -> luceneserver.NestedQuery - 39, // 68: luceneserver.Query.existsQuery:type_name -> luceneserver.ExistsQuery - 35, // 69: luceneserver.Query.geoRadiusQuery:type_name -> luceneserver.GeoRadiusQuery - 24, // 70: luceneserver.Query.functionFilterQuery:type_name -> luceneserver.FunctionFilterQuery - 40, // 71: luceneserver.Query.completionQuery:type_name -> luceneserver.CompletionQuery - 41, // 72: luceneserver.Query.multiFunctionScoreQuery:type_name -> luceneserver.MultiFunctionScoreQuery - 31, // 73: luceneserver.Query.matchPhrasePrefixQuery:type_name -> luceneserver.MatchPhrasePrefixQuery - 21, // 74: luceneserver.Query.prefixQuery:type_name -> luceneserver.PrefixQuery - 42, // 75: luceneserver.Query.constantScoreQuery:type_name -> luceneserver.ConstantScoreQuery - 38, // 76: luceneserver.Query.geoPolygonQuery:type_name -> luceneserver.GeoPolygonQuery - 43, // 77: luceneserver.Query.spanQuery:type_name -> luceneserver.SpanQuery - 52, // 78: luceneserver.SearchRequest.virtualFields:type_name -> luceneserver.VirtualField - 49, // 79: luceneserver.SearchRequest.query:type_name -> luceneserver.Query - 55, // 80: luceneserver.SearchRequest.querySort:type_name -> luceneserver.QuerySortField - 62, // 81: luceneserver.SearchRequest.facets:type_name -> luceneserver.Facet - 65, // 82: luceneserver.SearchRequest.fetchTasks:type_name -> luceneserver.FetchTask - 68, // 83: luceneserver.SearchRequest.rescorers:type_name -> luceneserver.Rescorer - 92, // 84: luceneserver.SearchRequest.collectors:type_name -> luceneserver.SearchRequest.CollectorsEntry - 82, // 85: luceneserver.SearchRequest.highlight:type_name -> luceneserver.Highlight - 93, // 86: luceneserver.SearchRequest.inner_hits:type_name -> luceneserver.SearchRequest.InnerHitsEntry - 53, // 87: luceneserver.SearchRequest.runtimeFields:type_name -> luceneserver.RuntimeField - 49, // 88: luceneserver.InnerHit.inner_query:type_name -> luceneserver.Query - 55, // 89: luceneserver.InnerHit.query_sort:type_name -> luceneserver.QuerySortField - 82, // 90: luceneserver.InnerHit.highlight:type_name -> luceneserver.Highlight - 54, // 91: luceneserver.VirtualField.script:type_name -> luceneserver.Script - 54, // 92: luceneserver.RuntimeField.script:type_name -> luceneserver.Script - 97, // 93: luceneserver.Script.params:type_name -> luceneserver.Script.ParamsEntry - 56, // 94: luceneserver.QuerySortField.fields:type_name -> luceneserver.SortFields - 57, // 95: luceneserver.SortFields.sortedFields:type_name -> luceneserver.SortType - 5, // 96: luceneserver.SortType.selector:type_name -> luceneserver.Selector - 59, // 97: luceneserver.SortType.origin:type_name -> luceneserver.Point - 14, // 98: luceneserver.TotalHits.relation:type_name -> luceneserver.TotalHits.Relation - 99, // 99: luceneserver.SearchResponse.diagnostics:type_name -> luceneserver.SearchResponse.Diagnostics - 58, // 100: luceneserver.SearchResponse.totalHits:type_name -> luceneserver.TotalHits - 100, // 101: luceneserver.SearchResponse.hits:type_name -> luceneserver.SearchResponse.Hit - 101, // 102: luceneserver.SearchResponse.searchState:type_name -> luceneserver.SearchResponse.SearchState - 63, // 103: luceneserver.SearchResponse.facetResult:type_name -> luceneserver.FacetResult - 69, // 104: luceneserver.SearchResponse.profileResult:type_name -> luceneserver.ProfileResult - 102, // 105: luceneserver.SearchResponse.collectorResults:type_name -> luceneserver.SearchResponse.CollectorResultsEntry - 61, // 106: luceneserver.Facet.numericRange:type_name -> luceneserver.NumericRangeType - 54, // 107: luceneserver.Facet.script:type_name -> luceneserver.Script - 64, // 108: luceneserver.FacetResult.labelValues:type_name -> luceneserver.LabelAndValue - 127, // 109: luceneserver.FetchTask.params:type_name -> google.protobuf.Struct - 127, // 110: luceneserver.PluginRescorer.params:type_name -> google.protobuf.Struct - 49, // 111: luceneserver.QueryRescorer.rescoreQuery:type_name -> luceneserver.Query - 67, // 112: luceneserver.Rescorer.queryRescorer:type_name -> luceneserver.QueryRescorer - 66, // 113: luceneserver.Rescorer.pluginRescorer:type_name -> luceneserver.PluginRescorer - 117, // 114: luceneserver.ProfileResult.searchStats:type_name -> luceneserver.ProfileResult.SearchStats - 72, // 115: luceneserver.Collector.terms:type_name -> luceneserver.TermsCollector - 71, // 116: luceneserver.Collector.pluginCollector:type_name -> luceneserver.PluginCollector - 73, // 117: luceneserver.Collector.topHitsCollector:type_name -> luceneserver.TopHitsCollector - 74, // 118: luceneserver.Collector.filter:type_name -> luceneserver.FilterCollector - 75, // 119: luceneserver.Collector.max:type_name -> luceneserver.MaxCollector - 76, // 120: luceneserver.Collector.min:type_name -> luceneserver.MinCollector - 119, // 121: luceneserver.Collector.nestedCollectors:type_name -> luceneserver.Collector.NestedCollectorsEntry - 127, // 122: luceneserver.PluginCollector.params:type_name -> google.protobuf.Struct - 54, // 123: luceneserver.TermsCollector.script:type_name -> luceneserver.Script - 78, // 124: luceneserver.TermsCollector.order:type_name -> luceneserver.BucketOrder - 55, // 125: luceneserver.TopHitsCollector.querySort:type_name -> luceneserver.QuerySortField - 49, // 126: luceneserver.FilterCollector.query:type_name -> luceneserver.Query - 27, // 127: luceneserver.FilterCollector.setQuery:type_name -> luceneserver.TermInSetQuery - 54, // 128: luceneserver.MaxCollector.script:type_name -> luceneserver.Script - 54, // 129: luceneserver.MinCollector.script:type_name -> luceneserver.Script - 79, // 130: luceneserver.CollectorResult.bucketResult:type_name -> luceneserver.BucketResult - 128, // 131: luceneserver.CollectorResult.anyResult:type_name -> google.protobuf.Any - 80, // 132: luceneserver.CollectorResult.hitsResult:type_name -> luceneserver.HitsResult - 81, // 133: luceneserver.CollectorResult.filterResult:type_name -> luceneserver.FilterResult - 129, // 134: luceneserver.CollectorResult.doubleResult:type_name -> google.protobuf.DoubleValue - 15, // 135: luceneserver.BucketOrder.order:type_name -> luceneserver.BucketOrder.OrderType - 120, // 136: luceneserver.BucketResult.buckets:type_name -> luceneserver.BucketResult.Bucket - 58, // 137: luceneserver.HitsResult.totalHits:type_name -> luceneserver.TotalHits - 100, // 138: luceneserver.HitsResult.hits:type_name -> luceneserver.SearchResponse.Hit - 122, // 139: luceneserver.FilterResult.nestedCollectorResults:type_name -> luceneserver.FilterResult.NestedCollectorResultsEntry - 123, // 140: luceneserver.Highlight.settings:type_name -> luceneserver.Highlight.Settings - 124, // 141: luceneserver.Highlight.field_settings:type_name -> luceneserver.Highlight.FieldSettingsEntry - 49, // 142: luceneserver.MultiFunctionScoreQuery.FilterFunction.filter:type_name -> luceneserver.Query - 54, // 143: luceneserver.MultiFunctionScoreQuery.FilterFunction.script:type_name -> luceneserver.Script - 91, // 144: luceneserver.MultiFunctionScoreQuery.FilterFunction.decayFunction:type_name -> luceneserver.MultiFunctionScoreQuery.DecayFunction - 10, // 145: luceneserver.MultiFunctionScoreQuery.DecayFunction.decayType:type_name -> luceneserver.MultiFunctionScoreQuery.DecayType - 126, // 146: luceneserver.MultiFunctionScoreQuery.DecayFunction.geoPoint:type_name -> google.type.LatLng - 70, // 147: luceneserver.SearchRequest.CollectorsEntry.value:type_name -> luceneserver.Collector - 51, // 148: luceneserver.SearchRequest.InnerHitsEntry.value:type_name -> luceneserver.InnerHit - 13, // 149: luceneserver.Script.ParamValue.nullValue:type_name -> luceneserver.Script.ParamNullValue - 96, // 150: luceneserver.Script.ParamValue.listValue:type_name -> luceneserver.Script.ParamListValue - 95, // 151: luceneserver.Script.ParamValue.structValue:type_name -> luceneserver.Script.ParamStructValue - 98, // 152: luceneserver.Script.ParamStructValue.fields:type_name -> luceneserver.Script.ParamStructValue.FieldsEntry - 94, // 153: luceneserver.Script.ParamListValue.values:type_name -> luceneserver.Script.ParamValue - 94, // 154: luceneserver.Script.ParamsEntry.value:type_name -> luceneserver.Script.ParamValue - 94, // 155: luceneserver.Script.ParamStructValue.FieldsEntry.value:type_name -> luceneserver.Script.ParamValue - 103, // 156: luceneserver.SearchResponse.Diagnostics.facetTimeMs:type_name -> luceneserver.SearchResponse.Diagnostics.FacetTimeMsEntry - 104, // 157: luceneserver.SearchResponse.Diagnostics.rescorersTimeMs:type_name -> luceneserver.SearchResponse.Diagnostics.RescorersTimeMsEntry - 105, // 158: luceneserver.SearchResponse.Diagnostics.innerHitsDiagnostics:type_name -> luceneserver.SearchResponse.Diagnostics.InnerHitsDiagnosticsEntry - 109, // 159: luceneserver.SearchResponse.Hit.fields:type_name -> luceneserver.SearchResponse.Hit.FieldsEntry - 110, // 160: luceneserver.SearchResponse.Hit.sortedFields:type_name -> luceneserver.SearchResponse.Hit.SortedFieldsEntry - 111, // 161: luceneserver.SearchResponse.Hit.highlights:type_name -> luceneserver.SearchResponse.Hit.HighlightsEntry - 112, // 162: luceneserver.SearchResponse.Hit.innerHits:type_name -> luceneserver.SearchResponse.Hit.InnerHitsEntry - 77, // 163: luceneserver.SearchResponse.CollectorResultsEntry.value:type_name -> luceneserver.CollectorResult - 99, // 164: luceneserver.SearchResponse.Diagnostics.InnerHitsDiagnosticsEntry.value:type_name -> luceneserver.SearchResponse.Diagnostics - 126, // 165: luceneserver.SearchResponse.Hit.FieldValue.latLngValue:type_name -> google.type.LatLng - 127, // 166: luceneserver.SearchResponse.Hit.FieldValue.structValue:type_name -> google.protobuf.Struct - 113, // 167: luceneserver.SearchResponse.Hit.FieldValue.vectorValue:type_name -> luceneserver.SearchResponse.Hit.FieldValue.Vector - 130, // 168: luceneserver.SearchResponse.Hit.FieldValue.listValue:type_name -> google.protobuf.ListValue - 106, // 169: luceneserver.SearchResponse.Hit.CompositeFieldValue.fieldValue:type_name -> luceneserver.SearchResponse.Hit.FieldValue - 107, // 170: luceneserver.SearchResponse.Hit.FieldsEntry.value:type_name -> luceneserver.SearchResponse.Hit.CompositeFieldValue - 107, // 171: luceneserver.SearchResponse.Hit.SortedFieldsEntry.value:type_name -> luceneserver.SearchResponse.Hit.CompositeFieldValue - 108, // 172: luceneserver.SearchResponse.Hit.HighlightsEntry.value:type_name -> luceneserver.SearchResponse.Hit.Highlights - 80, // 173: luceneserver.SearchResponse.Hit.InnerHitsEntry.value:type_name -> luceneserver.HitsResult - 116, // 174: luceneserver.ProfileResult.CollectorStats.segmentStats:type_name -> luceneserver.ProfileResult.SegmentStats - 118, // 175: luceneserver.ProfileResult.CollectorStats.additionalCollectorStats:type_name -> luceneserver.ProfileResult.CollectorStats.AdditionalCollectorStatsEntry - 115, // 176: luceneserver.ProfileResult.SearchStats.collectorStats:type_name -> luceneserver.ProfileResult.CollectorStats - 114, // 177: luceneserver.ProfileResult.CollectorStats.AdditionalCollectorStatsEntry.value:type_name -> luceneserver.ProfileResult.AdditionalCollectorStats - 70, // 178: luceneserver.Collector.NestedCollectorsEntry.value:type_name -> luceneserver.Collector - 121, // 179: luceneserver.BucketResult.Bucket.nestedCollectorResults:type_name -> luceneserver.BucketResult.Bucket.NestedCollectorResultsEntry - 77, // 180: luceneserver.BucketResult.Bucket.NestedCollectorResultsEntry.value:type_name -> luceneserver.CollectorResult - 77, // 181: luceneserver.FilterResult.NestedCollectorResultsEntry.value:type_name -> luceneserver.CollectorResult - 16, // 182: luceneserver.Highlight.Settings.highlighter_type:type_name -> luceneserver.Highlight.Type - 131, // 183: luceneserver.Highlight.Settings.fragment_size:type_name -> google.protobuf.UInt32Value - 131, // 184: luceneserver.Highlight.Settings.max_number_of_fragments:type_name -> google.protobuf.UInt32Value - 49, // 185: luceneserver.Highlight.Settings.highlight_query:type_name -> luceneserver.Query - 132, // 186: luceneserver.Highlight.Settings.field_match:type_name -> google.protobuf.BoolValue - 132, // 187: luceneserver.Highlight.Settings.score_ordered:type_name -> google.protobuf.BoolValue - 133, // 188: luceneserver.Highlight.Settings.fragmenter:type_name -> google.protobuf.StringValue - 132, // 189: luceneserver.Highlight.Settings.discrete_multivalue:type_name -> google.protobuf.BoolValue - 127, // 190: luceneserver.Highlight.Settings.custom_highlighter_params:type_name -> google.protobuf.Struct - 133, // 191: luceneserver.Highlight.Settings.boundary_scanner:type_name -> google.protobuf.StringValue - 133, // 192: luceneserver.Highlight.Settings.boundary_chars:type_name -> google.protobuf.StringValue - 131, // 193: luceneserver.Highlight.Settings.boundary_max_scan:type_name -> google.protobuf.UInt32Value - 133, // 194: luceneserver.Highlight.Settings.boundary_scanner_locale:type_name -> google.protobuf.StringValue - 123, // 195: luceneserver.Highlight.FieldSettingsEntry.value:type_name -> luceneserver.Highlight.Settings - 196, // [196:196] is the sub-list for method output_type - 196, // [196:196] is the sub-list for method input_type - 196, // [196:196] is the sub-list for extension type_name - 196, // [196:196] is the sub-list for extension extendee - 0, // [0:196] is the sub-list for field type_name + 85, // 46: luceneserver.FuzzyQuery.auto:type_name -> luceneserver.FuzzyParams.AutoFuzziness + 44, // 47: luceneserver.SpanMultiTermQuery.wildcardQuery:type_name -> luceneserver.WildcardQuery + 45, // 48: luceneserver.SpanMultiTermQuery.fuzzyQuery:type_name -> luceneserver.FuzzyQuery + 21, // 49: luceneserver.SpanMultiTermQuery.prefixQuery:type_name -> luceneserver.PrefixQuery + 47, // 50: luceneserver.SpanMultiTermQuery.regexpQuery:type_name -> luceneserver.RegexpQuery + 22, // 51: luceneserver.SpanMultiTermQuery.termRangeQuery:type_name -> luceneserver.TermRangeQuery + 3, // 52: luceneserver.RegexpQuery.flag:type_name -> luceneserver.RegexpFlag + 1, // 53: luceneserver.RegexpQuery.rewrite:type_name -> luceneserver.RewriteMethod + 43, // 54: luceneserver.SpanNearQuery.clauses:type_name -> luceneserver.SpanQuery + 4, // 55: luceneserver.Query.queryType:type_name -> luceneserver.QueryType + 19, // 56: luceneserver.Query.booleanQuery:type_name -> luceneserver.BooleanQuery + 20, // 57: luceneserver.Query.phraseQuery:type_name -> luceneserver.PhraseQuery + 23, // 58: luceneserver.Query.functionScoreQuery:type_name -> luceneserver.FunctionScoreQuery + 26, // 59: luceneserver.Query.termQuery:type_name -> luceneserver.TermQuery + 27, // 60: luceneserver.Query.termInSetQuery:type_name -> luceneserver.TermInSetQuery + 28, // 61: luceneserver.Query.disjunctionMaxQuery:type_name -> luceneserver.DisjunctionMaxQuery + 29, // 62: luceneserver.Query.matchQuery:type_name -> luceneserver.MatchQuery + 30, // 63: luceneserver.Query.matchPhraseQuery:type_name -> luceneserver.MatchPhraseQuery + 32, // 64: luceneserver.Query.multiMatchQuery:type_name -> luceneserver.MultiMatchQuery + 33, // 65: luceneserver.Query.rangeQuery:type_name -> luceneserver.RangeQuery + 34, // 66: luceneserver.Query.geoBoundingBoxQuery:type_name -> luceneserver.GeoBoundingBoxQuery + 36, // 67: luceneserver.Query.geoPointQuery:type_name -> luceneserver.GeoPointQuery + 25, // 68: luceneserver.Query.nestedQuery:type_name -> luceneserver.NestedQuery + 39, // 69: luceneserver.Query.existsQuery:type_name -> luceneserver.ExistsQuery + 35, // 70: luceneserver.Query.geoRadiusQuery:type_name -> luceneserver.GeoRadiusQuery + 24, // 71: luceneserver.Query.functionFilterQuery:type_name -> luceneserver.FunctionFilterQuery + 40, // 72: luceneserver.Query.completionQuery:type_name -> luceneserver.CompletionQuery + 41, // 73: luceneserver.Query.multiFunctionScoreQuery:type_name -> luceneserver.MultiFunctionScoreQuery + 31, // 74: luceneserver.Query.matchPhrasePrefixQuery:type_name -> luceneserver.MatchPhrasePrefixQuery + 21, // 75: luceneserver.Query.prefixQuery:type_name -> luceneserver.PrefixQuery + 42, // 76: luceneserver.Query.constantScoreQuery:type_name -> luceneserver.ConstantScoreQuery + 38, // 77: luceneserver.Query.geoPolygonQuery:type_name -> luceneserver.GeoPolygonQuery + 43, // 78: luceneserver.Query.spanQuery:type_name -> luceneserver.SpanQuery + 53, // 79: luceneserver.SearchRequest.virtualFields:type_name -> luceneserver.VirtualField + 49, // 80: luceneserver.SearchRequest.query:type_name -> luceneserver.Query + 56, // 81: luceneserver.SearchRequest.querySort:type_name -> luceneserver.QuerySortField + 63, // 82: luceneserver.SearchRequest.facets:type_name -> luceneserver.Facet + 66, // 83: luceneserver.SearchRequest.fetchTasks:type_name -> luceneserver.FetchTask + 69, // 84: luceneserver.SearchRequest.rescorers:type_name -> luceneserver.Rescorer + 94, // 85: luceneserver.SearchRequest.collectors:type_name -> luceneserver.SearchRequest.CollectorsEntry + 84, // 86: luceneserver.SearchRequest.highlight:type_name -> luceneserver.Highlight + 95, // 87: luceneserver.SearchRequest.inner_hits:type_name -> luceneserver.SearchRequest.InnerHitsEntry + 54, // 88: luceneserver.SearchRequest.runtimeFields:type_name -> luceneserver.RuntimeField + 83, // 89: luceneserver.SearchRequest.loggingHits:type_name -> luceneserver.LoggingHits + 51, // 90: luceneserver.SearchRequest.searchAfter:type_name -> luceneserver.LastHitInfo + 49, // 91: luceneserver.InnerHit.inner_query:type_name -> luceneserver.Query + 56, // 92: luceneserver.InnerHit.query_sort:type_name -> luceneserver.QuerySortField + 84, // 93: luceneserver.InnerHit.highlight:type_name -> luceneserver.Highlight + 55, // 94: luceneserver.VirtualField.script:type_name -> luceneserver.Script + 55, // 95: luceneserver.RuntimeField.script:type_name -> luceneserver.Script + 99, // 96: luceneserver.Script.params:type_name -> luceneserver.Script.ParamsEntry + 57, // 97: luceneserver.QuerySortField.fields:type_name -> luceneserver.SortFields + 58, // 98: luceneserver.SortFields.sortedFields:type_name -> luceneserver.SortType + 5, // 99: luceneserver.SortType.selector:type_name -> luceneserver.Selector + 60, // 100: luceneserver.SortType.origin:type_name -> luceneserver.Point + 14, // 101: luceneserver.TotalHits.relation:type_name -> luceneserver.TotalHits.Relation + 101, // 102: luceneserver.SearchResponse.diagnostics:type_name -> luceneserver.SearchResponse.Diagnostics + 59, // 103: luceneserver.SearchResponse.totalHits:type_name -> luceneserver.TotalHits + 102, // 104: luceneserver.SearchResponse.hits:type_name -> luceneserver.SearchResponse.Hit + 103, // 105: luceneserver.SearchResponse.searchState:type_name -> luceneserver.SearchResponse.SearchState + 64, // 106: luceneserver.SearchResponse.facetResult:type_name -> luceneserver.FacetResult + 70, // 107: luceneserver.SearchResponse.profileResult:type_name -> luceneserver.ProfileResult + 104, // 108: luceneserver.SearchResponse.collectorResults:type_name -> luceneserver.SearchResponse.CollectorResultsEntry + 62, // 109: luceneserver.Facet.numericRange:type_name -> luceneserver.NumericRangeType + 55, // 110: luceneserver.Facet.script:type_name -> luceneserver.Script + 65, // 111: luceneserver.FacetResult.labelValues:type_name -> luceneserver.LabelAndValue + 129, // 112: luceneserver.FetchTask.params:type_name -> google.protobuf.Struct + 129, // 113: luceneserver.PluginRescorer.params:type_name -> google.protobuf.Struct + 49, // 114: luceneserver.QueryRescorer.rescoreQuery:type_name -> luceneserver.Query + 68, // 115: luceneserver.Rescorer.queryRescorer:type_name -> luceneserver.QueryRescorer + 67, // 116: luceneserver.Rescorer.pluginRescorer:type_name -> luceneserver.PluginRescorer + 119, // 117: luceneserver.ProfileResult.searchStats:type_name -> luceneserver.ProfileResult.SearchStats + 73, // 118: luceneserver.Collector.terms:type_name -> luceneserver.TermsCollector + 72, // 119: luceneserver.Collector.pluginCollector:type_name -> luceneserver.PluginCollector + 74, // 120: luceneserver.Collector.topHitsCollector:type_name -> luceneserver.TopHitsCollector + 75, // 121: luceneserver.Collector.filter:type_name -> luceneserver.FilterCollector + 76, // 122: luceneserver.Collector.max:type_name -> luceneserver.MaxCollector + 77, // 123: luceneserver.Collector.min:type_name -> luceneserver.MinCollector + 121, // 124: luceneserver.Collector.nestedCollectors:type_name -> luceneserver.Collector.NestedCollectorsEntry + 129, // 125: luceneserver.PluginCollector.params:type_name -> google.protobuf.Struct + 55, // 126: luceneserver.TermsCollector.script:type_name -> luceneserver.Script + 79, // 127: luceneserver.TermsCollector.order:type_name -> luceneserver.BucketOrder + 56, // 128: luceneserver.TopHitsCollector.querySort:type_name -> luceneserver.QuerySortField + 49, // 129: luceneserver.FilterCollector.query:type_name -> luceneserver.Query + 27, // 130: luceneserver.FilterCollector.setQuery:type_name -> luceneserver.TermInSetQuery + 55, // 131: luceneserver.MaxCollector.script:type_name -> luceneserver.Script + 55, // 132: luceneserver.MinCollector.script:type_name -> luceneserver.Script + 80, // 133: luceneserver.CollectorResult.bucketResult:type_name -> luceneserver.BucketResult + 130, // 134: luceneserver.CollectorResult.anyResult:type_name -> google.protobuf.Any + 81, // 135: luceneserver.CollectorResult.hitsResult:type_name -> luceneserver.HitsResult + 82, // 136: luceneserver.CollectorResult.filterResult:type_name -> luceneserver.FilterResult + 131, // 137: luceneserver.CollectorResult.doubleResult:type_name -> google.protobuf.DoubleValue + 15, // 138: luceneserver.BucketOrder.order:type_name -> luceneserver.BucketOrder.OrderType + 122, // 139: luceneserver.BucketResult.buckets:type_name -> luceneserver.BucketResult.Bucket + 59, // 140: luceneserver.HitsResult.totalHits:type_name -> luceneserver.TotalHits + 102, // 141: luceneserver.HitsResult.hits:type_name -> luceneserver.SearchResponse.Hit + 124, // 142: luceneserver.FilterResult.nestedCollectorResults:type_name -> luceneserver.FilterResult.NestedCollectorResultsEntry + 129, // 143: luceneserver.LoggingHits.params:type_name -> google.protobuf.Struct + 125, // 144: luceneserver.Highlight.settings:type_name -> luceneserver.Highlight.Settings + 126, // 145: luceneserver.Highlight.field_settings:type_name -> luceneserver.Highlight.FieldSettingsEntry + 49, // 146: luceneserver.MultiFunctionScoreQuery.FilterFunction.filter:type_name -> luceneserver.Query + 55, // 147: luceneserver.MultiFunctionScoreQuery.FilterFunction.script:type_name -> luceneserver.Script + 93, // 148: luceneserver.MultiFunctionScoreQuery.FilterFunction.decayFunction:type_name -> luceneserver.MultiFunctionScoreQuery.DecayFunction + 10, // 149: luceneserver.MultiFunctionScoreQuery.DecayFunction.decayType:type_name -> luceneserver.MultiFunctionScoreQuery.DecayType + 128, // 150: luceneserver.MultiFunctionScoreQuery.DecayFunction.geoPoint:type_name -> google.type.LatLng + 71, // 151: luceneserver.SearchRequest.CollectorsEntry.value:type_name -> luceneserver.Collector + 52, // 152: luceneserver.SearchRequest.InnerHitsEntry.value:type_name -> luceneserver.InnerHit + 13, // 153: luceneserver.Script.ParamValue.nullValue:type_name -> luceneserver.Script.ParamNullValue + 98, // 154: luceneserver.Script.ParamValue.listValue:type_name -> luceneserver.Script.ParamListValue + 97, // 155: luceneserver.Script.ParamValue.structValue:type_name -> luceneserver.Script.ParamStructValue + 100, // 156: luceneserver.Script.ParamStructValue.fields:type_name -> luceneserver.Script.ParamStructValue.FieldsEntry + 96, // 157: luceneserver.Script.ParamListValue.values:type_name -> luceneserver.Script.ParamValue + 96, // 158: luceneserver.Script.ParamsEntry.value:type_name -> luceneserver.Script.ParamValue + 96, // 159: luceneserver.Script.ParamStructValue.FieldsEntry.value:type_name -> luceneserver.Script.ParamValue + 105, // 160: luceneserver.SearchResponse.Diagnostics.facetTimeMs:type_name -> luceneserver.SearchResponse.Diagnostics.FacetTimeMsEntry + 106, // 161: luceneserver.SearchResponse.Diagnostics.rescorersTimeMs:type_name -> luceneserver.SearchResponse.Diagnostics.RescorersTimeMsEntry + 107, // 162: luceneserver.SearchResponse.Diagnostics.innerHitsDiagnostics:type_name -> luceneserver.SearchResponse.Diagnostics.InnerHitsDiagnosticsEntry + 111, // 163: luceneserver.SearchResponse.Hit.fields:type_name -> luceneserver.SearchResponse.Hit.FieldsEntry + 112, // 164: luceneserver.SearchResponse.Hit.sortedFields:type_name -> luceneserver.SearchResponse.Hit.SortedFieldsEntry + 113, // 165: luceneserver.SearchResponse.Hit.highlights:type_name -> luceneserver.SearchResponse.Hit.HighlightsEntry + 114, // 166: luceneserver.SearchResponse.Hit.innerHits:type_name -> luceneserver.SearchResponse.Hit.InnerHitsEntry + 51, // 167: luceneserver.SearchResponse.SearchState.lastHitInfo:type_name -> luceneserver.LastHitInfo + 78, // 168: luceneserver.SearchResponse.CollectorResultsEntry.value:type_name -> luceneserver.CollectorResult + 101, // 169: luceneserver.SearchResponse.Diagnostics.InnerHitsDiagnosticsEntry.value:type_name -> luceneserver.SearchResponse.Diagnostics + 128, // 170: luceneserver.SearchResponse.Hit.FieldValue.latLngValue:type_name -> google.type.LatLng + 129, // 171: luceneserver.SearchResponse.Hit.FieldValue.structValue:type_name -> google.protobuf.Struct + 115, // 172: luceneserver.SearchResponse.Hit.FieldValue.vectorValue:type_name -> luceneserver.SearchResponse.Hit.FieldValue.Vector + 132, // 173: luceneserver.SearchResponse.Hit.FieldValue.listValue:type_name -> google.protobuf.ListValue + 108, // 174: luceneserver.SearchResponse.Hit.CompositeFieldValue.fieldValue:type_name -> luceneserver.SearchResponse.Hit.FieldValue + 109, // 175: luceneserver.SearchResponse.Hit.FieldsEntry.value:type_name -> luceneserver.SearchResponse.Hit.CompositeFieldValue + 109, // 176: luceneserver.SearchResponse.Hit.SortedFieldsEntry.value:type_name -> luceneserver.SearchResponse.Hit.CompositeFieldValue + 110, // 177: luceneserver.SearchResponse.Hit.HighlightsEntry.value:type_name -> luceneserver.SearchResponse.Hit.Highlights + 81, // 178: luceneserver.SearchResponse.Hit.InnerHitsEntry.value:type_name -> luceneserver.HitsResult + 118, // 179: luceneserver.ProfileResult.CollectorStats.segmentStats:type_name -> luceneserver.ProfileResult.SegmentStats + 120, // 180: luceneserver.ProfileResult.CollectorStats.additionalCollectorStats:type_name -> luceneserver.ProfileResult.CollectorStats.AdditionalCollectorStatsEntry + 117, // 181: luceneserver.ProfileResult.SearchStats.collectorStats:type_name -> luceneserver.ProfileResult.CollectorStats + 116, // 182: luceneserver.ProfileResult.CollectorStats.AdditionalCollectorStatsEntry.value:type_name -> luceneserver.ProfileResult.AdditionalCollectorStats + 71, // 183: luceneserver.Collector.NestedCollectorsEntry.value:type_name -> luceneserver.Collector + 123, // 184: luceneserver.BucketResult.Bucket.nestedCollectorResults:type_name -> luceneserver.BucketResult.Bucket.NestedCollectorResultsEntry + 78, // 185: luceneserver.BucketResult.Bucket.NestedCollectorResultsEntry.value:type_name -> luceneserver.CollectorResult + 78, // 186: luceneserver.FilterResult.NestedCollectorResultsEntry.value:type_name -> luceneserver.CollectorResult + 16, // 187: luceneserver.Highlight.Settings.highlighter_type:type_name -> luceneserver.Highlight.Type + 133, // 188: luceneserver.Highlight.Settings.fragment_size:type_name -> google.protobuf.UInt32Value + 133, // 189: luceneserver.Highlight.Settings.max_number_of_fragments:type_name -> google.protobuf.UInt32Value + 49, // 190: luceneserver.Highlight.Settings.highlight_query:type_name -> luceneserver.Query + 134, // 191: luceneserver.Highlight.Settings.field_match:type_name -> google.protobuf.BoolValue + 134, // 192: luceneserver.Highlight.Settings.score_ordered:type_name -> google.protobuf.BoolValue + 135, // 193: luceneserver.Highlight.Settings.fragmenter:type_name -> google.protobuf.StringValue + 134, // 194: luceneserver.Highlight.Settings.discrete_multivalue:type_name -> google.protobuf.BoolValue + 129, // 195: luceneserver.Highlight.Settings.custom_highlighter_params:type_name -> google.protobuf.Struct + 135, // 196: luceneserver.Highlight.Settings.boundary_scanner:type_name -> google.protobuf.StringValue + 135, // 197: luceneserver.Highlight.Settings.boundary_chars:type_name -> google.protobuf.StringValue + 133, // 198: luceneserver.Highlight.Settings.boundary_max_scan:type_name -> google.protobuf.UInt32Value + 135, // 199: luceneserver.Highlight.Settings.boundary_scanner_locale:type_name -> google.protobuf.StringValue + 125, // 200: luceneserver.Highlight.FieldSettingsEntry.value:type_name -> luceneserver.Highlight.Settings + 201, // [201:201] is the sub-list for method output_type + 201, // [201:201] is the sub-list for method input_type + 201, // [201:201] is the sub-list for extension type_name + 201, // [201:201] is the sub-list for extension extendee + 0, // [0:201] is the sub-list for field type_name } func init() { file_yelp_nrtsearch_search_proto_init() } @@ -10893,7 +11103,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InnerHit); i { + switch v := v.(*LastHitInfo); i { case 0: return &v.state case 1: @@ -10905,7 +11115,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VirtualField); i { + switch v := v.(*InnerHit); i { case 0: return &v.state case 1: @@ -10917,7 +11127,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RuntimeField); i { + switch v := v.(*VirtualField); i { case 0: return &v.state case 1: @@ -10929,7 +11139,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Script); i { + switch v := v.(*RuntimeField); i { case 0: return &v.state case 1: @@ -10941,7 +11151,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QuerySortField); i { + switch v := v.(*Script); i { case 0: return &v.state case 1: @@ -10953,7 +11163,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SortFields); i { + switch v := v.(*QuerySortField); i { case 0: return &v.state case 1: @@ -10965,7 +11175,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SortType); i { + switch v := v.(*SortFields); i { case 0: return &v.state case 1: @@ -10977,7 +11187,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TotalHits); i { + switch v := v.(*SortType); i { case 0: return &v.state case 1: @@ -10989,7 +11199,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Point); i { + switch v := v.(*TotalHits); i { case 0: return &v.state case 1: @@ -11001,7 +11211,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchResponse); i { + switch v := v.(*Point); i { case 0: return &v.state case 1: @@ -11013,7 +11223,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NumericRangeType); i { + switch v := v.(*SearchResponse); i { case 0: return &v.state case 1: @@ -11025,7 +11235,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Facet); i { + switch v := v.(*NumericRangeType); i { case 0: return &v.state case 1: @@ -11037,7 +11247,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FacetResult); i { + switch v := v.(*Facet); i { case 0: return &v.state case 1: @@ -11049,7 +11259,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LabelAndValue); i { + switch v := v.(*FacetResult); i { case 0: return &v.state case 1: @@ -11061,7 +11271,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FetchTask); i { + switch v := v.(*LabelAndValue); i { case 0: return &v.state case 1: @@ -11073,7 +11283,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PluginRescorer); i { + switch v := v.(*FetchTask); i { case 0: return &v.state case 1: @@ -11085,7 +11295,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryRescorer); i { + switch v := v.(*PluginRescorer); i { case 0: return &v.state case 1: @@ -11097,7 +11307,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Rescorer); i { + switch v := v.(*QueryRescorer); i { case 0: return &v.state case 1: @@ -11109,7 +11319,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProfileResult); i { + switch v := v.(*Rescorer); i { case 0: return &v.state case 1: @@ -11121,7 +11331,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Collector); i { + switch v := v.(*ProfileResult); i { case 0: return &v.state case 1: @@ -11133,7 +11343,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PluginCollector); i { + switch v := v.(*Collector); i { case 0: return &v.state case 1: @@ -11145,7 +11355,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TermsCollector); i { + switch v := v.(*PluginCollector); i { case 0: return &v.state case 1: @@ -11157,7 +11367,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TopHitsCollector); i { + switch v := v.(*TermsCollector); i { case 0: return &v.state case 1: @@ -11169,7 +11379,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterCollector); i { + switch v := v.(*TopHitsCollector); i { case 0: return &v.state case 1: @@ -11181,7 +11391,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MaxCollector); i { + switch v := v.(*FilterCollector); i { case 0: return &v.state case 1: @@ -11193,7 +11403,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MinCollector); i { + switch v := v.(*MaxCollector); i { case 0: return &v.state case 1: @@ -11205,7 +11415,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CollectorResult); i { + switch v := v.(*MinCollector); i { case 0: return &v.state case 1: @@ -11217,7 +11427,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketOrder); i { + switch v := v.(*CollectorResult); i { case 0: return &v.state case 1: @@ -11229,7 +11439,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketResult); i { + switch v := v.(*BucketOrder); i { case 0: return &v.state case 1: @@ -11241,7 +11451,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HitsResult); i { + switch v := v.(*BucketResult); i { case 0: return &v.state case 1: @@ -11253,7 +11463,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterResult); i { + switch v := v.(*HitsResult); i { case 0: return &v.state case 1: @@ -11265,7 +11475,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Highlight); i { + switch v := v.(*FilterResult); i { case 0: return &v.state case 1: @@ -11277,7 +11487,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FuzzyParams_AutoFuzziness); i { + switch v := v.(*LoggingHits); i { case 0: return &v.state case 1: @@ -11289,7 +11499,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TermInSetQuery_TextTerms); i { + switch v := v.(*Highlight); i { case 0: return &v.state case 1: @@ -11301,7 +11511,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TermInSetQuery_IntTerms); i { + switch v := v.(*FuzzyParams_AutoFuzziness); i { case 0: return &v.state case 1: @@ -11313,7 +11523,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TermInSetQuery_LongTerms); i { + switch v := v.(*TermInSetQuery_TextTerms); i { case 0: return &v.state case 1: @@ -11325,7 +11535,7 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TermInSetQuery_FloatTerms); i { + switch v := v.(*TermInSetQuery_IntTerms); i { case 0: return &v.state case 1: @@ -11337,7 +11547,19 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TermInSetQuery_DoubleTerms); i { + switch v := v.(*TermInSetQuery_LongTerms); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_yelp_nrtsearch_search_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TermInSetQuery_FloatTerms); i { case 0: return &v.state case 1: @@ -11349,6 +11571,18 @@ func file_yelp_nrtsearch_search_proto_init() { } } file_yelp_nrtsearch_search_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TermInSetQuery_DoubleTerms); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_yelp_nrtsearch_search_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MultiFunctionScoreQuery_FilterFunction); i { case 0: return &v.state @@ -11360,7 +11594,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MultiFunctionScoreQuery_DecayFunction); i { case 0: return &v.state @@ -11372,7 +11606,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Script_ParamValue); i { case 0: return &v.state @@ -11384,7 +11618,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Script_ParamStructValue); i { case 0: return &v.state @@ -11396,7 +11630,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Script_ParamListValue); i { case 0: return &v.state @@ -11408,7 +11642,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchResponse_Diagnostics); i { case 0: return &v.state @@ -11420,7 +11654,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchResponse_Hit); i { case 0: return &v.state @@ -11432,7 +11666,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchResponse_SearchState); i { case 0: return &v.state @@ -11444,7 +11678,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchResponse_Hit_FieldValue); i { case 0: return &v.state @@ -11456,7 +11690,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchResponse_Hit_CompositeFieldValue); i { case 0: return &v.state @@ -11468,7 +11702,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchResponse_Hit_Highlights); i { case 0: return &v.state @@ -11480,7 +11714,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchResponse_Hit_FieldValue_Vector); i { case 0: return &v.state @@ -11492,7 +11726,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProfileResult_AdditionalCollectorStats); i { case 0: return &v.state @@ -11504,7 +11738,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProfileResult_CollectorStats); i { case 0: return &v.state @@ -11516,7 +11750,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProfileResult_SegmentStats); i { case 0: return &v.state @@ -11528,7 +11762,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProfileResult_SearchStats); i { case 0: return &v.state @@ -11540,7 +11774,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BucketResult_Bucket); i { case 0: return &v.state @@ -11552,7 +11786,7 @@ func file_yelp_nrtsearch_search_proto_init() { return nil } } - file_yelp_nrtsearch_search_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + file_yelp_nrtsearch_search_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Highlight_Settings); i { case 0: return &v.state @@ -11624,11 +11858,11 @@ func file_yelp_nrtsearch_search_proto_init() { (*SearchRequest_Version)(nil), (*SearchRequest_Snapshot)(nil), } - file_yelp_nrtsearch_search_proto_msgTypes[51].OneofWrappers = []interface{}{ + file_yelp_nrtsearch_search_proto_msgTypes[52].OneofWrappers = []interface{}{ (*Rescorer_QueryRescorer)(nil), (*Rescorer_PluginRescorer)(nil), } - file_yelp_nrtsearch_search_proto_msgTypes[53].OneofWrappers = []interface{}{ + file_yelp_nrtsearch_search_proto_msgTypes[54].OneofWrappers = []interface{}{ (*Collector_Terms)(nil), (*Collector_PluginCollector)(nil), (*Collector_TopHitsCollector)(nil), @@ -11636,35 +11870,35 @@ func file_yelp_nrtsearch_search_proto_init() { (*Collector_Max)(nil), (*Collector_Min)(nil), } - file_yelp_nrtsearch_search_proto_msgTypes[55].OneofWrappers = []interface{}{ + file_yelp_nrtsearch_search_proto_msgTypes[56].OneofWrappers = []interface{}{ (*TermsCollector_Field)(nil), (*TermsCollector_Script)(nil), } - file_yelp_nrtsearch_search_proto_msgTypes[57].OneofWrappers = []interface{}{ + file_yelp_nrtsearch_search_proto_msgTypes[58].OneofWrappers = []interface{}{ (*FilterCollector_Query)(nil), (*FilterCollector_SetQuery)(nil), } - file_yelp_nrtsearch_search_proto_msgTypes[58].OneofWrappers = []interface{}{ + file_yelp_nrtsearch_search_proto_msgTypes[59].OneofWrappers = []interface{}{ (*MaxCollector_Script)(nil), } - file_yelp_nrtsearch_search_proto_msgTypes[59].OneofWrappers = []interface{}{ + file_yelp_nrtsearch_search_proto_msgTypes[60].OneofWrappers = []interface{}{ (*MinCollector_Script)(nil), } - file_yelp_nrtsearch_search_proto_msgTypes[60].OneofWrappers = []interface{}{ + file_yelp_nrtsearch_search_proto_msgTypes[61].OneofWrappers = []interface{}{ (*CollectorResult_BucketResult)(nil), (*CollectorResult_AnyResult)(nil), (*CollectorResult_HitsResult)(nil), (*CollectorResult_FilterResult)(nil), (*CollectorResult_DoubleResult)(nil), } - file_yelp_nrtsearch_search_proto_msgTypes[73].OneofWrappers = []interface{}{ + file_yelp_nrtsearch_search_proto_msgTypes[75].OneofWrappers = []interface{}{ (*MultiFunctionScoreQuery_FilterFunction_Script)(nil), (*MultiFunctionScoreQuery_FilterFunction_DecayFunction)(nil), } - file_yelp_nrtsearch_search_proto_msgTypes[74].OneofWrappers = []interface{}{ + file_yelp_nrtsearch_search_proto_msgTypes[76].OneofWrappers = []interface{}{ (*MultiFunctionScoreQuery_DecayFunction_GeoPoint)(nil), } - file_yelp_nrtsearch_search_proto_msgTypes[77].OneofWrappers = []interface{}{ + file_yelp_nrtsearch_search_proto_msgTypes[79].OneofWrappers = []interface{}{ (*Script_ParamValue_TextValue)(nil), (*Script_ParamValue_BooleanValue)(nil), (*Script_ParamValue_IntValue)(nil), @@ -11675,7 +11909,7 @@ func file_yelp_nrtsearch_search_proto_init() { (*Script_ParamValue_ListValue)(nil), (*Script_ParamValue_StructValue)(nil), } - file_yelp_nrtsearch_search_proto_msgTypes[89].OneofWrappers = []interface{}{ + file_yelp_nrtsearch_search_proto_msgTypes[91].OneofWrappers = []interface{}{ (*SearchResponse_Hit_FieldValue_TextValue)(nil), (*SearchResponse_Hit_FieldValue_BooleanValue)(nil), (*SearchResponse_Hit_FieldValue_IntValue)(nil), @@ -11693,7 +11927,7 @@ func file_yelp_nrtsearch_search_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_yelp_nrtsearch_search_proto_rawDesc, NumEnums: 17, - NumMessages: 108, + NumMessages: 110, NumExtensions: 0, NumServices: 0, },