cloud.google.com/go/aiplatform@v1.106.0/apiv1/aiplatformpb/evaluation_service.pb.go (about) 1 // Copyright 2025 Google LLC 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 // Code generated by protoc-gen-go. DO NOT EDIT. 16 // versions: 17 // protoc-gen-go v1.35.2 18 // protoc v4.25.7 19 // source: google/cloud/aiplatform/v1/evaluation_service.proto 20 21 package aiplatformpb 22 23 import ( 24 _ "google.golang.org/genproto/googleapis/api/annotations" 25 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 26 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 27 reflect "reflect" 28 sync "sync" 29 ) 30 31 const ( 32 // Verify that this generated code is sufficiently up-to-date. 33 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 34 // Verify that runtime/protoimpl is sufficiently up-to-date. 35 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 36 ) 37 38 // Pairwise prediction autorater preference. 39 type PairwiseChoice int32 40 41 const ( 42 // Unspecified prediction choice. 43 PairwiseChoice_PAIRWISE_CHOICE_UNSPECIFIED PairwiseChoice = 0 44 // Baseline prediction wins 45 PairwiseChoice_BASELINE PairwiseChoice = 1 46 // Candidate prediction wins 47 PairwiseChoice_CANDIDATE PairwiseChoice = 2 48 // Winner cannot be determined 49 PairwiseChoice_TIE PairwiseChoice = 3 50 ) 51 52 // Enum value maps for PairwiseChoice. 53 var ( 54 PairwiseChoice_name = map[int32]string{ 55 0: "PAIRWISE_CHOICE_UNSPECIFIED", 56 1: "BASELINE", 57 2: "CANDIDATE", 58 3: "TIE", 59 } 60 PairwiseChoice_value = map[string]int32{ 61 "PAIRWISE_CHOICE_UNSPECIFIED": 0, 62 "BASELINE": 1, 63 "CANDIDATE": 2, 64 "TIE": 3, 65 } 66 ) 67 68 func (x PairwiseChoice) Enum() *PairwiseChoice { 69 p := new(PairwiseChoice) 70 *p = x 71 return p 72 } 73 74 func (x PairwiseChoice) String() string { 75 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 76 } 77 78 func (PairwiseChoice) Descriptor() protoreflect.EnumDescriptor { 79 return file_google_cloud_aiplatform_v1_evaluation_service_proto_enumTypes[0].Descriptor() 80 } 81 82 func (PairwiseChoice) Type() protoreflect.EnumType { 83 return &file_google_cloud_aiplatform_v1_evaluation_service_proto_enumTypes[0] 84 } 85 86 func (x PairwiseChoice) Number() protoreflect.EnumNumber { 87 return protoreflect.EnumNumber(x) 88 } 89 90 // Deprecated: Use PairwiseChoice.Descriptor instead. 91 func (PairwiseChoice) EnumDescriptor() ([]byte, []int) { 92 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{0} 93 } 94 95 // Comet version options. 96 type CometSpec_CometVersion int32 97 98 const ( 99 // Comet version unspecified. 100 CometSpec_COMET_VERSION_UNSPECIFIED CometSpec_CometVersion = 0 101 // Comet 22 for translation + source + reference 102 // (source-reference-combined). 103 CometSpec_COMET_22_SRC_REF CometSpec_CometVersion = 2 104 ) 105 106 // Enum value maps for CometSpec_CometVersion. 107 var ( 108 CometSpec_CometVersion_name = map[int32]string{ 109 0: "COMET_VERSION_UNSPECIFIED", 110 2: "COMET_22_SRC_REF", 111 } 112 CometSpec_CometVersion_value = map[string]int32{ 113 "COMET_VERSION_UNSPECIFIED": 0, 114 "COMET_22_SRC_REF": 2, 115 } 116 ) 117 118 func (x CometSpec_CometVersion) Enum() *CometSpec_CometVersion { 119 p := new(CometSpec_CometVersion) 120 *p = x 121 return p 122 } 123 124 func (x CometSpec_CometVersion) String() string { 125 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 126 } 127 128 func (CometSpec_CometVersion) Descriptor() protoreflect.EnumDescriptor { 129 return file_google_cloud_aiplatform_v1_evaluation_service_proto_enumTypes[1].Descriptor() 130 } 131 132 func (CometSpec_CometVersion) Type() protoreflect.EnumType { 133 return &file_google_cloud_aiplatform_v1_evaluation_service_proto_enumTypes[1] 134 } 135 136 func (x CometSpec_CometVersion) Number() protoreflect.EnumNumber { 137 return protoreflect.EnumNumber(x) 138 } 139 140 // Deprecated: Use CometSpec_CometVersion.Descriptor instead. 141 func (CometSpec_CometVersion) EnumDescriptor() ([]byte, []int) { 142 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{102, 0} 143 } 144 145 // MetricX Version options. 146 type MetricxSpec_MetricxVersion int32 147 148 const ( 149 // MetricX version unspecified. 150 MetricxSpec_METRICX_VERSION_UNSPECIFIED MetricxSpec_MetricxVersion = 0 151 // MetricX 2024 (2.6) for translation + reference (reference-based). 152 MetricxSpec_METRICX_24_REF MetricxSpec_MetricxVersion = 1 153 // MetricX 2024 (2.6) for translation + source (QE). 154 MetricxSpec_METRICX_24_SRC MetricxSpec_MetricxVersion = 2 155 // MetricX 2024 (2.6) for translation + source + reference 156 // (source-reference-combined). 157 MetricxSpec_METRICX_24_SRC_REF MetricxSpec_MetricxVersion = 3 158 ) 159 160 // Enum value maps for MetricxSpec_MetricxVersion. 161 var ( 162 MetricxSpec_MetricxVersion_name = map[int32]string{ 163 0: "METRICX_VERSION_UNSPECIFIED", 164 1: "METRICX_24_REF", 165 2: "METRICX_24_SRC", 166 3: "METRICX_24_SRC_REF", 167 } 168 MetricxSpec_MetricxVersion_value = map[string]int32{ 169 "METRICX_VERSION_UNSPECIFIED": 0, 170 "METRICX_24_REF": 1, 171 "METRICX_24_SRC": 2, 172 "METRICX_24_SRC_REF": 3, 173 } 174 ) 175 176 func (x MetricxSpec_MetricxVersion) Enum() *MetricxSpec_MetricxVersion { 177 p := new(MetricxSpec_MetricxVersion) 178 *p = x 179 return p 180 } 181 182 func (x MetricxSpec_MetricxVersion) String() string { 183 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 184 } 185 186 func (MetricxSpec_MetricxVersion) Descriptor() protoreflect.EnumDescriptor { 187 return file_google_cloud_aiplatform_v1_evaluation_service_proto_enumTypes[2].Descriptor() 188 } 189 190 func (MetricxSpec_MetricxVersion) Type() protoreflect.EnumType { 191 return &file_google_cloud_aiplatform_v1_evaluation_service_proto_enumTypes[2] 192 } 193 194 func (x MetricxSpec_MetricxVersion) Number() protoreflect.EnumNumber { 195 return protoreflect.EnumNumber(x) 196 } 197 198 // Deprecated: Use MetricxSpec_MetricxVersion.Descriptor instead. 199 func (MetricxSpec_MetricxVersion) EnumDescriptor() ([]byte, []int) { 200 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{106, 0} 201 } 202 203 // Request message for EvaluationService.EvaluateInstances. 204 type EvaluateInstancesRequest struct { 205 state protoimpl.MessageState 206 sizeCache protoimpl.SizeCache 207 unknownFields protoimpl.UnknownFields 208 209 // Instances and specs for evaluation 210 // 211 // Types that are assignable to MetricInputs: 212 // 213 // *EvaluateInstancesRequest_ExactMatchInput 214 // *EvaluateInstancesRequest_BleuInput 215 // *EvaluateInstancesRequest_RougeInput 216 // *EvaluateInstancesRequest_FluencyInput 217 // *EvaluateInstancesRequest_CoherenceInput 218 // *EvaluateInstancesRequest_SafetyInput 219 // *EvaluateInstancesRequest_GroundednessInput 220 // *EvaluateInstancesRequest_FulfillmentInput 221 // *EvaluateInstancesRequest_SummarizationQualityInput 222 // *EvaluateInstancesRequest_PairwiseSummarizationQualityInput 223 // *EvaluateInstancesRequest_SummarizationHelpfulnessInput 224 // *EvaluateInstancesRequest_SummarizationVerbosityInput 225 // *EvaluateInstancesRequest_QuestionAnsweringQualityInput 226 // *EvaluateInstancesRequest_PairwiseQuestionAnsweringQualityInput 227 // *EvaluateInstancesRequest_QuestionAnsweringRelevanceInput 228 // *EvaluateInstancesRequest_QuestionAnsweringHelpfulnessInput 229 // *EvaluateInstancesRequest_QuestionAnsweringCorrectnessInput 230 // *EvaluateInstancesRequest_PointwiseMetricInput 231 // *EvaluateInstancesRequest_PairwiseMetricInput 232 // *EvaluateInstancesRequest_ToolCallValidInput 233 // *EvaluateInstancesRequest_ToolNameMatchInput 234 // *EvaluateInstancesRequest_ToolParameterKeyMatchInput 235 // *EvaluateInstancesRequest_ToolParameterKvMatchInput 236 // *EvaluateInstancesRequest_CometInput 237 // *EvaluateInstancesRequest_MetricxInput 238 MetricInputs isEvaluateInstancesRequest_MetricInputs `protobuf_oneof:"metric_inputs"` 239 // Required. The resource name of the Location to evaluate the instances. 240 // Format: `projects/{project}/locations/{location}` 241 Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` 242 } 243 244 func (x *EvaluateInstancesRequest) Reset() { 245 *x = EvaluateInstancesRequest{} 246 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[0] 247 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 248 ms.StoreMessageInfo(mi) 249 } 250 251 func (x *EvaluateInstancesRequest) String() string { 252 return protoimpl.X.MessageStringOf(x) 253 } 254 255 func (*EvaluateInstancesRequest) ProtoMessage() {} 256 257 func (x *EvaluateInstancesRequest) ProtoReflect() protoreflect.Message { 258 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[0] 259 if x != nil { 260 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 261 if ms.LoadMessageInfo() == nil { 262 ms.StoreMessageInfo(mi) 263 } 264 return ms 265 } 266 return mi.MessageOf(x) 267 } 268 269 // Deprecated: Use EvaluateInstancesRequest.ProtoReflect.Descriptor instead. 270 func (*EvaluateInstancesRequest) Descriptor() ([]byte, []int) { 271 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{0} 272 } 273 274 func (m *EvaluateInstancesRequest) GetMetricInputs() isEvaluateInstancesRequest_MetricInputs { 275 if m != nil { 276 return m.MetricInputs 277 } 278 return nil 279 } 280 281 func (x *EvaluateInstancesRequest) GetExactMatchInput() *ExactMatchInput { 282 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_ExactMatchInput); ok { 283 return x.ExactMatchInput 284 } 285 return nil 286 } 287 288 func (x *EvaluateInstancesRequest) GetBleuInput() *BleuInput { 289 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_BleuInput); ok { 290 return x.BleuInput 291 } 292 return nil 293 } 294 295 func (x *EvaluateInstancesRequest) GetRougeInput() *RougeInput { 296 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_RougeInput); ok { 297 return x.RougeInput 298 } 299 return nil 300 } 301 302 func (x *EvaluateInstancesRequest) GetFluencyInput() *FluencyInput { 303 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_FluencyInput); ok { 304 return x.FluencyInput 305 } 306 return nil 307 } 308 309 func (x *EvaluateInstancesRequest) GetCoherenceInput() *CoherenceInput { 310 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_CoherenceInput); ok { 311 return x.CoherenceInput 312 } 313 return nil 314 } 315 316 func (x *EvaluateInstancesRequest) GetSafetyInput() *SafetyInput { 317 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_SafetyInput); ok { 318 return x.SafetyInput 319 } 320 return nil 321 } 322 323 func (x *EvaluateInstancesRequest) GetGroundednessInput() *GroundednessInput { 324 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_GroundednessInput); ok { 325 return x.GroundednessInput 326 } 327 return nil 328 } 329 330 func (x *EvaluateInstancesRequest) GetFulfillmentInput() *FulfillmentInput { 331 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_FulfillmentInput); ok { 332 return x.FulfillmentInput 333 } 334 return nil 335 } 336 337 func (x *EvaluateInstancesRequest) GetSummarizationQualityInput() *SummarizationQualityInput { 338 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_SummarizationQualityInput); ok { 339 return x.SummarizationQualityInput 340 } 341 return nil 342 } 343 344 func (x *EvaluateInstancesRequest) GetPairwiseSummarizationQualityInput() *PairwiseSummarizationQualityInput { 345 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_PairwiseSummarizationQualityInput); ok { 346 return x.PairwiseSummarizationQualityInput 347 } 348 return nil 349 } 350 351 func (x *EvaluateInstancesRequest) GetSummarizationHelpfulnessInput() *SummarizationHelpfulnessInput { 352 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_SummarizationHelpfulnessInput); ok { 353 return x.SummarizationHelpfulnessInput 354 } 355 return nil 356 } 357 358 func (x *EvaluateInstancesRequest) GetSummarizationVerbosityInput() *SummarizationVerbosityInput { 359 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_SummarizationVerbosityInput); ok { 360 return x.SummarizationVerbosityInput 361 } 362 return nil 363 } 364 365 func (x *EvaluateInstancesRequest) GetQuestionAnsweringQualityInput() *QuestionAnsweringQualityInput { 366 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_QuestionAnsweringQualityInput); ok { 367 return x.QuestionAnsweringQualityInput 368 } 369 return nil 370 } 371 372 func (x *EvaluateInstancesRequest) GetPairwiseQuestionAnsweringQualityInput() *PairwiseQuestionAnsweringQualityInput { 373 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_PairwiseQuestionAnsweringQualityInput); ok { 374 return x.PairwiseQuestionAnsweringQualityInput 375 } 376 return nil 377 } 378 379 func (x *EvaluateInstancesRequest) GetQuestionAnsweringRelevanceInput() *QuestionAnsweringRelevanceInput { 380 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_QuestionAnsweringRelevanceInput); ok { 381 return x.QuestionAnsweringRelevanceInput 382 } 383 return nil 384 } 385 386 func (x *EvaluateInstancesRequest) GetQuestionAnsweringHelpfulnessInput() *QuestionAnsweringHelpfulnessInput { 387 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_QuestionAnsweringHelpfulnessInput); ok { 388 return x.QuestionAnsweringHelpfulnessInput 389 } 390 return nil 391 } 392 393 func (x *EvaluateInstancesRequest) GetQuestionAnsweringCorrectnessInput() *QuestionAnsweringCorrectnessInput { 394 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_QuestionAnsweringCorrectnessInput); ok { 395 return x.QuestionAnsweringCorrectnessInput 396 } 397 return nil 398 } 399 400 func (x *EvaluateInstancesRequest) GetPointwiseMetricInput() *PointwiseMetricInput { 401 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_PointwiseMetricInput); ok { 402 return x.PointwiseMetricInput 403 } 404 return nil 405 } 406 407 func (x *EvaluateInstancesRequest) GetPairwiseMetricInput() *PairwiseMetricInput { 408 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_PairwiseMetricInput); ok { 409 return x.PairwiseMetricInput 410 } 411 return nil 412 } 413 414 func (x *EvaluateInstancesRequest) GetToolCallValidInput() *ToolCallValidInput { 415 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_ToolCallValidInput); ok { 416 return x.ToolCallValidInput 417 } 418 return nil 419 } 420 421 func (x *EvaluateInstancesRequest) GetToolNameMatchInput() *ToolNameMatchInput { 422 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_ToolNameMatchInput); ok { 423 return x.ToolNameMatchInput 424 } 425 return nil 426 } 427 428 func (x *EvaluateInstancesRequest) GetToolParameterKeyMatchInput() *ToolParameterKeyMatchInput { 429 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_ToolParameterKeyMatchInput); ok { 430 return x.ToolParameterKeyMatchInput 431 } 432 return nil 433 } 434 435 func (x *EvaluateInstancesRequest) GetToolParameterKvMatchInput() *ToolParameterKVMatchInput { 436 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_ToolParameterKvMatchInput); ok { 437 return x.ToolParameterKvMatchInput 438 } 439 return nil 440 } 441 442 func (x *EvaluateInstancesRequest) GetCometInput() *CometInput { 443 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_CometInput); ok { 444 return x.CometInput 445 } 446 return nil 447 } 448 449 func (x *EvaluateInstancesRequest) GetMetricxInput() *MetricxInput { 450 if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_MetricxInput); ok { 451 return x.MetricxInput 452 } 453 return nil 454 } 455 456 func (x *EvaluateInstancesRequest) GetLocation() string { 457 if x != nil { 458 return x.Location 459 } 460 return "" 461 } 462 463 type isEvaluateInstancesRequest_MetricInputs interface { 464 isEvaluateInstancesRequest_MetricInputs() 465 } 466 467 type EvaluateInstancesRequest_ExactMatchInput struct { 468 // Auto metric instances. 469 // Instances and metric spec for exact match metric. 470 ExactMatchInput *ExactMatchInput `protobuf:"bytes,2,opt,name=exact_match_input,json=exactMatchInput,proto3,oneof"` 471 } 472 473 type EvaluateInstancesRequest_BleuInput struct { 474 // Instances and metric spec for bleu metric. 475 BleuInput *BleuInput `protobuf:"bytes,3,opt,name=bleu_input,json=bleuInput,proto3,oneof"` 476 } 477 478 type EvaluateInstancesRequest_RougeInput struct { 479 // Instances and metric spec for rouge metric. 480 RougeInput *RougeInput `protobuf:"bytes,4,opt,name=rouge_input,json=rougeInput,proto3,oneof"` 481 } 482 483 type EvaluateInstancesRequest_FluencyInput struct { 484 // LLM-based metric instance. 485 // General text generation metrics, applicable to other categories. 486 // Input for fluency metric. 487 FluencyInput *FluencyInput `protobuf:"bytes,5,opt,name=fluency_input,json=fluencyInput,proto3,oneof"` 488 } 489 490 type EvaluateInstancesRequest_CoherenceInput struct { 491 // Input for coherence metric. 492 CoherenceInput *CoherenceInput `protobuf:"bytes,6,opt,name=coherence_input,json=coherenceInput,proto3,oneof"` 493 } 494 495 type EvaluateInstancesRequest_SafetyInput struct { 496 // Input for safety metric. 497 SafetyInput *SafetyInput `protobuf:"bytes,8,opt,name=safety_input,json=safetyInput,proto3,oneof"` 498 } 499 500 type EvaluateInstancesRequest_GroundednessInput struct { 501 // Input for groundedness metric. 502 GroundednessInput *GroundednessInput `protobuf:"bytes,9,opt,name=groundedness_input,json=groundednessInput,proto3,oneof"` 503 } 504 505 type EvaluateInstancesRequest_FulfillmentInput struct { 506 // Input for fulfillment metric. 507 FulfillmentInput *FulfillmentInput `protobuf:"bytes,12,opt,name=fulfillment_input,json=fulfillmentInput,proto3,oneof"` 508 } 509 510 type EvaluateInstancesRequest_SummarizationQualityInput struct { 511 // Input for summarization quality metric. 512 SummarizationQualityInput *SummarizationQualityInput `protobuf:"bytes,7,opt,name=summarization_quality_input,json=summarizationQualityInput,proto3,oneof"` 513 } 514 515 type EvaluateInstancesRequest_PairwiseSummarizationQualityInput struct { 516 // Input for pairwise summarization quality metric. 517 PairwiseSummarizationQualityInput *PairwiseSummarizationQualityInput `protobuf:"bytes,23,opt,name=pairwise_summarization_quality_input,json=pairwiseSummarizationQualityInput,proto3,oneof"` 518 } 519 520 type EvaluateInstancesRequest_SummarizationHelpfulnessInput struct { 521 // Input for summarization helpfulness metric. 522 SummarizationHelpfulnessInput *SummarizationHelpfulnessInput `protobuf:"bytes,14,opt,name=summarization_helpfulness_input,json=summarizationHelpfulnessInput,proto3,oneof"` 523 } 524 525 type EvaluateInstancesRequest_SummarizationVerbosityInput struct { 526 // Input for summarization verbosity metric. 527 SummarizationVerbosityInput *SummarizationVerbosityInput `protobuf:"bytes,15,opt,name=summarization_verbosity_input,json=summarizationVerbosityInput,proto3,oneof"` 528 } 529 530 type EvaluateInstancesRequest_QuestionAnsweringQualityInput struct { 531 // Input for question answering quality metric. 532 QuestionAnsweringQualityInput *QuestionAnsweringQualityInput `protobuf:"bytes,10,opt,name=question_answering_quality_input,json=questionAnsweringQualityInput,proto3,oneof"` 533 } 534 535 type EvaluateInstancesRequest_PairwiseQuestionAnsweringQualityInput struct { 536 // Input for pairwise question answering quality metric. 537 PairwiseQuestionAnsweringQualityInput *PairwiseQuestionAnsweringQualityInput `protobuf:"bytes,24,opt,name=pairwise_question_answering_quality_input,json=pairwiseQuestionAnsweringQualityInput,proto3,oneof"` 538 } 539 540 type EvaluateInstancesRequest_QuestionAnsweringRelevanceInput struct { 541 // Input for question answering relevance metric. 542 QuestionAnsweringRelevanceInput *QuestionAnsweringRelevanceInput `protobuf:"bytes,16,opt,name=question_answering_relevance_input,json=questionAnsweringRelevanceInput,proto3,oneof"` 543 } 544 545 type EvaluateInstancesRequest_QuestionAnsweringHelpfulnessInput struct { 546 // Input for question answering helpfulness 547 // metric. 548 QuestionAnsweringHelpfulnessInput *QuestionAnsweringHelpfulnessInput `protobuf:"bytes,17,opt,name=question_answering_helpfulness_input,json=questionAnsweringHelpfulnessInput,proto3,oneof"` 549 } 550 551 type EvaluateInstancesRequest_QuestionAnsweringCorrectnessInput struct { 552 // Input for question answering correctness 553 // metric. 554 QuestionAnsweringCorrectnessInput *QuestionAnsweringCorrectnessInput `protobuf:"bytes,18,opt,name=question_answering_correctness_input,json=questionAnsweringCorrectnessInput,proto3,oneof"` 555 } 556 557 type EvaluateInstancesRequest_PointwiseMetricInput struct { 558 // Input for pointwise metric. 559 PointwiseMetricInput *PointwiseMetricInput `protobuf:"bytes,28,opt,name=pointwise_metric_input,json=pointwiseMetricInput,proto3,oneof"` 560 } 561 562 type EvaluateInstancesRequest_PairwiseMetricInput struct { 563 // Input for pairwise metric. 564 PairwiseMetricInput *PairwiseMetricInput `protobuf:"bytes,29,opt,name=pairwise_metric_input,json=pairwiseMetricInput,proto3,oneof"` 565 } 566 567 type EvaluateInstancesRequest_ToolCallValidInput struct { 568 // Tool call metric instances. 569 // Input for tool call valid metric. 570 ToolCallValidInput *ToolCallValidInput `protobuf:"bytes,19,opt,name=tool_call_valid_input,json=toolCallValidInput,proto3,oneof"` 571 } 572 573 type EvaluateInstancesRequest_ToolNameMatchInput struct { 574 // Input for tool name match metric. 575 ToolNameMatchInput *ToolNameMatchInput `protobuf:"bytes,20,opt,name=tool_name_match_input,json=toolNameMatchInput,proto3,oneof"` 576 } 577 578 type EvaluateInstancesRequest_ToolParameterKeyMatchInput struct { 579 // Input for tool parameter key match metric. 580 ToolParameterKeyMatchInput *ToolParameterKeyMatchInput `protobuf:"bytes,21,opt,name=tool_parameter_key_match_input,json=toolParameterKeyMatchInput,proto3,oneof"` 581 } 582 583 type EvaluateInstancesRequest_ToolParameterKvMatchInput struct { 584 // Input for tool parameter key value match metric. 585 ToolParameterKvMatchInput *ToolParameterKVMatchInput `protobuf:"bytes,22,opt,name=tool_parameter_kv_match_input,json=toolParameterKvMatchInput,proto3,oneof"` 586 } 587 588 type EvaluateInstancesRequest_CometInput struct { 589 // Translation metrics. 590 // Input for Comet metric. 591 CometInput *CometInput `protobuf:"bytes,31,opt,name=comet_input,json=cometInput,proto3,oneof"` 592 } 593 594 type EvaluateInstancesRequest_MetricxInput struct { 595 // Input for Metricx metric. 596 MetricxInput *MetricxInput `protobuf:"bytes,32,opt,name=metricx_input,json=metricxInput,proto3,oneof"` 597 } 598 599 func (*EvaluateInstancesRequest_ExactMatchInput) isEvaluateInstancesRequest_MetricInputs() {} 600 601 func (*EvaluateInstancesRequest_BleuInput) isEvaluateInstancesRequest_MetricInputs() {} 602 603 func (*EvaluateInstancesRequest_RougeInput) isEvaluateInstancesRequest_MetricInputs() {} 604 605 func (*EvaluateInstancesRequest_FluencyInput) isEvaluateInstancesRequest_MetricInputs() {} 606 607 func (*EvaluateInstancesRequest_CoherenceInput) isEvaluateInstancesRequest_MetricInputs() {} 608 609 func (*EvaluateInstancesRequest_SafetyInput) isEvaluateInstancesRequest_MetricInputs() {} 610 611 func (*EvaluateInstancesRequest_GroundednessInput) isEvaluateInstancesRequest_MetricInputs() {} 612 613 func (*EvaluateInstancesRequest_FulfillmentInput) isEvaluateInstancesRequest_MetricInputs() {} 614 615 func (*EvaluateInstancesRequest_SummarizationQualityInput) isEvaluateInstancesRequest_MetricInputs() { 616 } 617 618 func (*EvaluateInstancesRequest_PairwiseSummarizationQualityInput) isEvaluateInstancesRequest_MetricInputs() { 619 } 620 621 func (*EvaluateInstancesRequest_SummarizationHelpfulnessInput) isEvaluateInstancesRequest_MetricInputs() { 622 } 623 624 func (*EvaluateInstancesRequest_SummarizationVerbosityInput) isEvaluateInstancesRequest_MetricInputs() { 625 } 626 627 func (*EvaluateInstancesRequest_QuestionAnsweringQualityInput) isEvaluateInstancesRequest_MetricInputs() { 628 } 629 630 func (*EvaluateInstancesRequest_PairwiseQuestionAnsweringQualityInput) isEvaluateInstancesRequest_MetricInputs() { 631 } 632 633 func (*EvaluateInstancesRequest_QuestionAnsweringRelevanceInput) isEvaluateInstancesRequest_MetricInputs() { 634 } 635 636 func (*EvaluateInstancesRequest_QuestionAnsweringHelpfulnessInput) isEvaluateInstancesRequest_MetricInputs() { 637 } 638 639 func (*EvaluateInstancesRequest_QuestionAnsweringCorrectnessInput) isEvaluateInstancesRequest_MetricInputs() { 640 } 641 642 func (*EvaluateInstancesRequest_PointwiseMetricInput) isEvaluateInstancesRequest_MetricInputs() {} 643 644 func (*EvaluateInstancesRequest_PairwiseMetricInput) isEvaluateInstancesRequest_MetricInputs() {} 645 646 func (*EvaluateInstancesRequest_ToolCallValidInput) isEvaluateInstancesRequest_MetricInputs() {} 647 648 func (*EvaluateInstancesRequest_ToolNameMatchInput) isEvaluateInstancesRequest_MetricInputs() {} 649 650 func (*EvaluateInstancesRequest_ToolParameterKeyMatchInput) isEvaluateInstancesRequest_MetricInputs() { 651 } 652 653 func (*EvaluateInstancesRequest_ToolParameterKvMatchInput) isEvaluateInstancesRequest_MetricInputs() { 654 } 655 656 func (*EvaluateInstancesRequest_CometInput) isEvaluateInstancesRequest_MetricInputs() {} 657 658 func (*EvaluateInstancesRequest_MetricxInput) isEvaluateInstancesRequest_MetricInputs() {} 659 660 // Response message for EvaluationService.EvaluateInstances. 661 type EvaluateInstancesResponse struct { 662 state protoimpl.MessageState 663 sizeCache protoimpl.SizeCache 664 unknownFields protoimpl.UnknownFields 665 666 // Evaluation results will be served in the same order as presented in 667 // EvaluationRequest.instances. 668 // 669 // Types that are assignable to EvaluationResults: 670 // 671 // *EvaluateInstancesResponse_ExactMatchResults 672 // *EvaluateInstancesResponse_BleuResults 673 // *EvaluateInstancesResponse_RougeResults 674 // *EvaluateInstancesResponse_FluencyResult 675 // *EvaluateInstancesResponse_CoherenceResult 676 // *EvaluateInstancesResponse_SafetyResult 677 // *EvaluateInstancesResponse_GroundednessResult 678 // *EvaluateInstancesResponse_FulfillmentResult 679 // *EvaluateInstancesResponse_SummarizationQualityResult 680 // *EvaluateInstancesResponse_PairwiseSummarizationQualityResult 681 // *EvaluateInstancesResponse_SummarizationHelpfulnessResult 682 // *EvaluateInstancesResponse_SummarizationVerbosityResult 683 // *EvaluateInstancesResponse_QuestionAnsweringQualityResult 684 // *EvaluateInstancesResponse_PairwiseQuestionAnsweringQualityResult 685 // *EvaluateInstancesResponse_QuestionAnsweringRelevanceResult 686 // *EvaluateInstancesResponse_QuestionAnsweringHelpfulnessResult 687 // *EvaluateInstancesResponse_QuestionAnsweringCorrectnessResult 688 // *EvaluateInstancesResponse_PointwiseMetricResult 689 // *EvaluateInstancesResponse_PairwiseMetricResult 690 // *EvaluateInstancesResponse_ToolCallValidResults 691 // *EvaluateInstancesResponse_ToolNameMatchResults 692 // *EvaluateInstancesResponse_ToolParameterKeyMatchResults 693 // *EvaluateInstancesResponse_ToolParameterKvMatchResults 694 // *EvaluateInstancesResponse_CometResult 695 // *EvaluateInstancesResponse_MetricxResult 696 EvaluationResults isEvaluateInstancesResponse_EvaluationResults `protobuf_oneof:"evaluation_results"` 697 } 698 699 func (x *EvaluateInstancesResponse) Reset() { 700 *x = EvaluateInstancesResponse{} 701 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[1] 702 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 703 ms.StoreMessageInfo(mi) 704 } 705 706 func (x *EvaluateInstancesResponse) String() string { 707 return protoimpl.X.MessageStringOf(x) 708 } 709 710 func (*EvaluateInstancesResponse) ProtoMessage() {} 711 712 func (x *EvaluateInstancesResponse) ProtoReflect() protoreflect.Message { 713 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[1] 714 if x != nil { 715 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 716 if ms.LoadMessageInfo() == nil { 717 ms.StoreMessageInfo(mi) 718 } 719 return ms 720 } 721 return mi.MessageOf(x) 722 } 723 724 // Deprecated: Use EvaluateInstancesResponse.ProtoReflect.Descriptor instead. 725 func (*EvaluateInstancesResponse) Descriptor() ([]byte, []int) { 726 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{1} 727 } 728 729 func (m *EvaluateInstancesResponse) GetEvaluationResults() isEvaluateInstancesResponse_EvaluationResults { 730 if m != nil { 731 return m.EvaluationResults 732 } 733 return nil 734 } 735 736 func (x *EvaluateInstancesResponse) GetExactMatchResults() *ExactMatchResults { 737 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_ExactMatchResults); ok { 738 return x.ExactMatchResults 739 } 740 return nil 741 } 742 743 func (x *EvaluateInstancesResponse) GetBleuResults() *BleuResults { 744 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_BleuResults); ok { 745 return x.BleuResults 746 } 747 return nil 748 } 749 750 func (x *EvaluateInstancesResponse) GetRougeResults() *RougeResults { 751 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_RougeResults); ok { 752 return x.RougeResults 753 } 754 return nil 755 } 756 757 func (x *EvaluateInstancesResponse) GetFluencyResult() *FluencyResult { 758 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_FluencyResult); ok { 759 return x.FluencyResult 760 } 761 return nil 762 } 763 764 func (x *EvaluateInstancesResponse) GetCoherenceResult() *CoherenceResult { 765 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_CoherenceResult); ok { 766 return x.CoherenceResult 767 } 768 return nil 769 } 770 771 func (x *EvaluateInstancesResponse) GetSafetyResult() *SafetyResult { 772 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_SafetyResult); ok { 773 return x.SafetyResult 774 } 775 return nil 776 } 777 778 func (x *EvaluateInstancesResponse) GetGroundednessResult() *GroundednessResult { 779 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_GroundednessResult); ok { 780 return x.GroundednessResult 781 } 782 return nil 783 } 784 785 func (x *EvaluateInstancesResponse) GetFulfillmentResult() *FulfillmentResult { 786 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_FulfillmentResult); ok { 787 return x.FulfillmentResult 788 } 789 return nil 790 } 791 792 func (x *EvaluateInstancesResponse) GetSummarizationQualityResult() *SummarizationQualityResult { 793 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_SummarizationQualityResult); ok { 794 return x.SummarizationQualityResult 795 } 796 return nil 797 } 798 799 func (x *EvaluateInstancesResponse) GetPairwiseSummarizationQualityResult() *PairwiseSummarizationQualityResult { 800 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_PairwiseSummarizationQualityResult); ok { 801 return x.PairwiseSummarizationQualityResult 802 } 803 return nil 804 } 805 806 func (x *EvaluateInstancesResponse) GetSummarizationHelpfulnessResult() *SummarizationHelpfulnessResult { 807 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_SummarizationHelpfulnessResult); ok { 808 return x.SummarizationHelpfulnessResult 809 } 810 return nil 811 } 812 813 func (x *EvaluateInstancesResponse) GetSummarizationVerbosityResult() *SummarizationVerbosityResult { 814 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_SummarizationVerbosityResult); ok { 815 return x.SummarizationVerbosityResult 816 } 817 return nil 818 } 819 820 func (x *EvaluateInstancesResponse) GetQuestionAnsweringQualityResult() *QuestionAnsweringQualityResult { 821 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_QuestionAnsweringQualityResult); ok { 822 return x.QuestionAnsweringQualityResult 823 } 824 return nil 825 } 826 827 func (x *EvaluateInstancesResponse) GetPairwiseQuestionAnsweringQualityResult() *PairwiseQuestionAnsweringQualityResult { 828 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_PairwiseQuestionAnsweringQualityResult); ok { 829 return x.PairwiseQuestionAnsweringQualityResult 830 } 831 return nil 832 } 833 834 func (x *EvaluateInstancesResponse) GetQuestionAnsweringRelevanceResult() *QuestionAnsweringRelevanceResult { 835 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_QuestionAnsweringRelevanceResult); ok { 836 return x.QuestionAnsweringRelevanceResult 837 } 838 return nil 839 } 840 841 func (x *EvaluateInstancesResponse) GetQuestionAnsweringHelpfulnessResult() *QuestionAnsweringHelpfulnessResult { 842 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_QuestionAnsweringHelpfulnessResult); ok { 843 return x.QuestionAnsweringHelpfulnessResult 844 } 845 return nil 846 } 847 848 func (x *EvaluateInstancesResponse) GetQuestionAnsweringCorrectnessResult() *QuestionAnsweringCorrectnessResult { 849 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_QuestionAnsweringCorrectnessResult); ok { 850 return x.QuestionAnsweringCorrectnessResult 851 } 852 return nil 853 } 854 855 func (x *EvaluateInstancesResponse) GetPointwiseMetricResult() *PointwiseMetricResult { 856 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_PointwiseMetricResult); ok { 857 return x.PointwiseMetricResult 858 } 859 return nil 860 } 861 862 func (x *EvaluateInstancesResponse) GetPairwiseMetricResult() *PairwiseMetricResult { 863 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_PairwiseMetricResult); ok { 864 return x.PairwiseMetricResult 865 } 866 return nil 867 } 868 869 func (x *EvaluateInstancesResponse) GetToolCallValidResults() *ToolCallValidResults { 870 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_ToolCallValidResults); ok { 871 return x.ToolCallValidResults 872 } 873 return nil 874 } 875 876 func (x *EvaluateInstancesResponse) GetToolNameMatchResults() *ToolNameMatchResults { 877 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_ToolNameMatchResults); ok { 878 return x.ToolNameMatchResults 879 } 880 return nil 881 } 882 883 func (x *EvaluateInstancesResponse) GetToolParameterKeyMatchResults() *ToolParameterKeyMatchResults { 884 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_ToolParameterKeyMatchResults); ok { 885 return x.ToolParameterKeyMatchResults 886 } 887 return nil 888 } 889 890 func (x *EvaluateInstancesResponse) GetToolParameterKvMatchResults() *ToolParameterKVMatchResults { 891 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_ToolParameterKvMatchResults); ok { 892 return x.ToolParameterKvMatchResults 893 } 894 return nil 895 } 896 897 func (x *EvaluateInstancesResponse) GetCometResult() *CometResult { 898 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_CometResult); ok { 899 return x.CometResult 900 } 901 return nil 902 } 903 904 func (x *EvaluateInstancesResponse) GetMetricxResult() *MetricxResult { 905 if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_MetricxResult); ok { 906 return x.MetricxResult 907 } 908 return nil 909 } 910 911 type isEvaluateInstancesResponse_EvaluationResults interface { 912 isEvaluateInstancesResponse_EvaluationResults() 913 } 914 915 type EvaluateInstancesResponse_ExactMatchResults struct { 916 // Auto metric evaluation results. 917 // Results for exact match metric. 918 ExactMatchResults *ExactMatchResults `protobuf:"bytes,1,opt,name=exact_match_results,json=exactMatchResults,proto3,oneof"` 919 } 920 921 type EvaluateInstancesResponse_BleuResults struct { 922 // Results for bleu metric. 923 BleuResults *BleuResults `protobuf:"bytes,2,opt,name=bleu_results,json=bleuResults,proto3,oneof"` 924 } 925 926 type EvaluateInstancesResponse_RougeResults struct { 927 // Results for rouge metric. 928 RougeResults *RougeResults `protobuf:"bytes,3,opt,name=rouge_results,json=rougeResults,proto3,oneof"` 929 } 930 931 type EvaluateInstancesResponse_FluencyResult struct { 932 // LLM-based metric evaluation result. 933 // General text generation metrics, applicable to other categories. 934 // Result for fluency metric. 935 FluencyResult *FluencyResult `protobuf:"bytes,4,opt,name=fluency_result,json=fluencyResult,proto3,oneof"` 936 } 937 938 type EvaluateInstancesResponse_CoherenceResult struct { 939 // Result for coherence metric. 940 CoherenceResult *CoherenceResult `protobuf:"bytes,5,opt,name=coherence_result,json=coherenceResult,proto3,oneof"` 941 } 942 943 type EvaluateInstancesResponse_SafetyResult struct { 944 // Result for safety metric. 945 SafetyResult *SafetyResult `protobuf:"bytes,7,opt,name=safety_result,json=safetyResult,proto3,oneof"` 946 } 947 948 type EvaluateInstancesResponse_GroundednessResult struct { 949 // Result for groundedness metric. 950 GroundednessResult *GroundednessResult `protobuf:"bytes,8,opt,name=groundedness_result,json=groundednessResult,proto3,oneof"` 951 } 952 953 type EvaluateInstancesResponse_FulfillmentResult struct { 954 // Result for fulfillment metric. 955 FulfillmentResult *FulfillmentResult `protobuf:"bytes,11,opt,name=fulfillment_result,json=fulfillmentResult,proto3,oneof"` 956 } 957 958 type EvaluateInstancesResponse_SummarizationQualityResult struct { 959 // Summarization only metrics. 960 // Result for summarization quality metric. 961 SummarizationQualityResult *SummarizationQualityResult `protobuf:"bytes,6,opt,name=summarization_quality_result,json=summarizationQualityResult,proto3,oneof"` 962 } 963 964 type EvaluateInstancesResponse_PairwiseSummarizationQualityResult struct { 965 // Result for pairwise summarization quality metric. 966 PairwiseSummarizationQualityResult *PairwiseSummarizationQualityResult `protobuf:"bytes,22,opt,name=pairwise_summarization_quality_result,json=pairwiseSummarizationQualityResult,proto3,oneof"` 967 } 968 969 type EvaluateInstancesResponse_SummarizationHelpfulnessResult struct { 970 // Result for summarization helpfulness metric. 971 SummarizationHelpfulnessResult *SummarizationHelpfulnessResult `protobuf:"bytes,13,opt,name=summarization_helpfulness_result,json=summarizationHelpfulnessResult,proto3,oneof"` 972 } 973 974 type EvaluateInstancesResponse_SummarizationVerbosityResult struct { 975 // Result for summarization verbosity metric. 976 SummarizationVerbosityResult *SummarizationVerbosityResult `protobuf:"bytes,14,opt,name=summarization_verbosity_result,json=summarizationVerbosityResult,proto3,oneof"` 977 } 978 979 type EvaluateInstancesResponse_QuestionAnsweringQualityResult struct { 980 // Question answering only metrics. 981 // Result for question answering quality metric. 982 QuestionAnsweringQualityResult *QuestionAnsweringQualityResult `protobuf:"bytes,9,opt,name=question_answering_quality_result,json=questionAnsweringQualityResult,proto3,oneof"` 983 } 984 985 type EvaluateInstancesResponse_PairwiseQuestionAnsweringQualityResult struct { 986 // Result for pairwise question answering quality metric. 987 PairwiseQuestionAnsweringQualityResult *PairwiseQuestionAnsweringQualityResult `protobuf:"bytes,23,opt,name=pairwise_question_answering_quality_result,json=pairwiseQuestionAnsweringQualityResult,proto3,oneof"` 988 } 989 990 type EvaluateInstancesResponse_QuestionAnsweringRelevanceResult struct { 991 // Result for question answering relevance metric. 992 QuestionAnsweringRelevanceResult *QuestionAnsweringRelevanceResult `protobuf:"bytes,15,opt,name=question_answering_relevance_result,json=questionAnsweringRelevanceResult,proto3,oneof"` 993 } 994 995 type EvaluateInstancesResponse_QuestionAnsweringHelpfulnessResult struct { 996 // Result for question answering helpfulness metric. 997 QuestionAnsweringHelpfulnessResult *QuestionAnsweringHelpfulnessResult `protobuf:"bytes,16,opt,name=question_answering_helpfulness_result,json=questionAnsweringHelpfulnessResult,proto3,oneof"` 998 } 999 1000 type EvaluateInstancesResponse_QuestionAnsweringCorrectnessResult struct { 1001 // Result for question answering correctness metric. 1002 QuestionAnsweringCorrectnessResult *QuestionAnsweringCorrectnessResult `protobuf:"bytes,17,opt,name=question_answering_correctness_result,json=questionAnsweringCorrectnessResult,proto3,oneof"` 1003 } 1004 1005 type EvaluateInstancesResponse_PointwiseMetricResult struct { 1006 // Generic metrics. 1007 // Result for pointwise metric. 1008 PointwiseMetricResult *PointwiseMetricResult `protobuf:"bytes,27,opt,name=pointwise_metric_result,json=pointwiseMetricResult,proto3,oneof"` 1009 } 1010 1011 type EvaluateInstancesResponse_PairwiseMetricResult struct { 1012 // Result for pairwise metric. 1013 PairwiseMetricResult *PairwiseMetricResult `protobuf:"bytes,28,opt,name=pairwise_metric_result,json=pairwiseMetricResult,proto3,oneof"` 1014 } 1015 1016 type EvaluateInstancesResponse_ToolCallValidResults struct { 1017 // Tool call metrics. 1018 // 1019 // Results for tool call valid metric. 1020 ToolCallValidResults *ToolCallValidResults `protobuf:"bytes,18,opt,name=tool_call_valid_results,json=toolCallValidResults,proto3,oneof"` 1021 } 1022 1023 type EvaluateInstancesResponse_ToolNameMatchResults struct { 1024 // Results for tool name match metric. 1025 ToolNameMatchResults *ToolNameMatchResults `protobuf:"bytes,19,opt,name=tool_name_match_results,json=toolNameMatchResults,proto3,oneof"` 1026 } 1027 1028 type EvaluateInstancesResponse_ToolParameterKeyMatchResults struct { 1029 // Results for tool parameter key match metric. 1030 ToolParameterKeyMatchResults *ToolParameterKeyMatchResults `protobuf:"bytes,20,opt,name=tool_parameter_key_match_results,json=toolParameterKeyMatchResults,proto3,oneof"` 1031 } 1032 1033 type EvaluateInstancesResponse_ToolParameterKvMatchResults struct { 1034 // Results for tool parameter key value match metric. 1035 ToolParameterKvMatchResults *ToolParameterKVMatchResults `protobuf:"bytes,21,opt,name=tool_parameter_kv_match_results,json=toolParameterKvMatchResults,proto3,oneof"` 1036 } 1037 1038 type EvaluateInstancesResponse_CometResult struct { 1039 // Translation metrics. 1040 // Result for Comet metric. 1041 CometResult *CometResult `protobuf:"bytes,29,opt,name=comet_result,json=cometResult,proto3,oneof"` 1042 } 1043 1044 type EvaluateInstancesResponse_MetricxResult struct { 1045 // Result for Metricx metric. 1046 MetricxResult *MetricxResult `protobuf:"bytes,30,opt,name=metricx_result,json=metricxResult,proto3,oneof"` 1047 } 1048 1049 func (*EvaluateInstancesResponse_ExactMatchResults) isEvaluateInstancesResponse_EvaluationResults() {} 1050 1051 func (*EvaluateInstancesResponse_BleuResults) isEvaluateInstancesResponse_EvaluationResults() {} 1052 1053 func (*EvaluateInstancesResponse_RougeResults) isEvaluateInstancesResponse_EvaluationResults() {} 1054 1055 func (*EvaluateInstancesResponse_FluencyResult) isEvaluateInstancesResponse_EvaluationResults() {} 1056 1057 func (*EvaluateInstancesResponse_CoherenceResult) isEvaluateInstancesResponse_EvaluationResults() {} 1058 1059 func (*EvaluateInstancesResponse_SafetyResult) isEvaluateInstancesResponse_EvaluationResults() {} 1060 1061 func (*EvaluateInstancesResponse_GroundednessResult) isEvaluateInstancesResponse_EvaluationResults() { 1062 } 1063 1064 func (*EvaluateInstancesResponse_FulfillmentResult) isEvaluateInstancesResponse_EvaluationResults() {} 1065 1066 func (*EvaluateInstancesResponse_SummarizationQualityResult) isEvaluateInstancesResponse_EvaluationResults() { 1067 } 1068 1069 func (*EvaluateInstancesResponse_PairwiseSummarizationQualityResult) isEvaluateInstancesResponse_EvaluationResults() { 1070 } 1071 1072 func (*EvaluateInstancesResponse_SummarizationHelpfulnessResult) isEvaluateInstancesResponse_EvaluationResults() { 1073 } 1074 1075 func (*EvaluateInstancesResponse_SummarizationVerbosityResult) isEvaluateInstancesResponse_EvaluationResults() { 1076 } 1077 1078 func (*EvaluateInstancesResponse_QuestionAnsweringQualityResult) isEvaluateInstancesResponse_EvaluationResults() { 1079 } 1080 1081 func (*EvaluateInstancesResponse_PairwiseQuestionAnsweringQualityResult) isEvaluateInstancesResponse_EvaluationResults() { 1082 } 1083 1084 func (*EvaluateInstancesResponse_QuestionAnsweringRelevanceResult) isEvaluateInstancesResponse_EvaluationResults() { 1085 } 1086 1087 func (*EvaluateInstancesResponse_QuestionAnsweringHelpfulnessResult) isEvaluateInstancesResponse_EvaluationResults() { 1088 } 1089 1090 func (*EvaluateInstancesResponse_QuestionAnsweringCorrectnessResult) isEvaluateInstancesResponse_EvaluationResults() { 1091 } 1092 1093 func (*EvaluateInstancesResponse_PointwiseMetricResult) isEvaluateInstancesResponse_EvaluationResults() { 1094 } 1095 1096 func (*EvaluateInstancesResponse_PairwiseMetricResult) isEvaluateInstancesResponse_EvaluationResults() { 1097 } 1098 1099 func (*EvaluateInstancesResponse_ToolCallValidResults) isEvaluateInstancesResponse_EvaluationResults() { 1100 } 1101 1102 func (*EvaluateInstancesResponse_ToolNameMatchResults) isEvaluateInstancesResponse_EvaluationResults() { 1103 } 1104 1105 func (*EvaluateInstancesResponse_ToolParameterKeyMatchResults) isEvaluateInstancesResponse_EvaluationResults() { 1106 } 1107 1108 func (*EvaluateInstancesResponse_ToolParameterKvMatchResults) isEvaluateInstancesResponse_EvaluationResults() { 1109 } 1110 1111 func (*EvaluateInstancesResponse_CometResult) isEvaluateInstancesResponse_EvaluationResults() {} 1112 1113 func (*EvaluateInstancesResponse_MetricxResult) isEvaluateInstancesResponse_EvaluationResults() {} 1114 1115 // Input for exact match metric. 1116 type ExactMatchInput struct { 1117 state protoimpl.MessageState 1118 sizeCache protoimpl.SizeCache 1119 unknownFields protoimpl.UnknownFields 1120 1121 // Required. Spec for exact match metric. 1122 MetricSpec *ExactMatchSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 1123 // Required. Repeated exact match instances. 1124 Instances []*ExactMatchInstance `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` 1125 } 1126 1127 func (x *ExactMatchInput) Reset() { 1128 *x = ExactMatchInput{} 1129 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[2] 1130 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1131 ms.StoreMessageInfo(mi) 1132 } 1133 1134 func (x *ExactMatchInput) String() string { 1135 return protoimpl.X.MessageStringOf(x) 1136 } 1137 1138 func (*ExactMatchInput) ProtoMessage() {} 1139 1140 func (x *ExactMatchInput) ProtoReflect() protoreflect.Message { 1141 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[2] 1142 if x != nil { 1143 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1144 if ms.LoadMessageInfo() == nil { 1145 ms.StoreMessageInfo(mi) 1146 } 1147 return ms 1148 } 1149 return mi.MessageOf(x) 1150 } 1151 1152 // Deprecated: Use ExactMatchInput.ProtoReflect.Descriptor instead. 1153 func (*ExactMatchInput) Descriptor() ([]byte, []int) { 1154 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{2} 1155 } 1156 1157 func (x *ExactMatchInput) GetMetricSpec() *ExactMatchSpec { 1158 if x != nil { 1159 return x.MetricSpec 1160 } 1161 return nil 1162 } 1163 1164 func (x *ExactMatchInput) GetInstances() []*ExactMatchInstance { 1165 if x != nil { 1166 return x.Instances 1167 } 1168 return nil 1169 } 1170 1171 // Spec for exact match instance. 1172 type ExactMatchInstance struct { 1173 state protoimpl.MessageState 1174 sizeCache protoimpl.SizeCache 1175 unknownFields protoimpl.UnknownFields 1176 1177 // Required. Output of the evaluated model. 1178 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 1179 // Required. Ground truth used to compare against the prediction. 1180 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 1181 } 1182 1183 func (x *ExactMatchInstance) Reset() { 1184 *x = ExactMatchInstance{} 1185 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[3] 1186 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1187 ms.StoreMessageInfo(mi) 1188 } 1189 1190 func (x *ExactMatchInstance) String() string { 1191 return protoimpl.X.MessageStringOf(x) 1192 } 1193 1194 func (*ExactMatchInstance) ProtoMessage() {} 1195 1196 func (x *ExactMatchInstance) ProtoReflect() protoreflect.Message { 1197 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[3] 1198 if x != nil { 1199 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1200 if ms.LoadMessageInfo() == nil { 1201 ms.StoreMessageInfo(mi) 1202 } 1203 return ms 1204 } 1205 return mi.MessageOf(x) 1206 } 1207 1208 // Deprecated: Use ExactMatchInstance.ProtoReflect.Descriptor instead. 1209 func (*ExactMatchInstance) Descriptor() ([]byte, []int) { 1210 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{3} 1211 } 1212 1213 func (x *ExactMatchInstance) GetPrediction() string { 1214 if x != nil && x.Prediction != nil { 1215 return *x.Prediction 1216 } 1217 return "" 1218 } 1219 1220 func (x *ExactMatchInstance) GetReference() string { 1221 if x != nil && x.Reference != nil { 1222 return *x.Reference 1223 } 1224 return "" 1225 } 1226 1227 // Spec for exact match metric - returns 1 if prediction and reference exactly 1228 // matches, otherwise 0. 1229 type ExactMatchSpec struct { 1230 state protoimpl.MessageState 1231 sizeCache protoimpl.SizeCache 1232 unknownFields protoimpl.UnknownFields 1233 } 1234 1235 func (x *ExactMatchSpec) Reset() { 1236 *x = ExactMatchSpec{} 1237 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[4] 1238 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1239 ms.StoreMessageInfo(mi) 1240 } 1241 1242 func (x *ExactMatchSpec) String() string { 1243 return protoimpl.X.MessageStringOf(x) 1244 } 1245 1246 func (*ExactMatchSpec) ProtoMessage() {} 1247 1248 func (x *ExactMatchSpec) ProtoReflect() protoreflect.Message { 1249 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[4] 1250 if x != nil { 1251 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1252 if ms.LoadMessageInfo() == nil { 1253 ms.StoreMessageInfo(mi) 1254 } 1255 return ms 1256 } 1257 return mi.MessageOf(x) 1258 } 1259 1260 // Deprecated: Use ExactMatchSpec.ProtoReflect.Descriptor instead. 1261 func (*ExactMatchSpec) Descriptor() ([]byte, []int) { 1262 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{4} 1263 } 1264 1265 // Results for exact match metric. 1266 type ExactMatchResults struct { 1267 state protoimpl.MessageState 1268 sizeCache protoimpl.SizeCache 1269 unknownFields protoimpl.UnknownFields 1270 1271 // Output only. Exact match metric values. 1272 ExactMatchMetricValues []*ExactMatchMetricValue `protobuf:"bytes,1,rep,name=exact_match_metric_values,json=exactMatchMetricValues,proto3" json:"exact_match_metric_values,omitempty"` 1273 } 1274 1275 func (x *ExactMatchResults) Reset() { 1276 *x = ExactMatchResults{} 1277 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[5] 1278 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1279 ms.StoreMessageInfo(mi) 1280 } 1281 1282 func (x *ExactMatchResults) String() string { 1283 return protoimpl.X.MessageStringOf(x) 1284 } 1285 1286 func (*ExactMatchResults) ProtoMessage() {} 1287 1288 func (x *ExactMatchResults) ProtoReflect() protoreflect.Message { 1289 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[5] 1290 if x != nil { 1291 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1292 if ms.LoadMessageInfo() == nil { 1293 ms.StoreMessageInfo(mi) 1294 } 1295 return ms 1296 } 1297 return mi.MessageOf(x) 1298 } 1299 1300 // Deprecated: Use ExactMatchResults.ProtoReflect.Descriptor instead. 1301 func (*ExactMatchResults) Descriptor() ([]byte, []int) { 1302 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{5} 1303 } 1304 1305 func (x *ExactMatchResults) GetExactMatchMetricValues() []*ExactMatchMetricValue { 1306 if x != nil { 1307 return x.ExactMatchMetricValues 1308 } 1309 return nil 1310 } 1311 1312 // Exact match metric value for an instance. 1313 type ExactMatchMetricValue struct { 1314 state protoimpl.MessageState 1315 sizeCache protoimpl.SizeCache 1316 unknownFields protoimpl.UnknownFields 1317 1318 // Output only. Exact match score. 1319 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 1320 } 1321 1322 func (x *ExactMatchMetricValue) Reset() { 1323 *x = ExactMatchMetricValue{} 1324 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[6] 1325 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1326 ms.StoreMessageInfo(mi) 1327 } 1328 1329 func (x *ExactMatchMetricValue) String() string { 1330 return protoimpl.X.MessageStringOf(x) 1331 } 1332 1333 func (*ExactMatchMetricValue) ProtoMessage() {} 1334 1335 func (x *ExactMatchMetricValue) ProtoReflect() protoreflect.Message { 1336 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[6] 1337 if x != nil { 1338 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1339 if ms.LoadMessageInfo() == nil { 1340 ms.StoreMessageInfo(mi) 1341 } 1342 return ms 1343 } 1344 return mi.MessageOf(x) 1345 } 1346 1347 // Deprecated: Use ExactMatchMetricValue.ProtoReflect.Descriptor instead. 1348 func (*ExactMatchMetricValue) Descriptor() ([]byte, []int) { 1349 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{6} 1350 } 1351 1352 func (x *ExactMatchMetricValue) GetScore() float32 { 1353 if x != nil && x.Score != nil { 1354 return *x.Score 1355 } 1356 return 0 1357 } 1358 1359 // Input for bleu metric. 1360 type BleuInput struct { 1361 state protoimpl.MessageState 1362 sizeCache protoimpl.SizeCache 1363 unknownFields protoimpl.UnknownFields 1364 1365 // Required. Spec for bleu score metric. 1366 MetricSpec *BleuSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 1367 // Required. Repeated bleu instances. 1368 Instances []*BleuInstance `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` 1369 } 1370 1371 func (x *BleuInput) Reset() { 1372 *x = BleuInput{} 1373 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[7] 1374 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1375 ms.StoreMessageInfo(mi) 1376 } 1377 1378 func (x *BleuInput) String() string { 1379 return protoimpl.X.MessageStringOf(x) 1380 } 1381 1382 func (*BleuInput) ProtoMessage() {} 1383 1384 func (x *BleuInput) ProtoReflect() protoreflect.Message { 1385 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[7] 1386 if x != nil { 1387 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1388 if ms.LoadMessageInfo() == nil { 1389 ms.StoreMessageInfo(mi) 1390 } 1391 return ms 1392 } 1393 return mi.MessageOf(x) 1394 } 1395 1396 // Deprecated: Use BleuInput.ProtoReflect.Descriptor instead. 1397 func (*BleuInput) Descriptor() ([]byte, []int) { 1398 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{7} 1399 } 1400 1401 func (x *BleuInput) GetMetricSpec() *BleuSpec { 1402 if x != nil { 1403 return x.MetricSpec 1404 } 1405 return nil 1406 } 1407 1408 func (x *BleuInput) GetInstances() []*BleuInstance { 1409 if x != nil { 1410 return x.Instances 1411 } 1412 return nil 1413 } 1414 1415 // Spec for bleu instance. 1416 type BleuInstance struct { 1417 state protoimpl.MessageState 1418 sizeCache protoimpl.SizeCache 1419 unknownFields protoimpl.UnknownFields 1420 1421 // Required. Output of the evaluated model. 1422 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 1423 // Required. Ground truth used to compare against the prediction. 1424 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 1425 } 1426 1427 func (x *BleuInstance) Reset() { 1428 *x = BleuInstance{} 1429 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[8] 1430 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1431 ms.StoreMessageInfo(mi) 1432 } 1433 1434 func (x *BleuInstance) String() string { 1435 return protoimpl.X.MessageStringOf(x) 1436 } 1437 1438 func (*BleuInstance) ProtoMessage() {} 1439 1440 func (x *BleuInstance) ProtoReflect() protoreflect.Message { 1441 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[8] 1442 if x != nil { 1443 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1444 if ms.LoadMessageInfo() == nil { 1445 ms.StoreMessageInfo(mi) 1446 } 1447 return ms 1448 } 1449 return mi.MessageOf(x) 1450 } 1451 1452 // Deprecated: Use BleuInstance.ProtoReflect.Descriptor instead. 1453 func (*BleuInstance) Descriptor() ([]byte, []int) { 1454 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{8} 1455 } 1456 1457 func (x *BleuInstance) GetPrediction() string { 1458 if x != nil && x.Prediction != nil { 1459 return *x.Prediction 1460 } 1461 return "" 1462 } 1463 1464 func (x *BleuInstance) GetReference() string { 1465 if x != nil && x.Reference != nil { 1466 return *x.Reference 1467 } 1468 return "" 1469 } 1470 1471 // Spec for bleu score metric - calculates the precision of n-grams in the 1472 // prediction as compared to reference - returns a score ranging between 0 to 1. 1473 type BleuSpec struct { 1474 state protoimpl.MessageState 1475 sizeCache protoimpl.SizeCache 1476 unknownFields protoimpl.UnknownFields 1477 1478 // Optional. Whether to use_effective_order to compute bleu score. 1479 UseEffectiveOrder bool `protobuf:"varint,1,opt,name=use_effective_order,json=useEffectiveOrder,proto3" json:"use_effective_order,omitempty"` 1480 } 1481 1482 func (x *BleuSpec) Reset() { 1483 *x = BleuSpec{} 1484 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[9] 1485 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1486 ms.StoreMessageInfo(mi) 1487 } 1488 1489 func (x *BleuSpec) String() string { 1490 return protoimpl.X.MessageStringOf(x) 1491 } 1492 1493 func (*BleuSpec) ProtoMessage() {} 1494 1495 func (x *BleuSpec) ProtoReflect() protoreflect.Message { 1496 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[9] 1497 if x != nil { 1498 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1499 if ms.LoadMessageInfo() == nil { 1500 ms.StoreMessageInfo(mi) 1501 } 1502 return ms 1503 } 1504 return mi.MessageOf(x) 1505 } 1506 1507 // Deprecated: Use BleuSpec.ProtoReflect.Descriptor instead. 1508 func (*BleuSpec) Descriptor() ([]byte, []int) { 1509 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{9} 1510 } 1511 1512 func (x *BleuSpec) GetUseEffectiveOrder() bool { 1513 if x != nil { 1514 return x.UseEffectiveOrder 1515 } 1516 return false 1517 } 1518 1519 // Results for bleu metric. 1520 type BleuResults struct { 1521 state protoimpl.MessageState 1522 sizeCache protoimpl.SizeCache 1523 unknownFields protoimpl.UnknownFields 1524 1525 // Output only. Bleu metric values. 1526 BleuMetricValues []*BleuMetricValue `protobuf:"bytes,1,rep,name=bleu_metric_values,json=bleuMetricValues,proto3" json:"bleu_metric_values,omitempty"` 1527 } 1528 1529 func (x *BleuResults) Reset() { 1530 *x = BleuResults{} 1531 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[10] 1532 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1533 ms.StoreMessageInfo(mi) 1534 } 1535 1536 func (x *BleuResults) String() string { 1537 return protoimpl.X.MessageStringOf(x) 1538 } 1539 1540 func (*BleuResults) ProtoMessage() {} 1541 1542 func (x *BleuResults) ProtoReflect() protoreflect.Message { 1543 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[10] 1544 if x != nil { 1545 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1546 if ms.LoadMessageInfo() == nil { 1547 ms.StoreMessageInfo(mi) 1548 } 1549 return ms 1550 } 1551 return mi.MessageOf(x) 1552 } 1553 1554 // Deprecated: Use BleuResults.ProtoReflect.Descriptor instead. 1555 func (*BleuResults) Descriptor() ([]byte, []int) { 1556 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{10} 1557 } 1558 1559 func (x *BleuResults) GetBleuMetricValues() []*BleuMetricValue { 1560 if x != nil { 1561 return x.BleuMetricValues 1562 } 1563 return nil 1564 } 1565 1566 // Bleu metric value for an instance. 1567 type BleuMetricValue struct { 1568 state protoimpl.MessageState 1569 sizeCache protoimpl.SizeCache 1570 unknownFields protoimpl.UnknownFields 1571 1572 // Output only. Bleu score. 1573 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 1574 } 1575 1576 func (x *BleuMetricValue) Reset() { 1577 *x = BleuMetricValue{} 1578 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[11] 1579 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1580 ms.StoreMessageInfo(mi) 1581 } 1582 1583 func (x *BleuMetricValue) String() string { 1584 return protoimpl.X.MessageStringOf(x) 1585 } 1586 1587 func (*BleuMetricValue) ProtoMessage() {} 1588 1589 func (x *BleuMetricValue) ProtoReflect() protoreflect.Message { 1590 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[11] 1591 if x != nil { 1592 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1593 if ms.LoadMessageInfo() == nil { 1594 ms.StoreMessageInfo(mi) 1595 } 1596 return ms 1597 } 1598 return mi.MessageOf(x) 1599 } 1600 1601 // Deprecated: Use BleuMetricValue.ProtoReflect.Descriptor instead. 1602 func (*BleuMetricValue) Descriptor() ([]byte, []int) { 1603 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{11} 1604 } 1605 1606 func (x *BleuMetricValue) GetScore() float32 { 1607 if x != nil && x.Score != nil { 1608 return *x.Score 1609 } 1610 return 0 1611 } 1612 1613 // Input for rouge metric. 1614 type RougeInput struct { 1615 state protoimpl.MessageState 1616 sizeCache protoimpl.SizeCache 1617 unknownFields protoimpl.UnknownFields 1618 1619 // Required. Spec for rouge score metric. 1620 MetricSpec *RougeSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 1621 // Required. Repeated rouge instances. 1622 Instances []*RougeInstance `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` 1623 } 1624 1625 func (x *RougeInput) Reset() { 1626 *x = RougeInput{} 1627 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[12] 1628 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1629 ms.StoreMessageInfo(mi) 1630 } 1631 1632 func (x *RougeInput) String() string { 1633 return protoimpl.X.MessageStringOf(x) 1634 } 1635 1636 func (*RougeInput) ProtoMessage() {} 1637 1638 func (x *RougeInput) ProtoReflect() protoreflect.Message { 1639 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[12] 1640 if x != nil { 1641 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1642 if ms.LoadMessageInfo() == nil { 1643 ms.StoreMessageInfo(mi) 1644 } 1645 return ms 1646 } 1647 return mi.MessageOf(x) 1648 } 1649 1650 // Deprecated: Use RougeInput.ProtoReflect.Descriptor instead. 1651 func (*RougeInput) Descriptor() ([]byte, []int) { 1652 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{12} 1653 } 1654 1655 func (x *RougeInput) GetMetricSpec() *RougeSpec { 1656 if x != nil { 1657 return x.MetricSpec 1658 } 1659 return nil 1660 } 1661 1662 func (x *RougeInput) GetInstances() []*RougeInstance { 1663 if x != nil { 1664 return x.Instances 1665 } 1666 return nil 1667 } 1668 1669 // Spec for rouge instance. 1670 type RougeInstance struct { 1671 state protoimpl.MessageState 1672 sizeCache protoimpl.SizeCache 1673 unknownFields protoimpl.UnknownFields 1674 1675 // Required. Output of the evaluated model. 1676 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 1677 // Required. Ground truth used to compare against the prediction. 1678 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 1679 } 1680 1681 func (x *RougeInstance) Reset() { 1682 *x = RougeInstance{} 1683 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[13] 1684 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1685 ms.StoreMessageInfo(mi) 1686 } 1687 1688 func (x *RougeInstance) String() string { 1689 return protoimpl.X.MessageStringOf(x) 1690 } 1691 1692 func (*RougeInstance) ProtoMessage() {} 1693 1694 func (x *RougeInstance) ProtoReflect() protoreflect.Message { 1695 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[13] 1696 if x != nil { 1697 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1698 if ms.LoadMessageInfo() == nil { 1699 ms.StoreMessageInfo(mi) 1700 } 1701 return ms 1702 } 1703 return mi.MessageOf(x) 1704 } 1705 1706 // Deprecated: Use RougeInstance.ProtoReflect.Descriptor instead. 1707 func (*RougeInstance) Descriptor() ([]byte, []int) { 1708 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{13} 1709 } 1710 1711 func (x *RougeInstance) GetPrediction() string { 1712 if x != nil && x.Prediction != nil { 1713 return *x.Prediction 1714 } 1715 return "" 1716 } 1717 1718 func (x *RougeInstance) GetReference() string { 1719 if x != nil && x.Reference != nil { 1720 return *x.Reference 1721 } 1722 return "" 1723 } 1724 1725 // Spec for rouge score metric - calculates the recall of n-grams in prediction 1726 // as compared to reference - returns a score ranging between 0 and 1. 1727 type RougeSpec struct { 1728 state protoimpl.MessageState 1729 sizeCache protoimpl.SizeCache 1730 unknownFields protoimpl.UnknownFields 1731 1732 // Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum. 1733 RougeType string `protobuf:"bytes,1,opt,name=rouge_type,json=rougeType,proto3" json:"rouge_type,omitempty"` 1734 // Optional. Whether to use stemmer to compute rouge score. 1735 UseStemmer bool `protobuf:"varint,2,opt,name=use_stemmer,json=useStemmer,proto3" json:"use_stemmer,omitempty"` 1736 // Optional. Whether to split summaries while using rougeLsum. 1737 SplitSummaries bool `protobuf:"varint,3,opt,name=split_summaries,json=splitSummaries,proto3" json:"split_summaries,omitempty"` 1738 } 1739 1740 func (x *RougeSpec) Reset() { 1741 *x = RougeSpec{} 1742 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[14] 1743 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1744 ms.StoreMessageInfo(mi) 1745 } 1746 1747 func (x *RougeSpec) String() string { 1748 return protoimpl.X.MessageStringOf(x) 1749 } 1750 1751 func (*RougeSpec) ProtoMessage() {} 1752 1753 func (x *RougeSpec) ProtoReflect() protoreflect.Message { 1754 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[14] 1755 if x != nil { 1756 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1757 if ms.LoadMessageInfo() == nil { 1758 ms.StoreMessageInfo(mi) 1759 } 1760 return ms 1761 } 1762 return mi.MessageOf(x) 1763 } 1764 1765 // Deprecated: Use RougeSpec.ProtoReflect.Descriptor instead. 1766 func (*RougeSpec) Descriptor() ([]byte, []int) { 1767 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{14} 1768 } 1769 1770 func (x *RougeSpec) GetRougeType() string { 1771 if x != nil { 1772 return x.RougeType 1773 } 1774 return "" 1775 } 1776 1777 func (x *RougeSpec) GetUseStemmer() bool { 1778 if x != nil { 1779 return x.UseStemmer 1780 } 1781 return false 1782 } 1783 1784 func (x *RougeSpec) GetSplitSummaries() bool { 1785 if x != nil { 1786 return x.SplitSummaries 1787 } 1788 return false 1789 } 1790 1791 // Results for rouge metric. 1792 type RougeResults struct { 1793 state protoimpl.MessageState 1794 sizeCache protoimpl.SizeCache 1795 unknownFields protoimpl.UnknownFields 1796 1797 // Output only. Rouge metric values. 1798 RougeMetricValues []*RougeMetricValue `protobuf:"bytes,1,rep,name=rouge_metric_values,json=rougeMetricValues,proto3" json:"rouge_metric_values,omitempty"` 1799 } 1800 1801 func (x *RougeResults) Reset() { 1802 *x = RougeResults{} 1803 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[15] 1804 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1805 ms.StoreMessageInfo(mi) 1806 } 1807 1808 func (x *RougeResults) String() string { 1809 return protoimpl.X.MessageStringOf(x) 1810 } 1811 1812 func (*RougeResults) ProtoMessage() {} 1813 1814 func (x *RougeResults) ProtoReflect() protoreflect.Message { 1815 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[15] 1816 if x != nil { 1817 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1818 if ms.LoadMessageInfo() == nil { 1819 ms.StoreMessageInfo(mi) 1820 } 1821 return ms 1822 } 1823 return mi.MessageOf(x) 1824 } 1825 1826 // Deprecated: Use RougeResults.ProtoReflect.Descriptor instead. 1827 func (*RougeResults) Descriptor() ([]byte, []int) { 1828 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{15} 1829 } 1830 1831 func (x *RougeResults) GetRougeMetricValues() []*RougeMetricValue { 1832 if x != nil { 1833 return x.RougeMetricValues 1834 } 1835 return nil 1836 } 1837 1838 // Rouge metric value for an instance. 1839 type RougeMetricValue struct { 1840 state protoimpl.MessageState 1841 sizeCache protoimpl.SizeCache 1842 unknownFields protoimpl.UnknownFields 1843 1844 // Output only. Rouge score. 1845 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 1846 } 1847 1848 func (x *RougeMetricValue) Reset() { 1849 *x = RougeMetricValue{} 1850 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[16] 1851 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1852 ms.StoreMessageInfo(mi) 1853 } 1854 1855 func (x *RougeMetricValue) String() string { 1856 return protoimpl.X.MessageStringOf(x) 1857 } 1858 1859 func (*RougeMetricValue) ProtoMessage() {} 1860 1861 func (x *RougeMetricValue) ProtoReflect() protoreflect.Message { 1862 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[16] 1863 if x != nil { 1864 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1865 if ms.LoadMessageInfo() == nil { 1866 ms.StoreMessageInfo(mi) 1867 } 1868 return ms 1869 } 1870 return mi.MessageOf(x) 1871 } 1872 1873 // Deprecated: Use RougeMetricValue.ProtoReflect.Descriptor instead. 1874 func (*RougeMetricValue) Descriptor() ([]byte, []int) { 1875 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{16} 1876 } 1877 1878 func (x *RougeMetricValue) GetScore() float32 { 1879 if x != nil && x.Score != nil { 1880 return *x.Score 1881 } 1882 return 0 1883 } 1884 1885 // Input for coherence metric. 1886 type CoherenceInput struct { 1887 state protoimpl.MessageState 1888 sizeCache protoimpl.SizeCache 1889 unknownFields protoimpl.UnknownFields 1890 1891 // Required. Spec for coherence score metric. 1892 MetricSpec *CoherenceSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 1893 // Required. Coherence instance. 1894 Instance *CoherenceInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 1895 } 1896 1897 func (x *CoherenceInput) Reset() { 1898 *x = CoherenceInput{} 1899 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[17] 1900 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1901 ms.StoreMessageInfo(mi) 1902 } 1903 1904 func (x *CoherenceInput) String() string { 1905 return protoimpl.X.MessageStringOf(x) 1906 } 1907 1908 func (*CoherenceInput) ProtoMessage() {} 1909 1910 func (x *CoherenceInput) ProtoReflect() protoreflect.Message { 1911 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[17] 1912 if x != nil { 1913 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1914 if ms.LoadMessageInfo() == nil { 1915 ms.StoreMessageInfo(mi) 1916 } 1917 return ms 1918 } 1919 return mi.MessageOf(x) 1920 } 1921 1922 // Deprecated: Use CoherenceInput.ProtoReflect.Descriptor instead. 1923 func (*CoherenceInput) Descriptor() ([]byte, []int) { 1924 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{17} 1925 } 1926 1927 func (x *CoherenceInput) GetMetricSpec() *CoherenceSpec { 1928 if x != nil { 1929 return x.MetricSpec 1930 } 1931 return nil 1932 } 1933 1934 func (x *CoherenceInput) GetInstance() *CoherenceInstance { 1935 if x != nil { 1936 return x.Instance 1937 } 1938 return nil 1939 } 1940 1941 // Spec for coherence instance. 1942 type CoherenceInstance struct { 1943 state protoimpl.MessageState 1944 sizeCache protoimpl.SizeCache 1945 unknownFields protoimpl.UnknownFields 1946 1947 // Required. Output of the evaluated model. 1948 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 1949 } 1950 1951 func (x *CoherenceInstance) Reset() { 1952 *x = CoherenceInstance{} 1953 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[18] 1954 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1955 ms.StoreMessageInfo(mi) 1956 } 1957 1958 func (x *CoherenceInstance) String() string { 1959 return protoimpl.X.MessageStringOf(x) 1960 } 1961 1962 func (*CoherenceInstance) ProtoMessage() {} 1963 1964 func (x *CoherenceInstance) ProtoReflect() protoreflect.Message { 1965 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[18] 1966 if x != nil { 1967 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1968 if ms.LoadMessageInfo() == nil { 1969 ms.StoreMessageInfo(mi) 1970 } 1971 return ms 1972 } 1973 return mi.MessageOf(x) 1974 } 1975 1976 // Deprecated: Use CoherenceInstance.ProtoReflect.Descriptor instead. 1977 func (*CoherenceInstance) Descriptor() ([]byte, []int) { 1978 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{18} 1979 } 1980 1981 func (x *CoherenceInstance) GetPrediction() string { 1982 if x != nil && x.Prediction != nil { 1983 return *x.Prediction 1984 } 1985 return "" 1986 } 1987 1988 // Spec for coherence score metric. 1989 type CoherenceSpec struct { 1990 state protoimpl.MessageState 1991 sizeCache protoimpl.SizeCache 1992 unknownFields protoimpl.UnknownFields 1993 1994 // Optional. Which version to use for evaluation. 1995 Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` 1996 } 1997 1998 func (x *CoherenceSpec) Reset() { 1999 *x = CoherenceSpec{} 2000 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[19] 2001 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2002 ms.StoreMessageInfo(mi) 2003 } 2004 2005 func (x *CoherenceSpec) String() string { 2006 return protoimpl.X.MessageStringOf(x) 2007 } 2008 2009 func (*CoherenceSpec) ProtoMessage() {} 2010 2011 func (x *CoherenceSpec) ProtoReflect() protoreflect.Message { 2012 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[19] 2013 if x != nil { 2014 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2015 if ms.LoadMessageInfo() == nil { 2016 ms.StoreMessageInfo(mi) 2017 } 2018 return ms 2019 } 2020 return mi.MessageOf(x) 2021 } 2022 2023 // Deprecated: Use CoherenceSpec.ProtoReflect.Descriptor instead. 2024 func (*CoherenceSpec) Descriptor() ([]byte, []int) { 2025 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{19} 2026 } 2027 2028 func (x *CoherenceSpec) GetVersion() int32 { 2029 if x != nil { 2030 return x.Version 2031 } 2032 return 0 2033 } 2034 2035 // Spec for coherence result. 2036 type CoherenceResult struct { 2037 state protoimpl.MessageState 2038 sizeCache protoimpl.SizeCache 2039 unknownFields protoimpl.UnknownFields 2040 2041 // Output only. Coherence score. 2042 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 2043 // Output only. Explanation for coherence score. 2044 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 2045 // Output only. Confidence for coherence score. 2046 Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` 2047 } 2048 2049 func (x *CoherenceResult) Reset() { 2050 *x = CoherenceResult{} 2051 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[20] 2052 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2053 ms.StoreMessageInfo(mi) 2054 } 2055 2056 func (x *CoherenceResult) String() string { 2057 return protoimpl.X.MessageStringOf(x) 2058 } 2059 2060 func (*CoherenceResult) ProtoMessage() {} 2061 2062 func (x *CoherenceResult) ProtoReflect() protoreflect.Message { 2063 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[20] 2064 if x != nil { 2065 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2066 if ms.LoadMessageInfo() == nil { 2067 ms.StoreMessageInfo(mi) 2068 } 2069 return ms 2070 } 2071 return mi.MessageOf(x) 2072 } 2073 2074 // Deprecated: Use CoherenceResult.ProtoReflect.Descriptor instead. 2075 func (*CoherenceResult) Descriptor() ([]byte, []int) { 2076 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{20} 2077 } 2078 2079 func (x *CoherenceResult) GetScore() float32 { 2080 if x != nil && x.Score != nil { 2081 return *x.Score 2082 } 2083 return 0 2084 } 2085 2086 func (x *CoherenceResult) GetExplanation() string { 2087 if x != nil { 2088 return x.Explanation 2089 } 2090 return "" 2091 } 2092 2093 func (x *CoherenceResult) GetConfidence() float32 { 2094 if x != nil && x.Confidence != nil { 2095 return *x.Confidence 2096 } 2097 return 0 2098 } 2099 2100 // Input for fluency metric. 2101 type FluencyInput struct { 2102 state protoimpl.MessageState 2103 sizeCache protoimpl.SizeCache 2104 unknownFields protoimpl.UnknownFields 2105 2106 // Required. Spec for fluency score metric. 2107 MetricSpec *FluencySpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 2108 // Required. Fluency instance. 2109 Instance *FluencyInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 2110 } 2111 2112 func (x *FluencyInput) Reset() { 2113 *x = FluencyInput{} 2114 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[21] 2115 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2116 ms.StoreMessageInfo(mi) 2117 } 2118 2119 func (x *FluencyInput) String() string { 2120 return protoimpl.X.MessageStringOf(x) 2121 } 2122 2123 func (*FluencyInput) ProtoMessage() {} 2124 2125 func (x *FluencyInput) ProtoReflect() protoreflect.Message { 2126 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[21] 2127 if x != nil { 2128 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2129 if ms.LoadMessageInfo() == nil { 2130 ms.StoreMessageInfo(mi) 2131 } 2132 return ms 2133 } 2134 return mi.MessageOf(x) 2135 } 2136 2137 // Deprecated: Use FluencyInput.ProtoReflect.Descriptor instead. 2138 func (*FluencyInput) Descriptor() ([]byte, []int) { 2139 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{21} 2140 } 2141 2142 func (x *FluencyInput) GetMetricSpec() *FluencySpec { 2143 if x != nil { 2144 return x.MetricSpec 2145 } 2146 return nil 2147 } 2148 2149 func (x *FluencyInput) GetInstance() *FluencyInstance { 2150 if x != nil { 2151 return x.Instance 2152 } 2153 return nil 2154 } 2155 2156 // Spec for fluency instance. 2157 type FluencyInstance struct { 2158 state protoimpl.MessageState 2159 sizeCache protoimpl.SizeCache 2160 unknownFields protoimpl.UnknownFields 2161 2162 // Required. Output of the evaluated model. 2163 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 2164 } 2165 2166 func (x *FluencyInstance) Reset() { 2167 *x = FluencyInstance{} 2168 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[22] 2169 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2170 ms.StoreMessageInfo(mi) 2171 } 2172 2173 func (x *FluencyInstance) String() string { 2174 return protoimpl.X.MessageStringOf(x) 2175 } 2176 2177 func (*FluencyInstance) ProtoMessage() {} 2178 2179 func (x *FluencyInstance) ProtoReflect() protoreflect.Message { 2180 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[22] 2181 if x != nil { 2182 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2183 if ms.LoadMessageInfo() == nil { 2184 ms.StoreMessageInfo(mi) 2185 } 2186 return ms 2187 } 2188 return mi.MessageOf(x) 2189 } 2190 2191 // Deprecated: Use FluencyInstance.ProtoReflect.Descriptor instead. 2192 func (*FluencyInstance) Descriptor() ([]byte, []int) { 2193 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{22} 2194 } 2195 2196 func (x *FluencyInstance) GetPrediction() string { 2197 if x != nil && x.Prediction != nil { 2198 return *x.Prediction 2199 } 2200 return "" 2201 } 2202 2203 // Spec for fluency score metric. 2204 type FluencySpec struct { 2205 state protoimpl.MessageState 2206 sizeCache protoimpl.SizeCache 2207 unknownFields protoimpl.UnknownFields 2208 2209 // Optional. Which version to use for evaluation. 2210 Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` 2211 } 2212 2213 func (x *FluencySpec) Reset() { 2214 *x = FluencySpec{} 2215 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[23] 2216 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2217 ms.StoreMessageInfo(mi) 2218 } 2219 2220 func (x *FluencySpec) String() string { 2221 return protoimpl.X.MessageStringOf(x) 2222 } 2223 2224 func (*FluencySpec) ProtoMessage() {} 2225 2226 func (x *FluencySpec) ProtoReflect() protoreflect.Message { 2227 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[23] 2228 if x != nil { 2229 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2230 if ms.LoadMessageInfo() == nil { 2231 ms.StoreMessageInfo(mi) 2232 } 2233 return ms 2234 } 2235 return mi.MessageOf(x) 2236 } 2237 2238 // Deprecated: Use FluencySpec.ProtoReflect.Descriptor instead. 2239 func (*FluencySpec) Descriptor() ([]byte, []int) { 2240 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{23} 2241 } 2242 2243 func (x *FluencySpec) GetVersion() int32 { 2244 if x != nil { 2245 return x.Version 2246 } 2247 return 0 2248 } 2249 2250 // Spec for fluency result. 2251 type FluencyResult struct { 2252 state protoimpl.MessageState 2253 sizeCache protoimpl.SizeCache 2254 unknownFields protoimpl.UnknownFields 2255 2256 // Output only. Fluency score. 2257 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 2258 // Output only. Explanation for fluency score. 2259 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 2260 // Output only. Confidence for fluency score. 2261 Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` 2262 } 2263 2264 func (x *FluencyResult) Reset() { 2265 *x = FluencyResult{} 2266 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[24] 2267 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2268 ms.StoreMessageInfo(mi) 2269 } 2270 2271 func (x *FluencyResult) String() string { 2272 return protoimpl.X.MessageStringOf(x) 2273 } 2274 2275 func (*FluencyResult) ProtoMessage() {} 2276 2277 func (x *FluencyResult) ProtoReflect() protoreflect.Message { 2278 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[24] 2279 if x != nil { 2280 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2281 if ms.LoadMessageInfo() == nil { 2282 ms.StoreMessageInfo(mi) 2283 } 2284 return ms 2285 } 2286 return mi.MessageOf(x) 2287 } 2288 2289 // Deprecated: Use FluencyResult.ProtoReflect.Descriptor instead. 2290 func (*FluencyResult) Descriptor() ([]byte, []int) { 2291 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{24} 2292 } 2293 2294 func (x *FluencyResult) GetScore() float32 { 2295 if x != nil && x.Score != nil { 2296 return *x.Score 2297 } 2298 return 0 2299 } 2300 2301 func (x *FluencyResult) GetExplanation() string { 2302 if x != nil { 2303 return x.Explanation 2304 } 2305 return "" 2306 } 2307 2308 func (x *FluencyResult) GetConfidence() float32 { 2309 if x != nil && x.Confidence != nil { 2310 return *x.Confidence 2311 } 2312 return 0 2313 } 2314 2315 // Input for safety metric. 2316 type SafetyInput struct { 2317 state protoimpl.MessageState 2318 sizeCache protoimpl.SizeCache 2319 unknownFields protoimpl.UnknownFields 2320 2321 // Required. Spec for safety metric. 2322 MetricSpec *SafetySpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 2323 // Required. Safety instance. 2324 Instance *SafetyInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 2325 } 2326 2327 func (x *SafetyInput) Reset() { 2328 *x = SafetyInput{} 2329 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[25] 2330 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2331 ms.StoreMessageInfo(mi) 2332 } 2333 2334 func (x *SafetyInput) String() string { 2335 return protoimpl.X.MessageStringOf(x) 2336 } 2337 2338 func (*SafetyInput) ProtoMessage() {} 2339 2340 func (x *SafetyInput) ProtoReflect() protoreflect.Message { 2341 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[25] 2342 if x != nil { 2343 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2344 if ms.LoadMessageInfo() == nil { 2345 ms.StoreMessageInfo(mi) 2346 } 2347 return ms 2348 } 2349 return mi.MessageOf(x) 2350 } 2351 2352 // Deprecated: Use SafetyInput.ProtoReflect.Descriptor instead. 2353 func (*SafetyInput) Descriptor() ([]byte, []int) { 2354 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{25} 2355 } 2356 2357 func (x *SafetyInput) GetMetricSpec() *SafetySpec { 2358 if x != nil { 2359 return x.MetricSpec 2360 } 2361 return nil 2362 } 2363 2364 func (x *SafetyInput) GetInstance() *SafetyInstance { 2365 if x != nil { 2366 return x.Instance 2367 } 2368 return nil 2369 } 2370 2371 // Spec for safety instance. 2372 type SafetyInstance struct { 2373 state protoimpl.MessageState 2374 sizeCache protoimpl.SizeCache 2375 unknownFields protoimpl.UnknownFields 2376 2377 // Required. Output of the evaluated model. 2378 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 2379 } 2380 2381 func (x *SafetyInstance) Reset() { 2382 *x = SafetyInstance{} 2383 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[26] 2384 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2385 ms.StoreMessageInfo(mi) 2386 } 2387 2388 func (x *SafetyInstance) String() string { 2389 return protoimpl.X.MessageStringOf(x) 2390 } 2391 2392 func (*SafetyInstance) ProtoMessage() {} 2393 2394 func (x *SafetyInstance) ProtoReflect() protoreflect.Message { 2395 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[26] 2396 if x != nil { 2397 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2398 if ms.LoadMessageInfo() == nil { 2399 ms.StoreMessageInfo(mi) 2400 } 2401 return ms 2402 } 2403 return mi.MessageOf(x) 2404 } 2405 2406 // Deprecated: Use SafetyInstance.ProtoReflect.Descriptor instead. 2407 func (*SafetyInstance) Descriptor() ([]byte, []int) { 2408 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{26} 2409 } 2410 2411 func (x *SafetyInstance) GetPrediction() string { 2412 if x != nil && x.Prediction != nil { 2413 return *x.Prediction 2414 } 2415 return "" 2416 } 2417 2418 // Spec for safety metric. 2419 type SafetySpec struct { 2420 state protoimpl.MessageState 2421 sizeCache protoimpl.SizeCache 2422 unknownFields protoimpl.UnknownFields 2423 2424 // Optional. Which version to use for evaluation. 2425 Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` 2426 } 2427 2428 func (x *SafetySpec) Reset() { 2429 *x = SafetySpec{} 2430 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[27] 2431 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2432 ms.StoreMessageInfo(mi) 2433 } 2434 2435 func (x *SafetySpec) String() string { 2436 return protoimpl.X.MessageStringOf(x) 2437 } 2438 2439 func (*SafetySpec) ProtoMessage() {} 2440 2441 func (x *SafetySpec) ProtoReflect() protoreflect.Message { 2442 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[27] 2443 if x != nil { 2444 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2445 if ms.LoadMessageInfo() == nil { 2446 ms.StoreMessageInfo(mi) 2447 } 2448 return ms 2449 } 2450 return mi.MessageOf(x) 2451 } 2452 2453 // Deprecated: Use SafetySpec.ProtoReflect.Descriptor instead. 2454 func (*SafetySpec) Descriptor() ([]byte, []int) { 2455 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{27} 2456 } 2457 2458 func (x *SafetySpec) GetVersion() int32 { 2459 if x != nil { 2460 return x.Version 2461 } 2462 return 0 2463 } 2464 2465 // Spec for safety result. 2466 type SafetyResult struct { 2467 state protoimpl.MessageState 2468 sizeCache protoimpl.SizeCache 2469 unknownFields protoimpl.UnknownFields 2470 2471 // Output only. Safety score. 2472 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 2473 // Output only. Explanation for safety score. 2474 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 2475 // Output only. Confidence for safety score. 2476 Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` 2477 } 2478 2479 func (x *SafetyResult) Reset() { 2480 *x = SafetyResult{} 2481 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[28] 2482 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2483 ms.StoreMessageInfo(mi) 2484 } 2485 2486 func (x *SafetyResult) String() string { 2487 return protoimpl.X.MessageStringOf(x) 2488 } 2489 2490 func (*SafetyResult) ProtoMessage() {} 2491 2492 func (x *SafetyResult) ProtoReflect() protoreflect.Message { 2493 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[28] 2494 if x != nil { 2495 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2496 if ms.LoadMessageInfo() == nil { 2497 ms.StoreMessageInfo(mi) 2498 } 2499 return ms 2500 } 2501 return mi.MessageOf(x) 2502 } 2503 2504 // Deprecated: Use SafetyResult.ProtoReflect.Descriptor instead. 2505 func (*SafetyResult) Descriptor() ([]byte, []int) { 2506 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{28} 2507 } 2508 2509 func (x *SafetyResult) GetScore() float32 { 2510 if x != nil && x.Score != nil { 2511 return *x.Score 2512 } 2513 return 0 2514 } 2515 2516 func (x *SafetyResult) GetExplanation() string { 2517 if x != nil { 2518 return x.Explanation 2519 } 2520 return "" 2521 } 2522 2523 func (x *SafetyResult) GetConfidence() float32 { 2524 if x != nil && x.Confidence != nil { 2525 return *x.Confidence 2526 } 2527 return 0 2528 } 2529 2530 // Input for groundedness metric. 2531 type GroundednessInput struct { 2532 state protoimpl.MessageState 2533 sizeCache protoimpl.SizeCache 2534 unknownFields protoimpl.UnknownFields 2535 2536 // Required. Spec for groundedness metric. 2537 MetricSpec *GroundednessSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 2538 // Required. Groundedness instance. 2539 Instance *GroundednessInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 2540 } 2541 2542 func (x *GroundednessInput) Reset() { 2543 *x = GroundednessInput{} 2544 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[29] 2545 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2546 ms.StoreMessageInfo(mi) 2547 } 2548 2549 func (x *GroundednessInput) String() string { 2550 return protoimpl.X.MessageStringOf(x) 2551 } 2552 2553 func (*GroundednessInput) ProtoMessage() {} 2554 2555 func (x *GroundednessInput) ProtoReflect() protoreflect.Message { 2556 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[29] 2557 if x != nil { 2558 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2559 if ms.LoadMessageInfo() == nil { 2560 ms.StoreMessageInfo(mi) 2561 } 2562 return ms 2563 } 2564 return mi.MessageOf(x) 2565 } 2566 2567 // Deprecated: Use GroundednessInput.ProtoReflect.Descriptor instead. 2568 func (*GroundednessInput) Descriptor() ([]byte, []int) { 2569 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{29} 2570 } 2571 2572 func (x *GroundednessInput) GetMetricSpec() *GroundednessSpec { 2573 if x != nil { 2574 return x.MetricSpec 2575 } 2576 return nil 2577 } 2578 2579 func (x *GroundednessInput) GetInstance() *GroundednessInstance { 2580 if x != nil { 2581 return x.Instance 2582 } 2583 return nil 2584 } 2585 2586 // Spec for groundedness instance. 2587 type GroundednessInstance struct { 2588 state protoimpl.MessageState 2589 sizeCache protoimpl.SizeCache 2590 unknownFields protoimpl.UnknownFields 2591 2592 // Required. Output of the evaluated model. 2593 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 2594 // Required. Background information provided in context used to compare 2595 // against the prediction. 2596 Context *string `protobuf:"bytes,2,opt,name=context,proto3,oneof" json:"context,omitempty"` 2597 } 2598 2599 func (x *GroundednessInstance) Reset() { 2600 *x = GroundednessInstance{} 2601 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[30] 2602 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2603 ms.StoreMessageInfo(mi) 2604 } 2605 2606 func (x *GroundednessInstance) String() string { 2607 return protoimpl.X.MessageStringOf(x) 2608 } 2609 2610 func (*GroundednessInstance) ProtoMessage() {} 2611 2612 func (x *GroundednessInstance) ProtoReflect() protoreflect.Message { 2613 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[30] 2614 if x != nil { 2615 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2616 if ms.LoadMessageInfo() == nil { 2617 ms.StoreMessageInfo(mi) 2618 } 2619 return ms 2620 } 2621 return mi.MessageOf(x) 2622 } 2623 2624 // Deprecated: Use GroundednessInstance.ProtoReflect.Descriptor instead. 2625 func (*GroundednessInstance) Descriptor() ([]byte, []int) { 2626 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{30} 2627 } 2628 2629 func (x *GroundednessInstance) GetPrediction() string { 2630 if x != nil && x.Prediction != nil { 2631 return *x.Prediction 2632 } 2633 return "" 2634 } 2635 2636 func (x *GroundednessInstance) GetContext() string { 2637 if x != nil && x.Context != nil { 2638 return *x.Context 2639 } 2640 return "" 2641 } 2642 2643 // Spec for groundedness metric. 2644 type GroundednessSpec struct { 2645 state protoimpl.MessageState 2646 sizeCache protoimpl.SizeCache 2647 unknownFields protoimpl.UnknownFields 2648 2649 // Optional. Which version to use for evaluation. 2650 Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` 2651 } 2652 2653 func (x *GroundednessSpec) Reset() { 2654 *x = GroundednessSpec{} 2655 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[31] 2656 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2657 ms.StoreMessageInfo(mi) 2658 } 2659 2660 func (x *GroundednessSpec) String() string { 2661 return protoimpl.X.MessageStringOf(x) 2662 } 2663 2664 func (*GroundednessSpec) ProtoMessage() {} 2665 2666 func (x *GroundednessSpec) ProtoReflect() protoreflect.Message { 2667 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[31] 2668 if x != nil { 2669 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2670 if ms.LoadMessageInfo() == nil { 2671 ms.StoreMessageInfo(mi) 2672 } 2673 return ms 2674 } 2675 return mi.MessageOf(x) 2676 } 2677 2678 // Deprecated: Use GroundednessSpec.ProtoReflect.Descriptor instead. 2679 func (*GroundednessSpec) Descriptor() ([]byte, []int) { 2680 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{31} 2681 } 2682 2683 func (x *GroundednessSpec) GetVersion() int32 { 2684 if x != nil { 2685 return x.Version 2686 } 2687 return 0 2688 } 2689 2690 // Spec for groundedness result. 2691 type GroundednessResult struct { 2692 state protoimpl.MessageState 2693 sizeCache protoimpl.SizeCache 2694 unknownFields protoimpl.UnknownFields 2695 2696 // Output only. Groundedness score. 2697 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 2698 // Output only. Explanation for groundedness score. 2699 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 2700 // Output only. Confidence for groundedness score. 2701 Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` 2702 } 2703 2704 func (x *GroundednessResult) Reset() { 2705 *x = GroundednessResult{} 2706 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[32] 2707 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2708 ms.StoreMessageInfo(mi) 2709 } 2710 2711 func (x *GroundednessResult) String() string { 2712 return protoimpl.X.MessageStringOf(x) 2713 } 2714 2715 func (*GroundednessResult) ProtoMessage() {} 2716 2717 func (x *GroundednessResult) ProtoReflect() protoreflect.Message { 2718 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[32] 2719 if x != nil { 2720 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2721 if ms.LoadMessageInfo() == nil { 2722 ms.StoreMessageInfo(mi) 2723 } 2724 return ms 2725 } 2726 return mi.MessageOf(x) 2727 } 2728 2729 // Deprecated: Use GroundednessResult.ProtoReflect.Descriptor instead. 2730 func (*GroundednessResult) Descriptor() ([]byte, []int) { 2731 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{32} 2732 } 2733 2734 func (x *GroundednessResult) GetScore() float32 { 2735 if x != nil && x.Score != nil { 2736 return *x.Score 2737 } 2738 return 0 2739 } 2740 2741 func (x *GroundednessResult) GetExplanation() string { 2742 if x != nil { 2743 return x.Explanation 2744 } 2745 return "" 2746 } 2747 2748 func (x *GroundednessResult) GetConfidence() float32 { 2749 if x != nil && x.Confidence != nil { 2750 return *x.Confidence 2751 } 2752 return 0 2753 } 2754 2755 // Input for fulfillment metric. 2756 type FulfillmentInput struct { 2757 state protoimpl.MessageState 2758 sizeCache protoimpl.SizeCache 2759 unknownFields protoimpl.UnknownFields 2760 2761 // Required. Spec for fulfillment score metric. 2762 MetricSpec *FulfillmentSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 2763 // Required. Fulfillment instance. 2764 Instance *FulfillmentInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 2765 } 2766 2767 func (x *FulfillmentInput) Reset() { 2768 *x = FulfillmentInput{} 2769 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[33] 2770 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2771 ms.StoreMessageInfo(mi) 2772 } 2773 2774 func (x *FulfillmentInput) String() string { 2775 return protoimpl.X.MessageStringOf(x) 2776 } 2777 2778 func (*FulfillmentInput) ProtoMessage() {} 2779 2780 func (x *FulfillmentInput) ProtoReflect() protoreflect.Message { 2781 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[33] 2782 if x != nil { 2783 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2784 if ms.LoadMessageInfo() == nil { 2785 ms.StoreMessageInfo(mi) 2786 } 2787 return ms 2788 } 2789 return mi.MessageOf(x) 2790 } 2791 2792 // Deprecated: Use FulfillmentInput.ProtoReflect.Descriptor instead. 2793 func (*FulfillmentInput) Descriptor() ([]byte, []int) { 2794 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{33} 2795 } 2796 2797 func (x *FulfillmentInput) GetMetricSpec() *FulfillmentSpec { 2798 if x != nil { 2799 return x.MetricSpec 2800 } 2801 return nil 2802 } 2803 2804 func (x *FulfillmentInput) GetInstance() *FulfillmentInstance { 2805 if x != nil { 2806 return x.Instance 2807 } 2808 return nil 2809 } 2810 2811 // Spec for fulfillment instance. 2812 type FulfillmentInstance struct { 2813 state protoimpl.MessageState 2814 sizeCache protoimpl.SizeCache 2815 unknownFields protoimpl.UnknownFields 2816 2817 // Required. Output of the evaluated model. 2818 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 2819 // Required. Inference instruction prompt to compare prediction with. 2820 Instruction *string `protobuf:"bytes,2,opt,name=instruction,proto3,oneof" json:"instruction,omitempty"` 2821 } 2822 2823 func (x *FulfillmentInstance) Reset() { 2824 *x = FulfillmentInstance{} 2825 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[34] 2826 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2827 ms.StoreMessageInfo(mi) 2828 } 2829 2830 func (x *FulfillmentInstance) String() string { 2831 return protoimpl.X.MessageStringOf(x) 2832 } 2833 2834 func (*FulfillmentInstance) ProtoMessage() {} 2835 2836 func (x *FulfillmentInstance) ProtoReflect() protoreflect.Message { 2837 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[34] 2838 if x != nil { 2839 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2840 if ms.LoadMessageInfo() == nil { 2841 ms.StoreMessageInfo(mi) 2842 } 2843 return ms 2844 } 2845 return mi.MessageOf(x) 2846 } 2847 2848 // Deprecated: Use FulfillmentInstance.ProtoReflect.Descriptor instead. 2849 func (*FulfillmentInstance) Descriptor() ([]byte, []int) { 2850 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{34} 2851 } 2852 2853 func (x *FulfillmentInstance) GetPrediction() string { 2854 if x != nil && x.Prediction != nil { 2855 return *x.Prediction 2856 } 2857 return "" 2858 } 2859 2860 func (x *FulfillmentInstance) GetInstruction() string { 2861 if x != nil && x.Instruction != nil { 2862 return *x.Instruction 2863 } 2864 return "" 2865 } 2866 2867 // Spec for fulfillment metric. 2868 type FulfillmentSpec struct { 2869 state protoimpl.MessageState 2870 sizeCache protoimpl.SizeCache 2871 unknownFields protoimpl.UnknownFields 2872 2873 // Optional. Which version to use for evaluation. 2874 Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` 2875 } 2876 2877 func (x *FulfillmentSpec) Reset() { 2878 *x = FulfillmentSpec{} 2879 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[35] 2880 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2881 ms.StoreMessageInfo(mi) 2882 } 2883 2884 func (x *FulfillmentSpec) String() string { 2885 return protoimpl.X.MessageStringOf(x) 2886 } 2887 2888 func (*FulfillmentSpec) ProtoMessage() {} 2889 2890 func (x *FulfillmentSpec) ProtoReflect() protoreflect.Message { 2891 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[35] 2892 if x != nil { 2893 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2894 if ms.LoadMessageInfo() == nil { 2895 ms.StoreMessageInfo(mi) 2896 } 2897 return ms 2898 } 2899 return mi.MessageOf(x) 2900 } 2901 2902 // Deprecated: Use FulfillmentSpec.ProtoReflect.Descriptor instead. 2903 func (*FulfillmentSpec) Descriptor() ([]byte, []int) { 2904 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{35} 2905 } 2906 2907 func (x *FulfillmentSpec) GetVersion() int32 { 2908 if x != nil { 2909 return x.Version 2910 } 2911 return 0 2912 } 2913 2914 // Spec for fulfillment result. 2915 type FulfillmentResult struct { 2916 state protoimpl.MessageState 2917 sizeCache protoimpl.SizeCache 2918 unknownFields protoimpl.UnknownFields 2919 2920 // Output only. Fulfillment score. 2921 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 2922 // Output only. Explanation for fulfillment score. 2923 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 2924 // Output only. Confidence for fulfillment score. 2925 Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` 2926 } 2927 2928 func (x *FulfillmentResult) Reset() { 2929 *x = FulfillmentResult{} 2930 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[36] 2931 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2932 ms.StoreMessageInfo(mi) 2933 } 2934 2935 func (x *FulfillmentResult) String() string { 2936 return protoimpl.X.MessageStringOf(x) 2937 } 2938 2939 func (*FulfillmentResult) ProtoMessage() {} 2940 2941 func (x *FulfillmentResult) ProtoReflect() protoreflect.Message { 2942 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[36] 2943 if x != nil { 2944 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2945 if ms.LoadMessageInfo() == nil { 2946 ms.StoreMessageInfo(mi) 2947 } 2948 return ms 2949 } 2950 return mi.MessageOf(x) 2951 } 2952 2953 // Deprecated: Use FulfillmentResult.ProtoReflect.Descriptor instead. 2954 func (*FulfillmentResult) Descriptor() ([]byte, []int) { 2955 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{36} 2956 } 2957 2958 func (x *FulfillmentResult) GetScore() float32 { 2959 if x != nil && x.Score != nil { 2960 return *x.Score 2961 } 2962 return 0 2963 } 2964 2965 func (x *FulfillmentResult) GetExplanation() string { 2966 if x != nil { 2967 return x.Explanation 2968 } 2969 return "" 2970 } 2971 2972 func (x *FulfillmentResult) GetConfidence() float32 { 2973 if x != nil && x.Confidence != nil { 2974 return *x.Confidence 2975 } 2976 return 0 2977 } 2978 2979 // Input for summarization quality metric. 2980 type SummarizationQualityInput struct { 2981 state protoimpl.MessageState 2982 sizeCache protoimpl.SizeCache 2983 unknownFields protoimpl.UnknownFields 2984 2985 // Required. Spec for summarization quality score metric. 2986 MetricSpec *SummarizationQualitySpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 2987 // Required. Summarization quality instance. 2988 Instance *SummarizationQualityInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 2989 } 2990 2991 func (x *SummarizationQualityInput) Reset() { 2992 *x = SummarizationQualityInput{} 2993 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[37] 2994 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2995 ms.StoreMessageInfo(mi) 2996 } 2997 2998 func (x *SummarizationQualityInput) String() string { 2999 return protoimpl.X.MessageStringOf(x) 3000 } 3001 3002 func (*SummarizationQualityInput) ProtoMessage() {} 3003 3004 func (x *SummarizationQualityInput) ProtoReflect() protoreflect.Message { 3005 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[37] 3006 if x != nil { 3007 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3008 if ms.LoadMessageInfo() == nil { 3009 ms.StoreMessageInfo(mi) 3010 } 3011 return ms 3012 } 3013 return mi.MessageOf(x) 3014 } 3015 3016 // Deprecated: Use SummarizationQualityInput.ProtoReflect.Descriptor instead. 3017 func (*SummarizationQualityInput) Descriptor() ([]byte, []int) { 3018 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{37} 3019 } 3020 3021 func (x *SummarizationQualityInput) GetMetricSpec() *SummarizationQualitySpec { 3022 if x != nil { 3023 return x.MetricSpec 3024 } 3025 return nil 3026 } 3027 3028 func (x *SummarizationQualityInput) GetInstance() *SummarizationQualityInstance { 3029 if x != nil { 3030 return x.Instance 3031 } 3032 return nil 3033 } 3034 3035 // Spec for summarization quality instance. 3036 type SummarizationQualityInstance struct { 3037 state protoimpl.MessageState 3038 sizeCache protoimpl.SizeCache 3039 unknownFields protoimpl.UnknownFields 3040 3041 // Required. Output of the evaluated model. 3042 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 3043 // Optional. Ground truth used to compare against the prediction. 3044 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 3045 // Required. Text to be summarized. 3046 Context *string `protobuf:"bytes,3,opt,name=context,proto3,oneof" json:"context,omitempty"` 3047 // Required. Summarization prompt for LLM. 3048 Instruction *string `protobuf:"bytes,4,opt,name=instruction,proto3,oneof" json:"instruction,omitempty"` 3049 } 3050 3051 func (x *SummarizationQualityInstance) Reset() { 3052 *x = SummarizationQualityInstance{} 3053 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[38] 3054 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3055 ms.StoreMessageInfo(mi) 3056 } 3057 3058 func (x *SummarizationQualityInstance) String() string { 3059 return protoimpl.X.MessageStringOf(x) 3060 } 3061 3062 func (*SummarizationQualityInstance) ProtoMessage() {} 3063 3064 func (x *SummarizationQualityInstance) ProtoReflect() protoreflect.Message { 3065 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[38] 3066 if x != nil { 3067 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3068 if ms.LoadMessageInfo() == nil { 3069 ms.StoreMessageInfo(mi) 3070 } 3071 return ms 3072 } 3073 return mi.MessageOf(x) 3074 } 3075 3076 // Deprecated: Use SummarizationQualityInstance.ProtoReflect.Descriptor instead. 3077 func (*SummarizationQualityInstance) Descriptor() ([]byte, []int) { 3078 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{38} 3079 } 3080 3081 func (x *SummarizationQualityInstance) GetPrediction() string { 3082 if x != nil && x.Prediction != nil { 3083 return *x.Prediction 3084 } 3085 return "" 3086 } 3087 3088 func (x *SummarizationQualityInstance) GetReference() string { 3089 if x != nil && x.Reference != nil { 3090 return *x.Reference 3091 } 3092 return "" 3093 } 3094 3095 func (x *SummarizationQualityInstance) GetContext() string { 3096 if x != nil && x.Context != nil { 3097 return *x.Context 3098 } 3099 return "" 3100 } 3101 3102 func (x *SummarizationQualityInstance) GetInstruction() string { 3103 if x != nil && x.Instruction != nil { 3104 return *x.Instruction 3105 } 3106 return "" 3107 } 3108 3109 // Spec for summarization quality score metric. 3110 type SummarizationQualitySpec struct { 3111 state protoimpl.MessageState 3112 sizeCache protoimpl.SizeCache 3113 unknownFields protoimpl.UnknownFields 3114 3115 // Optional. Whether to use instance.reference to compute summarization 3116 // quality. 3117 UseReference bool `protobuf:"varint,1,opt,name=use_reference,json=useReference,proto3" json:"use_reference,omitempty"` 3118 // Optional. Which version to use for evaluation. 3119 Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` 3120 } 3121 3122 func (x *SummarizationQualitySpec) Reset() { 3123 *x = SummarizationQualitySpec{} 3124 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[39] 3125 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3126 ms.StoreMessageInfo(mi) 3127 } 3128 3129 func (x *SummarizationQualitySpec) String() string { 3130 return protoimpl.X.MessageStringOf(x) 3131 } 3132 3133 func (*SummarizationQualitySpec) ProtoMessage() {} 3134 3135 func (x *SummarizationQualitySpec) ProtoReflect() protoreflect.Message { 3136 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[39] 3137 if x != nil { 3138 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3139 if ms.LoadMessageInfo() == nil { 3140 ms.StoreMessageInfo(mi) 3141 } 3142 return ms 3143 } 3144 return mi.MessageOf(x) 3145 } 3146 3147 // Deprecated: Use SummarizationQualitySpec.ProtoReflect.Descriptor instead. 3148 func (*SummarizationQualitySpec) Descriptor() ([]byte, []int) { 3149 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{39} 3150 } 3151 3152 func (x *SummarizationQualitySpec) GetUseReference() bool { 3153 if x != nil { 3154 return x.UseReference 3155 } 3156 return false 3157 } 3158 3159 func (x *SummarizationQualitySpec) GetVersion() int32 { 3160 if x != nil { 3161 return x.Version 3162 } 3163 return 0 3164 } 3165 3166 // Spec for summarization quality result. 3167 type SummarizationQualityResult struct { 3168 state protoimpl.MessageState 3169 sizeCache protoimpl.SizeCache 3170 unknownFields protoimpl.UnknownFields 3171 3172 // Output only. Summarization Quality score. 3173 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 3174 // Output only. Explanation for summarization quality score. 3175 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 3176 // Output only. Confidence for summarization quality score. 3177 Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` 3178 } 3179 3180 func (x *SummarizationQualityResult) Reset() { 3181 *x = SummarizationQualityResult{} 3182 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[40] 3183 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3184 ms.StoreMessageInfo(mi) 3185 } 3186 3187 func (x *SummarizationQualityResult) String() string { 3188 return protoimpl.X.MessageStringOf(x) 3189 } 3190 3191 func (*SummarizationQualityResult) ProtoMessage() {} 3192 3193 func (x *SummarizationQualityResult) ProtoReflect() protoreflect.Message { 3194 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[40] 3195 if x != nil { 3196 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3197 if ms.LoadMessageInfo() == nil { 3198 ms.StoreMessageInfo(mi) 3199 } 3200 return ms 3201 } 3202 return mi.MessageOf(x) 3203 } 3204 3205 // Deprecated: Use SummarizationQualityResult.ProtoReflect.Descriptor instead. 3206 func (*SummarizationQualityResult) Descriptor() ([]byte, []int) { 3207 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{40} 3208 } 3209 3210 func (x *SummarizationQualityResult) GetScore() float32 { 3211 if x != nil && x.Score != nil { 3212 return *x.Score 3213 } 3214 return 0 3215 } 3216 3217 func (x *SummarizationQualityResult) GetExplanation() string { 3218 if x != nil { 3219 return x.Explanation 3220 } 3221 return "" 3222 } 3223 3224 func (x *SummarizationQualityResult) GetConfidence() float32 { 3225 if x != nil && x.Confidence != nil { 3226 return *x.Confidence 3227 } 3228 return 0 3229 } 3230 3231 // Input for pairwise summarization quality metric. 3232 type PairwiseSummarizationQualityInput struct { 3233 state protoimpl.MessageState 3234 sizeCache protoimpl.SizeCache 3235 unknownFields protoimpl.UnknownFields 3236 3237 // Required. Spec for pairwise summarization quality score metric. 3238 MetricSpec *PairwiseSummarizationQualitySpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 3239 // Required. Pairwise summarization quality instance. 3240 Instance *PairwiseSummarizationQualityInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 3241 } 3242 3243 func (x *PairwiseSummarizationQualityInput) Reset() { 3244 *x = PairwiseSummarizationQualityInput{} 3245 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[41] 3246 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3247 ms.StoreMessageInfo(mi) 3248 } 3249 3250 func (x *PairwiseSummarizationQualityInput) String() string { 3251 return protoimpl.X.MessageStringOf(x) 3252 } 3253 3254 func (*PairwiseSummarizationQualityInput) ProtoMessage() {} 3255 3256 func (x *PairwiseSummarizationQualityInput) ProtoReflect() protoreflect.Message { 3257 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[41] 3258 if x != nil { 3259 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3260 if ms.LoadMessageInfo() == nil { 3261 ms.StoreMessageInfo(mi) 3262 } 3263 return ms 3264 } 3265 return mi.MessageOf(x) 3266 } 3267 3268 // Deprecated: Use PairwiseSummarizationQualityInput.ProtoReflect.Descriptor instead. 3269 func (*PairwiseSummarizationQualityInput) Descriptor() ([]byte, []int) { 3270 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{41} 3271 } 3272 3273 func (x *PairwiseSummarizationQualityInput) GetMetricSpec() *PairwiseSummarizationQualitySpec { 3274 if x != nil { 3275 return x.MetricSpec 3276 } 3277 return nil 3278 } 3279 3280 func (x *PairwiseSummarizationQualityInput) GetInstance() *PairwiseSummarizationQualityInstance { 3281 if x != nil { 3282 return x.Instance 3283 } 3284 return nil 3285 } 3286 3287 // Spec for pairwise summarization quality instance. 3288 type PairwiseSummarizationQualityInstance struct { 3289 state protoimpl.MessageState 3290 sizeCache protoimpl.SizeCache 3291 unknownFields protoimpl.UnknownFields 3292 3293 // Required. Output of the candidate model. 3294 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 3295 // Required. Output of the baseline model. 3296 BaselinePrediction *string `protobuf:"bytes,2,opt,name=baseline_prediction,json=baselinePrediction,proto3,oneof" json:"baseline_prediction,omitempty"` 3297 // Optional. Ground truth used to compare against the prediction. 3298 Reference *string `protobuf:"bytes,3,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 3299 // Required. Text to be summarized. 3300 Context *string `protobuf:"bytes,4,opt,name=context,proto3,oneof" json:"context,omitempty"` 3301 // Required. Summarization prompt for LLM. 3302 Instruction *string `protobuf:"bytes,5,opt,name=instruction,proto3,oneof" json:"instruction,omitempty"` 3303 } 3304 3305 func (x *PairwiseSummarizationQualityInstance) Reset() { 3306 *x = PairwiseSummarizationQualityInstance{} 3307 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[42] 3308 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3309 ms.StoreMessageInfo(mi) 3310 } 3311 3312 func (x *PairwiseSummarizationQualityInstance) String() string { 3313 return protoimpl.X.MessageStringOf(x) 3314 } 3315 3316 func (*PairwiseSummarizationQualityInstance) ProtoMessage() {} 3317 3318 func (x *PairwiseSummarizationQualityInstance) ProtoReflect() protoreflect.Message { 3319 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[42] 3320 if x != nil { 3321 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3322 if ms.LoadMessageInfo() == nil { 3323 ms.StoreMessageInfo(mi) 3324 } 3325 return ms 3326 } 3327 return mi.MessageOf(x) 3328 } 3329 3330 // Deprecated: Use PairwiseSummarizationQualityInstance.ProtoReflect.Descriptor instead. 3331 func (*PairwiseSummarizationQualityInstance) Descriptor() ([]byte, []int) { 3332 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{42} 3333 } 3334 3335 func (x *PairwiseSummarizationQualityInstance) GetPrediction() string { 3336 if x != nil && x.Prediction != nil { 3337 return *x.Prediction 3338 } 3339 return "" 3340 } 3341 3342 func (x *PairwiseSummarizationQualityInstance) GetBaselinePrediction() string { 3343 if x != nil && x.BaselinePrediction != nil { 3344 return *x.BaselinePrediction 3345 } 3346 return "" 3347 } 3348 3349 func (x *PairwiseSummarizationQualityInstance) GetReference() string { 3350 if x != nil && x.Reference != nil { 3351 return *x.Reference 3352 } 3353 return "" 3354 } 3355 3356 func (x *PairwiseSummarizationQualityInstance) GetContext() string { 3357 if x != nil && x.Context != nil { 3358 return *x.Context 3359 } 3360 return "" 3361 } 3362 3363 func (x *PairwiseSummarizationQualityInstance) GetInstruction() string { 3364 if x != nil && x.Instruction != nil { 3365 return *x.Instruction 3366 } 3367 return "" 3368 } 3369 3370 // Spec for pairwise summarization quality score metric. 3371 type PairwiseSummarizationQualitySpec struct { 3372 state protoimpl.MessageState 3373 sizeCache protoimpl.SizeCache 3374 unknownFields protoimpl.UnknownFields 3375 3376 // Optional. Whether to use instance.reference to compute pairwise 3377 // summarization quality. 3378 UseReference bool `protobuf:"varint,1,opt,name=use_reference,json=useReference,proto3" json:"use_reference,omitempty"` 3379 // Optional. Which version to use for evaluation. 3380 Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` 3381 } 3382 3383 func (x *PairwiseSummarizationQualitySpec) Reset() { 3384 *x = PairwiseSummarizationQualitySpec{} 3385 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[43] 3386 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3387 ms.StoreMessageInfo(mi) 3388 } 3389 3390 func (x *PairwiseSummarizationQualitySpec) String() string { 3391 return protoimpl.X.MessageStringOf(x) 3392 } 3393 3394 func (*PairwiseSummarizationQualitySpec) ProtoMessage() {} 3395 3396 func (x *PairwiseSummarizationQualitySpec) ProtoReflect() protoreflect.Message { 3397 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[43] 3398 if x != nil { 3399 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3400 if ms.LoadMessageInfo() == nil { 3401 ms.StoreMessageInfo(mi) 3402 } 3403 return ms 3404 } 3405 return mi.MessageOf(x) 3406 } 3407 3408 // Deprecated: Use PairwiseSummarizationQualitySpec.ProtoReflect.Descriptor instead. 3409 func (*PairwiseSummarizationQualitySpec) Descriptor() ([]byte, []int) { 3410 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{43} 3411 } 3412 3413 func (x *PairwiseSummarizationQualitySpec) GetUseReference() bool { 3414 if x != nil { 3415 return x.UseReference 3416 } 3417 return false 3418 } 3419 3420 func (x *PairwiseSummarizationQualitySpec) GetVersion() int32 { 3421 if x != nil { 3422 return x.Version 3423 } 3424 return 0 3425 } 3426 3427 // Spec for pairwise summarization quality result. 3428 type PairwiseSummarizationQualityResult struct { 3429 state protoimpl.MessageState 3430 sizeCache protoimpl.SizeCache 3431 unknownFields protoimpl.UnknownFields 3432 3433 // Output only. Pairwise summarization prediction choice. 3434 PairwiseChoice PairwiseChoice `protobuf:"varint,1,opt,name=pairwise_choice,json=pairwiseChoice,proto3,enum=google.cloud.aiplatform.v1.PairwiseChoice" json:"pairwise_choice,omitempty"` 3435 // Output only. Explanation for summarization quality score. 3436 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 3437 // Output only. Confidence for summarization quality score. 3438 Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` 3439 } 3440 3441 func (x *PairwiseSummarizationQualityResult) Reset() { 3442 *x = PairwiseSummarizationQualityResult{} 3443 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[44] 3444 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3445 ms.StoreMessageInfo(mi) 3446 } 3447 3448 func (x *PairwiseSummarizationQualityResult) String() string { 3449 return protoimpl.X.MessageStringOf(x) 3450 } 3451 3452 func (*PairwiseSummarizationQualityResult) ProtoMessage() {} 3453 3454 func (x *PairwiseSummarizationQualityResult) ProtoReflect() protoreflect.Message { 3455 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[44] 3456 if x != nil { 3457 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3458 if ms.LoadMessageInfo() == nil { 3459 ms.StoreMessageInfo(mi) 3460 } 3461 return ms 3462 } 3463 return mi.MessageOf(x) 3464 } 3465 3466 // Deprecated: Use PairwiseSummarizationQualityResult.ProtoReflect.Descriptor instead. 3467 func (*PairwiseSummarizationQualityResult) Descriptor() ([]byte, []int) { 3468 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{44} 3469 } 3470 3471 func (x *PairwiseSummarizationQualityResult) GetPairwiseChoice() PairwiseChoice { 3472 if x != nil { 3473 return x.PairwiseChoice 3474 } 3475 return PairwiseChoice_PAIRWISE_CHOICE_UNSPECIFIED 3476 } 3477 3478 func (x *PairwiseSummarizationQualityResult) GetExplanation() string { 3479 if x != nil { 3480 return x.Explanation 3481 } 3482 return "" 3483 } 3484 3485 func (x *PairwiseSummarizationQualityResult) GetConfidence() float32 { 3486 if x != nil && x.Confidence != nil { 3487 return *x.Confidence 3488 } 3489 return 0 3490 } 3491 3492 // Input for summarization helpfulness metric. 3493 type SummarizationHelpfulnessInput struct { 3494 state protoimpl.MessageState 3495 sizeCache protoimpl.SizeCache 3496 unknownFields protoimpl.UnknownFields 3497 3498 // Required. Spec for summarization helpfulness score metric. 3499 MetricSpec *SummarizationHelpfulnessSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 3500 // Required. Summarization helpfulness instance. 3501 Instance *SummarizationHelpfulnessInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 3502 } 3503 3504 func (x *SummarizationHelpfulnessInput) Reset() { 3505 *x = SummarizationHelpfulnessInput{} 3506 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[45] 3507 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3508 ms.StoreMessageInfo(mi) 3509 } 3510 3511 func (x *SummarizationHelpfulnessInput) String() string { 3512 return protoimpl.X.MessageStringOf(x) 3513 } 3514 3515 func (*SummarizationHelpfulnessInput) ProtoMessage() {} 3516 3517 func (x *SummarizationHelpfulnessInput) ProtoReflect() protoreflect.Message { 3518 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[45] 3519 if x != nil { 3520 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3521 if ms.LoadMessageInfo() == nil { 3522 ms.StoreMessageInfo(mi) 3523 } 3524 return ms 3525 } 3526 return mi.MessageOf(x) 3527 } 3528 3529 // Deprecated: Use SummarizationHelpfulnessInput.ProtoReflect.Descriptor instead. 3530 func (*SummarizationHelpfulnessInput) Descriptor() ([]byte, []int) { 3531 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{45} 3532 } 3533 3534 func (x *SummarizationHelpfulnessInput) GetMetricSpec() *SummarizationHelpfulnessSpec { 3535 if x != nil { 3536 return x.MetricSpec 3537 } 3538 return nil 3539 } 3540 3541 func (x *SummarizationHelpfulnessInput) GetInstance() *SummarizationHelpfulnessInstance { 3542 if x != nil { 3543 return x.Instance 3544 } 3545 return nil 3546 } 3547 3548 // Spec for summarization helpfulness instance. 3549 type SummarizationHelpfulnessInstance struct { 3550 state protoimpl.MessageState 3551 sizeCache protoimpl.SizeCache 3552 unknownFields protoimpl.UnknownFields 3553 3554 // Required. Output of the evaluated model. 3555 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 3556 // Optional. Ground truth used to compare against the prediction. 3557 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 3558 // Required. Text to be summarized. 3559 Context *string `protobuf:"bytes,3,opt,name=context,proto3,oneof" json:"context,omitempty"` 3560 // Optional. Summarization prompt for LLM. 3561 Instruction *string `protobuf:"bytes,4,opt,name=instruction,proto3,oneof" json:"instruction,omitempty"` 3562 } 3563 3564 func (x *SummarizationHelpfulnessInstance) Reset() { 3565 *x = SummarizationHelpfulnessInstance{} 3566 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[46] 3567 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3568 ms.StoreMessageInfo(mi) 3569 } 3570 3571 func (x *SummarizationHelpfulnessInstance) String() string { 3572 return protoimpl.X.MessageStringOf(x) 3573 } 3574 3575 func (*SummarizationHelpfulnessInstance) ProtoMessage() {} 3576 3577 func (x *SummarizationHelpfulnessInstance) ProtoReflect() protoreflect.Message { 3578 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[46] 3579 if x != nil { 3580 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3581 if ms.LoadMessageInfo() == nil { 3582 ms.StoreMessageInfo(mi) 3583 } 3584 return ms 3585 } 3586 return mi.MessageOf(x) 3587 } 3588 3589 // Deprecated: Use SummarizationHelpfulnessInstance.ProtoReflect.Descriptor instead. 3590 func (*SummarizationHelpfulnessInstance) Descriptor() ([]byte, []int) { 3591 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{46} 3592 } 3593 3594 func (x *SummarizationHelpfulnessInstance) GetPrediction() string { 3595 if x != nil && x.Prediction != nil { 3596 return *x.Prediction 3597 } 3598 return "" 3599 } 3600 3601 func (x *SummarizationHelpfulnessInstance) GetReference() string { 3602 if x != nil && x.Reference != nil { 3603 return *x.Reference 3604 } 3605 return "" 3606 } 3607 3608 func (x *SummarizationHelpfulnessInstance) GetContext() string { 3609 if x != nil && x.Context != nil { 3610 return *x.Context 3611 } 3612 return "" 3613 } 3614 3615 func (x *SummarizationHelpfulnessInstance) GetInstruction() string { 3616 if x != nil && x.Instruction != nil { 3617 return *x.Instruction 3618 } 3619 return "" 3620 } 3621 3622 // Spec for summarization helpfulness score metric. 3623 type SummarizationHelpfulnessSpec struct { 3624 state protoimpl.MessageState 3625 sizeCache protoimpl.SizeCache 3626 unknownFields protoimpl.UnknownFields 3627 3628 // Optional. Whether to use instance.reference to compute summarization 3629 // helpfulness. 3630 UseReference bool `protobuf:"varint,1,opt,name=use_reference,json=useReference,proto3" json:"use_reference,omitempty"` 3631 // Optional. Which version to use for evaluation. 3632 Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` 3633 } 3634 3635 func (x *SummarizationHelpfulnessSpec) Reset() { 3636 *x = SummarizationHelpfulnessSpec{} 3637 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[47] 3638 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3639 ms.StoreMessageInfo(mi) 3640 } 3641 3642 func (x *SummarizationHelpfulnessSpec) String() string { 3643 return protoimpl.X.MessageStringOf(x) 3644 } 3645 3646 func (*SummarizationHelpfulnessSpec) ProtoMessage() {} 3647 3648 func (x *SummarizationHelpfulnessSpec) ProtoReflect() protoreflect.Message { 3649 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[47] 3650 if x != nil { 3651 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3652 if ms.LoadMessageInfo() == nil { 3653 ms.StoreMessageInfo(mi) 3654 } 3655 return ms 3656 } 3657 return mi.MessageOf(x) 3658 } 3659 3660 // Deprecated: Use SummarizationHelpfulnessSpec.ProtoReflect.Descriptor instead. 3661 func (*SummarizationHelpfulnessSpec) Descriptor() ([]byte, []int) { 3662 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{47} 3663 } 3664 3665 func (x *SummarizationHelpfulnessSpec) GetUseReference() bool { 3666 if x != nil { 3667 return x.UseReference 3668 } 3669 return false 3670 } 3671 3672 func (x *SummarizationHelpfulnessSpec) GetVersion() int32 { 3673 if x != nil { 3674 return x.Version 3675 } 3676 return 0 3677 } 3678 3679 // Spec for summarization helpfulness result. 3680 type SummarizationHelpfulnessResult struct { 3681 state protoimpl.MessageState 3682 sizeCache protoimpl.SizeCache 3683 unknownFields protoimpl.UnknownFields 3684 3685 // Output only. Summarization Helpfulness score. 3686 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 3687 // Output only. Explanation for summarization helpfulness score. 3688 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 3689 // Output only. Confidence for summarization helpfulness score. 3690 Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` 3691 } 3692 3693 func (x *SummarizationHelpfulnessResult) Reset() { 3694 *x = SummarizationHelpfulnessResult{} 3695 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[48] 3696 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3697 ms.StoreMessageInfo(mi) 3698 } 3699 3700 func (x *SummarizationHelpfulnessResult) String() string { 3701 return protoimpl.X.MessageStringOf(x) 3702 } 3703 3704 func (*SummarizationHelpfulnessResult) ProtoMessage() {} 3705 3706 func (x *SummarizationHelpfulnessResult) ProtoReflect() protoreflect.Message { 3707 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[48] 3708 if x != nil { 3709 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3710 if ms.LoadMessageInfo() == nil { 3711 ms.StoreMessageInfo(mi) 3712 } 3713 return ms 3714 } 3715 return mi.MessageOf(x) 3716 } 3717 3718 // Deprecated: Use SummarizationHelpfulnessResult.ProtoReflect.Descriptor instead. 3719 func (*SummarizationHelpfulnessResult) Descriptor() ([]byte, []int) { 3720 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{48} 3721 } 3722 3723 func (x *SummarizationHelpfulnessResult) GetScore() float32 { 3724 if x != nil && x.Score != nil { 3725 return *x.Score 3726 } 3727 return 0 3728 } 3729 3730 func (x *SummarizationHelpfulnessResult) GetExplanation() string { 3731 if x != nil { 3732 return x.Explanation 3733 } 3734 return "" 3735 } 3736 3737 func (x *SummarizationHelpfulnessResult) GetConfidence() float32 { 3738 if x != nil && x.Confidence != nil { 3739 return *x.Confidence 3740 } 3741 return 0 3742 } 3743 3744 // Input for summarization verbosity metric. 3745 type SummarizationVerbosityInput struct { 3746 state protoimpl.MessageState 3747 sizeCache protoimpl.SizeCache 3748 unknownFields protoimpl.UnknownFields 3749 3750 // Required. Spec for summarization verbosity score metric. 3751 MetricSpec *SummarizationVerbositySpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 3752 // Required. Summarization verbosity instance. 3753 Instance *SummarizationVerbosityInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 3754 } 3755 3756 func (x *SummarizationVerbosityInput) Reset() { 3757 *x = SummarizationVerbosityInput{} 3758 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[49] 3759 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3760 ms.StoreMessageInfo(mi) 3761 } 3762 3763 func (x *SummarizationVerbosityInput) String() string { 3764 return protoimpl.X.MessageStringOf(x) 3765 } 3766 3767 func (*SummarizationVerbosityInput) ProtoMessage() {} 3768 3769 func (x *SummarizationVerbosityInput) ProtoReflect() protoreflect.Message { 3770 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[49] 3771 if x != nil { 3772 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3773 if ms.LoadMessageInfo() == nil { 3774 ms.StoreMessageInfo(mi) 3775 } 3776 return ms 3777 } 3778 return mi.MessageOf(x) 3779 } 3780 3781 // Deprecated: Use SummarizationVerbosityInput.ProtoReflect.Descriptor instead. 3782 func (*SummarizationVerbosityInput) Descriptor() ([]byte, []int) { 3783 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{49} 3784 } 3785 3786 func (x *SummarizationVerbosityInput) GetMetricSpec() *SummarizationVerbositySpec { 3787 if x != nil { 3788 return x.MetricSpec 3789 } 3790 return nil 3791 } 3792 3793 func (x *SummarizationVerbosityInput) GetInstance() *SummarizationVerbosityInstance { 3794 if x != nil { 3795 return x.Instance 3796 } 3797 return nil 3798 } 3799 3800 // Spec for summarization verbosity instance. 3801 type SummarizationVerbosityInstance struct { 3802 state protoimpl.MessageState 3803 sizeCache protoimpl.SizeCache 3804 unknownFields protoimpl.UnknownFields 3805 3806 // Required. Output of the evaluated model. 3807 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 3808 // Optional. Ground truth used to compare against the prediction. 3809 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 3810 // Required. Text to be summarized. 3811 Context *string `protobuf:"bytes,3,opt,name=context,proto3,oneof" json:"context,omitempty"` 3812 // Optional. Summarization prompt for LLM. 3813 Instruction *string `protobuf:"bytes,4,opt,name=instruction,proto3,oneof" json:"instruction,omitempty"` 3814 } 3815 3816 func (x *SummarizationVerbosityInstance) Reset() { 3817 *x = SummarizationVerbosityInstance{} 3818 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[50] 3819 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3820 ms.StoreMessageInfo(mi) 3821 } 3822 3823 func (x *SummarizationVerbosityInstance) String() string { 3824 return protoimpl.X.MessageStringOf(x) 3825 } 3826 3827 func (*SummarizationVerbosityInstance) ProtoMessage() {} 3828 3829 func (x *SummarizationVerbosityInstance) ProtoReflect() protoreflect.Message { 3830 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[50] 3831 if x != nil { 3832 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3833 if ms.LoadMessageInfo() == nil { 3834 ms.StoreMessageInfo(mi) 3835 } 3836 return ms 3837 } 3838 return mi.MessageOf(x) 3839 } 3840 3841 // Deprecated: Use SummarizationVerbosityInstance.ProtoReflect.Descriptor instead. 3842 func (*SummarizationVerbosityInstance) Descriptor() ([]byte, []int) { 3843 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{50} 3844 } 3845 3846 func (x *SummarizationVerbosityInstance) GetPrediction() string { 3847 if x != nil && x.Prediction != nil { 3848 return *x.Prediction 3849 } 3850 return "" 3851 } 3852 3853 func (x *SummarizationVerbosityInstance) GetReference() string { 3854 if x != nil && x.Reference != nil { 3855 return *x.Reference 3856 } 3857 return "" 3858 } 3859 3860 func (x *SummarizationVerbosityInstance) GetContext() string { 3861 if x != nil && x.Context != nil { 3862 return *x.Context 3863 } 3864 return "" 3865 } 3866 3867 func (x *SummarizationVerbosityInstance) GetInstruction() string { 3868 if x != nil && x.Instruction != nil { 3869 return *x.Instruction 3870 } 3871 return "" 3872 } 3873 3874 // Spec for summarization verbosity score metric. 3875 type SummarizationVerbositySpec struct { 3876 state protoimpl.MessageState 3877 sizeCache protoimpl.SizeCache 3878 unknownFields protoimpl.UnknownFields 3879 3880 // Optional. Whether to use instance.reference to compute summarization 3881 // verbosity. 3882 UseReference bool `protobuf:"varint,1,opt,name=use_reference,json=useReference,proto3" json:"use_reference,omitempty"` 3883 // Optional. Which version to use for evaluation. 3884 Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` 3885 } 3886 3887 func (x *SummarizationVerbositySpec) Reset() { 3888 *x = SummarizationVerbositySpec{} 3889 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[51] 3890 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3891 ms.StoreMessageInfo(mi) 3892 } 3893 3894 func (x *SummarizationVerbositySpec) String() string { 3895 return protoimpl.X.MessageStringOf(x) 3896 } 3897 3898 func (*SummarizationVerbositySpec) ProtoMessage() {} 3899 3900 func (x *SummarizationVerbositySpec) ProtoReflect() protoreflect.Message { 3901 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[51] 3902 if x != nil { 3903 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3904 if ms.LoadMessageInfo() == nil { 3905 ms.StoreMessageInfo(mi) 3906 } 3907 return ms 3908 } 3909 return mi.MessageOf(x) 3910 } 3911 3912 // Deprecated: Use SummarizationVerbositySpec.ProtoReflect.Descriptor instead. 3913 func (*SummarizationVerbositySpec) Descriptor() ([]byte, []int) { 3914 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{51} 3915 } 3916 3917 func (x *SummarizationVerbositySpec) GetUseReference() bool { 3918 if x != nil { 3919 return x.UseReference 3920 } 3921 return false 3922 } 3923 3924 func (x *SummarizationVerbositySpec) GetVersion() int32 { 3925 if x != nil { 3926 return x.Version 3927 } 3928 return 0 3929 } 3930 3931 // Spec for summarization verbosity result. 3932 type SummarizationVerbosityResult struct { 3933 state protoimpl.MessageState 3934 sizeCache protoimpl.SizeCache 3935 unknownFields protoimpl.UnknownFields 3936 3937 // Output only. Summarization Verbosity score. 3938 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 3939 // Output only. Explanation for summarization verbosity score. 3940 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 3941 // Output only. Confidence for summarization verbosity score. 3942 Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` 3943 } 3944 3945 func (x *SummarizationVerbosityResult) Reset() { 3946 *x = SummarizationVerbosityResult{} 3947 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[52] 3948 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3949 ms.StoreMessageInfo(mi) 3950 } 3951 3952 func (x *SummarizationVerbosityResult) String() string { 3953 return protoimpl.X.MessageStringOf(x) 3954 } 3955 3956 func (*SummarizationVerbosityResult) ProtoMessage() {} 3957 3958 func (x *SummarizationVerbosityResult) ProtoReflect() protoreflect.Message { 3959 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[52] 3960 if x != nil { 3961 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3962 if ms.LoadMessageInfo() == nil { 3963 ms.StoreMessageInfo(mi) 3964 } 3965 return ms 3966 } 3967 return mi.MessageOf(x) 3968 } 3969 3970 // Deprecated: Use SummarizationVerbosityResult.ProtoReflect.Descriptor instead. 3971 func (*SummarizationVerbosityResult) Descriptor() ([]byte, []int) { 3972 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{52} 3973 } 3974 3975 func (x *SummarizationVerbosityResult) GetScore() float32 { 3976 if x != nil && x.Score != nil { 3977 return *x.Score 3978 } 3979 return 0 3980 } 3981 3982 func (x *SummarizationVerbosityResult) GetExplanation() string { 3983 if x != nil { 3984 return x.Explanation 3985 } 3986 return "" 3987 } 3988 3989 func (x *SummarizationVerbosityResult) GetConfidence() float32 { 3990 if x != nil && x.Confidence != nil { 3991 return *x.Confidence 3992 } 3993 return 0 3994 } 3995 3996 // Input for question answering quality metric. 3997 type QuestionAnsweringQualityInput struct { 3998 state protoimpl.MessageState 3999 sizeCache protoimpl.SizeCache 4000 unknownFields protoimpl.UnknownFields 4001 4002 // Required. Spec for question answering quality score metric. 4003 MetricSpec *QuestionAnsweringQualitySpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 4004 // Required. Question answering quality instance. 4005 Instance *QuestionAnsweringQualityInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 4006 } 4007 4008 func (x *QuestionAnsweringQualityInput) Reset() { 4009 *x = QuestionAnsweringQualityInput{} 4010 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[53] 4011 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4012 ms.StoreMessageInfo(mi) 4013 } 4014 4015 func (x *QuestionAnsweringQualityInput) String() string { 4016 return protoimpl.X.MessageStringOf(x) 4017 } 4018 4019 func (*QuestionAnsweringQualityInput) ProtoMessage() {} 4020 4021 func (x *QuestionAnsweringQualityInput) ProtoReflect() protoreflect.Message { 4022 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[53] 4023 if x != nil { 4024 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4025 if ms.LoadMessageInfo() == nil { 4026 ms.StoreMessageInfo(mi) 4027 } 4028 return ms 4029 } 4030 return mi.MessageOf(x) 4031 } 4032 4033 // Deprecated: Use QuestionAnsweringQualityInput.ProtoReflect.Descriptor instead. 4034 func (*QuestionAnsweringQualityInput) Descriptor() ([]byte, []int) { 4035 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{53} 4036 } 4037 4038 func (x *QuestionAnsweringQualityInput) GetMetricSpec() *QuestionAnsweringQualitySpec { 4039 if x != nil { 4040 return x.MetricSpec 4041 } 4042 return nil 4043 } 4044 4045 func (x *QuestionAnsweringQualityInput) GetInstance() *QuestionAnsweringQualityInstance { 4046 if x != nil { 4047 return x.Instance 4048 } 4049 return nil 4050 } 4051 4052 // Spec for question answering quality instance. 4053 type QuestionAnsweringQualityInstance struct { 4054 state protoimpl.MessageState 4055 sizeCache protoimpl.SizeCache 4056 unknownFields protoimpl.UnknownFields 4057 4058 // Required. Output of the evaluated model. 4059 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 4060 // Optional. Ground truth used to compare against the prediction. 4061 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 4062 // Required. Text to answer the question. 4063 Context *string `protobuf:"bytes,3,opt,name=context,proto3,oneof" json:"context,omitempty"` 4064 // Required. Question Answering prompt for LLM. 4065 Instruction *string `protobuf:"bytes,4,opt,name=instruction,proto3,oneof" json:"instruction,omitempty"` 4066 } 4067 4068 func (x *QuestionAnsweringQualityInstance) Reset() { 4069 *x = QuestionAnsweringQualityInstance{} 4070 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[54] 4071 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4072 ms.StoreMessageInfo(mi) 4073 } 4074 4075 func (x *QuestionAnsweringQualityInstance) String() string { 4076 return protoimpl.X.MessageStringOf(x) 4077 } 4078 4079 func (*QuestionAnsweringQualityInstance) ProtoMessage() {} 4080 4081 func (x *QuestionAnsweringQualityInstance) ProtoReflect() protoreflect.Message { 4082 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[54] 4083 if x != nil { 4084 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4085 if ms.LoadMessageInfo() == nil { 4086 ms.StoreMessageInfo(mi) 4087 } 4088 return ms 4089 } 4090 return mi.MessageOf(x) 4091 } 4092 4093 // Deprecated: Use QuestionAnsweringQualityInstance.ProtoReflect.Descriptor instead. 4094 func (*QuestionAnsweringQualityInstance) Descriptor() ([]byte, []int) { 4095 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{54} 4096 } 4097 4098 func (x *QuestionAnsweringQualityInstance) GetPrediction() string { 4099 if x != nil && x.Prediction != nil { 4100 return *x.Prediction 4101 } 4102 return "" 4103 } 4104 4105 func (x *QuestionAnsweringQualityInstance) GetReference() string { 4106 if x != nil && x.Reference != nil { 4107 return *x.Reference 4108 } 4109 return "" 4110 } 4111 4112 func (x *QuestionAnsweringQualityInstance) GetContext() string { 4113 if x != nil && x.Context != nil { 4114 return *x.Context 4115 } 4116 return "" 4117 } 4118 4119 func (x *QuestionAnsweringQualityInstance) GetInstruction() string { 4120 if x != nil && x.Instruction != nil { 4121 return *x.Instruction 4122 } 4123 return "" 4124 } 4125 4126 // Spec for question answering quality score metric. 4127 type QuestionAnsweringQualitySpec struct { 4128 state protoimpl.MessageState 4129 sizeCache protoimpl.SizeCache 4130 unknownFields protoimpl.UnknownFields 4131 4132 // Optional. Whether to use instance.reference to compute question answering 4133 // quality. 4134 UseReference bool `protobuf:"varint,1,opt,name=use_reference,json=useReference,proto3" json:"use_reference,omitempty"` 4135 // Optional. Which version to use for evaluation. 4136 Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` 4137 } 4138 4139 func (x *QuestionAnsweringQualitySpec) Reset() { 4140 *x = QuestionAnsweringQualitySpec{} 4141 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[55] 4142 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4143 ms.StoreMessageInfo(mi) 4144 } 4145 4146 func (x *QuestionAnsweringQualitySpec) String() string { 4147 return protoimpl.X.MessageStringOf(x) 4148 } 4149 4150 func (*QuestionAnsweringQualitySpec) ProtoMessage() {} 4151 4152 func (x *QuestionAnsweringQualitySpec) ProtoReflect() protoreflect.Message { 4153 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[55] 4154 if x != nil { 4155 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4156 if ms.LoadMessageInfo() == nil { 4157 ms.StoreMessageInfo(mi) 4158 } 4159 return ms 4160 } 4161 return mi.MessageOf(x) 4162 } 4163 4164 // Deprecated: Use QuestionAnsweringQualitySpec.ProtoReflect.Descriptor instead. 4165 func (*QuestionAnsweringQualitySpec) Descriptor() ([]byte, []int) { 4166 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{55} 4167 } 4168 4169 func (x *QuestionAnsweringQualitySpec) GetUseReference() bool { 4170 if x != nil { 4171 return x.UseReference 4172 } 4173 return false 4174 } 4175 4176 func (x *QuestionAnsweringQualitySpec) GetVersion() int32 { 4177 if x != nil { 4178 return x.Version 4179 } 4180 return 0 4181 } 4182 4183 // Spec for question answering quality result. 4184 type QuestionAnsweringQualityResult struct { 4185 state protoimpl.MessageState 4186 sizeCache protoimpl.SizeCache 4187 unknownFields protoimpl.UnknownFields 4188 4189 // Output only. Question Answering Quality score. 4190 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 4191 // Output only. Explanation for question answering quality score. 4192 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 4193 // Output only. Confidence for question answering quality score. 4194 Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` 4195 } 4196 4197 func (x *QuestionAnsweringQualityResult) Reset() { 4198 *x = QuestionAnsweringQualityResult{} 4199 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[56] 4200 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4201 ms.StoreMessageInfo(mi) 4202 } 4203 4204 func (x *QuestionAnsweringQualityResult) String() string { 4205 return protoimpl.X.MessageStringOf(x) 4206 } 4207 4208 func (*QuestionAnsweringQualityResult) ProtoMessage() {} 4209 4210 func (x *QuestionAnsweringQualityResult) ProtoReflect() protoreflect.Message { 4211 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[56] 4212 if x != nil { 4213 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4214 if ms.LoadMessageInfo() == nil { 4215 ms.StoreMessageInfo(mi) 4216 } 4217 return ms 4218 } 4219 return mi.MessageOf(x) 4220 } 4221 4222 // Deprecated: Use QuestionAnsweringQualityResult.ProtoReflect.Descriptor instead. 4223 func (*QuestionAnsweringQualityResult) Descriptor() ([]byte, []int) { 4224 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{56} 4225 } 4226 4227 func (x *QuestionAnsweringQualityResult) GetScore() float32 { 4228 if x != nil && x.Score != nil { 4229 return *x.Score 4230 } 4231 return 0 4232 } 4233 4234 func (x *QuestionAnsweringQualityResult) GetExplanation() string { 4235 if x != nil { 4236 return x.Explanation 4237 } 4238 return "" 4239 } 4240 4241 func (x *QuestionAnsweringQualityResult) GetConfidence() float32 { 4242 if x != nil && x.Confidence != nil { 4243 return *x.Confidence 4244 } 4245 return 0 4246 } 4247 4248 // Input for pairwise question answering quality metric. 4249 type PairwiseQuestionAnsweringQualityInput struct { 4250 state protoimpl.MessageState 4251 sizeCache protoimpl.SizeCache 4252 unknownFields protoimpl.UnknownFields 4253 4254 // Required. Spec for pairwise question answering quality score metric. 4255 MetricSpec *PairwiseQuestionAnsweringQualitySpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 4256 // Required. Pairwise question answering quality instance. 4257 Instance *PairwiseQuestionAnsweringQualityInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 4258 } 4259 4260 func (x *PairwiseQuestionAnsweringQualityInput) Reset() { 4261 *x = PairwiseQuestionAnsweringQualityInput{} 4262 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[57] 4263 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4264 ms.StoreMessageInfo(mi) 4265 } 4266 4267 func (x *PairwiseQuestionAnsweringQualityInput) String() string { 4268 return protoimpl.X.MessageStringOf(x) 4269 } 4270 4271 func (*PairwiseQuestionAnsweringQualityInput) ProtoMessage() {} 4272 4273 func (x *PairwiseQuestionAnsweringQualityInput) ProtoReflect() protoreflect.Message { 4274 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[57] 4275 if x != nil { 4276 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4277 if ms.LoadMessageInfo() == nil { 4278 ms.StoreMessageInfo(mi) 4279 } 4280 return ms 4281 } 4282 return mi.MessageOf(x) 4283 } 4284 4285 // Deprecated: Use PairwiseQuestionAnsweringQualityInput.ProtoReflect.Descriptor instead. 4286 func (*PairwiseQuestionAnsweringQualityInput) Descriptor() ([]byte, []int) { 4287 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{57} 4288 } 4289 4290 func (x *PairwiseQuestionAnsweringQualityInput) GetMetricSpec() *PairwiseQuestionAnsweringQualitySpec { 4291 if x != nil { 4292 return x.MetricSpec 4293 } 4294 return nil 4295 } 4296 4297 func (x *PairwiseQuestionAnsweringQualityInput) GetInstance() *PairwiseQuestionAnsweringQualityInstance { 4298 if x != nil { 4299 return x.Instance 4300 } 4301 return nil 4302 } 4303 4304 // Spec for pairwise question answering quality instance. 4305 type PairwiseQuestionAnsweringQualityInstance struct { 4306 state protoimpl.MessageState 4307 sizeCache protoimpl.SizeCache 4308 unknownFields protoimpl.UnknownFields 4309 4310 // Required. Output of the candidate model. 4311 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 4312 // Required. Output of the baseline model. 4313 BaselinePrediction *string `protobuf:"bytes,2,opt,name=baseline_prediction,json=baselinePrediction,proto3,oneof" json:"baseline_prediction,omitempty"` 4314 // Optional. Ground truth used to compare against the prediction. 4315 Reference *string `protobuf:"bytes,3,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 4316 // Required. Text to answer the question. 4317 Context *string `protobuf:"bytes,4,opt,name=context,proto3,oneof" json:"context,omitempty"` 4318 // Required. Question Answering prompt for LLM. 4319 Instruction *string `protobuf:"bytes,5,opt,name=instruction,proto3,oneof" json:"instruction,omitempty"` 4320 } 4321 4322 func (x *PairwiseQuestionAnsweringQualityInstance) Reset() { 4323 *x = PairwiseQuestionAnsweringQualityInstance{} 4324 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[58] 4325 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4326 ms.StoreMessageInfo(mi) 4327 } 4328 4329 func (x *PairwiseQuestionAnsweringQualityInstance) String() string { 4330 return protoimpl.X.MessageStringOf(x) 4331 } 4332 4333 func (*PairwiseQuestionAnsweringQualityInstance) ProtoMessage() {} 4334 4335 func (x *PairwiseQuestionAnsweringQualityInstance) ProtoReflect() protoreflect.Message { 4336 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[58] 4337 if x != nil { 4338 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4339 if ms.LoadMessageInfo() == nil { 4340 ms.StoreMessageInfo(mi) 4341 } 4342 return ms 4343 } 4344 return mi.MessageOf(x) 4345 } 4346 4347 // Deprecated: Use PairwiseQuestionAnsweringQualityInstance.ProtoReflect.Descriptor instead. 4348 func (*PairwiseQuestionAnsweringQualityInstance) Descriptor() ([]byte, []int) { 4349 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{58} 4350 } 4351 4352 func (x *PairwiseQuestionAnsweringQualityInstance) GetPrediction() string { 4353 if x != nil && x.Prediction != nil { 4354 return *x.Prediction 4355 } 4356 return "" 4357 } 4358 4359 func (x *PairwiseQuestionAnsweringQualityInstance) GetBaselinePrediction() string { 4360 if x != nil && x.BaselinePrediction != nil { 4361 return *x.BaselinePrediction 4362 } 4363 return "" 4364 } 4365 4366 func (x *PairwiseQuestionAnsweringQualityInstance) GetReference() string { 4367 if x != nil && x.Reference != nil { 4368 return *x.Reference 4369 } 4370 return "" 4371 } 4372 4373 func (x *PairwiseQuestionAnsweringQualityInstance) GetContext() string { 4374 if x != nil && x.Context != nil { 4375 return *x.Context 4376 } 4377 return "" 4378 } 4379 4380 func (x *PairwiseQuestionAnsweringQualityInstance) GetInstruction() string { 4381 if x != nil && x.Instruction != nil { 4382 return *x.Instruction 4383 } 4384 return "" 4385 } 4386 4387 // Spec for pairwise question answering quality score metric. 4388 type PairwiseQuestionAnsweringQualitySpec struct { 4389 state protoimpl.MessageState 4390 sizeCache protoimpl.SizeCache 4391 unknownFields protoimpl.UnknownFields 4392 4393 // Optional. Whether to use instance.reference to compute question answering 4394 // quality. 4395 UseReference bool `protobuf:"varint,1,opt,name=use_reference,json=useReference,proto3" json:"use_reference,omitempty"` 4396 // Optional. Which version to use for evaluation. 4397 Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` 4398 } 4399 4400 func (x *PairwiseQuestionAnsweringQualitySpec) Reset() { 4401 *x = PairwiseQuestionAnsweringQualitySpec{} 4402 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[59] 4403 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4404 ms.StoreMessageInfo(mi) 4405 } 4406 4407 func (x *PairwiseQuestionAnsweringQualitySpec) String() string { 4408 return protoimpl.X.MessageStringOf(x) 4409 } 4410 4411 func (*PairwiseQuestionAnsweringQualitySpec) ProtoMessage() {} 4412 4413 func (x *PairwiseQuestionAnsweringQualitySpec) ProtoReflect() protoreflect.Message { 4414 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[59] 4415 if x != nil { 4416 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4417 if ms.LoadMessageInfo() == nil { 4418 ms.StoreMessageInfo(mi) 4419 } 4420 return ms 4421 } 4422 return mi.MessageOf(x) 4423 } 4424 4425 // Deprecated: Use PairwiseQuestionAnsweringQualitySpec.ProtoReflect.Descriptor instead. 4426 func (*PairwiseQuestionAnsweringQualitySpec) Descriptor() ([]byte, []int) { 4427 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{59} 4428 } 4429 4430 func (x *PairwiseQuestionAnsweringQualitySpec) GetUseReference() bool { 4431 if x != nil { 4432 return x.UseReference 4433 } 4434 return false 4435 } 4436 4437 func (x *PairwiseQuestionAnsweringQualitySpec) GetVersion() int32 { 4438 if x != nil { 4439 return x.Version 4440 } 4441 return 0 4442 } 4443 4444 // Spec for pairwise question answering quality result. 4445 type PairwiseQuestionAnsweringQualityResult struct { 4446 state protoimpl.MessageState 4447 sizeCache protoimpl.SizeCache 4448 unknownFields protoimpl.UnknownFields 4449 4450 // Output only. Pairwise question answering prediction choice. 4451 PairwiseChoice PairwiseChoice `protobuf:"varint,1,opt,name=pairwise_choice,json=pairwiseChoice,proto3,enum=google.cloud.aiplatform.v1.PairwiseChoice" json:"pairwise_choice,omitempty"` 4452 // Output only. Explanation for question answering quality score. 4453 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 4454 // Output only. Confidence for question answering quality score. 4455 Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` 4456 } 4457 4458 func (x *PairwiseQuestionAnsweringQualityResult) Reset() { 4459 *x = PairwiseQuestionAnsweringQualityResult{} 4460 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[60] 4461 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4462 ms.StoreMessageInfo(mi) 4463 } 4464 4465 func (x *PairwiseQuestionAnsweringQualityResult) String() string { 4466 return protoimpl.X.MessageStringOf(x) 4467 } 4468 4469 func (*PairwiseQuestionAnsweringQualityResult) ProtoMessage() {} 4470 4471 func (x *PairwiseQuestionAnsweringQualityResult) ProtoReflect() protoreflect.Message { 4472 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[60] 4473 if x != nil { 4474 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4475 if ms.LoadMessageInfo() == nil { 4476 ms.StoreMessageInfo(mi) 4477 } 4478 return ms 4479 } 4480 return mi.MessageOf(x) 4481 } 4482 4483 // Deprecated: Use PairwiseQuestionAnsweringQualityResult.ProtoReflect.Descriptor instead. 4484 func (*PairwiseQuestionAnsweringQualityResult) Descriptor() ([]byte, []int) { 4485 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{60} 4486 } 4487 4488 func (x *PairwiseQuestionAnsweringQualityResult) GetPairwiseChoice() PairwiseChoice { 4489 if x != nil { 4490 return x.PairwiseChoice 4491 } 4492 return PairwiseChoice_PAIRWISE_CHOICE_UNSPECIFIED 4493 } 4494 4495 func (x *PairwiseQuestionAnsweringQualityResult) GetExplanation() string { 4496 if x != nil { 4497 return x.Explanation 4498 } 4499 return "" 4500 } 4501 4502 func (x *PairwiseQuestionAnsweringQualityResult) GetConfidence() float32 { 4503 if x != nil && x.Confidence != nil { 4504 return *x.Confidence 4505 } 4506 return 0 4507 } 4508 4509 // Input for question answering relevance metric. 4510 type QuestionAnsweringRelevanceInput struct { 4511 state protoimpl.MessageState 4512 sizeCache protoimpl.SizeCache 4513 unknownFields protoimpl.UnknownFields 4514 4515 // Required. Spec for question answering relevance score metric. 4516 MetricSpec *QuestionAnsweringRelevanceSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 4517 // Required. Question answering relevance instance. 4518 Instance *QuestionAnsweringRelevanceInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 4519 } 4520 4521 func (x *QuestionAnsweringRelevanceInput) Reset() { 4522 *x = QuestionAnsweringRelevanceInput{} 4523 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[61] 4524 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4525 ms.StoreMessageInfo(mi) 4526 } 4527 4528 func (x *QuestionAnsweringRelevanceInput) String() string { 4529 return protoimpl.X.MessageStringOf(x) 4530 } 4531 4532 func (*QuestionAnsweringRelevanceInput) ProtoMessage() {} 4533 4534 func (x *QuestionAnsweringRelevanceInput) ProtoReflect() protoreflect.Message { 4535 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[61] 4536 if x != nil { 4537 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4538 if ms.LoadMessageInfo() == nil { 4539 ms.StoreMessageInfo(mi) 4540 } 4541 return ms 4542 } 4543 return mi.MessageOf(x) 4544 } 4545 4546 // Deprecated: Use QuestionAnsweringRelevanceInput.ProtoReflect.Descriptor instead. 4547 func (*QuestionAnsweringRelevanceInput) Descriptor() ([]byte, []int) { 4548 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{61} 4549 } 4550 4551 func (x *QuestionAnsweringRelevanceInput) GetMetricSpec() *QuestionAnsweringRelevanceSpec { 4552 if x != nil { 4553 return x.MetricSpec 4554 } 4555 return nil 4556 } 4557 4558 func (x *QuestionAnsweringRelevanceInput) GetInstance() *QuestionAnsweringRelevanceInstance { 4559 if x != nil { 4560 return x.Instance 4561 } 4562 return nil 4563 } 4564 4565 // Spec for question answering relevance instance. 4566 type QuestionAnsweringRelevanceInstance struct { 4567 state protoimpl.MessageState 4568 sizeCache protoimpl.SizeCache 4569 unknownFields protoimpl.UnknownFields 4570 4571 // Required. Output of the evaluated model. 4572 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 4573 // Optional. Ground truth used to compare against the prediction. 4574 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 4575 // Optional. Text provided as context to answer the question. 4576 Context *string `protobuf:"bytes,3,opt,name=context,proto3,oneof" json:"context,omitempty"` 4577 // Required. The question asked and other instruction in the inference prompt. 4578 Instruction *string `protobuf:"bytes,4,opt,name=instruction,proto3,oneof" json:"instruction,omitempty"` 4579 } 4580 4581 func (x *QuestionAnsweringRelevanceInstance) Reset() { 4582 *x = QuestionAnsweringRelevanceInstance{} 4583 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[62] 4584 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4585 ms.StoreMessageInfo(mi) 4586 } 4587 4588 func (x *QuestionAnsweringRelevanceInstance) String() string { 4589 return protoimpl.X.MessageStringOf(x) 4590 } 4591 4592 func (*QuestionAnsweringRelevanceInstance) ProtoMessage() {} 4593 4594 func (x *QuestionAnsweringRelevanceInstance) ProtoReflect() protoreflect.Message { 4595 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[62] 4596 if x != nil { 4597 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4598 if ms.LoadMessageInfo() == nil { 4599 ms.StoreMessageInfo(mi) 4600 } 4601 return ms 4602 } 4603 return mi.MessageOf(x) 4604 } 4605 4606 // Deprecated: Use QuestionAnsweringRelevanceInstance.ProtoReflect.Descriptor instead. 4607 func (*QuestionAnsweringRelevanceInstance) Descriptor() ([]byte, []int) { 4608 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{62} 4609 } 4610 4611 func (x *QuestionAnsweringRelevanceInstance) GetPrediction() string { 4612 if x != nil && x.Prediction != nil { 4613 return *x.Prediction 4614 } 4615 return "" 4616 } 4617 4618 func (x *QuestionAnsweringRelevanceInstance) GetReference() string { 4619 if x != nil && x.Reference != nil { 4620 return *x.Reference 4621 } 4622 return "" 4623 } 4624 4625 func (x *QuestionAnsweringRelevanceInstance) GetContext() string { 4626 if x != nil && x.Context != nil { 4627 return *x.Context 4628 } 4629 return "" 4630 } 4631 4632 func (x *QuestionAnsweringRelevanceInstance) GetInstruction() string { 4633 if x != nil && x.Instruction != nil { 4634 return *x.Instruction 4635 } 4636 return "" 4637 } 4638 4639 // Spec for question answering relevance metric. 4640 type QuestionAnsweringRelevanceSpec struct { 4641 state protoimpl.MessageState 4642 sizeCache protoimpl.SizeCache 4643 unknownFields protoimpl.UnknownFields 4644 4645 // Optional. Whether to use instance.reference to compute question answering 4646 // relevance. 4647 UseReference bool `protobuf:"varint,1,opt,name=use_reference,json=useReference,proto3" json:"use_reference,omitempty"` 4648 // Optional. Which version to use for evaluation. 4649 Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` 4650 } 4651 4652 func (x *QuestionAnsweringRelevanceSpec) Reset() { 4653 *x = QuestionAnsweringRelevanceSpec{} 4654 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[63] 4655 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4656 ms.StoreMessageInfo(mi) 4657 } 4658 4659 func (x *QuestionAnsweringRelevanceSpec) String() string { 4660 return protoimpl.X.MessageStringOf(x) 4661 } 4662 4663 func (*QuestionAnsweringRelevanceSpec) ProtoMessage() {} 4664 4665 func (x *QuestionAnsweringRelevanceSpec) ProtoReflect() protoreflect.Message { 4666 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[63] 4667 if x != nil { 4668 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4669 if ms.LoadMessageInfo() == nil { 4670 ms.StoreMessageInfo(mi) 4671 } 4672 return ms 4673 } 4674 return mi.MessageOf(x) 4675 } 4676 4677 // Deprecated: Use QuestionAnsweringRelevanceSpec.ProtoReflect.Descriptor instead. 4678 func (*QuestionAnsweringRelevanceSpec) Descriptor() ([]byte, []int) { 4679 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{63} 4680 } 4681 4682 func (x *QuestionAnsweringRelevanceSpec) GetUseReference() bool { 4683 if x != nil { 4684 return x.UseReference 4685 } 4686 return false 4687 } 4688 4689 func (x *QuestionAnsweringRelevanceSpec) GetVersion() int32 { 4690 if x != nil { 4691 return x.Version 4692 } 4693 return 0 4694 } 4695 4696 // Spec for question answering relevance result. 4697 type QuestionAnsweringRelevanceResult struct { 4698 state protoimpl.MessageState 4699 sizeCache protoimpl.SizeCache 4700 unknownFields protoimpl.UnknownFields 4701 4702 // Output only. Question Answering Relevance score. 4703 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 4704 // Output only. Explanation for question answering relevance score. 4705 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 4706 // Output only. Confidence for question answering relevance score. 4707 Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` 4708 } 4709 4710 func (x *QuestionAnsweringRelevanceResult) Reset() { 4711 *x = QuestionAnsweringRelevanceResult{} 4712 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[64] 4713 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4714 ms.StoreMessageInfo(mi) 4715 } 4716 4717 func (x *QuestionAnsweringRelevanceResult) String() string { 4718 return protoimpl.X.MessageStringOf(x) 4719 } 4720 4721 func (*QuestionAnsweringRelevanceResult) ProtoMessage() {} 4722 4723 func (x *QuestionAnsweringRelevanceResult) ProtoReflect() protoreflect.Message { 4724 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[64] 4725 if x != nil { 4726 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4727 if ms.LoadMessageInfo() == nil { 4728 ms.StoreMessageInfo(mi) 4729 } 4730 return ms 4731 } 4732 return mi.MessageOf(x) 4733 } 4734 4735 // Deprecated: Use QuestionAnsweringRelevanceResult.ProtoReflect.Descriptor instead. 4736 func (*QuestionAnsweringRelevanceResult) Descriptor() ([]byte, []int) { 4737 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{64} 4738 } 4739 4740 func (x *QuestionAnsweringRelevanceResult) GetScore() float32 { 4741 if x != nil && x.Score != nil { 4742 return *x.Score 4743 } 4744 return 0 4745 } 4746 4747 func (x *QuestionAnsweringRelevanceResult) GetExplanation() string { 4748 if x != nil { 4749 return x.Explanation 4750 } 4751 return "" 4752 } 4753 4754 func (x *QuestionAnsweringRelevanceResult) GetConfidence() float32 { 4755 if x != nil && x.Confidence != nil { 4756 return *x.Confidence 4757 } 4758 return 0 4759 } 4760 4761 // Input for question answering helpfulness metric. 4762 type QuestionAnsweringHelpfulnessInput struct { 4763 state protoimpl.MessageState 4764 sizeCache protoimpl.SizeCache 4765 unknownFields protoimpl.UnknownFields 4766 4767 // Required. Spec for question answering helpfulness score metric. 4768 MetricSpec *QuestionAnsweringHelpfulnessSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 4769 // Required. Question answering helpfulness instance. 4770 Instance *QuestionAnsweringHelpfulnessInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 4771 } 4772 4773 func (x *QuestionAnsweringHelpfulnessInput) Reset() { 4774 *x = QuestionAnsweringHelpfulnessInput{} 4775 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[65] 4776 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4777 ms.StoreMessageInfo(mi) 4778 } 4779 4780 func (x *QuestionAnsweringHelpfulnessInput) String() string { 4781 return protoimpl.X.MessageStringOf(x) 4782 } 4783 4784 func (*QuestionAnsweringHelpfulnessInput) ProtoMessage() {} 4785 4786 func (x *QuestionAnsweringHelpfulnessInput) ProtoReflect() protoreflect.Message { 4787 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[65] 4788 if x != nil { 4789 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4790 if ms.LoadMessageInfo() == nil { 4791 ms.StoreMessageInfo(mi) 4792 } 4793 return ms 4794 } 4795 return mi.MessageOf(x) 4796 } 4797 4798 // Deprecated: Use QuestionAnsweringHelpfulnessInput.ProtoReflect.Descriptor instead. 4799 func (*QuestionAnsweringHelpfulnessInput) Descriptor() ([]byte, []int) { 4800 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{65} 4801 } 4802 4803 func (x *QuestionAnsweringHelpfulnessInput) GetMetricSpec() *QuestionAnsweringHelpfulnessSpec { 4804 if x != nil { 4805 return x.MetricSpec 4806 } 4807 return nil 4808 } 4809 4810 func (x *QuestionAnsweringHelpfulnessInput) GetInstance() *QuestionAnsweringHelpfulnessInstance { 4811 if x != nil { 4812 return x.Instance 4813 } 4814 return nil 4815 } 4816 4817 // Spec for question answering helpfulness instance. 4818 type QuestionAnsweringHelpfulnessInstance struct { 4819 state protoimpl.MessageState 4820 sizeCache protoimpl.SizeCache 4821 unknownFields protoimpl.UnknownFields 4822 4823 // Required. Output of the evaluated model. 4824 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 4825 // Optional. Ground truth used to compare against the prediction. 4826 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 4827 // Optional. Text provided as context to answer the question. 4828 Context *string `protobuf:"bytes,3,opt,name=context,proto3,oneof" json:"context,omitempty"` 4829 // Required. The question asked and other instruction in the inference prompt. 4830 Instruction *string `protobuf:"bytes,4,opt,name=instruction,proto3,oneof" json:"instruction,omitempty"` 4831 } 4832 4833 func (x *QuestionAnsweringHelpfulnessInstance) Reset() { 4834 *x = QuestionAnsweringHelpfulnessInstance{} 4835 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[66] 4836 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4837 ms.StoreMessageInfo(mi) 4838 } 4839 4840 func (x *QuestionAnsweringHelpfulnessInstance) String() string { 4841 return protoimpl.X.MessageStringOf(x) 4842 } 4843 4844 func (*QuestionAnsweringHelpfulnessInstance) ProtoMessage() {} 4845 4846 func (x *QuestionAnsweringHelpfulnessInstance) ProtoReflect() protoreflect.Message { 4847 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[66] 4848 if x != nil { 4849 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4850 if ms.LoadMessageInfo() == nil { 4851 ms.StoreMessageInfo(mi) 4852 } 4853 return ms 4854 } 4855 return mi.MessageOf(x) 4856 } 4857 4858 // Deprecated: Use QuestionAnsweringHelpfulnessInstance.ProtoReflect.Descriptor instead. 4859 func (*QuestionAnsweringHelpfulnessInstance) Descriptor() ([]byte, []int) { 4860 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{66} 4861 } 4862 4863 func (x *QuestionAnsweringHelpfulnessInstance) GetPrediction() string { 4864 if x != nil && x.Prediction != nil { 4865 return *x.Prediction 4866 } 4867 return "" 4868 } 4869 4870 func (x *QuestionAnsweringHelpfulnessInstance) GetReference() string { 4871 if x != nil && x.Reference != nil { 4872 return *x.Reference 4873 } 4874 return "" 4875 } 4876 4877 func (x *QuestionAnsweringHelpfulnessInstance) GetContext() string { 4878 if x != nil && x.Context != nil { 4879 return *x.Context 4880 } 4881 return "" 4882 } 4883 4884 func (x *QuestionAnsweringHelpfulnessInstance) GetInstruction() string { 4885 if x != nil && x.Instruction != nil { 4886 return *x.Instruction 4887 } 4888 return "" 4889 } 4890 4891 // Spec for question answering helpfulness metric. 4892 type QuestionAnsweringHelpfulnessSpec struct { 4893 state protoimpl.MessageState 4894 sizeCache protoimpl.SizeCache 4895 unknownFields protoimpl.UnknownFields 4896 4897 // Optional. Whether to use instance.reference to compute question answering 4898 // helpfulness. 4899 UseReference bool `protobuf:"varint,1,opt,name=use_reference,json=useReference,proto3" json:"use_reference,omitempty"` 4900 // Optional. Which version to use for evaluation. 4901 Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` 4902 } 4903 4904 func (x *QuestionAnsweringHelpfulnessSpec) Reset() { 4905 *x = QuestionAnsweringHelpfulnessSpec{} 4906 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[67] 4907 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4908 ms.StoreMessageInfo(mi) 4909 } 4910 4911 func (x *QuestionAnsweringHelpfulnessSpec) String() string { 4912 return protoimpl.X.MessageStringOf(x) 4913 } 4914 4915 func (*QuestionAnsweringHelpfulnessSpec) ProtoMessage() {} 4916 4917 func (x *QuestionAnsweringHelpfulnessSpec) ProtoReflect() protoreflect.Message { 4918 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[67] 4919 if x != nil { 4920 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4921 if ms.LoadMessageInfo() == nil { 4922 ms.StoreMessageInfo(mi) 4923 } 4924 return ms 4925 } 4926 return mi.MessageOf(x) 4927 } 4928 4929 // Deprecated: Use QuestionAnsweringHelpfulnessSpec.ProtoReflect.Descriptor instead. 4930 func (*QuestionAnsweringHelpfulnessSpec) Descriptor() ([]byte, []int) { 4931 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{67} 4932 } 4933 4934 func (x *QuestionAnsweringHelpfulnessSpec) GetUseReference() bool { 4935 if x != nil { 4936 return x.UseReference 4937 } 4938 return false 4939 } 4940 4941 func (x *QuestionAnsweringHelpfulnessSpec) GetVersion() int32 { 4942 if x != nil { 4943 return x.Version 4944 } 4945 return 0 4946 } 4947 4948 // Spec for question answering helpfulness result. 4949 type QuestionAnsweringHelpfulnessResult struct { 4950 state protoimpl.MessageState 4951 sizeCache protoimpl.SizeCache 4952 unknownFields protoimpl.UnknownFields 4953 4954 // Output only. Question Answering Helpfulness score. 4955 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 4956 // Output only. Explanation for question answering helpfulness score. 4957 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 4958 // Output only. Confidence for question answering helpfulness score. 4959 Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` 4960 } 4961 4962 func (x *QuestionAnsweringHelpfulnessResult) Reset() { 4963 *x = QuestionAnsweringHelpfulnessResult{} 4964 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[68] 4965 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4966 ms.StoreMessageInfo(mi) 4967 } 4968 4969 func (x *QuestionAnsweringHelpfulnessResult) String() string { 4970 return protoimpl.X.MessageStringOf(x) 4971 } 4972 4973 func (*QuestionAnsweringHelpfulnessResult) ProtoMessage() {} 4974 4975 func (x *QuestionAnsweringHelpfulnessResult) ProtoReflect() protoreflect.Message { 4976 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[68] 4977 if x != nil { 4978 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4979 if ms.LoadMessageInfo() == nil { 4980 ms.StoreMessageInfo(mi) 4981 } 4982 return ms 4983 } 4984 return mi.MessageOf(x) 4985 } 4986 4987 // Deprecated: Use QuestionAnsweringHelpfulnessResult.ProtoReflect.Descriptor instead. 4988 func (*QuestionAnsweringHelpfulnessResult) Descriptor() ([]byte, []int) { 4989 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{68} 4990 } 4991 4992 func (x *QuestionAnsweringHelpfulnessResult) GetScore() float32 { 4993 if x != nil && x.Score != nil { 4994 return *x.Score 4995 } 4996 return 0 4997 } 4998 4999 func (x *QuestionAnsweringHelpfulnessResult) GetExplanation() string { 5000 if x != nil { 5001 return x.Explanation 5002 } 5003 return "" 5004 } 5005 5006 func (x *QuestionAnsweringHelpfulnessResult) GetConfidence() float32 { 5007 if x != nil && x.Confidence != nil { 5008 return *x.Confidence 5009 } 5010 return 0 5011 } 5012 5013 // Input for question answering correctness metric. 5014 type QuestionAnsweringCorrectnessInput struct { 5015 state protoimpl.MessageState 5016 sizeCache protoimpl.SizeCache 5017 unknownFields protoimpl.UnknownFields 5018 5019 // Required. Spec for question answering correctness score metric. 5020 MetricSpec *QuestionAnsweringCorrectnessSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 5021 // Required. Question answering correctness instance. 5022 Instance *QuestionAnsweringCorrectnessInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 5023 } 5024 5025 func (x *QuestionAnsweringCorrectnessInput) Reset() { 5026 *x = QuestionAnsweringCorrectnessInput{} 5027 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[69] 5028 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5029 ms.StoreMessageInfo(mi) 5030 } 5031 5032 func (x *QuestionAnsweringCorrectnessInput) String() string { 5033 return protoimpl.X.MessageStringOf(x) 5034 } 5035 5036 func (*QuestionAnsweringCorrectnessInput) ProtoMessage() {} 5037 5038 func (x *QuestionAnsweringCorrectnessInput) ProtoReflect() protoreflect.Message { 5039 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[69] 5040 if x != nil { 5041 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5042 if ms.LoadMessageInfo() == nil { 5043 ms.StoreMessageInfo(mi) 5044 } 5045 return ms 5046 } 5047 return mi.MessageOf(x) 5048 } 5049 5050 // Deprecated: Use QuestionAnsweringCorrectnessInput.ProtoReflect.Descriptor instead. 5051 func (*QuestionAnsweringCorrectnessInput) Descriptor() ([]byte, []int) { 5052 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{69} 5053 } 5054 5055 func (x *QuestionAnsweringCorrectnessInput) GetMetricSpec() *QuestionAnsweringCorrectnessSpec { 5056 if x != nil { 5057 return x.MetricSpec 5058 } 5059 return nil 5060 } 5061 5062 func (x *QuestionAnsweringCorrectnessInput) GetInstance() *QuestionAnsweringCorrectnessInstance { 5063 if x != nil { 5064 return x.Instance 5065 } 5066 return nil 5067 } 5068 5069 // Spec for question answering correctness instance. 5070 type QuestionAnsweringCorrectnessInstance struct { 5071 state protoimpl.MessageState 5072 sizeCache protoimpl.SizeCache 5073 unknownFields protoimpl.UnknownFields 5074 5075 // Required. Output of the evaluated model. 5076 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 5077 // Optional. Ground truth used to compare against the prediction. 5078 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 5079 // Optional. Text provided as context to answer the question. 5080 Context *string `protobuf:"bytes,3,opt,name=context,proto3,oneof" json:"context,omitempty"` 5081 // Required. The question asked and other instruction in the inference prompt. 5082 Instruction *string `protobuf:"bytes,4,opt,name=instruction,proto3,oneof" json:"instruction,omitempty"` 5083 } 5084 5085 func (x *QuestionAnsweringCorrectnessInstance) Reset() { 5086 *x = QuestionAnsweringCorrectnessInstance{} 5087 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[70] 5088 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5089 ms.StoreMessageInfo(mi) 5090 } 5091 5092 func (x *QuestionAnsweringCorrectnessInstance) String() string { 5093 return protoimpl.X.MessageStringOf(x) 5094 } 5095 5096 func (*QuestionAnsweringCorrectnessInstance) ProtoMessage() {} 5097 5098 func (x *QuestionAnsweringCorrectnessInstance) ProtoReflect() protoreflect.Message { 5099 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[70] 5100 if x != nil { 5101 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5102 if ms.LoadMessageInfo() == nil { 5103 ms.StoreMessageInfo(mi) 5104 } 5105 return ms 5106 } 5107 return mi.MessageOf(x) 5108 } 5109 5110 // Deprecated: Use QuestionAnsweringCorrectnessInstance.ProtoReflect.Descriptor instead. 5111 func (*QuestionAnsweringCorrectnessInstance) Descriptor() ([]byte, []int) { 5112 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{70} 5113 } 5114 5115 func (x *QuestionAnsweringCorrectnessInstance) GetPrediction() string { 5116 if x != nil && x.Prediction != nil { 5117 return *x.Prediction 5118 } 5119 return "" 5120 } 5121 5122 func (x *QuestionAnsweringCorrectnessInstance) GetReference() string { 5123 if x != nil && x.Reference != nil { 5124 return *x.Reference 5125 } 5126 return "" 5127 } 5128 5129 func (x *QuestionAnsweringCorrectnessInstance) GetContext() string { 5130 if x != nil && x.Context != nil { 5131 return *x.Context 5132 } 5133 return "" 5134 } 5135 5136 func (x *QuestionAnsweringCorrectnessInstance) GetInstruction() string { 5137 if x != nil && x.Instruction != nil { 5138 return *x.Instruction 5139 } 5140 return "" 5141 } 5142 5143 // Spec for question answering correctness metric. 5144 type QuestionAnsweringCorrectnessSpec struct { 5145 state protoimpl.MessageState 5146 sizeCache protoimpl.SizeCache 5147 unknownFields protoimpl.UnknownFields 5148 5149 // Optional. Whether to use instance.reference to compute question answering 5150 // correctness. 5151 UseReference bool `protobuf:"varint,1,opt,name=use_reference,json=useReference,proto3" json:"use_reference,omitempty"` 5152 // Optional. Which version to use for evaluation. 5153 Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` 5154 } 5155 5156 func (x *QuestionAnsweringCorrectnessSpec) Reset() { 5157 *x = QuestionAnsweringCorrectnessSpec{} 5158 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[71] 5159 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5160 ms.StoreMessageInfo(mi) 5161 } 5162 5163 func (x *QuestionAnsweringCorrectnessSpec) String() string { 5164 return protoimpl.X.MessageStringOf(x) 5165 } 5166 5167 func (*QuestionAnsweringCorrectnessSpec) ProtoMessage() {} 5168 5169 func (x *QuestionAnsweringCorrectnessSpec) ProtoReflect() protoreflect.Message { 5170 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[71] 5171 if x != nil { 5172 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5173 if ms.LoadMessageInfo() == nil { 5174 ms.StoreMessageInfo(mi) 5175 } 5176 return ms 5177 } 5178 return mi.MessageOf(x) 5179 } 5180 5181 // Deprecated: Use QuestionAnsweringCorrectnessSpec.ProtoReflect.Descriptor instead. 5182 func (*QuestionAnsweringCorrectnessSpec) Descriptor() ([]byte, []int) { 5183 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{71} 5184 } 5185 5186 func (x *QuestionAnsweringCorrectnessSpec) GetUseReference() bool { 5187 if x != nil { 5188 return x.UseReference 5189 } 5190 return false 5191 } 5192 5193 func (x *QuestionAnsweringCorrectnessSpec) GetVersion() int32 { 5194 if x != nil { 5195 return x.Version 5196 } 5197 return 0 5198 } 5199 5200 // Spec for question answering correctness result. 5201 type QuestionAnsweringCorrectnessResult struct { 5202 state protoimpl.MessageState 5203 sizeCache protoimpl.SizeCache 5204 unknownFields protoimpl.UnknownFields 5205 5206 // Output only. Question Answering Correctness score. 5207 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 5208 // Output only. Explanation for question answering correctness score. 5209 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 5210 // Output only. Confidence for question answering correctness score. 5211 Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` 5212 } 5213 5214 func (x *QuestionAnsweringCorrectnessResult) Reset() { 5215 *x = QuestionAnsweringCorrectnessResult{} 5216 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[72] 5217 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5218 ms.StoreMessageInfo(mi) 5219 } 5220 5221 func (x *QuestionAnsweringCorrectnessResult) String() string { 5222 return protoimpl.X.MessageStringOf(x) 5223 } 5224 5225 func (*QuestionAnsweringCorrectnessResult) ProtoMessage() {} 5226 5227 func (x *QuestionAnsweringCorrectnessResult) ProtoReflect() protoreflect.Message { 5228 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[72] 5229 if x != nil { 5230 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5231 if ms.LoadMessageInfo() == nil { 5232 ms.StoreMessageInfo(mi) 5233 } 5234 return ms 5235 } 5236 return mi.MessageOf(x) 5237 } 5238 5239 // Deprecated: Use QuestionAnsweringCorrectnessResult.ProtoReflect.Descriptor instead. 5240 func (*QuestionAnsweringCorrectnessResult) Descriptor() ([]byte, []int) { 5241 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{72} 5242 } 5243 5244 func (x *QuestionAnsweringCorrectnessResult) GetScore() float32 { 5245 if x != nil && x.Score != nil { 5246 return *x.Score 5247 } 5248 return 0 5249 } 5250 5251 func (x *QuestionAnsweringCorrectnessResult) GetExplanation() string { 5252 if x != nil { 5253 return x.Explanation 5254 } 5255 return "" 5256 } 5257 5258 func (x *QuestionAnsweringCorrectnessResult) GetConfidence() float32 { 5259 if x != nil && x.Confidence != nil { 5260 return *x.Confidence 5261 } 5262 return 0 5263 } 5264 5265 // Input for pointwise metric. 5266 type PointwiseMetricInput struct { 5267 state protoimpl.MessageState 5268 sizeCache protoimpl.SizeCache 5269 unknownFields protoimpl.UnknownFields 5270 5271 // Required. Spec for pointwise metric. 5272 MetricSpec *PointwiseMetricSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 5273 // Required. Pointwise metric instance. 5274 Instance *PointwiseMetricInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 5275 } 5276 5277 func (x *PointwiseMetricInput) Reset() { 5278 *x = PointwiseMetricInput{} 5279 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[73] 5280 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5281 ms.StoreMessageInfo(mi) 5282 } 5283 5284 func (x *PointwiseMetricInput) String() string { 5285 return protoimpl.X.MessageStringOf(x) 5286 } 5287 5288 func (*PointwiseMetricInput) ProtoMessage() {} 5289 5290 func (x *PointwiseMetricInput) ProtoReflect() protoreflect.Message { 5291 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[73] 5292 if x != nil { 5293 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5294 if ms.LoadMessageInfo() == nil { 5295 ms.StoreMessageInfo(mi) 5296 } 5297 return ms 5298 } 5299 return mi.MessageOf(x) 5300 } 5301 5302 // Deprecated: Use PointwiseMetricInput.ProtoReflect.Descriptor instead. 5303 func (*PointwiseMetricInput) Descriptor() ([]byte, []int) { 5304 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{73} 5305 } 5306 5307 func (x *PointwiseMetricInput) GetMetricSpec() *PointwiseMetricSpec { 5308 if x != nil { 5309 return x.MetricSpec 5310 } 5311 return nil 5312 } 5313 5314 func (x *PointwiseMetricInput) GetInstance() *PointwiseMetricInstance { 5315 if x != nil { 5316 return x.Instance 5317 } 5318 return nil 5319 } 5320 5321 // Pointwise metric instance. Usually one instance corresponds to one row in an 5322 // evaluation dataset. 5323 type PointwiseMetricInstance struct { 5324 state protoimpl.MessageState 5325 sizeCache protoimpl.SizeCache 5326 unknownFields protoimpl.UnknownFields 5327 5328 // Instance for pointwise metric. 5329 // 5330 // Types that are assignable to Instance: 5331 // 5332 // *PointwiseMetricInstance_JsonInstance 5333 Instance isPointwiseMetricInstance_Instance `protobuf_oneof:"instance"` 5334 } 5335 5336 func (x *PointwiseMetricInstance) Reset() { 5337 *x = PointwiseMetricInstance{} 5338 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[74] 5339 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5340 ms.StoreMessageInfo(mi) 5341 } 5342 5343 func (x *PointwiseMetricInstance) String() string { 5344 return protoimpl.X.MessageStringOf(x) 5345 } 5346 5347 func (*PointwiseMetricInstance) ProtoMessage() {} 5348 5349 func (x *PointwiseMetricInstance) ProtoReflect() protoreflect.Message { 5350 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[74] 5351 if x != nil { 5352 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5353 if ms.LoadMessageInfo() == nil { 5354 ms.StoreMessageInfo(mi) 5355 } 5356 return ms 5357 } 5358 return mi.MessageOf(x) 5359 } 5360 5361 // Deprecated: Use PointwiseMetricInstance.ProtoReflect.Descriptor instead. 5362 func (*PointwiseMetricInstance) Descriptor() ([]byte, []int) { 5363 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{74} 5364 } 5365 5366 func (m *PointwiseMetricInstance) GetInstance() isPointwiseMetricInstance_Instance { 5367 if m != nil { 5368 return m.Instance 5369 } 5370 return nil 5371 } 5372 5373 func (x *PointwiseMetricInstance) GetJsonInstance() string { 5374 if x, ok := x.GetInstance().(*PointwiseMetricInstance_JsonInstance); ok { 5375 return x.JsonInstance 5376 } 5377 return "" 5378 } 5379 5380 type isPointwiseMetricInstance_Instance interface { 5381 isPointwiseMetricInstance_Instance() 5382 } 5383 5384 type PointwiseMetricInstance_JsonInstance struct { 5385 // Instance specified as a json string. String key-value pairs are expected 5386 // in the json_instance to render 5387 // PointwiseMetricSpec.instance_prompt_template. 5388 JsonInstance string `protobuf:"bytes,1,opt,name=json_instance,json=jsonInstance,proto3,oneof"` 5389 } 5390 5391 func (*PointwiseMetricInstance_JsonInstance) isPointwiseMetricInstance_Instance() {} 5392 5393 // Spec for pointwise metric. 5394 type PointwiseMetricSpec struct { 5395 state protoimpl.MessageState 5396 sizeCache protoimpl.SizeCache 5397 unknownFields protoimpl.UnknownFields 5398 5399 // Required. Metric prompt template for pointwise metric. 5400 MetricPromptTemplate *string `protobuf:"bytes,1,opt,name=metric_prompt_template,json=metricPromptTemplate,proto3,oneof" json:"metric_prompt_template,omitempty"` 5401 } 5402 5403 func (x *PointwiseMetricSpec) Reset() { 5404 *x = PointwiseMetricSpec{} 5405 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[75] 5406 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5407 ms.StoreMessageInfo(mi) 5408 } 5409 5410 func (x *PointwiseMetricSpec) String() string { 5411 return protoimpl.X.MessageStringOf(x) 5412 } 5413 5414 func (*PointwiseMetricSpec) ProtoMessage() {} 5415 5416 func (x *PointwiseMetricSpec) ProtoReflect() protoreflect.Message { 5417 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[75] 5418 if x != nil { 5419 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5420 if ms.LoadMessageInfo() == nil { 5421 ms.StoreMessageInfo(mi) 5422 } 5423 return ms 5424 } 5425 return mi.MessageOf(x) 5426 } 5427 5428 // Deprecated: Use PointwiseMetricSpec.ProtoReflect.Descriptor instead. 5429 func (*PointwiseMetricSpec) Descriptor() ([]byte, []int) { 5430 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{75} 5431 } 5432 5433 func (x *PointwiseMetricSpec) GetMetricPromptTemplate() string { 5434 if x != nil && x.MetricPromptTemplate != nil { 5435 return *x.MetricPromptTemplate 5436 } 5437 return "" 5438 } 5439 5440 // Spec for pointwise metric result. 5441 type PointwiseMetricResult struct { 5442 state protoimpl.MessageState 5443 sizeCache protoimpl.SizeCache 5444 unknownFields protoimpl.UnknownFields 5445 5446 // Output only. Pointwise metric score. 5447 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 5448 // Output only. Explanation for pointwise metric score. 5449 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 5450 } 5451 5452 func (x *PointwiseMetricResult) Reset() { 5453 *x = PointwiseMetricResult{} 5454 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[76] 5455 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5456 ms.StoreMessageInfo(mi) 5457 } 5458 5459 func (x *PointwiseMetricResult) String() string { 5460 return protoimpl.X.MessageStringOf(x) 5461 } 5462 5463 func (*PointwiseMetricResult) ProtoMessage() {} 5464 5465 func (x *PointwiseMetricResult) ProtoReflect() protoreflect.Message { 5466 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[76] 5467 if x != nil { 5468 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5469 if ms.LoadMessageInfo() == nil { 5470 ms.StoreMessageInfo(mi) 5471 } 5472 return ms 5473 } 5474 return mi.MessageOf(x) 5475 } 5476 5477 // Deprecated: Use PointwiseMetricResult.ProtoReflect.Descriptor instead. 5478 func (*PointwiseMetricResult) Descriptor() ([]byte, []int) { 5479 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{76} 5480 } 5481 5482 func (x *PointwiseMetricResult) GetScore() float32 { 5483 if x != nil && x.Score != nil { 5484 return *x.Score 5485 } 5486 return 0 5487 } 5488 5489 func (x *PointwiseMetricResult) GetExplanation() string { 5490 if x != nil { 5491 return x.Explanation 5492 } 5493 return "" 5494 } 5495 5496 // Input for pairwise metric. 5497 type PairwiseMetricInput struct { 5498 state protoimpl.MessageState 5499 sizeCache protoimpl.SizeCache 5500 unknownFields protoimpl.UnknownFields 5501 5502 // Required. Spec for pairwise metric. 5503 MetricSpec *PairwiseMetricSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 5504 // Required. Pairwise metric instance. 5505 Instance *PairwiseMetricInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 5506 } 5507 5508 func (x *PairwiseMetricInput) Reset() { 5509 *x = PairwiseMetricInput{} 5510 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[77] 5511 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5512 ms.StoreMessageInfo(mi) 5513 } 5514 5515 func (x *PairwiseMetricInput) String() string { 5516 return protoimpl.X.MessageStringOf(x) 5517 } 5518 5519 func (*PairwiseMetricInput) ProtoMessage() {} 5520 5521 func (x *PairwiseMetricInput) ProtoReflect() protoreflect.Message { 5522 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[77] 5523 if x != nil { 5524 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5525 if ms.LoadMessageInfo() == nil { 5526 ms.StoreMessageInfo(mi) 5527 } 5528 return ms 5529 } 5530 return mi.MessageOf(x) 5531 } 5532 5533 // Deprecated: Use PairwiseMetricInput.ProtoReflect.Descriptor instead. 5534 func (*PairwiseMetricInput) Descriptor() ([]byte, []int) { 5535 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{77} 5536 } 5537 5538 func (x *PairwiseMetricInput) GetMetricSpec() *PairwiseMetricSpec { 5539 if x != nil { 5540 return x.MetricSpec 5541 } 5542 return nil 5543 } 5544 5545 func (x *PairwiseMetricInput) GetInstance() *PairwiseMetricInstance { 5546 if x != nil { 5547 return x.Instance 5548 } 5549 return nil 5550 } 5551 5552 // Pairwise metric instance. Usually one instance corresponds to one row in an 5553 // evaluation dataset. 5554 type PairwiseMetricInstance struct { 5555 state protoimpl.MessageState 5556 sizeCache protoimpl.SizeCache 5557 unknownFields protoimpl.UnknownFields 5558 5559 // Instance for pairwise metric. 5560 // 5561 // Types that are assignable to Instance: 5562 // 5563 // *PairwiseMetricInstance_JsonInstance 5564 Instance isPairwiseMetricInstance_Instance `protobuf_oneof:"instance"` 5565 } 5566 5567 func (x *PairwiseMetricInstance) Reset() { 5568 *x = PairwiseMetricInstance{} 5569 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[78] 5570 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5571 ms.StoreMessageInfo(mi) 5572 } 5573 5574 func (x *PairwiseMetricInstance) String() string { 5575 return protoimpl.X.MessageStringOf(x) 5576 } 5577 5578 func (*PairwiseMetricInstance) ProtoMessage() {} 5579 5580 func (x *PairwiseMetricInstance) ProtoReflect() protoreflect.Message { 5581 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[78] 5582 if x != nil { 5583 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5584 if ms.LoadMessageInfo() == nil { 5585 ms.StoreMessageInfo(mi) 5586 } 5587 return ms 5588 } 5589 return mi.MessageOf(x) 5590 } 5591 5592 // Deprecated: Use PairwiseMetricInstance.ProtoReflect.Descriptor instead. 5593 func (*PairwiseMetricInstance) Descriptor() ([]byte, []int) { 5594 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{78} 5595 } 5596 5597 func (m *PairwiseMetricInstance) GetInstance() isPairwiseMetricInstance_Instance { 5598 if m != nil { 5599 return m.Instance 5600 } 5601 return nil 5602 } 5603 5604 func (x *PairwiseMetricInstance) GetJsonInstance() string { 5605 if x, ok := x.GetInstance().(*PairwiseMetricInstance_JsonInstance); ok { 5606 return x.JsonInstance 5607 } 5608 return "" 5609 } 5610 5611 type isPairwiseMetricInstance_Instance interface { 5612 isPairwiseMetricInstance_Instance() 5613 } 5614 5615 type PairwiseMetricInstance_JsonInstance struct { 5616 // Instance specified as a json string. String key-value pairs are expected 5617 // in the json_instance to render 5618 // PairwiseMetricSpec.instance_prompt_template. 5619 JsonInstance string `protobuf:"bytes,1,opt,name=json_instance,json=jsonInstance,proto3,oneof"` 5620 } 5621 5622 func (*PairwiseMetricInstance_JsonInstance) isPairwiseMetricInstance_Instance() {} 5623 5624 // Spec for pairwise metric. 5625 type PairwiseMetricSpec struct { 5626 state protoimpl.MessageState 5627 sizeCache protoimpl.SizeCache 5628 unknownFields protoimpl.UnknownFields 5629 5630 // Required. Metric prompt template for pairwise metric. 5631 MetricPromptTemplate *string `protobuf:"bytes,1,opt,name=metric_prompt_template,json=metricPromptTemplate,proto3,oneof" json:"metric_prompt_template,omitempty"` 5632 } 5633 5634 func (x *PairwiseMetricSpec) Reset() { 5635 *x = PairwiseMetricSpec{} 5636 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[79] 5637 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5638 ms.StoreMessageInfo(mi) 5639 } 5640 5641 func (x *PairwiseMetricSpec) String() string { 5642 return protoimpl.X.MessageStringOf(x) 5643 } 5644 5645 func (*PairwiseMetricSpec) ProtoMessage() {} 5646 5647 func (x *PairwiseMetricSpec) ProtoReflect() protoreflect.Message { 5648 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[79] 5649 if x != nil { 5650 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5651 if ms.LoadMessageInfo() == nil { 5652 ms.StoreMessageInfo(mi) 5653 } 5654 return ms 5655 } 5656 return mi.MessageOf(x) 5657 } 5658 5659 // Deprecated: Use PairwiseMetricSpec.ProtoReflect.Descriptor instead. 5660 func (*PairwiseMetricSpec) Descriptor() ([]byte, []int) { 5661 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{79} 5662 } 5663 5664 func (x *PairwiseMetricSpec) GetMetricPromptTemplate() string { 5665 if x != nil && x.MetricPromptTemplate != nil { 5666 return *x.MetricPromptTemplate 5667 } 5668 return "" 5669 } 5670 5671 // Spec for pairwise metric result. 5672 type PairwiseMetricResult struct { 5673 state protoimpl.MessageState 5674 sizeCache protoimpl.SizeCache 5675 unknownFields protoimpl.UnknownFields 5676 5677 // Output only. Pairwise metric choice. 5678 PairwiseChoice PairwiseChoice `protobuf:"varint,1,opt,name=pairwise_choice,json=pairwiseChoice,proto3,enum=google.cloud.aiplatform.v1.PairwiseChoice" json:"pairwise_choice,omitempty"` 5679 // Output only. Explanation for pairwise metric score. 5680 Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` 5681 } 5682 5683 func (x *PairwiseMetricResult) Reset() { 5684 *x = PairwiseMetricResult{} 5685 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[80] 5686 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5687 ms.StoreMessageInfo(mi) 5688 } 5689 5690 func (x *PairwiseMetricResult) String() string { 5691 return protoimpl.X.MessageStringOf(x) 5692 } 5693 5694 func (*PairwiseMetricResult) ProtoMessage() {} 5695 5696 func (x *PairwiseMetricResult) ProtoReflect() protoreflect.Message { 5697 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[80] 5698 if x != nil { 5699 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5700 if ms.LoadMessageInfo() == nil { 5701 ms.StoreMessageInfo(mi) 5702 } 5703 return ms 5704 } 5705 return mi.MessageOf(x) 5706 } 5707 5708 // Deprecated: Use PairwiseMetricResult.ProtoReflect.Descriptor instead. 5709 func (*PairwiseMetricResult) Descriptor() ([]byte, []int) { 5710 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{80} 5711 } 5712 5713 func (x *PairwiseMetricResult) GetPairwiseChoice() PairwiseChoice { 5714 if x != nil { 5715 return x.PairwiseChoice 5716 } 5717 return PairwiseChoice_PAIRWISE_CHOICE_UNSPECIFIED 5718 } 5719 5720 func (x *PairwiseMetricResult) GetExplanation() string { 5721 if x != nil { 5722 return x.Explanation 5723 } 5724 return "" 5725 } 5726 5727 // Input for tool call valid metric. 5728 type ToolCallValidInput struct { 5729 state protoimpl.MessageState 5730 sizeCache protoimpl.SizeCache 5731 unknownFields protoimpl.UnknownFields 5732 5733 // Required. Spec for tool call valid metric. 5734 MetricSpec *ToolCallValidSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 5735 // Required. Repeated tool call valid instances. 5736 Instances []*ToolCallValidInstance `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` 5737 } 5738 5739 func (x *ToolCallValidInput) Reset() { 5740 *x = ToolCallValidInput{} 5741 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[81] 5742 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5743 ms.StoreMessageInfo(mi) 5744 } 5745 5746 func (x *ToolCallValidInput) String() string { 5747 return protoimpl.X.MessageStringOf(x) 5748 } 5749 5750 func (*ToolCallValidInput) ProtoMessage() {} 5751 5752 func (x *ToolCallValidInput) ProtoReflect() protoreflect.Message { 5753 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[81] 5754 if x != nil { 5755 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5756 if ms.LoadMessageInfo() == nil { 5757 ms.StoreMessageInfo(mi) 5758 } 5759 return ms 5760 } 5761 return mi.MessageOf(x) 5762 } 5763 5764 // Deprecated: Use ToolCallValidInput.ProtoReflect.Descriptor instead. 5765 func (*ToolCallValidInput) Descriptor() ([]byte, []int) { 5766 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{81} 5767 } 5768 5769 func (x *ToolCallValidInput) GetMetricSpec() *ToolCallValidSpec { 5770 if x != nil { 5771 return x.MetricSpec 5772 } 5773 return nil 5774 } 5775 5776 func (x *ToolCallValidInput) GetInstances() []*ToolCallValidInstance { 5777 if x != nil { 5778 return x.Instances 5779 } 5780 return nil 5781 } 5782 5783 // Spec for tool call valid metric. 5784 type ToolCallValidSpec struct { 5785 state protoimpl.MessageState 5786 sizeCache protoimpl.SizeCache 5787 unknownFields protoimpl.UnknownFields 5788 } 5789 5790 func (x *ToolCallValidSpec) Reset() { 5791 *x = ToolCallValidSpec{} 5792 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[82] 5793 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5794 ms.StoreMessageInfo(mi) 5795 } 5796 5797 func (x *ToolCallValidSpec) String() string { 5798 return protoimpl.X.MessageStringOf(x) 5799 } 5800 5801 func (*ToolCallValidSpec) ProtoMessage() {} 5802 5803 func (x *ToolCallValidSpec) ProtoReflect() protoreflect.Message { 5804 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[82] 5805 if x != nil { 5806 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5807 if ms.LoadMessageInfo() == nil { 5808 ms.StoreMessageInfo(mi) 5809 } 5810 return ms 5811 } 5812 return mi.MessageOf(x) 5813 } 5814 5815 // Deprecated: Use ToolCallValidSpec.ProtoReflect.Descriptor instead. 5816 func (*ToolCallValidSpec) Descriptor() ([]byte, []int) { 5817 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{82} 5818 } 5819 5820 // Spec for tool call valid instance. 5821 type ToolCallValidInstance struct { 5822 state protoimpl.MessageState 5823 sizeCache protoimpl.SizeCache 5824 unknownFields protoimpl.UnknownFields 5825 5826 // Required. Output of the evaluated model. 5827 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 5828 // Required. Ground truth used to compare against the prediction. 5829 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 5830 } 5831 5832 func (x *ToolCallValidInstance) Reset() { 5833 *x = ToolCallValidInstance{} 5834 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[83] 5835 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5836 ms.StoreMessageInfo(mi) 5837 } 5838 5839 func (x *ToolCallValidInstance) String() string { 5840 return protoimpl.X.MessageStringOf(x) 5841 } 5842 5843 func (*ToolCallValidInstance) ProtoMessage() {} 5844 5845 func (x *ToolCallValidInstance) ProtoReflect() protoreflect.Message { 5846 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[83] 5847 if x != nil { 5848 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5849 if ms.LoadMessageInfo() == nil { 5850 ms.StoreMessageInfo(mi) 5851 } 5852 return ms 5853 } 5854 return mi.MessageOf(x) 5855 } 5856 5857 // Deprecated: Use ToolCallValidInstance.ProtoReflect.Descriptor instead. 5858 func (*ToolCallValidInstance) Descriptor() ([]byte, []int) { 5859 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{83} 5860 } 5861 5862 func (x *ToolCallValidInstance) GetPrediction() string { 5863 if x != nil && x.Prediction != nil { 5864 return *x.Prediction 5865 } 5866 return "" 5867 } 5868 5869 func (x *ToolCallValidInstance) GetReference() string { 5870 if x != nil && x.Reference != nil { 5871 return *x.Reference 5872 } 5873 return "" 5874 } 5875 5876 // Results for tool call valid metric. 5877 type ToolCallValidResults struct { 5878 state protoimpl.MessageState 5879 sizeCache protoimpl.SizeCache 5880 unknownFields protoimpl.UnknownFields 5881 5882 // Output only. Tool call valid metric values. 5883 ToolCallValidMetricValues []*ToolCallValidMetricValue `protobuf:"bytes,1,rep,name=tool_call_valid_metric_values,json=toolCallValidMetricValues,proto3" json:"tool_call_valid_metric_values,omitempty"` 5884 } 5885 5886 func (x *ToolCallValidResults) Reset() { 5887 *x = ToolCallValidResults{} 5888 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[84] 5889 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5890 ms.StoreMessageInfo(mi) 5891 } 5892 5893 func (x *ToolCallValidResults) String() string { 5894 return protoimpl.X.MessageStringOf(x) 5895 } 5896 5897 func (*ToolCallValidResults) ProtoMessage() {} 5898 5899 func (x *ToolCallValidResults) ProtoReflect() protoreflect.Message { 5900 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[84] 5901 if x != nil { 5902 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5903 if ms.LoadMessageInfo() == nil { 5904 ms.StoreMessageInfo(mi) 5905 } 5906 return ms 5907 } 5908 return mi.MessageOf(x) 5909 } 5910 5911 // Deprecated: Use ToolCallValidResults.ProtoReflect.Descriptor instead. 5912 func (*ToolCallValidResults) Descriptor() ([]byte, []int) { 5913 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{84} 5914 } 5915 5916 func (x *ToolCallValidResults) GetToolCallValidMetricValues() []*ToolCallValidMetricValue { 5917 if x != nil { 5918 return x.ToolCallValidMetricValues 5919 } 5920 return nil 5921 } 5922 5923 // Tool call valid metric value for an instance. 5924 type ToolCallValidMetricValue struct { 5925 state protoimpl.MessageState 5926 sizeCache protoimpl.SizeCache 5927 unknownFields protoimpl.UnknownFields 5928 5929 // Output only. Tool call valid score. 5930 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 5931 } 5932 5933 func (x *ToolCallValidMetricValue) Reset() { 5934 *x = ToolCallValidMetricValue{} 5935 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[85] 5936 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5937 ms.StoreMessageInfo(mi) 5938 } 5939 5940 func (x *ToolCallValidMetricValue) String() string { 5941 return protoimpl.X.MessageStringOf(x) 5942 } 5943 5944 func (*ToolCallValidMetricValue) ProtoMessage() {} 5945 5946 func (x *ToolCallValidMetricValue) ProtoReflect() protoreflect.Message { 5947 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[85] 5948 if x != nil { 5949 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5950 if ms.LoadMessageInfo() == nil { 5951 ms.StoreMessageInfo(mi) 5952 } 5953 return ms 5954 } 5955 return mi.MessageOf(x) 5956 } 5957 5958 // Deprecated: Use ToolCallValidMetricValue.ProtoReflect.Descriptor instead. 5959 func (*ToolCallValidMetricValue) Descriptor() ([]byte, []int) { 5960 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{85} 5961 } 5962 5963 func (x *ToolCallValidMetricValue) GetScore() float32 { 5964 if x != nil && x.Score != nil { 5965 return *x.Score 5966 } 5967 return 0 5968 } 5969 5970 // Input for tool name match metric. 5971 type ToolNameMatchInput struct { 5972 state protoimpl.MessageState 5973 sizeCache protoimpl.SizeCache 5974 unknownFields protoimpl.UnknownFields 5975 5976 // Required. Spec for tool name match metric. 5977 MetricSpec *ToolNameMatchSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 5978 // Required. Repeated tool name match instances. 5979 Instances []*ToolNameMatchInstance `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` 5980 } 5981 5982 func (x *ToolNameMatchInput) Reset() { 5983 *x = ToolNameMatchInput{} 5984 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[86] 5985 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5986 ms.StoreMessageInfo(mi) 5987 } 5988 5989 func (x *ToolNameMatchInput) String() string { 5990 return protoimpl.X.MessageStringOf(x) 5991 } 5992 5993 func (*ToolNameMatchInput) ProtoMessage() {} 5994 5995 func (x *ToolNameMatchInput) ProtoReflect() protoreflect.Message { 5996 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[86] 5997 if x != nil { 5998 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5999 if ms.LoadMessageInfo() == nil { 6000 ms.StoreMessageInfo(mi) 6001 } 6002 return ms 6003 } 6004 return mi.MessageOf(x) 6005 } 6006 6007 // Deprecated: Use ToolNameMatchInput.ProtoReflect.Descriptor instead. 6008 func (*ToolNameMatchInput) Descriptor() ([]byte, []int) { 6009 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{86} 6010 } 6011 6012 func (x *ToolNameMatchInput) GetMetricSpec() *ToolNameMatchSpec { 6013 if x != nil { 6014 return x.MetricSpec 6015 } 6016 return nil 6017 } 6018 6019 func (x *ToolNameMatchInput) GetInstances() []*ToolNameMatchInstance { 6020 if x != nil { 6021 return x.Instances 6022 } 6023 return nil 6024 } 6025 6026 // Spec for tool name match metric. 6027 type ToolNameMatchSpec struct { 6028 state protoimpl.MessageState 6029 sizeCache protoimpl.SizeCache 6030 unknownFields protoimpl.UnknownFields 6031 } 6032 6033 func (x *ToolNameMatchSpec) Reset() { 6034 *x = ToolNameMatchSpec{} 6035 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[87] 6036 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6037 ms.StoreMessageInfo(mi) 6038 } 6039 6040 func (x *ToolNameMatchSpec) String() string { 6041 return protoimpl.X.MessageStringOf(x) 6042 } 6043 6044 func (*ToolNameMatchSpec) ProtoMessage() {} 6045 6046 func (x *ToolNameMatchSpec) ProtoReflect() protoreflect.Message { 6047 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[87] 6048 if x != nil { 6049 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6050 if ms.LoadMessageInfo() == nil { 6051 ms.StoreMessageInfo(mi) 6052 } 6053 return ms 6054 } 6055 return mi.MessageOf(x) 6056 } 6057 6058 // Deprecated: Use ToolNameMatchSpec.ProtoReflect.Descriptor instead. 6059 func (*ToolNameMatchSpec) Descriptor() ([]byte, []int) { 6060 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{87} 6061 } 6062 6063 // Spec for tool name match instance. 6064 type ToolNameMatchInstance struct { 6065 state protoimpl.MessageState 6066 sizeCache protoimpl.SizeCache 6067 unknownFields protoimpl.UnknownFields 6068 6069 // Required. Output of the evaluated model. 6070 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 6071 // Required. Ground truth used to compare against the prediction. 6072 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 6073 } 6074 6075 func (x *ToolNameMatchInstance) Reset() { 6076 *x = ToolNameMatchInstance{} 6077 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[88] 6078 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6079 ms.StoreMessageInfo(mi) 6080 } 6081 6082 func (x *ToolNameMatchInstance) String() string { 6083 return protoimpl.X.MessageStringOf(x) 6084 } 6085 6086 func (*ToolNameMatchInstance) ProtoMessage() {} 6087 6088 func (x *ToolNameMatchInstance) ProtoReflect() protoreflect.Message { 6089 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[88] 6090 if x != nil { 6091 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6092 if ms.LoadMessageInfo() == nil { 6093 ms.StoreMessageInfo(mi) 6094 } 6095 return ms 6096 } 6097 return mi.MessageOf(x) 6098 } 6099 6100 // Deprecated: Use ToolNameMatchInstance.ProtoReflect.Descriptor instead. 6101 func (*ToolNameMatchInstance) Descriptor() ([]byte, []int) { 6102 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{88} 6103 } 6104 6105 func (x *ToolNameMatchInstance) GetPrediction() string { 6106 if x != nil && x.Prediction != nil { 6107 return *x.Prediction 6108 } 6109 return "" 6110 } 6111 6112 func (x *ToolNameMatchInstance) GetReference() string { 6113 if x != nil && x.Reference != nil { 6114 return *x.Reference 6115 } 6116 return "" 6117 } 6118 6119 // Results for tool name match metric. 6120 type ToolNameMatchResults struct { 6121 state protoimpl.MessageState 6122 sizeCache protoimpl.SizeCache 6123 unknownFields protoimpl.UnknownFields 6124 6125 // Output only. Tool name match metric values. 6126 ToolNameMatchMetricValues []*ToolNameMatchMetricValue `protobuf:"bytes,1,rep,name=tool_name_match_metric_values,json=toolNameMatchMetricValues,proto3" json:"tool_name_match_metric_values,omitempty"` 6127 } 6128 6129 func (x *ToolNameMatchResults) Reset() { 6130 *x = ToolNameMatchResults{} 6131 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[89] 6132 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6133 ms.StoreMessageInfo(mi) 6134 } 6135 6136 func (x *ToolNameMatchResults) String() string { 6137 return protoimpl.X.MessageStringOf(x) 6138 } 6139 6140 func (*ToolNameMatchResults) ProtoMessage() {} 6141 6142 func (x *ToolNameMatchResults) ProtoReflect() protoreflect.Message { 6143 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[89] 6144 if x != nil { 6145 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6146 if ms.LoadMessageInfo() == nil { 6147 ms.StoreMessageInfo(mi) 6148 } 6149 return ms 6150 } 6151 return mi.MessageOf(x) 6152 } 6153 6154 // Deprecated: Use ToolNameMatchResults.ProtoReflect.Descriptor instead. 6155 func (*ToolNameMatchResults) Descriptor() ([]byte, []int) { 6156 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{89} 6157 } 6158 6159 func (x *ToolNameMatchResults) GetToolNameMatchMetricValues() []*ToolNameMatchMetricValue { 6160 if x != nil { 6161 return x.ToolNameMatchMetricValues 6162 } 6163 return nil 6164 } 6165 6166 // Tool name match metric value for an instance. 6167 type ToolNameMatchMetricValue struct { 6168 state protoimpl.MessageState 6169 sizeCache protoimpl.SizeCache 6170 unknownFields protoimpl.UnknownFields 6171 6172 // Output only. Tool name match score. 6173 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 6174 } 6175 6176 func (x *ToolNameMatchMetricValue) Reset() { 6177 *x = ToolNameMatchMetricValue{} 6178 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[90] 6179 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6180 ms.StoreMessageInfo(mi) 6181 } 6182 6183 func (x *ToolNameMatchMetricValue) String() string { 6184 return protoimpl.X.MessageStringOf(x) 6185 } 6186 6187 func (*ToolNameMatchMetricValue) ProtoMessage() {} 6188 6189 func (x *ToolNameMatchMetricValue) ProtoReflect() protoreflect.Message { 6190 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[90] 6191 if x != nil { 6192 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6193 if ms.LoadMessageInfo() == nil { 6194 ms.StoreMessageInfo(mi) 6195 } 6196 return ms 6197 } 6198 return mi.MessageOf(x) 6199 } 6200 6201 // Deprecated: Use ToolNameMatchMetricValue.ProtoReflect.Descriptor instead. 6202 func (*ToolNameMatchMetricValue) Descriptor() ([]byte, []int) { 6203 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{90} 6204 } 6205 6206 func (x *ToolNameMatchMetricValue) GetScore() float32 { 6207 if x != nil && x.Score != nil { 6208 return *x.Score 6209 } 6210 return 0 6211 } 6212 6213 // Input for tool parameter key match metric. 6214 type ToolParameterKeyMatchInput struct { 6215 state protoimpl.MessageState 6216 sizeCache protoimpl.SizeCache 6217 unknownFields protoimpl.UnknownFields 6218 6219 // Required. Spec for tool parameter key match metric. 6220 MetricSpec *ToolParameterKeyMatchSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 6221 // Required. Repeated tool parameter key match instances. 6222 Instances []*ToolParameterKeyMatchInstance `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` 6223 } 6224 6225 func (x *ToolParameterKeyMatchInput) Reset() { 6226 *x = ToolParameterKeyMatchInput{} 6227 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[91] 6228 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6229 ms.StoreMessageInfo(mi) 6230 } 6231 6232 func (x *ToolParameterKeyMatchInput) String() string { 6233 return protoimpl.X.MessageStringOf(x) 6234 } 6235 6236 func (*ToolParameterKeyMatchInput) ProtoMessage() {} 6237 6238 func (x *ToolParameterKeyMatchInput) ProtoReflect() protoreflect.Message { 6239 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[91] 6240 if x != nil { 6241 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6242 if ms.LoadMessageInfo() == nil { 6243 ms.StoreMessageInfo(mi) 6244 } 6245 return ms 6246 } 6247 return mi.MessageOf(x) 6248 } 6249 6250 // Deprecated: Use ToolParameterKeyMatchInput.ProtoReflect.Descriptor instead. 6251 func (*ToolParameterKeyMatchInput) Descriptor() ([]byte, []int) { 6252 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{91} 6253 } 6254 6255 func (x *ToolParameterKeyMatchInput) GetMetricSpec() *ToolParameterKeyMatchSpec { 6256 if x != nil { 6257 return x.MetricSpec 6258 } 6259 return nil 6260 } 6261 6262 func (x *ToolParameterKeyMatchInput) GetInstances() []*ToolParameterKeyMatchInstance { 6263 if x != nil { 6264 return x.Instances 6265 } 6266 return nil 6267 } 6268 6269 // Spec for tool parameter key match metric. 6270 type ToolParameterKeyMatchSpec struct { 6271 state protoimpl.MessageState 6272 sizeCache protoimpl.SizeCache 6273 unknownFields protoimpl.UnknownFields 6274 } 6275 6276 func (x *ToolParameterKeyMatchSpec) Reset() { 6277 *x = ToolParameterKeyMatchSpec{} 6278 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[92] 6279 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6280 ms.StoreMessageInfo(mi) 6281 } 6282 6283 func (x *ToolParameterKeyMatchSpec) String() string { 6284 return protoimpl.X.MessageStringOf(x) 6285 } 6286 6287 func (*ToolParameterKeyMatchSpec) ProtoMessage() {} 6288 6289 func (x *ToolParameterKeyMatchSpec) ProtoReflect() protoreflect.Message { 6290 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[92] 6291 if x != nil { 6292 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6293 if ms.LoadMessageInfo() == nil { 6294 ms.StoreMessageInfo(mi) 6295 } 6296 return ms 6297 } 6298 return mi.MessageOf(x) 6299 } 6300 6301 // Deprecated: Use ToolParameterKeyMatchSpec.ProtoReflect.Descriptor instead. 6302 func (*ToolParameterKeyMatchSpec) Descriptor() ([]byte, []int) { 6303 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{92} 6304 } 6305 6306 // Spec for tool parameter key match instance. 6307 type ToolParameterKeyMatchInstance struct { 6308 state protoimpl.MessageState 6309 sizeCache protoimpl.SizeCache 6310 unknownFields protoimpl.UnknownFields 6311 6312 // Required. Output of the evaluated model. 6313 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 6314 // Required. Ground truth used to compare against the prediction. 6315 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 6316 } 6317 6318 func (x *ToolParameterKeyMatchInstance) Reset() { 6319 *x = ToolParameterKeyMatchInstance{} 6320 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[93] 6321 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6322 ms.StoreMessageInfo(mi) 6323 } 6324 6325 func (x *ToolParameterKeyMatchInstance) String() string { 6326 return protoimpl.X.MessageStringOf(x) 6327 } 6328 6329 func (*ToolParameterKeyMatchInstance) ProtoMessage() {} 6330 6331 func (x *ToolParameterKeyMatchInstance) ProtoReflect() protoreflect.Message { 6332 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[93] 6333 if x != nil { 6334 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6335 if ms.LoadMessageInfo() == nil { 6336 ms.StoreMessageInfo(mi) 6337 } 6338 return ms 6339 } 6340 return mi.MessageOf(x) 6341 } 6342 6343 // Deprecated: Use ToolParameterKeyMatchInstance.ProtoReflect.Descriptor instead. 6344 func (*ToolParameterKeyMatchInstance) Descriptor() ([]byte, []int) { 6345 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{93} 6346 } 6347 6348 func (x *ToolParameterKeyMatchInstance) GetPrediction() string { 6349 if x != nil && x.Prediction != nil { 6350 return *x.Prediction 6351 } 6352 return "" 6353 } 6354 6355 func (x *ToolParameterKeyMatchInstance) GetReference() string { 6356 if x != nil && x.Reference != nil { 6357 return *x.Reference 6358 } 6359 return "" 6360 } 6361 6362 // Results for tool parameter key match metric. 6363 type ToolParameterKeyMatchResults struct { 6364 state protoimpl.MessageState 6365 sizeCache protoimpl.SizeCache 6366 unknownFields protoimpl.UnknownFields 6367 6368 // Output only. Tool parameter key match metric values. 6369 ToolParameterKeyMatchMetricValues []*ToolParameterKeyMatchMetricValue `protobuf:"bytes,1,rep,name=tool_parameter_key_match_metric_values,json=toolParameterKeyMatchMetricValues,proto3" json:"tool_parameter_key_match_metric_values,omitempty"` 6370 } 6371 6372 func (x *ToolParameterKeyMatchResults) Reset() { 6373 *x = ToolParameterKeyMatchResults{} 6374 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[94] 6375 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6376 ms.StoreMessageInfo(mi) 6377 } 6378 6379 func (x *ToolParameterKeyMatchResults) String() string { 6380 return protoimpl.X.MessageStringOf(x) 6381 } 6382 6383 func (*ToolParameterKeyMatchResults) ProtoMessage() {} 6384 6385 func (x *ToolParameterKeyMatchResults) ProtoReflect() protoreflect.Message { 6386 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[94] 6387 if x != nil { 6388 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6389 if ms.LoadMessageInfo() == nil { 6390 ms.StoreMessageInfo(mi) 6391 } 6392 return ms 6393 } 6394 return mi.MessageOf(x) 6395 } 6396 6397 // Deprecated: Use ToolParameterKeyMatchResults.ProtoReflect.Descriptor instead. 6398 func (*ToolParameterKeyMatchResults) Descriptor() ([]byte, []int) { 6399 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{94} 6400 } 6401 6402 func (x *ToolParameterKeyMatchResults) GetToolParameterKeyMatchMetricValues() []*ToolParameterKeyMatchMetricValue { 6403 if x != nil { 6404 return x.ToolParameterKeyMatchMetricValues 6405 } 6406 return nil 6407 } 6408 6409 // Tool parameter key match metric value for an instance. 6410 type ToolParameterKeyMatchMetricValue struct { 6411 state protoimpl.MessageState 6412 sizeCache protoimpl.SizeCache 6413 unknownFields protoimpl.UnknownFields 6414 6415 // Output only. Tool parameter key match score. 6416 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 6417 } 6418 6419 func (x *ToolParameterKeyMatchMetricValue) Reset() { 6420 *x = ToolParameterKeyMatchMetricValue{} 6421 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[95] 6422 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6423 ms.StoreMessageInfo(mi) 6424 } 6425 6426 func (x *ToolParameterKeyMatchMetricValue) String() string { 6427 return protoimpl.X.MessageStringOf(x) 6428 } 6429 6430 func (*ToolParameterKeyMatchMetricValue) ProtoMessage() {} 6431 6432 func (x *ToolParameterKeyMatchMetricValue) ProtoReflect() protoreflect.Message { 6433 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[95] 6434 if x != nil { 6435 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6436 if ms.LoadMessageInfo() == nil { 6437 ms.StoreMessageInfo(mi) 6438 } 6439 return ms 6440 } 6441 return mi.MessageOf(x) 6442 } 6443 6444 // Deprecated: Use ToolParameterKeyMatchMetricValue.ProtoReflect.Descriptor instead. 6445 func (*ToolParameterKeyMatchMetricValue) Descriptor() ([]byte, []int) { 6446 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{95} 6447 } 6448 6449 func (x *ToolParameterKeyMatchMetricValue) GetScore() float32 { 6450 if x != nil && x.Score != nil { 6451 return *x.Score 6452 } 6453 return 0 6454 } 6455 6456 // Input for tool parameter key value match metric. 6457 type ToolParameterKVMatchInput struct { 6458 state protoimpl.MessageState 6459 sizeCache protoimpl.SizeCache 6460 unknownFields protoimpl.UnknownFields 6461 6462 // Required. Spec for tool parameter key value match metric. 6463 MetricSpec *ToolParameterKVMatchSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 6464 // Required. Repeated tool parameter key value match instances. 6465 Instances []*ToolParameterKVMatchInstance `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` 6466 } 6467 6468 func (x *ToolParameterKVMatchInput) Reset() { 6469 *x = ToolParameterKVMatchInput{} 6470 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[96] 6471 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6472 ms.StoreMessageInfo(mi) 6473 } 6474 6475 func (x *ToolParameterKVMatchInput) String() string { 6476 return protoimpl.X.MessageStringOf(x) 6477 } 6478 6479 func (*ToolParameterKVMatchInput) ProtoMessage() {} 6480 6481 func (x *ToolParameterKVMatchInput) ProtoReflect() protoreflect.Message { 6482 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[96] 6483 if x != nil { 6484 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6485 if ms.LoadMessageInfo() == nil { 6486 ms.StoreMessageInfo(mi) 6487 } 6488 return ms 6489 } 6490 return mi.MessageOf(x) 6491 } 6492 6493 // Deprecated: Use ToolParameterKVMatchInput.ProtoReflect.Descriptor instead. 6494 func (*ToolParameterKVMatchInput) Descriptor() ([]byte, []int) { 6495 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{96} 6496 } 6497 6498 func (x *ToolParameterKVMatchInput) GetMetricSpec() *ToolParameterKVMatchSpec { 6499 if x != nil { 6500 return x.MetricSpec 6501 } 6502 return nil 6503 } 6504 6505 func (x *ToolParameterKVMatchInput) GetInstances() []*ToolParameterKVMatchInstance { 6506 if x != nil { 6507 return x.Instances 6508 } 6509 return nil 6510 } 6511 6512 // Spec for tool parameter key value match metric. 6513 type ToolParameterKVMatchSpec struct { 6514 state protoimpl.MessageState 6515 sizeCache protoimpl.SizeCache 6516 unknownFields protoimpl.UnknownFields 6517 6518 // Optional. Whether to use STRICT string match on parameter values. 6519 UseStrictStringMatch bool `protobuf:"varint,1,opt,name=use_strict_string_match,json=useStrictStringMatch,proto3" json:"use_strict_string_match,omitempty"` 6520 } 6521 6522 func (x *ToolParameterKVMatchSpec) Reset() { 6523 *x = ToolParameterKVMatchSpec{} 6524 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[97] 6525 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6526 ms.StoreMessageInfo(mi) 6527 } 6528 6529 func (x *ToolParameterKVMatchSpec) String() string { 6530 return protoimpl.X.MessageStringOf(x) 6531 } 6532 6533 func (*ToolParameterKVMatchSpec) ProtoMessage() {} 6534 6535 func (x *ToolParameterKVMatchSpec) ProtoReflect() protoreflect.Message { 6536 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[97] 6537 if x != nil { 6538 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6539 if ms.LoadMessageInfo() == nil { 6540 ms.StoreMessageInfo(mi) 6541 } 6542 return ms 6543 } 6544 return mi.MessageOf(x) 6545 } 6546 6547 // Deprecated: Use ToolParameterKVMatchSpec.ProtoReflect.Descriptor instead. 6548 func (*ToolParameterKVMatchSpec) Descriptor() ([]byte, []int) { 6549 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{97} 6550 } 6551 6552 func (x *ToolParameterKVMatchSpec) GetUseStrictStringMatch() bool { 6553 if x != nil { 6554 return x.UseStrictStringMatch 6555 } 6556 return false 6557 } 6558 6559 // Spec for tool parameter key value match instance. 6560 type ToolParameterKVMatchInstance struct { 6561 state protoimpl.MessageState 6562 sizeCache protoimpl.SizeCache 6563 unknownFields protoimpl.UnknownFields 6564 6565 // Required. Output of the evaluated model. 6566 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 6567 // Required. Ground truth used to compare against the prediction. 6568 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 6569 } 6570 6571 func (x *ToolParameterKVMatchInstance) Reset() { 6572 *x = ToolParameterKVMatchInstance{} 6573 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[98] 6574 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6575 ms.StoreMessageInfo(mi) 6576 } 6577 6578 func (x *ToolParameterKVMatchInstance) String() string { 6579 return protoimpl.X.MessageStringOf(x) 6580 } 6581 6582 func (*ToolParameterKVMatchInstance) ProtoMessage() {} 6583 6584 func (x *ToolParameterKVMatchInstance) ProtoReflect() protoreflect.Message { 6585 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[98] 6586 if x != nil { 6587 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6588 if ms.LoadMessageInfo() == nil { 6589 ms.StoreMessageInfo(mi) 6590 } 6591 return ms 6592 } 6593 return mi.MessageOf(x) 6594 } 6595 6596 // Deprecated: Use ToolParameterKVMatchInstance.ProtoReflect.Descriptor instead. 6597 func (*ToolParameterKVMatchInstance) Descriptor() ([]byte, []int) { 6598 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{98} 6599 } 6600 6601 func (x *ToolParameterKVMatchInstance) GetPrediction() string { 6602 if x != nil && x.Prediction != nil { 6603 return *x.Prediction 6604 } 6605 return "" 6606 } 6607 6608 func (x *ToolParameterKVMatchInstance) GetReference() string { 6609 if x != nil && x.Reference != nil { 6610 return *x.Reference 6611 } 6612 return "" 6613 } 6614 6615 // Results for tool parameter key value match metric. 6616 type ToolParameterKVMatchResults struct { 6617 state protoimpl.MessageState 6618 sizeCache protoimpl.SizeCache 6619 unknownFields protoimpl.UnknownFields 6620 6621 // Output only. Tool parameter key value match metric values. 6622 ToolParameterKvMatchMetricValues []*ToolParameterKVMatchMetricValue `protobuf:"bytes,1,rep,name=tool_parameter_kv_match_metric_values,json=toolParameterKvMatchMetricValues,proto3" json:"tool_parameter_kv_match_metric_values,omitempty"` 6623 } 6624 6625 func (x *ToolParameterKVMatchResults) Reset() { 6626 *x = ToolParameterKVMatchResults{} 6627 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[99] 6628 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6629 ms.StoreMessageInfo(mi) 6630 } 6631 6632 func (x *ToolParameterKVMatchResults) String() string { 6633 return protoimpl.X.MessageStringOf(x) 6634 } 6635 6636 func (*ToolParameterKVMatchResults) ProtoMessage() {} 6637 6638 func (x *ToolParameterKVMatchResults) ProtoReflect() protoreflect.Message { 6639 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[99] 6640 if x != nil { 6641 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6642 if ms.LoadMessageInfo() == nil { 6643 ms.StoreMessageInfo(mi) 6644 } 6645 return ms 6646 } 6647 return mi.MessageOf(x) 6648 } 6649 6650 // Deprecated: Use ToolParameterKVMatchResults.ProtoReflect.Descriptor instead. 6651 func (*ToolParameterKVMatchResults) Descriptor() ([]byte, []int) { 6652 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{99} 6653 } 6654 6655 func (x *ToolParameterKVMatchResults) GetToolParameterKvMatchMetricValues() []*ToolParameterKVMatchMetricValue { 6656 if x != nil { 6657 return x.ToolParameterKvMatchMetricValues 6658 } 6659 return nil 6660 } 6661 6662 // Tool parameter key value match metric value for an instance. 6663 type ToolParameterKVMatchMetricValue struct { 6664 state protoimpl.MessageState 6665 sizeCache protoimpl.SizeCache 6666 unknownFields protoimpl.UnknownFields 6667 6668 // Output only. Tool parameter key value match score. 6669 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 6670 } 6671 6672 func (x *ToolParameterKVMatchMetricValue) Reset() { 6673 *x = ToolParameterKVMatchMetricValue{} 6674 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[100] 6675 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6676 ms.StoreMessageInfo(mi) 6677 } 6678 6679 func (x *ToolParameterKVMatchMetricValue) String() string { 6680 return protoimpl.X.MessageStringOf(x) 6681 } 6682 6683 func (*ToolParameterKVMatchMetricValue) ProtoMessage() {} 6684 6685 func (x *ToolParameterKVMatchMetricValue) ProtoReflect() protoreflect.Message { 6686 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[100] 6687 if x != nil { 6688 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6689 if ms.LoadMessageInfo() == nil { 6690 ms.StoreMessageInfo(mi) 6691 } 6692 return ms 6693 } 6694 return mi.MessageOf(x) 6695 } 6696 6697 // Deprecated: Use ToolParameterKVMatchMetricValue.ProtoReflect.Descriptor instead. 6698 func (*ToolParameterKVMatchMetricValue) Descriptor() ([]byte, []int) { 6699 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{100} 6700 } 6701 6702 func (x *ToolParameterKVMatchMetricValue) GetScore() float32 { 6703 if x != nil && x.Score != nil { 6704 return *x.Score 6705 } 6706 return 0 6707 } 6708 6709 // Input for Comet metric. 6710 type CometInput struct { 6711 state protoimpl.MessageState 6712 sizeCache protoimpl.SizeCache 6713 unknownFields protoimpl.UnknownFields 6714 6715 // Required. Spec for comet metric. 6716 MetricSpec *CometSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 6717 // Required. Comet instance. 6718 Instance *CometInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 6719 } 6720 6721 func (x *CometInput) Reset() { 6722 *x = CometInput{} 6723 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[101] 6724 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6725 ms.StoreMessageInfo(mi) 6726 } 6727 6728 func (x *CometInput) String() string { 6729 return protoimpl.X.MessageStringOf(x) 6730 } 6731 6732 func (*CometInput) ProtoMessage() {} 6733 6734 func (x *CometInput) ProtoReflect() protoreflect.Message { 6735 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[101] 6736 if x != nil { 6737 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6738 if ms.LoadMessageInfo() == nil { 6739 ms.StoreMessageInfo(mi) 6740 } 6741 return ms 6742 } 6743 return mi.MessageOf(x) 6744 } 6745 6746 // Deprecated: Use CometInput.ProtoReflect.Descriptor instead. 6747 func (*CometInput) Descriptor() ([]byte, []int) { 6748 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{101} 6749 } 6750 6751 func (x *CometInput) GetMetricSpec() *CometSpec { 6752 if x != nil { 6753 return x.MetricSpec 6754 } 6755 return nil 6756 } 6757 6758 func (x *CometInput) GetInstance() *CometInstance { 6759 if x != nil { 6760 return x.Instance 6761 } 6762 return nil 6763 } 6764 6765 // Spec for Comet metric. 6766 type CometSpec struct { 6767 state protoimpl.MessageState 6768 sizeCache protoimpl.SizeCache 6769 unknownFields protoimpl.UnknownFields 6770 6771 // Required. Which version to use for evaluation. 6772 Version *CometSpec_CometVersion `protobuf:"varint,1,opt,name=version,proto3,enum=google.cloud.aiplatform.v1.CometSpec_CometVersion,oneof" json:"version,omitempty"` 6773 // Optional. Source language in BCP-47 format. 6774 SourceLanguage string `protobuf:"bytes,2,opt,name=source_language,json=sourceLanguage,proto3" json:"source_language,omitempty"` 6775 // Optional. Target language in BCP-47 format. Covers both prediction and 6776 // reference. 6777 TargetLanguage string `protobuf:"bytes,3,opt,name=target_language,json=targetLanguage,proto3" json:"target_language,omitempty"` 6778 } 6779 6780 func (x *CometSpec) Reset() { 6781 *x = CometSpec{} 6782 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[102] 6783 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6784 ms.StoreMessageInfo(mi) 6785 } 6786 6787 func (x *CometSpec) String() string { 6788 return protoimpl.X.MessageStringOf(x) 6789 } 6790 6791 func (*CometSpec) ProtoMessage() {} 6792 6793 func (x *CometSpec) ProtoReflect() protoreflect.Message { 6794 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[102] 6795 if x != nil { 6796 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6797 if ms.LoadMessageInfo() == nil { 6798 ms.StoreMessageInfo(mi) 6799 } 6800 return ms 6801 } 6802 return mi.MessageOf(x) 6803 } 6804 6805 // Deprecated: Use CometSpec.ProtoReflect.Descriptor instead. 6806 func (*CometSpec) Descriptor() ([]byte, []int) { 6807 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{102} 6808 } 6809 6810 func (x *CometSpec) GetVersion() CometSpec_CometVersion { 6811 if x != nil && x.Version != nil { 6812 return *x.Version 6813 } 6814 return CometSpec_COMET_VERSION_UNSPECIFIED 6815 } 6816 6817 func (x *CometSpec) GetSourceLanguage() string { 6818 if x != nil { 6819 return x.SourceLanguage 6820 } 6821 return "" 6822 } 6823 6824 func (x *CometSpec) GetTargetLanguage() string { 6825 if x != nil { 6826 return x.TargetLanguage 6827 } 6828 return "" 6829 } 6830 6831 // Spec for Comet instance - The fields used for evaluation are dependent on the 6832 // comet version. 6833 type CometInstance struct { 6834 state protoimpl.MessageState 6835 sizeCache protoimpl.SizeCache 6836 unknownFields protoimpl.UnknownFields 6837 6838 // Required. Output of the evaluated model. 6839 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 6840 // Optional. Ground truth used to compare against the prediction. 6841 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 6842 // Optional. Source text in original language. 6843 Source *string `protobuf:"bytes,3,opt,name=source,proto3,oneof" json:"source,omitempty"` 6844 } 6845 6846 func (x *CometInstance) Reset() { 6847 *x = CometInstance{} 6848 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[103] 6849 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6850 ms.StoreMessageInfo(mi) 6851 } 6852 6853 func (x *CometInstance) String() string { 6854 return protoimpl.X.MessageStringOf(x) 6855 } 6856 6857 func (*CometInstance) ProtoMessage() {} 6858 6859 func (x *CometInstance) ProtoReflect() protoreflect.Message { 6860 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[103] 6861 if x != nil { 6862 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6863 if ms.LoadMessageInfo() == nil { 6864 ms.StoreMessageInfo(mi) 6865 } 6866 return ms 6867 } 6868 return mi.MessageOf(x) 6869 } 6870 6871 // Deprecated: Use CometInstance.ProtoReflect.Descriptor instead. 6872 func (*CometInstance) Descriptor() ([]byte, []int) { 6873 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{103} 6874 } 6875 6876 func (x *CometInstance) GetPrediction() string { 6877 if x != nil && x.Prediction != nil { 6878 return *x.Prediction 6879 } 6880 return "" 6881 } 6882 6883 func (x *CometInstance) GetReference() string { 6884 if x != nil && x.Reference != nil { 6885 return *x.Reference 6886 } 6887 return "" 6888 } 6889 6890 func (x *CometInstance) GetSource() string { 6891 if x != nil && x.Source != nil { 6892 return *x.Source 6893 } 6894 return "" 6895 } 6896 6897 // Spec for Comet result - calculates the comet score for the given instance 6898 // using the version specified in the spec. 6899 type CometResult struct { 6900 state protoimpl.MessageState 6901 sizeCache protoimpl.SizeCache 6902 unknownFields protoimpl.UnknownFields 6903 6904 // Output only. Comet score. Range depends on version. 6905 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 6906 } 6907 6908 func (x *CometResult) Reset() { 6909 *x = CometResult{} 6910 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[104] 6911 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6912 ms.StoreMessageInfo(mi) 6913 } 6914 6915 func (x *CometResult) String() string { 6916 return protoimpl.X.MessageStringOf(x) 6917 } 6918 6919 func (*CometResult) ProtoMessage() {} 6920 6921 func (x *CometResult) ProtoReflect() protoreflect.Message { 6922 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[104] 6923 if x != nil { 6924 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6925 if ms.LoadMessageInfo() == nil { 6926 ms.StoreMessageInfo(mi) 6927 } 6928 return ms 6929 } 6930 return mi.MessageOf(x) 6931 } 6932 6933 // Deprecated: Use CometResult.ProtoReflect.Descriptor instead. 6934 func (*CometResult) Descriptor() ([]byte, []int) { 6935 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{104} 6936 } 6937 6938 func (x *CometResult) GetScore() float32 { 6939 if x != nil && x.Score != nil { 6940 return *x.Score 6941 } 6942 return 0 6943 } 6944 6945 // Input for MetricX metric. 6946 type MetricxInput struct { 6947 state protoimpl.MessageState 6948 sizeCache protoimpl.SizeCache 6949 unknownFields protoimpl.UnknownFields 6950 6951 // Required. Spec for Metricx metric. 6952 MetricSpec *MetricxSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` 6953 // Required. Metricx instance. 6954 Instance *MetricxInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` 6955 } 6956 6957 func (x *MetricxInput) Reset() { 6958 *x = MetricxInput{} 6959 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[105] 6960 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6961 ms.StoreMessageInfo(mi) 6962 } 6963 6964 func (x *MetricxInput) String() string { 6965 return protoimpl.X.MessageStringOf(x) 6966 } 6967 6968 func (*MetricxInput) ProtoMessage() {} 6969 6970 func (x *MetricxInput) ProtoReflect() protoreflect.Message { 6971 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[105] 6972 if x != nil { 6973 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6974 if ms.LoadMessageInfo() == nil { 6975 ms.StoreMessageInfo(mi) 6976 } 6977 return ms 6978 } 6979 return mi.MessageOf(x) 6980 } 6981 6982 // Deprecated: Use MetricxInput.ProtoReflect.Descriptor instead. 6983 func (*MetricxInput) Descriptor() ([]byte, []int) { 6984 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{105} 6985 } 6986 6987 func (x *MetricxInput) GetMetricSpec() *MetricxSpec { 6988 if x != nil { 6989 return x.MetricSpec 6990 } 6991 return nil 6992 } 6993 6994 func (x *MetricxInput) GetInstance() *MetricxInstance { 6995 if x != nil { 6996 return x.Instance 6997 } 6998 return nil 6999 } 7000 7001 // Spec for MetricX metric. 7002 type MetricxSpec struct { 7003 state protoimpl.MessageState 7004 sizeCache protoimpl.SizeCache 7005 unknownFields protoimpl.UnknownFields 7006 7007 // Required. Which version to use for evaluation. 7008 Version *MetricxSpec_MetricxVersion `protobuf:"varint,1,opt,name=version,proto3,enum=google.cloud.aiplatform.v1.MetricxSpec_MetricxVersion,oneof" json:"version,omitempty"` 7009 // Optional. Source language in BCP-47 format. 7010 SourceLanguage string `protobuf:"bytes,2,opt,name=source_language,json=sourceLanguage,proto3" json:"source_language,omitempty"` 7011 // Optional. Target language in BCP-47 format. Covers both prediction and 7012 // reference. 7013 TargetLanguage string `protobuf:"bytes,3,opt,name=target_language,json=targetLanguage,proto3" json:"target_language,omitempty"` 7014 } 7015 7016 func (x *MetricxSpec) Reset() { 7017 *x = MetricxSpec{} 7018 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[106] 7019 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7020 ms.StoreMessageInfo(mi) 7021 } 7022 7023 func (x *MetricxSpec) String() string { 7024 return protoimpl.X.MessageStringOf(x) 7025 } 7026 7027 func (*MetricxSpec) ProtoMessage() {} 7028 7029 func (x *MetricxSpec) ProtoReflect() protoreflect.Message { 7030 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[106] 7031 if x != nil { 7032 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7033 if ms.LoadMessageInfo() == nil { 7034 ms.StoreMessageInfo(mi) 7035 } 7036 return ms 7037 } 7038 return mi.MessageOf(x) 7039 } 7040 7041 // Deprecated: Use MetricxSpec.ProtoReflect.Descriptor instead. 7042 func (*MetricxSpec) Descriptor() ([]byte, []int) { 7043 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{106} 7044 } 7045 7046 func (x *MetricxSpec) GetVersion() MetricxSpec_MetricxVersion { 7047 if x != nil && x.Version != nil { 7048 return *x.Version 7049 } 7050 return MetricxSpec_METRICX_VERSION_UNSPECIFIED 7051 } 7052 7053 func (x *MetricxSpec) GetSourceLanguage() string { 7054 if x != nil { 7055 return x.SourceLanguage 7056 } 7057 return "" 7058 } 7059 7060 func (x *MetricxSpec) GetTargetLanguage() string { 7061 if x != nil { 7062 return x.TargetLanguage 7063 } 7064 return "" 7065 } 7066 7067 // Spec for MetricX instance - The fields used for evaluation are dependent on 7068 // the MetricX version. 7069 type MetricxInstance struct { 7070 state protoimpl.MessageState 7071 sizeCache protoimpl.SizeCache 7072 unknownFields protoimpl.UnknownFields 7073 7074 // Required. Output of the evaluated model. 7075 Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` 7076 // Optional. Ground truth used to compare against the prediction. 7077 Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` 7078 // Optional. Source text in original language. 7079 Source *string `protobuf:"bytes,3,opt,name=source,proto3,oneof" json:"source,omitempty"` 7080 } 7081 7082 func (x *MetricxInstance) Reset() { 7083 *x = MetricxInstance{} 7084 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[107] 7085 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7086 ms.StoreMessageInfo(mi) 7087 } 7088 7089 func (x *MetricxInstance) String() string { 7090 return protoimpl.X.MessageStringOf(x) 7091 } 7092 7093 func (*MetricxInstance) ProtoMessage() {} 7094 7095 func (x *MetricxInstance) ProtoReflect() protoreflect.Message { 7096 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[107] 7097 if x != nil { 7098 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7099 if ms.LoadMessageInfo() == nil { 7100 ms.StoreMessageInfo(mi) 7101 } 7102 return ms 7103 } 7104 return mi.MessageOf(x) 7105 } 7106 7107 // Deprecated: Use MetricxInstance.ProtoReflect.Descriptor instead. 7108 func (*MetricxInstance) Descriptor() ([]byte, []int) { 7109 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{107} 7110 } 7111 7112 func (x *MetricxInstance) GetPrediction() string { 7113 if x != nil && x.Prediction != nil { 7114 return *x.Prediction 7115 } 7116 return "" 7117 } 7118 7119 func (x *MetricxInstance) GetReference() string { 7120 if x != nil && x.Reference != nil { 7121 return *x.Reference 7122 } 7123 return "" 7124 } 7125 7126 func (x *MetricxInstance) GetSource() string { 7127 if x != nil && x.Source != nil { 7128 return *x.Source 7129 } 7130 return "" 7131 } 7132 7133 // Spec for MetricX result - calculates the MetricX score for the given instance 7134 // using the version specified in the spec. 7135 type MetricxResult struct { 7136 state protoimpl.MessageState 7137 sizeCache protoimpl.SizeCache 7138 unknownFields protoimpl.UnknownFields 7139 7140 // Output only. MetricX score. Range depends on version. 7141 Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` 7142 } 7143 7144 func (x *MetricxResult) Reset() { 7145 *x = MetricxResult{} 7146 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[108] 7147 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7148 ms.StoreMessageInfo(mi) 7149 } 7150 7151 func (x *MetricxResult) String() string { 7152 return protoimpl.X.MessageStringOf(x) 7153 } 7154 7155 func (*MetricxResult) ProtoMessage() {} 7156 7157 func (x *MetricxResult) ProtoReflect() protoreflect.Message { 7158 mi := &file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[108] 7159 if x != nil { 7160 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7161 if ms.LoadMessageInfo() == nil { 7162 ms.StoreMessageInfo(mi) 7163 } 7164 return ms 7165 } 7166 return mi.MessageOf(x) 7167 } 7168 7169 // Deprecated: Use MetricxResult.ProtoReflect.Descriptor instead. 7170 func (*MetricxResult) Descriptor() ([]byte, []int) { 7171 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP(), []int{108} 7172 } 7173 7174 func (x *MetricxResult) GetScore() float32 { 7175 if x != nil && x.Score != nil { 7176 return *x.Score 7177 } 7178 return 0 7179 } 7180 7181 var File_google_cloud_aiplatform_v1_evaluation_service_proto protoreflect.FileDescriptor 7182 7183 var file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDesc = []byte{ 7184 0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 7185 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x76, 0x61, 7186 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 7187 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 7188 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 7189 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 7190 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 7191 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 7192 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 7193 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 7194 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 7195 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 7196 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x16, 0x0a, 0x18, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 7197 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 7198 0x74, 0x12, 0x59, 0x0a, 0x11, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 7199 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 7200 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 7201 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 7202 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x65, 0x78, 0x61, 7203 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x46, 0x0a, 0x0a, 7204 0x62, 0x6c, 0x65, 0x75, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 7205 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 7206 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 7207 0x65, 0x75, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6c, 0x65, 0x75, 0x49, 7208 0x6e, 0x70, 0x75, 0x74, 0x12, 0x49, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x67, 0x65, 0x5f, 0x69, 0x6e, 7209 0x70, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 7210 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 7211 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 7212 0x74, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 7213 0x4f, 0x0a, 0x0d, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 7214 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 7215 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 7216 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 7217 0x48, 0x00, 0x52, 0x0c, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 7218 0x12, 0x55, 0x0a, 0x0f, 0x63, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 7219 0x70, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 7220 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 7221 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 7222 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 7223 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4c, 0x0a, 0x0c, 0x73, 0x61, 0x66, 0x65, 0x74, 7224 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 7225 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 7226 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 7227 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 7228 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x5e, 0x0a, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 7229 0x64, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 7230 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 7231 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 7232 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 7233 0x48, 0x00, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 7234 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x5b, 0x0a, 0x11, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 7235 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 7236 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 7237 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 7238 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 7239 0x52, 0x10, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 7240 0x75, 0x74, 0x12, 0x77, 0x0a, 0x1b, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 7241 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 7242 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 7243 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 7244 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 7245 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 7246 0x52, 0x19, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 7247 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x90, 0x01, 0x0a, 0x24, 7248 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 7249 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 7250 0x6e, 0x70, 0x75, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 7251 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 7252 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 7253 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 7254 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x21, 0x70, 0x61, 0x69, 7255 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 7256 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x83, 7257 0x01, 0x0a, 0x1f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 7258 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x70, 7259 0x75, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 7260 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 7261 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 7262 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 7263 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x1d, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 7264 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, 7265 0x6e, 0x70, 0x75, 0x74, 0x12, 0x7d, 0x0a, 0x1d, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 7266 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x5f, 7267 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 7268 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 7269 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 7270 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x49, 7271 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x1b, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 7272 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x49, 0x6e, 7273 0x70, 0x75, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x20, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 7274 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 7275 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 7276 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 7277 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 7278 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 7279 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x1d, 0x71, 0x75, 0x65, 7280 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 7281 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x9d, 0x01, 0x0a, 0x29, 0x70, 7282 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 7283 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 7284 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 7285 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 7286 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 7287 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 7288 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 7289 0x74, 0x48, 0x00, 0x52, 0x25, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 7290 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 7291 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x8a, 0x01, 0x0a, 0x22, 0x71, 7292 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 7293 0x67, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 7294 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 7295 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 7296 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 7297 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x49, 7298 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x1f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 7299 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 7300 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x90, 0x01, 0x0a, 0x24, 0x71, 0x75, 0x65, 0x73, 7301 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x68, 7302 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 7303 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 7304 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 7305 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 7306 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 7307 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x21, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 7308 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 7309 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x90, 0x01, 0x0a, 0x24, 0x71, 7310 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 7311 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 7312 0x70, 0x75, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 7313 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 7314 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 7315 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 7316 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x21, 0x71, 0x75, 0x65, 0x73, 7317 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 7318 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x68, 0x0a, 7319 0x16, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x77, 0x69, 0x73, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 7320 0x63, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 7321 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 7322 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 7323 0x77, 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 7324 0x00, 0x52, 0x14, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x77, 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x72, 7325 0x69, 0x63, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x65, 0x0a, 0x15, 0x70, 0x61, 0x69, 0x72, 0x77, 7326 0x69, 0x73, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 7327 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 7328 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 7329 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x72, 7330 0x69, 0x63, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x13, 0x70, 0x61, 0x69, 0x72, 0x77, 7331 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x63, 7332 0x0a, 0x15, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x69, 7333 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 7334 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 7335 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 7336 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 7337 0x12, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 7338 0x70, 0x75, 0x74, 0x12, 0x63, 0x0a, 0x15, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 7339 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x14, 0x20, 0x01, 7340 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 7341 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 7342 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 7343 0x75, 0x74, 0x48, 0x00, 0x52, 0x12, 0x74, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 7344 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x7c, 0x0a, 0x1e, 0x74, 0x6f, 0x6f, 0x6c, 7345 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6d, 7346 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 7347 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 7348 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 7349 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 7350 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x74, 0x6f, 0x6f, 0x6c, 7351 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 7352 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x79, 0x0a, 0x1d, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 7353 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x76, 0x5f, 0x6d, 0x61, 0x74, 0x63, 7354 0x68, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 7355 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 7356 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 7357 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 7358 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x19, 0x74, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 7359 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x76, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 7360 0x74, 0x12, 0x49, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 7361 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 7362 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 7363 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x65, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 7364 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x65, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4f, 0x0a, 0x0d, 7365 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x78, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x20, 0x20, 7366 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 7367 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 7368 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 7369 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x45, 0x0a, 7370 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 7371 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 7372 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 7373 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 7374 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, 7375 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0xcf, 0x16, 0x0a, 0x19, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 7376 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 7377 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x13, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 7378 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 7379 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 7380 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 7381 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 7382 0x00, 0x52, 0x11, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 7383 0x75, 0x6c, 0x74, 0x73, 0x12, 0x4c, 0x0a, 0x0c, 0x62, 0x6c, 0x65, 0x75, 0x5f, 0x72, 0x65, 0x73, 7384 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 7385 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 7386 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x65, 0x75, 0x52, 0x65, 0x73, 0x75, 7387 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, 0x65, 0x75, 0x52, 0x65, 0x73, 0x75, 0x6c, 7388 0x74, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x72, 0x6f, 0x75, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 7389 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 7390 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 7391 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 7392 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x6f, 0x75, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 7393 0x6c, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x72, 7394 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 7395 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 7396 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 7397 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 7398 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x58, 0x0a, 0x10, 0x63, 0x6f, 0x68, 0x65, 0x72, 7399 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 7400 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 7401 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 7402 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 7403 0x52, 0x0f, 0x63, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 7404 0x74, 0x12, 0x4f, 0x0a, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 7405 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 7406 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 7407 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 7408 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 7409 0x6c, 0x74, 0x12, 0x61, 0x0a, 0x13, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 7410 0x73, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 7411 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 7412 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 7413 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 7414 0x00, 0x52, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x52, 7415 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5e, 0x0a, 0x12, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 7416 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 7417 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 7418 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 7419 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 7420 0x48, 0x00, 0x52, 0x11, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 7421 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x7a, 0x0a, 0x1c, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 7422 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 7423 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 7424 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 7425 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 7426 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 7427 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 7428 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 7429 0x74, 0x12, 0x93, 0x01, 0x0a, 0x25, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x5f, 0x73, 7430 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 7431 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 7432 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 7433 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 7434 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 7435 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 7436 0x74, 0x48, 0x00, 0x52, 0x22, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 7437 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 7438 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x86, 0x01, 0x0a, 0x20, 0x73, 0x75, 0x6d, 0x6d, 7439 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 7440 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0d, 0x20, 0x01, 7441 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 7442 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 7443 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 7444 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 7445 0x52, 0x1e, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 7446 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 7447 0x12, 0x80, 0x01, 0x0a, 0x1e, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 7448 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 7449 0x75, 0x6c, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 7450 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 7451 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 7452 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 7453 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x1c, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 7454 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 7455 0x75, 0x6c, 0x74, 0x12, 0x87, 0x01, 0x0a, 0x21, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 7456 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 7457 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 7458 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 7459 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 7460 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 7461 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x1e, 0x71, 7462 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 7463 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0xa0, 0x01, 7464 0x0a, 0x2a, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 7465 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 7466 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x17, 0x20, 0x01, 7467 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 7468 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 7469 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 7470 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 7471 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x26, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 7472 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 7473 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 7474 0x12, 0x8d, 0x01, 0x0a, 0x23, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 7475 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 7476 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 7477 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 7478 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 7479 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 7480 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x20, 7481 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 7482 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 7483 0x12, 0x93, 0x01, 0x0a, 0x25, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 7484 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 7485 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 7486 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 7487 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 7488 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 7489 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 7490 0x48, 0x00, 0x52, 0x22, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 7491 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 7492 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x93, 0x01, 0x0a, 0x25, 0x71, 0x75, 0x65, 0x73, 0x74, 7493 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 7494 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 7495 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 7496 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 7497 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 7498 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 7499 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x22, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 7500 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 7501 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x6b, 0x0a, 0x17, 7502 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x77, 0x69, 0x73, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 7503 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 7504 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 7505 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 7506 0x77, 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 7507 0x48, 0x00, 0x52, 0x15, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x77, 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 7508 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x68, 0x0a, 0x16, 0x70, 0x61, 0x69, 7509 0x72, 0x77, 0x69, 0x73, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 7510 0x75, 0x6c, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 7511 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 7512 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x4d, 7513 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x14, 0x70, 7514 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 7515 0x75, 0x6c, 0x74, 0x12, 0x69, 0x0a, 0x17, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 7516 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x12, 7517 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 7518 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 7519 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x52, 7520 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x14, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 7521 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x69, 7522 0x0a, 0x17, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 7523 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 7524 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 7525 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 7526 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 7527 0x73, 0x48, 0x00, 0x52, 0x14, 0x74, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 7528 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x82, 0x01, 0x0a, 0x20, 0x74, 0x6f, 7529 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 7530 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x14, 7531 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 7532 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 7533 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 7534 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 7535 0x52, 0x1c, 0x74, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 7536 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x7f, 7537 0x0a, 0x1f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 7538 0x5f, 0x6b, 0x76, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 7539 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 7540 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 7541 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 7542 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 7543 0x48, 0x00, 0x52, 0x1b, 0x74, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 7544 0x72, 0x4b, 0x76, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 7545 0x4c, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 7546 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 7547 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 7548 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 7549 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x52, 0x0a, 7550 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 7551 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 7552 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 7553 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 7554 0x48, 0x00, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 7555 0x74, 0x42, 0x14, 0x0a, 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 7556 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x61, 0x63, 7557 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x50, 0x0a, 0x0b, 0x6d, 7558 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 7559 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 7560 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 7561 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 7562 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x51, 0x0a, 7563 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 7564 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 7565 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 7566 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 7567 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 7568 0x22, 0x83, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 7569 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 7570 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 7571 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 7572 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 7573 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 7574 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 7575 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 7576 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x10, 0x0a, 0x0e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 7577 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x22, 0x86, 0x01, 0x0a, 0x11, 0x45, 0x78, 0x61, 7578 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x71, 7579 0x0a, 0x19, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x65, 7580 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 7581 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 7582 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 7583 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 7584 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x65, 0x78, 0x61, 0x63, 0x74, 7585 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 7586 0x73, 0x22, 0x41, 0x0a, 0x15, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 7587 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 7588 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 7589 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 7590 0x63, 0x6f, 0x72, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x09, 0x42, 0x6c, 0x65, 0x75, 0x49, 0x6e, 0x70, 7591 0x75, 0x74, 0x12, 0x4a, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 7592 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 7593 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 7594 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x65, 0x75, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 7595 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4b, 7596 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 7597 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 7598 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 7599 0x6c, 0x65, 0x75, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 7600 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x7d, 0x0a, 0x0c, 0x42, 7601 0x6c, 0x65, 0x75, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 7602 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 7603 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 7604 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 7605 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 7606 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 7607 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 7608 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x3f, 0x0a, 0x08, 0x42, 0x6c, 7609 0x65, 0x75, 0x53, 0x70, 0x65, 0x63, 0x12, 0x33, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x5f, 0x65, 0x66, 7610 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 7611 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x75, 0x73, 0x65, 0x45, 0x66, 0x66, 7612 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x6d, 0x0a, 0x0b, 0x42, 7613 0x6c, 0x65, 0x75, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x5e, 0x0a, 0x12, 0x62, 0x6c, 7614 0x65, 0x75, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 7615 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 7616 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 7617 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x65, 0x75, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 7618 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x62, 0x6c, 0x65, 0x75, 0x4d, 0x65, 7619 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x3b, 0x0a, 0x0f, 0x42, 0x6c, 7620 0x65, 0x75, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 7621 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 7622 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 7623 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x67, 7624 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4b, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 7625 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 7626 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 7627 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x53, 0x70, 7628 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 7629 0x70, 0x65, 0x63, 0x12, 0x4c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 7630 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 7631 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 7632 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 7633 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 7634 0x73, 0x22, 0x7e, 0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 7635 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 7636 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 7637 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 7638 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 7639 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 7640 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 7641 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 7642 0x65, 0x22, 0x83, 0x01, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 7643 0x22, 0x0a, 0x0a, 0x72, 0x6f, 0x75, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 7644 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x6f, 0x75, 0x67, 0x65, 0x54, 7645 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x6d, 0x6d, 7646 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 7647 0x73, 0x65, 0x53, 0x74, 0x65, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x70, 0x6c, 7648 0x69, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 7649 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x75, 7650 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x22, 0x71, 0x0a, 0x0c, 0x52, 0x6f, 0x75, 0x67, 0x65, 7651 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x61, 0x0a, 0x13, 0x72, 0x6f, 0x75, 0x67, 0x65, 7652 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 7653 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 7654 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 7655 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 7656 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x72, 0x6f, 0x75, 0x67, 0x65, 0x4d, 0x65, 7657 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x10, 0x52, 0x6f, 7658 0x75, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 7659 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 7660 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 7661 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x68, 7662 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x6d, 7663 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 7664 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 7665 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 7666 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 7667 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4e, 0x0a, 0x08, 7668 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 7669 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 7670 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x68, 0x65, 7671 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 7672 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x11, 7673 0x43, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 7674 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 7675 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 7676 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 7677 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2e, 0x0a, 0x0d, 0x43, 0x6f, 7678 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x07, 0x76, 7679 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 7680 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x01, 0x0a, 0x0f, 0x43, 7681 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 7682 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 7683 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 7684 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 7685 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 7686 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 7687 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 7688 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 7689 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 7690 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xab, 0x01, 0x0a, 0x0c, 0x46, 0x6c, 0x75, 7691 0x65, 0x6e, 0x63, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4d, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 7692 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 7693 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 7694 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6c, 0x75, 0x65, 7695 0x6e, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 7696 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4c, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 7697 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 7698 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 7699 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x49, 7700 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 7701 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4a, 0x0a, 0x0f, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x63, 7702 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 7703 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 7704 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 7705 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 7706 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x0b, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x70, 0x65, 7707 0x63, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 7708 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 7709 0x22, 0x99, 0x01, 0x0a, 0x0d, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x73, 0x75, 7710 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 7711 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 7712 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 7713 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 7714 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 7715 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 7716 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 7717 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 7718 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xa8, 0x01, 0x0a, 7719 0x0b, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4c, 0x0a, 0x0b, 7720 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 7721 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 7722 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 7723 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 7724 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4b, 0x0a, 0x08, 0x69, 0x6e, 7725 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 7726 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 7727 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 7728 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 7729 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x49, 0x0a, 0x0e, 0x53, 0x61, 0x66, 0x65, 0x74, 7730 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 7731 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 7732 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 7733 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 7734 0x6f, 0x6e, 0x22, 0x2b, 0x0a, 0x0a, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 7735 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 7736 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 7737 0x98, 0x01, 0x0a, 0x0c, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 7738 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 7739 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 7740 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 7741 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 7742 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 7743 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 7744 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 7745 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 7746 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x11, 0x47, 7747 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 7748 0x12, 0x52, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 7749 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 7750 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 7751 0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x53, 7752 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 7753 0x53, 0x70, 0x65, 0x63, 0x12, 0x51, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 7754 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 7755 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 7756 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 7757 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 7758 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x7f, 0x0a, 0x14, 0x47, 0x72, 0x6f, 0x75, 0x6e, 7759 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 7760 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 7761 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 7762 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 7763 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 7764 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 7765 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 7766 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x31, 0x0a, 0x10, 0x47, 0x72, 0x6f, 0x75, 7767 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x07, 7768 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 7769 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x01, 0x0a, 0x12, 7770 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 7771 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 7772 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 7773 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 7774 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 7775 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 7776 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 7777 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 7778 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 7779 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xb7, 0x01, 0x0a, 7780 0x10, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 7781 0x74, 0x12, 0x51, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 7782 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 7783 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 7784 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 7785 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 7786 0x53, 0x70, 0x65, 0x63, 0x12, 0x50, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 7787 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 7788 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 7789 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 7790 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 7791 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x13, 0x46, 0x75, 0x6c, 0x66, 0x69, 7792 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 7793 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 7794 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 7795 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 7796 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 7797 0x41, 0x02, 0x48, 0x01, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 7798 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 7799 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 7800 0x69, 0x6f, 0x6e, 0x22, 0x30, 0x0a, 0x0f, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 7801 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 7802 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 7803 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9d, 0x01, 0x0a, 0x11, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 7804 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 7805 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 7806 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 7807 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 7808 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 7809 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 7810 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 7811 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 7812 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 7813 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x19, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 7814 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 7815 0x70, 0x75, 0x74, 0x12, 0x5a, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 7816 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 7817 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 7818 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 7819 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 7820 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 7821 0x59, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 7822 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 7823 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 7824 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 7825 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 7826 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xf9, 0x01, 0x0a, 0x1c, 0x53, 7827 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 7828 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 7829 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 7830 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 7831 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 7832 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 7833 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 7834 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 7835 0xe0, 0x41, 0x02, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 7836 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 7837 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 0x52, 0x0b, 0x69, 7838 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 7839 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 7840 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 7841 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 7842 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x63, 0x0a, 0x18, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 7843 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 7844 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 7845 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 7846 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, 7847 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 7848 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 7849 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 7850 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 7851 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 7852 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 7853 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 7854 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 7855 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 7856 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 7857 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 7858 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 7859 0x65, 0x6e, 0x63, 0x65, 0x22, 0xea, 0x01, 0x0a, 0x21, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 7860 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 7861 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x62, 0x0a, 0x0b, 0x6d, 0x65, 7862 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 7863 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 7864 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x69, 7865 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 7866 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 7867 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x61, 7868 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 7869 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 7870 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 7871 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 7872 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 7873 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 7874 0x65, 0x22, 0xd4, 0x02, 0x0a, 0x24, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 7875 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 7876 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 7877 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 7878 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 7879 0x6e, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x13, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 7880 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 7881 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x12, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 7882 0x6e, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 7883 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 7884 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 7885 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 7886 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 0x52, 7887 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 7888 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 7889 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 7890 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 7891 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 7892 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 7893 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 7894 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 7895 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x20, 0x50, 0x61, 0x69, 0x72, 7896 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 7897 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 7898 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 7899 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 7900 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 7901 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 7902 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xde, 0x01, 0x0a, 0x22, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 7903 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 7904 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x58, 0x0a, 0x0f, 7905 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 7906 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 7907 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 7908 0x76, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 7909 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 7910 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 7911 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 7912 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 7913 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 7914 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 7915 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 7916 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xde, 0x01, 0x0a, 0x1d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 7917 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 7918 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x5e, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 7919 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 7920 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 7921 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 7922 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 7923 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 7924 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5d, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 7925 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 7926 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 7927 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 7928 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 7929 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 7930 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xfd, 0x01, 0x0a, 0x20, 0x53, 0x75, 0x6d, 0x6d, 7931 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 7932 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 7933 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 7934 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 7935 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 7936 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 7937 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 7938 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 7939 0x03, 0xe0, 0x41, 0x02, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 7940 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 7941 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x0b, 7942 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 7943 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 7944 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 7945 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 7946 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x0a, 0x1c, 0x53, 0x75, 0x6d, 0x6d, 0x61, 7947 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 7948 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 7949 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 7950 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 7951 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 7952 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 7953 0x22, 0xaa, 0x01, 0x0a, 0x1e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 7954 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 7955 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 7956 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 7957 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 7958 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 7959 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 7960 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 7961 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 7962 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 7963 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xd8, 0x01, 7964 0x0a, 0x1b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 7965 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x5c, 0x0a, 7966 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 7967 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 7968 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 7969 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 7970 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 7971 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5b, 0x0a, 0x08, 0x69, 7972 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 7973 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 7974 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 7975 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 7976 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 7977 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x1e, 0x53, 0x75, 0x6d, 7978 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 7979 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 7980 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 7981 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 7982 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 7983 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 7984 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 7985 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 7986 0xe0, 0x41, 0x02, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 7987 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 7988 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x0b, 0x69, 7989 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 7990 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 7991 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 7992 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 7993 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0x0a, 0x1a, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 7994 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 7995 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 7996 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 7997 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 7998 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 7999 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x01, 8000 0x0a, 0x1c, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 8001 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 8002 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 8003 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 8004 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 8005 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 8006 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 8007 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 8008 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 8009 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 8010 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xde, 0x01, 0x0a, 0x1d, 0x51, 0x75, 0x65, 8011 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 8012 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x5e, 0x0a, 0x0b, 0x6d, 0x65, 8013 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 8014 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 8015 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 8016 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 8017 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 8018 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5d, 0x0a, 0x08, 0x69, 0x6e, 8019 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 8020 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 8021 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 8022 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 8023 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 8024 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xfd, 0x01, 0x0a, 0x20, 0x51, 0x75, 8025 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 8026 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 8027 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 8028 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 8029 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 8030 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 8031 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 8032 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 8033 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 8034 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 8035 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 8036 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 8037 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 8038 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 8039 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 8040 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x0a, 0x1c, 0x51, 0x75, 0x65, 8041 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 8042 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 8043 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 8044 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 8045 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 8046 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 8047 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 8048 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 8049 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 8050 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 8051 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 8052 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 8053 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 8054 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 8055 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 8056 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 8057 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 8058 0xf6, 0x01, 0x0a, 0x25, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 8059 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 8060 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x66, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 8061 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 8062 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 8063 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 8064 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 8065 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 8066 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 8067 0x63, 0x12, 0x65, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 8068 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 8069 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 8070 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 8071 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 8072 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 8073 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xd8, 0x02, 0x0a, 0x28, 0x50, 0x61, 0x69, 8074 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 8075 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 8076 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 8077 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 8078 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 8079 0x39, 0x0a, 0x13, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x64, 8080 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 8081 0x02, 0x48, 0x01, 0x52, 0x12, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x65, 8082 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 8083 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 8084 0x41, 0x01, 0x48, 0x02, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 8085 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 8086 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 8087 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 8088 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 8089 0x48, 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 8090 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 8091 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 8092 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 8093 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 8094 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 8095 0x69, 0x6f, 0x6e, 0x22, 0x6f, 0x0a, 0x24, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 8096 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 8097 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 8098 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 8099 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 8100 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 8101 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 8102 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xe2, 0x01, 0x0a, 0x26, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 8103 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 8104 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 8105 0x58, 0x0a, 0x0f, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x5f, 0x63, 0x68, 0x6f, 0x69, 8106 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 8107 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 8108 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x43, 0x68, 8109 0x6f, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x69, 0x72, 0x77, 8110 0x69, 0x73, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 8111 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 8112 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 8113 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 8114 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 8115 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 8116 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xe4, 0x01, 0x0a, 0x1f, 0x51, 0x75, 8117 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 8118 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x60, 0x0a, 8119 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 8120 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 8121 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 8122 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 8123 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 8124 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 8125 0x5f, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 8126 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 8127 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 8128 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 8129 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 8130 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 8131 0x22, 0xff, 0x01, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 8132 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x49, 8133 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 8134 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 8135 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 8136 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 8137 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 8138 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 8139 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 8140 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 8141 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 8142 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 8143 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 8144 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 8145 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 8146 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 8147 0x6f, 0x6e, 0x22, 0x69, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 8148 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 8149 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 8150 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 8151 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 8152 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 8153 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xac, 0x01, 8154 0x0a, 0x20, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 8155 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 8156 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 8157 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 8158 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 8159 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 8160 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 8161 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 8162 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 8163 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 8164 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xea, 0x01, 0x0a, 8165 0x21, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 8166 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 8167 0x75, 0x74, 0x12, 0x62, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 8168 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 8169 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 8170 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 8171 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 8172 0x73, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 8173 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x61, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 8174 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 8175 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 8176 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 8177 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 8178 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 8179 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x81, 0x02, 0x0a, 0x24, 0x51, 0x75, 8180 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 8181 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 8182 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 8183 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 8184 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 8185 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 8186 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 8187 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 8188 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 8189 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 8190 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 8191 0x41, 0x02, 0x48, 0x03, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 8192 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 8193 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 8194 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 8195 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 8196 0x20, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 8197 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 8198 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 8199 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 8200 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 8201 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 8202 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x01, 0x0a, 0x22, 0x51, 8203 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 8204 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 8205 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 8206 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 8207 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 8208 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 8209 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 8210 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 8211 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 8212 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 8213 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xea, 0x01, 0x0a, 0x21, 8214 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 8215 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 8216 0x74, 0x12, 0x62, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 8217 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 8218 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 8219 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 8220 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 8221 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 8222 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x61, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 8223 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 8224 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 8225 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 8226 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 8227 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 8228 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x81, 0x02, 0x0a, 0x24, 0x51, 0x75, 0x65, 8229 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 8230 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 8231 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 8232 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 8233 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 8234 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 8235 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 8236 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 8237 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 8238 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 8239 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 8240 0x02, 0x48, 0x03, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 8241 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 8242 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 8243 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 8244 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x20, 8245 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 8246 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 8247 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 8248 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 8249 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 8250 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 8251 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x01, 0x0a, 0x22, 0x51, 0x75, 8252 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 8253 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 8254 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 8255 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 8256 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 8257 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 8258 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 8259 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 8260 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 8261 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 8262 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x14, 0x50, 8263 0x6f, 0x69, 0x6e, 0x74, 0x77, 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x6e, 8264 0x70, 0x75, 0x74, 0x12, 0x55, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 8265 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 8266 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 8267 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x77, 0x69, 0x73, 0x65, 0x4d, 8268 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 8269 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x54, 0x0a, 0x08, 0x69, 0x6e, 8270 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 8271 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 8272 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x77, 8273 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 8274 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 8275 0x22, 0x4c, 0x0a, 0x17, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x77, 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 8276 0x72, 0x69, 0x63, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x6a, 8277 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 8278 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x6a, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 8279 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x70, 8280 0x0a, 0x13, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x77, 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 8281 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3e, 0x0a, 0x16, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 8282 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 8283 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x14, 0x6d, 0x65, 8284 0x74, 0x72, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 8285 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 8286 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 8287 0x22, 0x68, 0x0a, 0x15, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x77, 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 8288 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 8289 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 8290 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 8291 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 8292 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 8293 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x13, 0x50, 8294 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x6e, 0x70, 8295 0x75, 0x74, 0x12, 0x54, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 8296 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 8297 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 8298 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 8299 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 8300 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x53, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 8301 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 8302 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 8303 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 8304 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 8305 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4b, 0x0a, 8306 0x16, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 8307 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 8308 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 8309 0x52, 0x0c, 0x6a, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0a, 8310 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x6f, 0x0a, 0x12, 0x50, 0x61, 8311 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 8312 0x12, 0x3e, 0x0a, 0x16, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 8313 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 8314 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x14, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 8315 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 8316 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 8317 0x70, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x14, 8318 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 8319 0x73, 0x75, 0x6c, 0x74, 0x12, 0x58, 0x0a, 0x0f, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 8320 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 8321 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 8322 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 8323 0x69, 0x73, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 8324 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x25, 8325 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 8326 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 8327 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbf, 0x01, 0x0a, 0x12, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 8328 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x53, 0x0a, 0x0b, 8329 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 8330 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 8331 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 8332 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x70, 0x65, 0x63, 8333 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 8334 0x63, 0x12, 0x54, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 8335 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 8336 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 8337 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x49, 8338 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 8339 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 8340 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x70, 0x65, 0x63, 0x22, 0x86, 0x01, 0x0a, 8341 0x15, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 8342 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 8343 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 8344 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 8345 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 8346 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 8347 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 8348 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 8349 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x14, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 8350 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x7b, 8351 0x0a, 0x1d, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x69, 8352 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 8353 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 8354 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 8355 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 8356 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 8357 0x52, 0x19, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x4d, 8358 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x44, 0x0a, 0x18, 0x54, 8359 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x65, 0x74, 0x72, 8360 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 8361 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 8362 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 8363 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x12, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 8364 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x53, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 8365 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 8366 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 8367 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 8368 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 8369 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x54, 0x0a, 8370 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 8371 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 8372 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 8373 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 8374 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 8375 0x63, 0x65, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 8376 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x22, 0x86, 0x01, 0x0a, 0x15, 0x54, 0x6f, 0x6f, 8377 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 8378 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 8379 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 8380 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 8381 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 8382 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 8383 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 8384 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 8385 0x65, 0x22, 0x93, 0x01, 0x0a, 0x14, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 8386 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x7b, 0x0a, 0x1d, 0x74, 0x6f, 8387 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x65, 8388 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 8389 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 8390 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 8391 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 8392 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x19, 0x74, 0x6f, 8393 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 8394 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x44, 0x0a, 0x18, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 8395 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 8396 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 8397 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 8398 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xd7, 0x01, 8399 0x0a, 0x1a, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 8400 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x5b, 0x0a, 0x0b, 8401 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 8402 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 8403 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 8404 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 8405 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 8406 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 8407 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 8408 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 8409 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 8410 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 8411 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 8412 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 8413 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 8414 0x53, 0x70, 0x65, 0x63, 0x22, 0x8e, 0x01, 0x0a, 0x1d, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 8415 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 8416 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 8417 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 8418 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 8419 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 8420 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 8421 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 8422 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 8423 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x1c, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 8424 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 8425 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x94, 0x01, 0x0a, 0x26, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 8426 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6d, 0x61, 8427 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 8428 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 8429 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 8430 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 8431 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 8432 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x21, 0x74, 0x6f, 0x6f, 0x6c, 8433 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 8434 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x4c, 0x0a, 8435 0x20, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 8436 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 8437 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 8438 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 8439 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x19, 8440 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 8441 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x5a, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 8442 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 8443 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 8444 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 8445 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 8446 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 8447 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5b, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 8448 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 8449 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 8450 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 8451 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 8452 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 8453 0x65, 0x73, 0x22, 0x56, 0x0a, 0x18, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 8454 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3a, 8455 0x0a, 0x17, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x72, 8456 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 8457 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x75, 0x73, 0x65, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x53, 8458 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x8d, 0x01, 0x0a, 0x1c, 0x54, 8459 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 8460 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 8461 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 8462 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 8463 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 8464 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 8465 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 8466 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 8467 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x1b, 0x54, 8468 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 8469 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x91, 0x01, 0x0a, 0x25, 0x74, 8470 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x76, 8471 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 8472 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 8473 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 8474 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 8475 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 8476 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x20, 0x74, 0x6f, 8477 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x76, 0x4d, 0x61, 0x74, 8478 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x4b, 8479 0x0a, 0x1f, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 8480 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 8481 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 8482 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 8483 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x0a, 8484 0x43, 0x6f, 0x6d, 0x65, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4b, 0x0a, 0x0b, 0x6d, 0x65, 8485 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 8486 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 8487 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 8488 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 8489 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 8490 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 8491 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 8492 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 8493 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 8494 0x6e, 0x63, 0x65, 0x22, 0x90, 0x02, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x65, 0x74, 0x53, 0x70, 0x65, 8495 0x63, 0x12, 0x56, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 8496 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 8497 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 8498 0x43, 0x6f, 0x6d, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x65, 0x74, 0x56, 8499 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x07, 0x76, 8500 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 8501 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 8502 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 8503 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 8504 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 8505 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x6e, 8506 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, 0x43, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, 0x65, 0x74, 0x56, 0x65, 8507 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x4f, 0x4d, 0x45, 0x54, 0x5f, 0x56, 8508 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 8509 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4d, 0x45, 0x54, 0x5f, 0x32, 0x32, 8510 0x5f, 0x53, 0x52, 0x43, 0x5f, 0x52, 0x45, 0x46, 0x10, 0x02, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 8511 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x65, 0x74, 8512 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 8513 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 8514 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 8515 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 8516 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 8517 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x06, 0x73, 0x6f, 8518 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 8519 0x02, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 8520 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 8521 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 8522 0x75, 0x72, 0x63, 0x65, 0x22, 0x37, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x65, 0x74, 0x52, 0x65, 0x73, 8523 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 8524 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 8525 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xab, 0x01, 8526 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4d, 8527 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 8528 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 8529 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 8530 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x78, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 8531 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4c, 0x0a, 8532 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 8533 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 8534 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 8535 0x72, 0x69, 0x63, 0x78, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 8536 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xc4, 0x02, 0x0a, 0x0b, 8537 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x78, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5a, 0x0a, 0x07, 0x76, 8538 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 8539 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 8540 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 8541 0x78, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x78, 0x56, 0x65, 0x72, 8542 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x07, 0x76, 0x65, 0x72, 8543 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 8544 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 8545 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x6e, 8546 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 8547 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 8548 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 8549 0x61, 0x67, 0x65, 0x22, 0x71, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x78, 0x56, 0x65, 8550 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x58, 8551 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 8552 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 8553 0x58, 0x5f, 0x32, 0x34, 0x5f, 0x52, 0x45, 0x46, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x45, 8554 0x54, 0x52, 0x49, 0x43, 0x58, 0x5f, 0x32, 0x34, 0x5f, 0x53, 0x52, 0x43, 0x10, 0x02, 0x12, 0x16, 8555 0x0a, 0x12, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x58, 0x5f, 0x32, 0x34, 0x5f, 0x53, 0x52, 0x43, 8556 0x5f, 0x52, 0x45, 0x46, 0x10, 0x03, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 8557 0x6f, 0x6e, 0x22, 0xad, 0x01, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x78, 0x49, 0x6e, 8558 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 8559 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 8560 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 8561 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 8562 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 8563 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 8564 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 8565 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 8566 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 8567 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, 8568 0x63, 0x65, 0x22, 0x39, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x78, 0x52, 0x65, 0x73, 8569 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 8570 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 8571 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x2a, 0x57, 0x0a, 8572 0x0e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 8573 0x1f, 0x0a, 0x1b, 0x50, 0x41, 0x49, 0x52, 0x57, 0x49, 0x53, 0x45, 0x5f, 0x43, 0x48, 0x4f, 0x49, 8574 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 8575 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x41, 0x53, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0d, 8576 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x07, 0x0a, 8577 0x03, 0x54, 0x49, 0x45, 0x10, 0x03, 0x32, 0xa9, 0x02, 0x0a, 0x11, 0x45, 0x76, 0x61, 0x6c, 0x75, 8578 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc4, 0x01, 0x0a, 8579 0x11, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 8580 0x65, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 8581 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 8582 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 8583 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 8584 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 8585 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x49, 0x6e, 8586 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 8587 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x3a, 0x01, 0x2a, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x2f, 8588 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 8589 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 8590 0x7d, 0x3a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 8591 0x63, 0x65, 0x73, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 8592 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 8593 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 8594 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 8595 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 8596 0x72, 0x6d, 0x42, 0xd4, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 8597 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 8598 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x16, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 8599 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 8600 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 8601 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 8602 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 8603 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 8604 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 8605 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 8606 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 8607 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 8608 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 8609 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 8610 0x33, 8611 } 8612 8613 var ( 8614 file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescOnce sync.Once 8615 file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescData = file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDesc 8616 ) 8617 8618 func file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescGZIP() []byte { 8619 file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescOnce.Do(func() { 8620 file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescData) 8621 }) 8622 return file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDescData 8623 } 8624 8625 var file_google_cloud_aiplatform_v1_evaluation_service_proto_enumTypes = make([]protoimpl.EnumInfo, 3) 8626 var file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes = make([]protoimpl.MessageInfo, 109) 8627 var file_google_cloud_aiplatform_v1_evaluation_service_proto_goTypes = []any{ 8628 (PairwiseChoice)(0), // 0: google.cloud.aiplatform.v1.PairwiseChoice 8629 (CometSpec_CometVersion)(0), // 1: google.cloud.aiplatform.v1.CometSpec.CometVersion 8630 (MetricxSpec_MetricxVersion)(0), // 2: google.cloud.aiplatform.v1.MetricxSpec.MetricxVersion 8631 (*EvaluateInstancesRequest)(nil), // 3: google.cloud.aiplatform.v1.EvaluateInstancesRequest 8632 (*EvaluateInstancesResponse)(nil), // 4: google.cloud.aiplatform.v1.EvaluateInstancesResponse 8633 (*ExactMatchInput)(nil), // 5: google.cloud.aiplatform.v1.ExactMatchInput 8634 (*ExactMatchInstance)(nil), // 6: google.cloud.aiplatform.v1.ExactMatchInstance 8635 (*ExactMatchSpec)(nil), // 7: google.cloud.aiplatform.v1.ExactMatchSpec 8636 (*ExactMatchResults)(nil), // 8: google.cloud.aiplatform.v1.ExactMatchResults 8637 (*ExactMatchMetricValue)(nil), // 9: google.cloud.aiplatform.v1.ExactMatchMetricValue 8638 (*BleuInput)(nil), // 10: google.cloud.aiplatform.v1.BleuInput 8639 (*BleuInstance)(nil), // 11: google.cloud.aiplatform.v1.BleuInstance 8640 (*BleuSpec)(nil), // 12: google.cloud.aiplatform.v1.BleuSpec 8641 (*BleuResults)(nil), // 13: google.cloud.aiplatform.v1.BleuResults 8642 (*BleuMetricValue)(nil), // 14: google.cloud.aiplatform.v1.BleuMetricValue 8643 (*RougeInput)(nil), // 15: google.cloud.aiplatform.v1.RougeInput 8644 (*RougeInstance)(nil), // 16: google.cloud.aiplatform.v1.RougeInstance 8645 (*RougeSpec)(nil), // 17: google.cloud.aiplatform.v1.RougeSpec 8646 (*RougeResults)(nil), // 18: google.cloud.aiplatform.v1.RougeResults 8647 (*RougeMetricValue)(nil), // 19: google.cloud.aiplatform.v1.RougeMetricValue 8648 (*CoherenceInput)(nil), // 20: google.cloud.aiplatform.v1.CoherenceInput 8649 (*CoherenceInstance)(nil), // 21: google.cloud.aiplatform.v1.CoherenceInstance 8650 (*CoherenceSpec)(nil), // 22: google.cloud.aiplatform.v1.CoherenceSpec 8651 (*CoherenceResult)(nil), // 23: google.cloud.aiplatform.v1.CoherenceResult 8652 (*FluencyInput)(nil), // 24: google.cloud.aiplatform.v1.FluencyInput 8653 (*FluencyInstance)(nil), // 25: google.cloud.aiplatform.v1.FluencyInstance 8654 (*FluencySpec)(nil), // 26: google.cloud.aiplatform.v1.FluencySpec 8655 (*FluencyResult)(nil), // 27: google.cloud.aiplatform.v1.FluencyResult 8656 (*SafetyInput)(nil), // 28: google.cloud.aiplatform.v1.SafetyInput 8657 (*SafetyInstance)(nil), // 29: google.cloud.aiplatform.v1.SafetyInstance 8658 (*SafetySpec)(nil), // 30: google.cloud.aiplatform.v1.SafetySpec 8659 (*SafetyResult)(nil), // 31: google.cloud.aiplatform.v1.SafetyResult 8660 (*GroundednessInput)(nil), // 32: google.cloud.aiplatform.v1.GroundednessInput 8661 (*GroundednessInstance)(nil), // 33: google.cloud.aiplatform.v1.GroundednessInstance 8662 (*GroundednessSpec)(nil), // 34: google.cloud.aiplatform.v1.GroundednessSpec 8663 (*GroundednessResult)(nil), // 35: google.cloud.aiplatform.v1.GroundednessResult 8664 (*FulfillmentInput)(nil), // 36: google.cloud.aiplatform.v1.FulfillmentInput 8665 (*FulfillmentInstance)(nil), // 37: google.cloud.aiplatform.v1.FulfillmentInstance 8666 (*FulfillmentSpec)(nil), // 38: google.cloud.aiplatform.v1.FulfillmentSpec 8667 (*FulfillmentResult)(nil), // 39: google.cloud.aiplatform.v1.FulfillmentResult 8668 (*SummarizationQualityInput)(nil), // 40: google.cloud.aiplatform.v1.SummarizationQualityInput 8669 (*SummarizationQualityInstance)(nil), // 41: google.cloud.aiplatform.v1.SummarizationQualityInstance 8670 (*SummarizationQualitySpec)(nil), // 42: google.cloud.aiplatform.v1.SummarizationQualitySpec 8671 (*SummarizationQualityResult)(nil), // 43: google.cloud.aiplatform.v1.SummarizationQualityResult 8672 (*PairwiseSummarizationQualityInput)(nil), // 44: google.cloud.aiplatform.v1.PairwiseSummarizationQualityInput 8673 (*PairwiseSummarizationQualityInstance)(nil), // 45: google.cloud.aiplatform.v1.PairwiseSummarizationQualityInstance 8674 (*PairwiseSummarizationQualitySpec)(nil), // 46: google.cloud.aiplatform.v1.PairwiseSummarizationQualitySpec 8675 (*PairwiseSummarizationQualityResult)(nil), // 47: google.cloud.aiplatform.v1.PairwiseSummarizationQualityResult 8676 (*SummarizationHelpfulnessInput)(nil), // 48: google.cloud.aiplatform.v1.SummarizationHelpfulnessInput 8677 (*SummarizationHelpfulnessInstance)(nil), // 49: google.cloud.aiplatform.v1.SummarizationHelpfulnessInstance 8678 (*SummarizationHelpfulnessSpec)(nil), // 50: google.cloud.aiplatform.v1.SummarizationHelpfulnessSpec 8679 (*SummarizationHelpfulnessResult)(nil), // 51: google.cloud.aiplatform.v1.SummarizationHelpfulnessResult 8680 (*SummarizationVerbosityInput)(nil), // 52: google.cloud.aiplatform.v1.SummarizationVerbosityInput 8681 (*SummarizationVerbosityInstance)(nil), // 53: google.cloud.aiplatform.v1.SummarizationVerbosityInstance 8682 (*SummarizationVerbositySpec)(nil), // 54: google.cloud.aiplatform.v1.SummarizationVerbositySpec 8683 (*SummarizationVerbosityResult)(nil), // 55: google.cloud.aiplatform.v1.SummarizationVerbosityResult 8684 (*QuestionAnsweringQualityInput)(nil), // 56: google.cloud.aiplatform.v1.QuestionAnsweringQualityInput 8685 (*QuestionAnsweringQualityInstance)(nil), // 57: google.cloud.aiplatform.v1.QuestionAnsweringQualityInstance 8686 (*QuestionAnsweringQualitySpec)(nil), // 58: google.cloud.aiplatform.v1.QuestionAnsweringQualitySpec 8687 (*QuestionAnsweringQualityResult)(nil), // 59: google.cloud.aiplatform.v1.QuestionAnsweringQualityResult 8688 (*PairwiseQuestionAnsweringQualityInput)(nil), // 60: google.cloud.aiplatform.v1.PairwiseQuestionAnsweringQualityInput 8689 (*PairwiseQuestionAnsweringQualityInstance)(nil), // 61: google.cloud.aiplatform.v1.PairwiseQuestionAnsweringQualityInstance 8690 (*PairwiseQuestionAnsweringQualitySpec)(nil), // 62: google.cloud.aiplatform.v1.PairwiseQuestionAnsweringQualitySpec 8691 (*PairwiseQuestionAnsweringQualityResult)(nil), // 63: google.cloud.aiplatform.v1.PairwiseQuestionAnsweringQualityResult 8692 (*QuestionAnsweringRelevanceInput)(nil), // 64: google.cloud.aiplatform.v1.QuestionAnsweringRelevanceInput 8693 (*QuestionAnsweringRelevanceInstance)(nil), // 65: google.cloud.aiplatform.v1.QuestionAnsweringRelevanceInstance 8694 (*QuestionAnsweringRelevanceSpec)(nil), // 66: google.cloud.aiplatform.v1.QuestionAnsweringRelevanceSpec 8695 (*QuestionAnsweringRelevanceResult)(nil), // 67: google.cloud.aiplatform.v1.QuestionAnsweringRelevanceResult 8696 (*QuestionAnsweringHelpfulnessInput)(nil), // 68: google.cloud.aiplatform.v1.QuestionAnsweringHelpfulnessInput 8697 (*QuestionAnsweringHelpfulnessInstance)(nil), // 69: google.cloud.aiplatform.v1.QuestionAnsweringHelpfulnessInstance 8698 (*QuestionAnsweringHelpfulnessSpec)(nil), // 70: google.cloud.aiplatform.v1.QuestionAnsweringHelpfulnessSpec 8699 (*QuestionAnsweringHelpfulnessResult)(nil), // 71: google.cloud.aiplatform.v1.QuestionAnsweringHelpfulnessResult 8700 (*QuestionAnsweringCorrectnessInput)(nil), // 72: google.cloud.aiplatform.v1.QuestionAnsweringCorrectnessInput 8701 (*QuestionAnsweringCorrectnessInstance)(nil), // 73: google.cloud.aiplatform.v1.QuestionAnsweringCorrectnessInstance 8702 (*QuestionAnsweringCorrectnessSpec)(nil), // 74: google.cloud.aiplatform.v1.QuestionAnsweringCorrectnessSpec 8703 (*QuestionAnsweringCorrectnessResult)(nil), // 75: google.cloud.aiplatform.v1.QuestionAnsweringCorrectnessResult 8704 (*PointwiseMetricInput)(nil), // 76: google.cloud.aiplatform.v1.PointwiseMetricInput 8705 (*PointwiseMetricInstance)(nil), // 77: google.cloud.aiplatform.v1.PointwiseMetricInstance 8706 (*PointwiseMetricSpec)(nil), // 78: google.cloud.aiplatform.v1.PointwiseMetricSpec 8707 (*PointwiseMetricResult)(nil), // 79: google.cloud.aiplatform.v1.PointwiseMetricResult 8708 (*PairwiseMetricInput)(nil), // 80: google.cloud.aiplatform.v1.PairwiseMetricInput 8709 (*PairwiseMetricInstance)(nil), // 81: google.cloud.aiplatform.v1.PairwiseMetricInstance 8710 (*PairwiseMetricSpec)(nil), // 82: google.cloud.aiplatform.v1.PairwiseMetricSpec 8711 (*PairwiseMetricResult)(nil), // 83: google.cloud.aiplatform.v1.PairwiseMetricResult 8712 (*ToolCallValidInput)(nil), // 84: google.cloud.aiplatform.v1.ToolCallValidInput 8713 (*ToolCallValidSpec)(nil), // 85: google.cloud.aiplatform.v1.ToolCallValidSpec 8714 (*ToolCallValidInstance)(nil), // 86: google.cloud.aiplatform.v1.ToolCallValidInstance 8715 (*ToolCallValidResults)(nil), // 87: google.cloud.aiplatform.v1.ToolCallValidResults 8716 (*ToolCallValidMetricValue)(nil), // 88: google.cloud.aiplatform.v1.ToolCallValidMetricValue 8717 (*ToolNameMatchInput)(nil), // 89: google.cloud.aiplatform.v1.ToolNameMatchInput 8718 (*ToolNameMatchSpec)(nil), // 90: google.cloud.aiplatform.v1.ToolNameMatchSpec 8719 (*ToolNameMatchInstance)(nil), // 91: google.cloud.aiplatform.v1.ToolNameMatchInstance 8720 (*ToolNameMatchResults)(nil), // 92: google.cloud.aiplatform.v1.ToolNameMatchResults 8721 (*ToolNameMatchMetricValue)(nil), // 93: google.cloud.aiplatform.v1.ToolNameMatchMetricValue 8722 (*ToolParameterKeyMatchInput)(nil), // 94: google.cloud.aiplatform.v1.ToolParameterKeyMatchInput 8723 (*ToolParameterKeyMatchSpec)(nil), // 95: google.cloud.aiplatform.v1.ToolParameterKeyMatchSpec 8724 (*ToolParameterKeyMatchInstance)(nil), // 96: google.cloud.aiplatform.v1.ToolParameterKeyMatchInstance 8725 (*ToolParameterKeyMatchResults)(nil), // 97: google.cloud.aiplatform.v1.ToolParameterKeyMatchResults 8726 (*ToolParameterKeyMatchMetricValue)(nil), // 98: google.cloud.aiplatform.v1.ToolParameterKeyMatchMetricValue 8727 (*ToolParameterKVMatchInput)(nil), // 99: google.cloud.aiplatform.v1.ToolParameterKVMatchInput 8728 (*ToolParameterKVMatchSpec)(nil), // 100: google.cloud.aiplatform.v1.ToolParameterKVMatchSpec 8729 (*ToolParameterKVMatchInstance)(nil), // 101: google.cloud.aiplatform.v1.ToolParameterKVMatchInstance 8730 (*ToolParameterKVMatchResults)(nil), // 102: google.cloud.aiplatform.v1.ToolParameterKVMatchResults 8731 (*ToolParameterKVMatchMetricValue)(nil), // 103: google.cloud.aiplatform.v1.ToolParameterKVMatchMetricValue 8732 (*CometInput)(nil), // 104: google.cloud.aiplatform.v1.CometInput 8733 (*CometSpec)(nil), // 105: google.cloud.aiplatform.v1.CometSpec 8734 (*CometInstance)(nil), // 106: google.cloud.aiplatform.v1.CometInstance 8735 (*CometResult)(nil), // 107: google.cloud.aiplatform.v1.CometResult 8736 (*MetricxInput)(nil), // 108: google.cloud.aiplatform.v1.MetricxInput 8737 (*MetricxSpec)(nil), // 109: google.cloud.aiplatform.v1.MetricxSpec 8738 (*MetricxInstance)(nil), // 110: google.cloud.aiplatform.v1.MetricxInstance 8739 (*MetricxResult)(nil), // 111: google.cloud.aiplatform.v1.MetricxResult 8740 } 8741 var file_google_cloud_aiplatform_v1_evaluation_service_proto_depIdxs = []int32{ 8742 5, // 0: google.cloud.aiplatform.v1.EvaluateInstancesRequest.exact_match_input:type_name -> google.cloud.aiplatform.v1.ExactMatchInput 8743 10, // 1: google.cloud.aiplatform.v1.EvaluateInstancesRequest.bleu_input:type_name -> google.cloud.aiplatform.v1.BleuInput 8744 15, // 2: google.cloud.aiplatform.v1.EvaluateInstancesRequest.rouge_input:type_name -> google.cloud.aiplatform.v1.RougeInput 8745 24, // 3: google.cloud.aiplatform.v1.EvaluateInstancesRequest.fluency_input:type_name -> google.cloud.aiplatform.v1.FluencyInput 8746 20, // 4: google.cloud.aiplatform.v1.EvaluateInstancesRequest.coherence_input:type_name -> google.cloud.aiplatform.v1.CoherenceInput 8747 28, // 5: google.cloud.aiplatform.v1.EvaluateInstancesRequest.safety_input:type_name -> google.cloud.aiplatform.v1.SafetyInput 8748 32, // 6: google.cloud.aiplatform.v1.EvaluateInstancesRequest.groundedness_input:type_name -> google.cloud.aiplatform.v1.GroundednessInput 8749 36, // 7: google.cloud.aiplatform.v1.EvaluateInstancesRequest.fulfillment_input:type_name -> google.cloud.aiplatform.v1.FulfillmentInput 8750 40, // 8: google.cloud.aiplatform.v1.EvaluateInstancesRequest.summarization_quality_input:type_name -> google.cloud.aiplatform.v1.SummarizationQualityInput 8751 44, // 9: google.cloud.aiplatform.v1.EvaluateInstancesRequest.pairwise_summarization_quality_input:type_name -> google.cloud.aiplatform.v1.PairwiseSummarizationQualityInput 8752 48, // 10: google.cloud.aiplatform.v1.EvaluateInstancesRequest.summarization_helpfulness_input:type_name -> google.cloud.aiplatform.v1.SummarizationHelpfulnessInput 8753 52, // 11: google.cloud.aiplatform.v1.EvaluateInstancesRequest.summarization_verbosity_input:type_name -> google.cloud.aiplatform.v1.SummarizationVerbosityInput 8754 56, // 12: google.cloud.aiplatform.v1.EvaluateInstancesRequest.question_answering_quality_input:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringQualityInput 8755 60, // 13: google.cloud.aiplatform.v1.EvaluateInstancesRequest.pairwise_question_answering_quality_input:type_name -> google.cloud.aiplatform.v1.PairwiseQuestionAnsweringQualityInput 8756 64, // 14: google.cloud.aiplatform.v1.EvaluateInstancesRequest.question_answering_relevance_input:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringRelevanceInput 8757 68, // 15: google.cloud.aiplatform.v1.EvaluateInstancesRequest.question_answering_helpfulness_input:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringHelpfulnessInput 8758 72, // 16: google.cloud.aiplatform.v1.EvaluateInstancesRequest.question_answering_correctness_input:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringCorrectnessInput 8759 76, // 17: google.cloud.aiplatform.v1.EvaluateInstancesRequest.pointwise_metric_input:type_name -> google.cloud.aiplatform.v1.PointwiseMetricInput 8760 80, // 18: google.cloud.aiplatform.v1.EvaluateInstancesRequest.pairwise_metric_input:type_name -> google.cloud.aiplatform.v1.PairwiseMetricInput 8761 84, // 19: google.cloud.aiplatform.v1.EvaluateInstancesRequest.tool_call_valid_input:type_name -> google.cloud.aiplatform.v1.ToolCallValidInput 8762 89, // 20: google.cloud.aiplatform.v1.EvaluateInstancesRequest.tool_name_match_input:type_name -> google.cloud.aiplatform.v1.ToolNameMatchInput 8763 94, // 21: google.cloud.aiplatform.v1.EvaluateInstancesRequest.tool_parameter_key_match_input:type_name -> google.cloud.aiplatform.v1.ToolParameterKeyMatchInput 8764 99, // 22: google.cloud.aiplatform.v1.EvaluateInstancesRequest.tool_parameter_kv_match_input:type_name -> google.cloud.aiplatform.v1.ToolParameterKVMatchInput 8765 104, // 23: google.cloud.aiplatform.v1.EvaluateInstancesRequest.comet_input:type_name -> google.cloud.aiplatform.v1.CometInput 8766 108, // 24: google.cloud.aiplatform.v1.EvaluateInstancesRequest.metricx_input:type_name -> google.cloud.aiplatform.v1.MetricxInput 8767 8, // 25: google.cloud.aiplatform.v1.EvaluateInstancesResponse.exact_match_results:type_name -> google.cloud.aiplatform.v1.ExactMatchResults 8768 13, // 26: google.cloud.aiplatform.v1.EvaluateInstancesResponse.bleu_results:type_name -> google.cloud.aiplatform.v1.BleuResults 8769 18, // 27: google.cloud.aiplatform.v1.EvaluateInstancesResponse.rouge_results:type_name -> google.cloud.aiplatform.v1.RougeResults 8770 27, // 28: google.cloud.aiplatform.v1.EvaluateInstancesResponse.fluency_result:type_name -> google.cloud.aiplatform.v1.FluencyResult 8771 23, // 29: google.cloud.aiplatform.v1.EvaluateInstancesResponse.coherence_result:type_name -> google.cloud.aiplatform.v1.CoherenceResult 8772 31, // 30: google.cloud.aiplatform.v1.EvaluateInstancesResponse.safety_result:type_name -> google.cloud.aiplatform.v1.SafetyResult 8773 35, // 31: google.cloud.aiplatform.v1.EvaluateInstancesResponse.groundedness_result:type_name -> google.cloud.aiplatform.v1.GroundednessResult 8774 39, // 32: google.cloud.aiplatform.v1.EvaluateInstancesResponse.fulfillment_result:type_name -> google.cloud.aiplatform.v1.FulfillmentResult 8775 43, // 33: google.cloud.aiplatform.v1.EvaluateInstancesResponse.summarization_quality_result:type_name -> google.cloud.aiplatform.v1.SummarizationQualityResult 8776 47, // 34: google.cloud.aiplatform.v1.EvaluateInstancesResponse.pairwise_summarization_quality_result:type_name -> google.cloud.aiplatform.v1.PairwiseSummarizationQualityResult 8777 51, // 35: google.cloud.aiplatform.v1.EvaluateInstancesResponse.summarization_helpfulness_result:type_name -> google.cloud.aiplatform.v1.SummarizationHelpfulnessResult 8778 55, // 36: google.cloud.aiplatform.v1.EvaluateInstancesResponse.summarization_verbosity_result:type_name -> google.cloud.aiplatform.v1.SummarizationVerbosityResult 8779 59, // 37: google.cloud.aiplatform.v1.EvaluateInstancesResponse.question_answering_quality_result:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringQualityResult 8780 63, // 38: google.cloud.aiplatform.v1.EvaluateInstancesResponse.pairwise_question_answering_quality_result:type_name -> google.cloud.aiplatform.v1.PairwiseQuestionAnsweringQualityResult 8781 67, // 39: google.cloud.aiplatform.v1.EvaluateInstancesResponse.question_answering_relevance_result:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringRelevanceResult 8782 71, // 40: google.cloud.aiplatform.v1.EvaluateInstancesResponse.question_answering_helpfulness_result:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringHelpfulnessResult 8783 75, // 41: google.cloud.aiplatform.v1.EvaluateInstancesResponse.question_answering_correctness_result:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringCorrectnessResult 8784 79, // 42: google.cloud.aiplatform.v1.EvaluateInstancesResponse.pointwise_metric_result:type_name -> google.cloud.aiplatform.v1.PointwiseMetricResult 8785 83, // 43: google.cloud.aiplatform.v1.EvaluateInstancesResponse.pairwise_metric_result:type_name -> google.cloud.aiplatform.v1.PairwiseMetricResult 8786 87, // 44: google.cloud.aiplatform.v1.EvaluateInstancesResponse.tool_call_valid_results:type_name -> google.cloud.aiplatform.v1.ToolCallValidResults 8787 92, // 45: google.cloud.aiplatform.v1.EvaluateInstancesResponse.tool_name_match_results:type_name -> google.cloud.aiplatform.v1.ToolNameMatchResults 8788 97, // 46: google.cloud.aiplatform.v1.EvaluateInstancesResponse.tool_parameter_key_match_results:type_name -> google.cloud.aiplatform.v1.ToolParameterKeyMatchResults 8789 102, // 47: google.cloud.aiplatform.v1.EvaluateInstancesResponse.tool_parameter_kv_match_results:type_name -> google.cloud.aiplatform.v1.ToolParameterKVMatchResults 8790 107, // 48: google.cloud.aiplatform.v1.EvaluateInstancesResponse.comet_result:type_name -> google.cloud.aiplatform.v1.CometResult 8791 111, // 49: google.cloud.aiplatform.v1.EvaluateInstancesResponse.metricx_result:type_name -> google.cloud.aiplatform.v1.MetricxResult 8792 7, // 50: google.cloud.aiplatform.v1.ExactMatchInput.metric_spec:type_name -> google.cloud.aiplatform.v1.ExactMatchSpec 8793 6, // 51: google.cloud.aiplatform.v1.ExactMatchInput.instances:type_name -> google.cloud.aiplatform.v1.ExactMatchInstance 8794 9, // 52: google.cloud.aiplatform.v1.ExactMatchResults.exact_match_metric_values:type_name -> google.cloud.aiplatform.v1.ExactMatchMetricValue 8795 12, // 53: google.cloud.aiplatform.v1.BleuInput.metric_spec:type_name -> google.cloud.aiplatform.v1.BleuSpec 8796 11, // 54: google.cloud.aiplatform.v1.BleuInput.instances:type_name -> google.cloud.aiplatform.v1.BleuInstance 8797 14, // 55: google.cloud.aiplatform.v1.BleuResults.bleu_metric_values:type_name -> google.cloud.aiplatform.v1.BleuMetricValue 8798 17, // 56: google.cloud.aiplatform.v1.RougeInput.metric_spec:type_name -> google.cloud.aiplatform.v1.RougeSpec 8799 16, // 57: google.cloud.aiplatform.v1.RougeInput.instances:type_name -> google.cloud.aiplatform.v1.RougeInstance 8800 19, // 58: google.cloud.aiplatform.v1.RougeResults.rouge_metric_values:type_name -> google.cloud.aiplatform.v1.RougeMetricValue 8801 22, // 59: google.cloud.aiplatform.v1.CoherenceInput.metric_spec:type_name -> google.cloud.aiplatform.v1.CoherenceSpec 8802 21, // 60: google.cloud.aiplatform.v1.CoherenceInput.instance:type_name -> google.cloud.aiplatform.v1.CoherenceInstance 8803 26, // 61: google.cloud.aiplatform.v1.FluencyInput.metric_spec:type_name -> google.cloud.aiplatform.v1.FluencySpec 8804 25, // 62: google.cloud.aiplatform.v1.FluencyInput.instance:type_name -> google.cloud.aiplatform.v1.FluencyInstance 8805 30, // 63: google.cloud.aiplatform.v1.SafetyInput.metric_spec:type_name -> google.cloud.aiplatform.v1.SafetySpec 8806 29, // 64: google.cloud.aiplatform.v1.SafetyInput.instance:type_name -> google.cloud.aiplatform.v1.SafetyInstance 8807 34, // 65: google.cloud.aiplatform.v1.GroundednessInput.metric_spec:type_name -> google.cloud.aiplatform.v1.GroundednessSpec 8808 33, // 66: google.cloud.aiplatform.v1.GroundednessInput.instance:type_name -> google.cloud.aiplatform.v1.GroundednessInstance 8809 38, // 67: google.cloud.aiplatform.v1.FulfillmentInput.metric_spec:type_name -> google.cloud.aiplatform.v1.FulfillmentSpec 8810 37, // 68: google.cloud.aiplatform.v1.FulfillmentInput.instance:type_name -> google.cloud.aiplatform.v1.FulfillmentInstance 8811 42, // 69: google.cloud.aiplatform.v1.SummarizationQualityInput.metric_spec:type_name -> google.cloud.aiplatform.v1.SummarizationQualitySpec 8812 41, // 70: google.cloud.aiplatform.v1.SummarizationQualityInput.instance:type_name -> google.cloud.aiplatform.v1.SummarizationQualityInstance 8813 46, // 71: google.cloud.aiplatform.v1.PairwiseSummarizationQualityInput.metric_spec:type_name -> google.cloud.aiplatform.v1.PairwiseSummarizationQualitySpec 8814 45, // 72: google.cloud.aiplatform.v1.PairwiseSummarizationQualityInput.instance:type_name -> google.cloud.aiplatform.v1.PairwiseSummarizationQualityInstance 8815 0, // 73: google.cloud.aiplatform.v1.PairwiseSummarizationQualityResult.pairwise_choice:type_name -> google.cloud.aiplatform.v1.PairwiseChoice 8816 50, // 74: google.cloud.aiplatform.v1.SummarizationHelpfulnessInput.metric_spec:type_name -> google.cloud.aiplatform.v1.SummarizationHelpfulnessSpec 8817 49, // 75: google.cloud.aiplatform.v1.SummarizationHelpfulnessInput.instance:type_name -> google.cloud.aiplatform.v1.SummarizationHelpfulnessInstance 8818 54, // 76: google.cloud.aiplatform.v1.SummarizationVerbosityInput.metric_spec:type_name -> google.cloud.aiplatform.v1.SummarizationVerbositySpec 8819 53, // 77: google.cloud.aiplatform.v1.SummarizationVerbosityInput.instance:type_name -> google.cloud.aiplatform.v1.SummarizationVerbosityInstance 8820 58, // 78: google.cloud.aiplatform.v1.QuestionAnsweringQualityInput.metric_spec:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringQualitySpec 8821 57, // 79: google.cloud.aiplatform.v1.QuestionAnsweringQualityInput.instance:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringQualityInstance 8822 62, // 80: google.cloud.aiplatform.v1.PairwiseQuestionAnsweringQualityInput.metric_spec:type_name -> google.cloud.aiplatform.v1.PairwiseQuestionAnsweringQualitySpec 8823 61, // 81: google.cloud.aiplatform.v1.PairwiseQuestionAnsweringQualityInput.instance:type_name -> google.cloud.aiplatform.v1.PairwiseQuestionAnsweringQualityInstance 8824 0, // 82: google.cloud.aiplatform.v1.PairwiseQuestionAnsweringQualityResult.pairwise_choice:type_name -> google.cloud.aiplatform.v1.PairwiseChoice 8825 66, // 83: google.cloud.aiplatform.v1.QuestionAnsweringRelevanceInput.metric_spec:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringRelevanceSpec 8826 65, // 84: google.cloud.aiplatform.v1.QuestionAnsweringRelevanceInput.instance:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringRelevanceInstance 8827 70, // 85: google.cloud.aiplatform.v1.QuestionAnsweringHelpfulnessInput.metric_spec:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringHelpfulnessSpec 8828 69, // 86: google.cloud.aiplatform.v1.QuestionAnsweringHelpfulnessInput.instance:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringHelpfulnessInstance 8829 74, // 87: google.cloud.aiplatform.v1.QuestionAnsweringCorrectnessInput.metric_spec:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringCorrectnessSpec 8830 73, // 88: google.cloud.aiplatform.v1.QuestionAnsweringCorrectnessInput.instance:type_name -> google.cloud.aiplatform.v1.QuestionAnsweringCorrectnessInstance 8831 78, // 89: google.cloud.aiplatform.v1.PointwiseMetricInput.metric_spec:type_name -> google.cloud.aiplatform.v1.PointwiseMetricSpec 8832 77, // 90: google.cloud.aiplatform.v1.PointwiseMetricInput.instance:type_name -> google.cloud.aiplatform.v1.PointwiseMetricInstance 8833 82, // 91: google.cloud.aiplatform.v1.PairwiseMetricInput.metric_spec:type_name -> google.cloud.aiplatform.v1.PairwiseMetricSpec 8834 81, // 92: google.cloud.aiplatform.v1.PairwiseMetricInput.instance:type_name -> google.cloud.aiplatform.v1.PairwiseMetricInstance 8835 0, // 93: google.cloud.aiplatform.v1.PairwiseMetricResult.pairwise_choice:type_name -> google.cloud.aiplatform.v1.PairwiseChoice 8836 85, // 94: google.cloud.aiplatform.v1.ToolCallValidInput.metric_spec:type_name -> google.cloud.aiplatform.v1.ToolCallValidSpec 8837 86, // 95: google.cloud.aiplatform.v1.ToolCallValidInput.instances:type_name -> google.cloud.aiplatform.v1.ToolCallValidInstance 8838 88, // 96: google.cloud.aiplatform.v1.ToolCallValidResults.tool_call_valid_metric_values:type_name -> google.cloud.aiplatform.v1.ToolCallValidMetricValue 8839 90, // 97: google.cloud.aiplatform.v1.ToolNameMatchInput.metric_spec:type_name -> google.cloud.aiplatform.v1.ToolNameMatchSpec 8840 91, // 98: google.cloud.aiplatform.v1.ToolNameMatchInput.instances:type_name -> google.cloud.aiplatform.v1.ToolNameMatchInstance 8841 93, // 99: google.cloud.aiplatform.v1.ToolNameMatchResults.tool_name_match_metric_values:type_name -> google.cloud.aiplatform.v1.ToolNameMatchMetricValue 8842 95, // 100: google.cloud.aiplatform.v1.ToolParameterKeyMatchInput.metric_spec:type_name -> google.cloud.aiplatform.v1.ToolParameterKeyMatchSpec 8843 96, // 101: google.cloud.aiplatform.v1.ToolParameterKeyMatchInput.instances:type_name -> google.cloud.aiplatform.v1.ToolParameterKeyMatchInstance 8844 98, // 102: google.cloud.aiplatform.v1.ToolParameterKeyMatchResults.tool_parameter_key_match_metric_values:type_name -> google.cloud.aiplatform.v1.ToolParameterKeyMatchMetricValue 8845 100, // 103: google.cloud.aiplatform.v1.ToolParameterKVMatchInput.metric_spec:type_name -> google.cloud.aiplatform.v1.ToolParameterKVMatchSpec 8846 101, // 104: google.cloud.aiplatform.v1.ToolParameterKVMatchInput.instances:type_name -> google.cloud.aiplatform.v1.ToolParameterKVMatchInstance 8847 103, // 105: google.cloud.aiplatform.v1.ToolParameterKVMatchResults.tool_parameter_kv_match_metric_values:type_name -> google.cloud.aiplatform.v1.ToolParameterKVMatchMetricValue 8848 105, // 106: google.cloud.aiplatform.v1.CometInput.metric_spec:type_name -> google.cloud.aiplatform.v1.CometSpec 8849 106, // 107: google.cloud.aiplatform.v1.CometInput.instance:type_name -> google.cloud.aiplatform.v1.CometInstance 8850 1, // 108: google.cloud.aiplatform.v1.CometSpec.version:type_name -> google.cloud.aiplatform.v1.CometSpec.CometVersion 8851 109, // 109: google.cloud.aiplatform.v1.MetricxInput.metric_spec:type_name -> google.cloud.aiplatform.v1.MetricxSpec 8852 110, // 110: google.cloud.aiplatform.v1.MetricxInput.instance:type_name -> google.cloud.aiplatform.v1.MetricxInstance 8853 2, // 111: google.cloud.aiplatform.v1.MetricxSpec.version:type_name -> google.cloud.aiplatform.v1.MetricxSpec.MetricxVersion 8854 3, // 112: google.cloud.aiplatform.v1.EvaluationService.EvaluateInstances:input_type -> google.cloud.aiplatform.v1.EvaluateInstancesRequest 8855 4, // 113: google.cloud.aiplatform.v1.EvaluationService.EvaluateInstances:output_type -> google.cloud.aiplatform.v1.EvaluateInstancesResponse 8856 113, // [113:114] is the sub-list for method output_type 8857 112, // [112:113] is the sub-list for method input_type 8858 112, // [112:112] is the sub-list for extension type_name 8859 112, // [112:112] is the sub-list for extension extendee 8860 0, // [0:112] is the sub-list for field type_name 8861 } 8862 8863 func init() { file_google_cloud_aiplatform_v1_evaluation_service_proto_init() } 8864 func file_google_cloud_aiplatform_v1_evaluation_service_proto_init() { 8865 if File_google_cloud_aiplatform_v1_evaluation_service_proto != nil { 8866 return 8867 } 8868 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[0].OneofWrappers = []any{ 8869 (*EvaluateInstancesRequest_ExactMatchInput)(nil), 8870 (*EvaluateInstancesRequest_BleuInput)(nil), 8871 (*EvaluateInstancesRequest_RougeInput)(nil), 8872 (*EvaluateInstancesRequest_FluencyInput)(nil), 8873 (*EvaluateInstancesRequest_CoherenceInput)(nil), 8874 (*EvaluateInstancesRequest_SafetyInput)(nil), 8875 (*EvaluateInstancesRequest_GroundednessInput)(nil), 8876 (*EvaluateInstancesRequest_FulfillmentInput)(nil), 8877 (*EvaluateInstancesRequest_SummarizationQualityInput)(nil), 8878 (*EvaluateInstancesRequest_PairwiseSummarizationQualityInput)(nil), 8879 (*EvaluateInstancesRequest_SummarizationHelpfulnessInput)(nil), 8880 (*EvaluateInstancesRequest_SummarizationVerbosityInput)(nil), 8881 (*EvaluateInstancesRequest_QuestionAnsweringQualityInput)(nil), 8882 (*EvaluateInstancesRequest_PairwiseQuestionAnsweringQualityInput)(nil), 8883 (*EvaluateInstancesRequest_QuestionAnsweringRelevanceInput)(nil), 8884 (*EvaluateInstancesRequest_QuestionAnsweringHelpfulnessInput)(nil), 8885 (*EvaluateInstancesRequest_QuestionAnsweringCorrectnessInput)(nil), 8886 (*EvaluateInstancesRequest_PointwiseMetricInput)(nil), 8887 (*EvaluateInstancesRequest_PairwiseMetricInput)(nil), 8888 (*EvaluateInstancesRequest_ToolCallValidInput)(nil), 8889 (*EvaluateInstancesRequest_ToolNameMatchInput)(nil), 8890 (*EvaluateInstancesRequest_ToolParameterKeyMatchInput)(nil), 8891 (*EvaluateInstancesRequest_ToolParameterKvMatchInput)(nil), 8892 (*EvaluateInstancesRequest_CometInput)(nil), 8893 (*EvaluateInstancesRequest_MetricxInput)(nil), 8894 } 8895 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[1].OneofWrappers = []any{ 8896 (*EvaluateInstancesResponse_ExactMatchResults)(nil), 8897 (*EvaluateInstancesResponse_BleuResults)(nil), 8898 (*EvaluateInstancesResponse_RougeResults)(nil), 8899 (*EvaluateInstancesResponse_FluencyResult)(nil), 8900 (*EvaluateInstancesResponse_CoherenceResult)(nil), 8901 (*EvaluateInstancesResponse_SafetyResult)(nil), 8902 (*EvaluateInstancesResponse_GroundednessResult)(nil), 8903 (*EvaluateInstancesResponse_FulfillmentResult)(nil), 8904 (*EvaluateInstancesResponse_SummarizationQualityResult)(nil), 8905 (*EvaluateInstancesResponse_PairwiseSummarizationQualityResult)(nil), 8906 (*EvaluateInstancesResponse_SummarizationHelpfulnessResult)(nil), 8907 (*EvaluateInstancesResponse_SummarizationVerbosityResult)(nil), 8908 (*EvaluateInstancesResponse_QuestionAnsweringQualityResult)(nil), 8909 (*EvaluateInstancesResponse_PairwiseQuestionAnsweringQualityResult)(nil), 8910 (*EvaluateInstancesResponse_QuestionAnsweringRelevanceResult)(nil), 8911 (*EvaluateInstancesResponse_QuestionAnsweringHelpfulnessResult)(nil), 8912 (*EvaluateInstancesResponse_QuestionAnsweringCorrectnessResult)(nil), 8913 (*EvaluateInstancesResponse_PointwiseMetricResult)(nil), 8914 (*EvaluateInstancesResponse_PairwiseMetricResult)(nil), 8915 (*EvaluateInstancesResponse_ToolCallValidResults)(nil), 8916 (*EvaluateInstancesResponse_ToolNameMatchResults)(nil), 8917 (*EvaluateInstancesResponse_ToolParameterKeyMatchResults)(nil), 8918 (*EvaluateInstancesResponse_ToolParameterKvMatchResults)(nil), 8919 (*EvaluateInstancesResponse_CometResult)(nil), 8920 (*EvaluateInstancesResponse_MetricxResult)(nil), 8921 } 8922 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[3].OneofWrappers = []any{} 8923 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[6].OneofWrappers = []any{} 8924 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[8].OneofWrappers = []any{} 8925 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[11].OneofWrappers = []any{} 8926 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[13].OneofWrappers = []any{} 8927 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[16].OneofWrappers = []any{} 8928 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[18].OneofWrappers = []any{} 8929 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[20].OneofWrappers = []any{} 8930 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[22].OneofWrappers = []any{} 8931 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[24].OneofWrappers = []any{} 8932 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[26].OneofWrappers = []any{} 8933 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[28].OneofWrappers = []any{} 8934 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[30].OneofWrappers = []any{} 8935 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[32].OneofWrappers = []any{} 8936 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[34].OneofWrappers = []any{} 8937 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[36].OneofWrappers = []any{} 8938 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[38].OneofWrappers = []any{} 8939 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[40].OneofWrappers = []any{} 8940 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[42].OneofWrappers = []any{} 8941 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[44].OneofWrappers = []any{} 8942 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[46].OneofWrappers = []any{} 8943 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[48].OneofWrappers = []any{} 8944 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[50].OneofWrappers = []any{} 8945 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[52].OneofWrappers = []any{} 8946 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[54].OneofWrappers = []any{} 8947 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[56].OneofWrappers = []any{} 8948 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[58].OneofWrappers = []any{} 8949 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[60].OneofWrappers = []any{} 8950 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[62].OneofWrappers = []any{} 8951 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[64].OneofWrappers = []any{} 8952 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[66].OneofWrappers = []any{} 8953 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[68].OneofWrappers = []any{} 8954 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[70].OneofWrappers = []any{} 8955 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[72].OneofWrappers = []any{} 8956 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[74].OneofWrappers = []any{ 8957 (*PointwiseMetricInstance_JsonInstance)(nil), 8958 } 8959 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[75].OneofWrappers = []any{} 8960 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[76].OneofWrappers = []any{} 8961 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[78].OneofWrappers = []any{ 8962 (*PairwiseMetricInstance_JsonInstance)(nil), 8963 } 8964 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[79].OneofWrappers = []any{} 8965 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[83].OneofWrappers = []any{} 8966 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[85].OneofWrappers = []any{} 8967 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[88].OneofWrappers = []any{} 8968 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[90].OneofWrappers = []any{} 8969 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[93].OneofWrappers = []any{} 8970 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[95].OneofWrappers = []any{} 8971 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[98].OneofWrappers = []any{} 8972 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[100].OneofWrappers = []any{} 8973 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[102].OneofWrappers = []any{} 8974 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[103].OneofWrappers = []any{} 8975 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[104].OneofWrappers = []any{} 8976 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[106].OneofWrappers = []any{} 8977 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[107].OneofWrappers = []any{} 8978 file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes[108].OneofWrappers = []any{} 8979 type x struct{} 8980 out := protoimpl.TypeBuilder{ 8981 File: protoimpl.DescBuilder{ 8982 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 8983 RawDescriptor: file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDesc, 8984 NumEnums: 3, 8985 NumMessages: 109, 8986 NumExtensions: 0, 8987 NumServices: 1, 8988 }, 8989 GoTypes: file_google_cloud_aiplatform_v1_evaluation_service_proto_goTypes, 8990 DependencyIndexes: file_google_cloud_aiplatform_v1_evaluation_service_proto_depIdxs, 8991 EnumInfos: file_google_cloud_aiplatform_v1_evaluation_service_proto_enumTypes, 8992 MessageInfos: file_google_cloud_aiplatform_v1_evaluation_service_proto_msgTypes, 8993 }.Build() 8994 File_google_cloud_aiplatform_v1_evaluation_service_proto = out.File 8995 file_google_cloud_aiplatform_v1_evaluation_service_proto_rawDesc = nil 8996 file_google_cloud_aiplatform_v1_evaluation_service_proto_goTypes = nil 8997 file_google_cloud_aiplatform_v1_evaluation_service_proto_depIdxs = nil 8998 }