cloud.google.com/go/aiplatform@v1.106.0/apiv1beta1/aiplatformpb/metadata_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/v1beta1/metadata_service.proto 20 21 package aiplatformpb 22 23 import ( 24 longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" 25 _ "google.golang.org/genproto/googleapis/api/annotations" 26 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 27 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 28 _ "google.golang.org/protobuf/types/known/emptypb" 29 fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 30 reflect "reflect" 31 sync "sync" 32 ) 33 34 const ( 35 // Verify that this generated code is sufficiently up-to-date. 36 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 37 // Verify that runtime/protoimpl is sufficiently up-to-date. 38 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 39 ) 40 41 // Request message for 42 // [MetadataService.CreateMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataStore]. 43 type CreateMetadataStoreRequest struct { 44 state protoimpl.MessageState 45 sizeCache protoimpl.SizeCache 46 unknownFields protoimpl.UnknownFields 47 48 // Required. The resource name of the Location where the MetadataStore should 49 // be created. 50 // Format: `projects/{project}/locations/{location}/` 51 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 52 // Required. The MetadataStore to create. 53 MetadataStore *MetadataStore `protobuf:"bytes,2,opt,name=metadata_store,json=metadataStore,proto3" json:"metadata_store,omitempty"` 54 // The {metadatastore} portion of the resource name with the format: 55 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` 56 // If not provided, the MetadataStore's ID will be a UUID generated by the 57 // service. 58 // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`. 59 // Must be unique across all MetadataStores in the parent Location. 60 // (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED 61 // if the caller can't view the preexisting MetadataStore.) 62 MetadataStoreId string `protobuf:"bytes,3,opt,name=metadata_store_id,json=metadataStoreId,proto3" json:"metadata_store_id,omitempty"` 63 } 64 65 func (x *CreateMetadataStoreRequest) Reset() { 66 *x = CreateMetadataStoreRequest{} 67 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[0] 68 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 69 ms.StoreMessageInfo(mi) 70 } 71 72 func (x *CreateMetadataStoreRequest) String() string { 73 return protoimpl.X.MessageStringOf(x) 74 } 75 76 func (*CreateMetadataStoreRequest) ProtoMessage() {} 77 78 func (x *CreateMetadataStoreRequest) ProtoReflect() protoreflect.Message { 79 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[0] 80 if x != nil { 81 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 82 if ms.LoadMessageInfo() == nil { 83 ms.StoreMessageInfo(mi) 84 } 85 return ms 86 } 87 return mi.MessageOf(x) 88 } 89 90 // Deprecated: Use CreateMetadataStoreRequest.ProtoReflect.Descriptor instead. 91 func (*CreateMetadataStoreRequest) Descriptor() ([]byte, []int) { 92 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{0} 93 } 94 95 func (x *CreateMetadataStoreRequest) GetParent() string { 96 if x != nil { 97 return x.Parent 98 } 99 return "" 100 } 101 102 func (x *CreateMetadataStoreRequest) GetMetadataStore() *MetadataStore { 103 if x != nil { 104 return x.MetadataStore 105 } 106 return nil 107 } 108 109 func (x *CreateMetadataStoreRequest) GetMetadataStoreId() string { 110 if x != nil { 111 return x.MetadataStoreId 112 } 113 return "" 114 } 115 116 // Details of operations that perform 117 // [MetadataService.CreateMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataStore]. 118 type CreateMetadataStoreOperationMetadata struct { 119 state protoimpl.MessageState 120 sizeCache protoimpl.SizeCache 121 unknownFields protoimpl.UnknownFields 122 123 // Operation metadata for creating a MetadataStore. 124 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 125 } 126 127 func (x *CreateMetadataStoreOperationMetadata) Reset() { 128 *x = CreateMetadataStoreOperationMetadata{} 129 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[1] 130 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 131 ms.StoreMessageInfo(mi) 132 } 133 134 func (x *CreateMetadataStoreOperationMetadata) String() string { 135 return protoimpl.X.MessageStringOf(x) 136 } 137 138 func (*CreateMetadataStoreOperationMetadata) ProtoMessage() {} 139 140 func (x *CreateMetadataStoreOperationMetadata) ProtoReflect() protoreflect.Message { 141 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[1] 142 if x != nil { 143 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 144 if ms.LoadMessageInfo() == nil { 145 ms.StoreMessageInfo(mi) 146 } 147 return ms 148 } 149 return mi.MessageOf(x) 150 } 151 152 // Deprecated: Use CreateMetadataStoreOperationMetadata.ProtoReflect.Descriptor instead. 153 func (*CreateMetadataStoreOperationMetadata) Descriptor() ([]byte, []int) { 154 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{1} 155 } 156 157 func (x *CreateMetadataStoreOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { 158 if x != nil { 159 return x.GenericMetadata 160 } 161 return nil 162 } 163 164 // Request message for 165 // [MetadataService.GetMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataStore]. 166 type GetMetadataStoreRequest struct { 167 state protoimpl.MessageState 168 sizeCache protoimpl.SizeCache 169 unknownFields protoimpl.UnknownFields 170 171 // Required. The resource name of the MetadataStore to retrieve. 172 // Format: 173 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` 174 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 175 } 176 177 func (x *GetMetadataStoreRequest) Reset() { 178 *x = GetMetadataStoreRequest{} 179 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[2] 180 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 181 ms.StoreMessageInfo(mi) 182 } 183 184 func (x *GetMetadataStoreRequest) String() string { 185 return protoimpl.X.MessageStringOf(x) 186 } 187 188 func (*GetMetadataStoreRequest) ProtoMessage() {} 189 190 func (x *GetMetadataStoreRequest) ProtoReflect() protoreflect.Message { 191 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[2] 192 if x != nil { 193 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 194 if ms.LoadMessageInfo() == nil { 195 ms.StoreMessageInfo(mi) 196 } 197 return ms 198 } 199 return mi.MessageOf(x) 200 } 201 202 // Deprecated: Use GetMetadataStoreRequest.ProtoReflect.Descriptor instead. 203 func (*GetMetadataStoreRequest) Descriptor() ([]byte, []int) { 204 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{2} 205 } 206 207 func (x *GetMetadataStoreRequest) GetName() string { 208 if x != nil { 209 return x.Name 210 } 211 return "" 212 } 213 214 // Request message for 215 // [MetadataService.ListMetadataStores][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores]. 216 type ListMetadataStoresRequest struct { 217 state protoimpl.MessageState 218 sizeCache protoimpl.SizeCache 219 unknownFields protoimpl.UnknownFields 220 221 // Required. The Location whose MetadataStores should be listed. 222 // Format: 223 // `projects/{project}/locations/{location}` 224 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 225 // The maximum number of Metadata Stores to return. The service may return 226 // fewer. 227 // Must be in range 1-1000, inclusive. Defaults to 100. 228 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 229 // A page token, received from a previous 230 // [MetadataService.ListMetadataStores][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores] 231 // call. Provide this to retrieve the subsequent page. 232 // 233 // When paginating, all other provided parameters must match the call that 234 // provided the page token. (Otherwise the request will fail with 235 // INVALID_ARGUMENT error.) 236 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 237 } 238 239 func (x *ListMetadataStoresRequest) Reset() { 240 *x = ListMetadataStoresRequest{} 241 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[3] 242 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 243 ms.StoreMessageInfo(mi) 244 } 245 246 func (x *ListMetadataStoresRequest) String() string { 247 return protoimpl.X.MessageStringOf(x) 248 } 249 250 func (*ListMetadataStoresRequest) ProtoMessage() {} 251 252 func (x *ListMetadataStoresRequest) ProtoReflect() protoreflect.Message { 253 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[3] 254 if x != nil { 255 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 256 if ms.LoadMessageInfo() == nil { 257 ms.StoreMessageInfo(mi) 258 } 259 return ms 260 } 261 return mi.MessageOf(x) 262 } 263 264 // Deprecated: Use ListMetadataStoresRequest.ProtoReflect.Descriptor instead. 265 func (*ListMetadataStoresRequest) Descriptor() ([]byte, []int) { 266 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{3} 267 } 268 269 func (x *ListMetadataStoresRequest) GetParent() string { 270 if x != nil { 271 return x.Parent 272 } 273 return "" 274 } 275 276 func (x *ListMetadataStoresRequest) GetPageSize() int32 { 277 if x != nil { 278 return x.PageSize 279 } 280 return 0 281 } 282 283 func (x *ListMetadataStoresRequest) GetPageToken() string { 284 if x != nil { 285 return x.PageToken 286 } 287 return "" 288 } 289 290 // Response message for 291 // [MetadataService.ListMetadataStores][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores]. 292 type ListMetadataStoresResponse struct { 293 state protoimpl.MessageState 294 sizeCache protoimpl.SizeCache 295 unknownFields protoimpl.UnknownFields 296 297 // The MetadataStores found for the Location. 298 MetadataStores []*MetadataStore `protobuf:"bytes,1,rep,name=metadata_stores,json=metadataStores,proto3" json:"metadata_stores,omitempty"` 299 // A token, which can be sent as 300 // [ListMetadataStoresRequest.page_token][google.cloud.aiplatform.v1beta1.ListMetadataStoresRequest.page_token] 301 // to retrieve the next page. If this field is not populated, there are no 302 // subsequent pages. 303 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 304 } 305 306 func (x *ListMetadataStoresResponse) Reset() { 307 *x = ListMetadataStoresResponse{} 308 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[4] 309 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 310 ms.StoreMessageInfo(mi) 311 } 312 313 func (x *ListMetadataStoresResponse) String() string { 314 return protoimpl.X.MessageStringOf(x) 315 } 316 317 func (*ListMetadataStoresResponse) ProtoMessage() {} 318 319 func (x *ListMetadataStoresResponse) ProtoReflect() protoreflect.Message { 320 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[4] 321 if x != nil { 322 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 323 if ms.LoadMessageInfo() == nil { 324 ms.StoreMessageInfo(mi) 325 } 326 return ms 327 } 328 return mi.MessageOf(x) 329 } 330 331 // Deprecated: Use ListMetadataStoresResponse.ProtoReflect.Descriptor instead. 332 func (*ListMetadataStoresResponse) Descriptor() ([]byte, []int) { 333 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{4} 334 } 335 336 func (x *ListMetadataStoresResponse) GetMetadataStores() []*MetadataStore { 337 if x != nil { 338 return x.MetadataStores 339 } 340 return nil 341 } 342 343 func (x *ListMetadataStoresResponse) GetNextPageToken() string { 344 if x != nil { 345 return x.NextPageToken 346 } 347 return "" 348 } 349 350 // Request message for 351 // [MetadataService.DeleteMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.DeleteMetadataStore]. 352 type DeleteMetadataStoreRequest struct { 353 state protoimpl.MessageState 354 sizeCache protoimpl.SizeCache 355 unknownFields protoimpl.UnknownFields 356 357 // Required. The resource name of the MetadataStore to delete. 358 // Format: 359 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` 360 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 361 // Deprecated: Field is no longer supported. 362 // 363 // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/metadata_service.proto. 364 Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` 365 } 366 367 func (x *DeleteMetadataStoreRequest) Reset() { 368 *x = DeleteMetadataStoreRequest{} 369 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[5] 370 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 371 ms.StoreMessageInfo(mi) 372 } 373 374 func (x *DeleteMetadataStoreRequest) String() string { 375 return protoimpl.X.MessageStringOf(x) 376 } 377 378 func (*DeleteMetadataStoreRequest) ProtoMessage() {} 379 380 func (x *DeleteMetadataStoreRequest) ProtoReflect() protoreflect.Message { 381 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[5] 382 if x != nil { 383 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 384 if ms.LoadMessageInfo() == nil { 385 ms.StoreMessageInfo(mi) 386 } 387 return ms 388 } 389 return mi.MessageOf(x) 390 } 391 392 // Deprecated: Use DeleteMetadataStoreRequest.ProtoReflect.Descriptor instead. 393 func (*DeleteMetadataStoreRequest) Descriptor() ([]byte, []int) { 394 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{5} 395 } 396 397 func (x *DeleteMetadataStoreRequest) GetName() string { 398 if x != nil { 399 return x.Name 400 } 401 return "" 402 } 403 404 // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/metadata_service.proto. 405 func (x *DeleteMetadataStoreRequest) GetForce() bool { 406 if x != nil { 407 return x.Force 408 } 409 return false 410 } 411 412 // Details of operations that perform 413 // [MetadataService.DeleteMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.DeleteMetadataStore]. 414 type DeleteMetadataStoreOperationMetadata struct { 415 state protoimpl.MessageState 416 sizeCache protoimpl.SizeCache 417 unknownFields protoimpl.UnknownFields 418 419 // Operation metadata for deleting a MetadataStore. 420 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 421 } 422 423 func (x *DeleteMetadataStoreOperationMetadata) Reset() { 424 *x = DeleteMetadataStoreOperationMetadata{} 425 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[6] 426 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 427 ms.StoreMessageInfo(mi) 428 } 429 430 func (x *DeleteMetadataStoreOperationMetadata) String() string { 431 return protoimpl.X.MessageStringOf(x) 432 } 433 434 func (*DeleteMetadataStoreOperationMetadata) ProtoMessage() {} 435 436 func (x *DeleteMetadataStoreOperationMetadata) ProtoReflect() protoreflect.Message { 437 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[6] 438 if x != nil { 439 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 440 if ms.LoadMessageInfo() == nil { 441 ms.StoreMessageInfo(mi) 442 } 443 return ms 444 } 445 return mi.MessageOf(x) 446 } 447 448 // Deprecated: Use DeleteMetadataStoreOperationMetadata.ProtoReflect.Descriptor instead. 449 func (*DeleteMetadataStoreOperationMetadata) Descriptor() ([]byte, []int) { 450 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{6} 451 } 452 453 func (x *DeleteMetadataStoreOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { 454 if x != nil { 455 return x.GenericMetadata 456 } 457 return nil 458 } 459 460 // Request message for 461 // [MetadataService.CreateArtifact][google.cloud.aiplatform.v1beta1.MetadataService.CreateArtifact]. 462 type CreateArtifactRequest struct { 463 state protoimpl.MessageState 464 sizeCache protoimpl.SizeCache 465 unknownFields protoimpl.UnknownFields 466 467 // Required. The resource name of the MetadataStore where the Artifact should 468 // be created. 469 // Format: 470 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` 471 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 472 // Required. The Artifact to create. 473 Artifact *Artifact `protobuf:"bytes,2,opt,name=artifact,proto3" json:"artifact,omitempty"` 474 // The {artifact} portion of the resource name with the format: 475 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` 476 // If not provided, the Artifact's ID will be a UUID generated by the service. 477 // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`. 478 // Must be unique across all Artifacts in the parent MetadataStore. (Otherwise 479 // the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the 480 // caller can't view the preexisting Artifact.) 481 ArtifactId string `protobuf:"bytes,3,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"` 482 } 483 484 func (x *CreateArtifactRequest) Reset() { 485 *x = CreateArtifactRequest{} 486 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[7] 487 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 488 ms.StoreMessageInfo(mi) 489 } 490 491 func (x *CreateArtifactRequest) String() string { 492 return protoimpl.X.MessageStringOf(x) 493 } 494 495 func (*CreateArtifactRequest) ProtoMessage() {} 496 497 func (x *CreateArtifactRequest) ProtoReflect() protoreflect.Message { 498 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[7] 499 if x != nil { 500 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 501 if ms.LoadMessageInfo() == nil { 502 ms.StoreMessageInfo(mi) 503 } 504 return ms 505 } 506 return mi.MessageOf(x) 507 } 508 509 // Deprecated: Use CreateArtifactRequest.ProtoReflect.Descriptor instead. 510 func (*CreateArtifactRequest) Descriptor() ([]byte, []int) { 511 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{7} 512 } 513 514 func (x *CreateArtifactRequest) GetParent() string { 515 if x != nil { 516 return x.Parent 517 } 518 return "" 519 } 520 521 func (x *CreateArtifactRequest) GetArtifact() *Artifact { 522 if x != nil { 523 return x.Artifact 524 } 525 return nil 526 } 527 528 func (x *CreateArtifactRequest) GetArtifactId() string { 529 if x != nil { 530 return x.ArtifactId 531 } 532 return "" 533 } 534 535 // Request message for 536 // [MetadataService.GetArtifact][google.cloud.aiplatform.v1beta1.MetadataService.GetArtifact]. 537 type GetArtifactRequest struct { 538 state protoimpl.MessageState 539 sizeCache protoimpl.SizeCache 540 unknownFields protoimpl.UnknownFields 541 542 // Required. The resource name of the Artifact to retrieve. 543 // Format: 544 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` 545 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 546 } 547 548 func (x *GetArtifactRequest) Reset() { 549 *x = GetArtifactRequest{} 550 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[8] 551 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 552 ms.StoreMessageInfo(mi) 553 } 554 555 func (x *GetArtifactRequest) String() string { 556 return protoimpl.X.MessageStringOf(x) 557 } 558 559 func (*GetArtifactRequest) ProtoMessage() {} 560 561 func (x *GetArtifactRequest) ProtoReflect() protoreflect.Message { 562 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[8] 563 if x != nil { 564 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 565 if ms.LoadMessageInfo() == nil { 566 ms.StoreMessageInfo(mi) 567 } 568 return ms 569 } 570 return mi.MessageOf(x) 571 } 572 573 // Deprecated: Use GetArtifactRequest.ProtoReflect.Descriptor instead. 574 func (*GetArtifactRequest) Descriptor() ([]byte, []int) { 575 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{8} 576 } 577 578 func (x *GetArtifactRequest) GetName() string { 579 if x != nil { 580 return x.Name 581 } 582 return "" 583 } 584 585 // Request message for 586 // [MetadataService.ListArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts]. 587 type ListArtifactsRequest struct { 588 state protoimpl.MessageState 589 sizeCache protoimpl.SizeCache 590 unknownFields protoimpl.UnknownFields 591 592 // Required. The MetadataStore whose Artifacts should be listed. 593 // Format: 594 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` 595 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 596 // The maximum number of Artifacts to return. The service may return fewer. 597 // Must be in range 1-1000, inclusive. Defaults to 100. 598 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 599 // A page token, received from a previous 600 // [MetadataService.ListArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts] 601 // call. Provide this to retrieve the subsequent page. 602 // 603 // When paginating, all other provided parameters must match the call that 604 // provided the page token. (Otherwise the request will fail with 605 // INVALID_ARGUMENT error.) 606 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 607 // Filter specifying the boolean condition for the Artifacts to satisfy in 608 // order to be part of the result set. 609 // The syntax to define filter query is based on https://google.aip.dev/160. 610 // The supported set of filters include the following: 611 // 612 // - **Attribute filtering**: 613 // For example: `display_name = "test"`. 614 // Supported fields include: `name`, `display_name`, `uri`, `state`, 615 // `schema_title`, `create_time`, and `update_time`. 616 // Time fields, such as `create_time` and `update_time`, require values 617 // specified in RFC-3339 format. 618 // For example: `create_time = "2020-11-19T11:30:00-04:00"` 619 // - **Metadata field**: 620 // To filter on metadata fields use traversal operation as follows: 621 // `metadata.<field_name>.<type_value>`. 622 // For example: `metadata.field_1.number_value = 10.0` 623 // In case the field name contains special characters (such as colon), one 624 // can embed it inside double quote. 625 // For example: `metadata."field:1".number_value = 10.0` 626 // - **Context based filtering**: 627 // To filter Artifacts based on the contexts to which they belong, use the 628 // function operator with the full resource name 629 // `in_context(<context-name>)`. 630 // For example: 631 // `in_context("projects/<project_number>/locations/<location>/metadataStores/<metadatastore_name>/contexts/<context-id>")` 632 // 633 // Each of the above supported filter types can be combined together using 634 // logical operators (`AND` & `OR`). Maximum nested expression depth allowed 635 // is 5. 636 // 637 // For example: `display_name = "test" AND metadata.field1.bool_value = true`. 638 Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` 639 // How the list of messages is ordered. Specify the values to order by and an 640 // ordering operation. The default sorting order is ascending. To specify 641 // descending order for a field, users append a " desc" suffix; for example: 642 // "foo desc, bar". 643 // Subfields are specified with a `.` character, such as foo.bar. 644 // see https://google.aip.dev/132#ordering for more details. 645 OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 646 } 647 648 func (x *ListArtifactsRequest) Reset() { 649 *x = ListArtifactsRequest{} 650 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[9] 651 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 652 ms.StoreMessageInfo(mi) 653 } 654 655 func (x *ListArtifactsRequest) String() string { 656 return protoimpl.X.MessageStringOf(x) 657 } 658 659 func (*ListArtifactsRequest) ProtoMessage() {} 660 661 func (x *ListArtifactsRequest) ProtoReflect() protoreflect.Message { 662 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[9] 663 if x != nil { 664 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 665 if ms.LoadMessageInfo() == nil { 666 ms.StoreMessageInfo(mi) 667 } 668 return ms 669 } 670 return mi.MessageOf(x) 671 } 672 673 // Deprecated: Use ListArtifactsRequest.ProtoReflect.Descriptor instead. 674 func (*ListArtifactsRequest) Descriptor() ([]byte, []int) { 675 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{9} 676 } 677 678 func (x *ListArtifactsRequest) GetParent() string { 679 if x != nil { 680 return x.Parent 681 } 682 return "" 683 } 684 685 func (x *ListArtifactsRequest) GetPageSize() int32 { 686 if x != nil { 687 return x.PageSize 688 } 689 return 0 690 } 691 692 func (x *ListArtifactsRequest) GetPageToken() string { 693 if x != nil { 694 return x.PageToken 695 } 696 return "" 697 } 698 699 func (x *ListArtifactsRequest) GetFilter() string { 700 if x != nil { 701 return x.Filter 702 } 703 return "" 704 } 705 706 func (x *ListArtifactsRequest) GetOrderBy() string { 707 if x != nil { 708 return x.OrderBy 709 } 710 return "" 711 } 712 713 // Response message for 714 // [MetadataService.ListArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts]. 715 type ListArtifactsResponse struct { 716 state protoimpl.MessageState 717 sizeCache protoimpl.SizeCache 718 unknownFields protoimpl.UnknownFields 719 720 // The Artifacts retrieved from the MetadataStore. 721 Artifacts []*Artifact `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty"` 722 // A token, which can be sent as 723 // [ListArtifactsRequest.page_token][google.cloud.aiplatform.v1beta1.ListArtifactsRequest.page_token] 724 // to retrieve the next page. 725 // If this field is not populated, there are no subsequent pages. 726 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 727 } 728 729 func (x *ListArtifactsResponse) Reset() { 730 *x = ListArtifactsResponse{} 731 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[10] 732 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 733 ms.StoreMessageInfo(mi) 734 } 735 736 func (x *ListArtifactsResponse) String() string { 737 return protoimpl.X.MessageStringOf(x) 738 } 739 740 func (*ListArtifactsResponse) ProtoMessage() {} 741 742 func (x *ListArtifactsResponse) ProtoReflect() protoreflect.Message { 743 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[10] 744 if x != nil { 745 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 746 if ms.LoadMessageInfo() == nil { 747 ms.StoreMessageInfo(mi) 748 } 749 return ms 750 } 751 return mi.MessageOf(x) 752 } 753 754 // Deprecated: Use ListArtifactsResponse.ProtoReflect.Descriptor instead. 755 func (*ListArtifactsResponse) Descriptor() ([]byte, []int) { 756 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{10} 757 } 758 759 func (x *ListArtifactsResponse) GetArtifacts() []*Artifact { 760 if x != nil { 761 return x.Artifacts 762 } 763 return nil 764 } 765 766 func (x *ListArtifactsResponse) GetNextPageToken() string { 767 if x != nil { 768 return x.NextPageToken 769 } 770 return "" 771 } 772 773 // Request message for 774 // [MetadataService.UpdateArtifact][google.cloud.aiplatform.v1beta1.MetadataService.UpdateArtifact]. 775 type UpdateArtifactRequest struct { 776 state protoimpl.MessageState 777 sizeCache protoimpl.SizeCache 778 unknownFields protoimpl.UnknownFields 779 780 // Required. The Artifact containing updates. 781 // The Artifact's 782 // [Artifact.name][google.cloud.aiplatform.v1beta1.Artifact.name] field is 783 // used to identify the Artifact to be updated. Format: 784 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` 785 Artifact *Artifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"` 786 // Optional. A FieldMask indicating which fields should be updated. 787 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 788 // If set to true, and the 789 // [Artifact][google.cloud.aiplatform.v1beta1.Artifact] is not found, a new 790 // [Artifact][google.cloud.aiplatform.v1beta1.Artifact] is created. 791 AllowMissing bool `protobuf:"varint,3,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"` 792 } 793 794 func (x *UpdateArtifactRequest) Reset() { 795 *x = UpdateArtifactRequest{} 796 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[11] 797 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 798 ms.StoreMessageInfo(mi) 799 } 800 801 func (x *UpdateArtifactRequest) String() string { 802 return protoimpl.X.MessageStringOf(x) 803 } 804 805 func (*UpdateArtifactRequest) ProtoMessage() {} 806 807 func (x *UpdateArtifactRequest) ProtoReflect() protoreflect.Message { 808 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[11] 809 if x != nil { 810 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 811 if ms.LoadMessageInfo() == nil { 812 ms.StoreMessageInfo(mi) 813 } 814 return ms 815 } 816 return mi.MessageOf(x) 817 } 818 819 // Deprecated: Use UpdateArtifactRequest.ProtoReflect.Descriptor instead. 820 func (*UpdateArtifactRequest) Descriptor() ([]byte, []int) { 821 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{11} 822 } 823 824 func (x *UpdateArtifactRequest) GetArtifact() *Artifact { 825 if x != nil { 826 return x.Artifact 827 } 828 return nil 829 } 830 831 func (x *UpdateArtifactRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 832 if x != nil { 833 return x.UpdateMask 834 } 835 return nil 836 } 837 838 func (x *UpdateArtifactRequest) GetAllowMissing() bool { 839 if x != nil { 840 return x.AllowMissing 841 } 842 return false 843 } 844 845 // Request message for 846 // [MetadataService.DeleteArtifact][google.cloud.aiplatform.v1beta1.MetadataService.DeleteArtifact]. 847 type DeleteArtifactRequest struct { 848 state protoimpl.MessageState 849 sizeCache protoimpl.SizeCache 850 unknownFields protoimpl.UnknownFields 851 852 // Required. The resource name of the Artifact to delete. 853 // Format: 854 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` 855 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 856 // Optional. The etag of the Artifact to delete. 857 // If this is provided, it must match the server's etag. Otherwise, the 858 // request will fail with a FAILED_PRECONDITION. 859 Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` 860 } 861 862 func (x *DeleteArtifactRequest) Reset() { 863 *x = DeleteArtifactRequest{} 864 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[12] 865 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 866 ms.StoreMessageInfo(mi) 867 } 868 869 func (x *DeleteArtifactRequest) String() string { 870 return protoimpl.X.MessageStringOf(x) 871 } 872 873 func (*DeleteArtifactRequest) ProtoMessage() {} 874 875 func (x *DeleteArtifactRequest) ProtoReflect() protoreflect.Message { 876 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[12] 877 if x != nil { 878 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 879 if ms.LoadMessageInfo() == nil { 880 ms.StoreMessageInfo(mi) 881 } 882 return ms 883 } 884 return mi.MessageOf(x) 885 } 886 887 // Deprecated: Use DeleteArtifactRequest.ProtoReflect.Descriptor instead. 888 func (*DeleteArtifactRequest) Descriptor() ([]byte, []int) { 889 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{12} 890 } 891 892 func (x *DeleteArtifactRequest) GetName() string { 893 if x != nil { 894 return x.Name 895 } 896 return "" 897 } 898 899 func (x *DeleteArtifactRequest) GetEtag() string { 900 if x != nil { 901 return x.Etag 902 } 903 return "" 904 } 905 906 // Request message for 907 // [MetadataService.PurgeArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts]. 908 type PurgeArtifactsRequest struct { 909 state protoimpl.MessageState 910 sizeCache protoimpl.SizeCache 911 unknownFields protoimpl.UnknownFields 912 913 // Required. The metadata store to purge Artifacts from. 914 // Format: 915 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` 916 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 917 // Required. A required filter matching the Artifacts to be purged. 918 // E.g., `update_time <= 2020-11-19T11:30:00-04:00`. 919 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 920 // Optional. Flag to indicate to actually perform the purge. 921 // If `force` is set to false, the method will return a sample of 922 // Artifact names that would be deleted. 923 Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` 924 } 925 926 func (x *PurgeArtifactsRequest) Reset() { 927 *x = PurgeArtifactsRequest{} 928 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[13] 929 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 930 ms.StoreMessageInfo(mi) 931 } 932 933 func (x *PurgeArtifactsRequest) String() string { 934 return protoimpl.X.MessageStringOf(x) 935 } 936 937 func (*PurgeArtifactsRequest) ProtoMessage() {} 938 939 func (x *PurgeArtifactsRequest) ProtoReflect() protoreflect.Message { 940 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[13] 941 if x != nil { 942 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 943 if ms.LoadMessageInfo() == nil { 944 ms.StoreMessageInfo(mi) 945 } 946 return ms 947 } 948 return mi.MessageOf(x) 949 } 950 951 // Deprecated: Use PurgeArtifactsRequest.ProtoReflect.Descriptor instead. 952 func (*PurgeArtifactsRequest) Descriptor() ([]byte, []int) { 953 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{13} 954 } 955 956 func (x *PurgeArtifactsRequest) GetParent() string { 957 if x != nil { 958 return x.Parent 959 } 960 return "" 961 } 962 963 func (x *PurgeArtifactsRequest) GetFilter() string { 964 if x != nil { 965 return x.Filter 966 } 967 return "" 968 } 969 970 func (x *PurgeArtifactsRequest) GetForce() bool { 971 if x != nil { 972 return x.Force 973 } 974 return false 975 } 976 977 // Response message for 978 // [MetadataService.PurgeArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts]. 979 type PurgeArtifactsResponse struct { 980 state protoimpl.MessageState 981 sizeCache protoimpl.SizeCache 982 unknownFields protoimpl.UnknownFields 983 984 // The number of Artifacts that this request deleted (or, if `force` is false, 985 // the number of Artifacts that will be deleted). This can be an estimate. 986 PurgeCount int64 `protobuf:"varint,1,opt,name=purge_count,json=purgeCount,proto3" json:"purge_count,omitempty"` 987 // A sample of the Artifact names that will be deleted. 988 // Only populated if `force` is set to false. The maximum number of samples is 989 // 100 (it is possible to return fewer). 990 PurgeSample []string `protobuf:"bytes,2,rep,name=purge_sample,json=purgeSample,proto3" json:"purge_sample,omitempty"` 991 } 992 993 func (x *PurgeArtifactsResponse) Reset() { 994 *x = PurgeArtifactsResponse{} 995 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[14] 996 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 997 ms.StoreMessageInfo(mi) 998 } 999 1000 func (x *PurgeArtifactsResponse) String() string { 1001 return protoimpl.X.MessageStringOf(x) 1002 } 1003 1004 func (*PurgeArtifactsResponse) ProtoMessage() {} 1005 1006 func (x *PurgeArtifactsResponse) ProtoReflect() protoreflect.Message { 1007 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[14] 1008 if x != nil { 1009 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1010 if ms.LoadMessageInfo() == nil { 1011 ms.StoreMessageInfo(mi) 1012 } 1013 return ms 1014 } 1015 return mi.MessageOf(x) 1016 } 1017 1018 // Deprecated: Use PurgeArtifactsResponse.ProtoReflect.Descriptor instead. 1019 func (*PurgeArtifactsResponse) Descriptor() ([]byte, []int) { 1020 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{14} 1021 } 1022 1023 func (x *PurgeArtifactsResponse) GetPurgeCount() int64 { 1024 if x != nil { 1025 return x.PurgeCount 1026 } 1027 return 0 1028 } 1029 1030 func (x *PurgeArtifactsResponse) GetPurgeSample() []string { 1031 if x != nil { 1032 return x.PurgeSample 1033 } 1034 return nil 1035 } 1036 1037 // Details of operations that perform 1038 // [MetadataService.PurgeArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts]. 1039 type PurgeArtifactsMetadata struct { 1040 state protoimpl.MessageState 1041 sizeCache protoimpl.SizeCache 1042 unknownFields protoimpl.UnknownFields 1043 1044 // Operation metadata for purging Artifacts. 1045 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 1046 } 1047 1048 func (x *PurgeArtifactsMetadata) Reset() { 1049 *x = PurgeArtifactsMetadata{} 1050 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[15] 1051 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1052 ms.StoreMessageInfo(mi) 1053 } 1054 1055 func (x *PurgeArtifactsMetadata) String() string { 1056 return protoimpl.X.MessageStringOf(x) 1057 } 1058 1059 func (*PurgeArtifactsMetadata) ProtoMessage() {} 1060 1061 func (x *PurgeArtifactsMetadata) ProtoReflect() protoreflect.Message { 1062 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[15] 1063 if x != nil { 1064 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1065 if ms.LoadMessageInfo() == nil { 1066 ms.StoreMessageInfo(mi) 1067 } 1068 return ms 1069 } 1070 return mi.MessageOf(x) 1071 } 1072 1073 // Deprecated: Use PurgeArtifactsMetadata.ProtoReflect.Descriptor instead. 1074 func (*PurgeArtifactsMetadata) Descriptor() ([]byte, []int) { 1075 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{15} 1076 } 1077 1078 func (x *PurgeArtifactsMetadata) GetGenericMetadata() *GenericOperationMetadata { 1079 if x != nil { 1080 return x.GenericMetadata 1081 } 1082 return nil 1083 } 1084 1085 // Request message for 1086 // [MetadataService.CreateContext][google.cloud.aiplatform.v1beta1.MetadataService.CreateContext]. 1087 type CreateContextRequest struct { 1088 state protoimpl.MessageState 1089 sizeCache protoimpl.SizeCache 1090 unknownFields protoimpl.UnknownFields 1091 1092 // Required. The resource name of the MetadataStore where the Context should 1093 // be created. Format: 1094 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` 1095 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1096 // Required. The Context to create. 1097 Context *Context `protobuf:"bytes,2,opt,name=context,proto3" json:"context,omitempty"` 1098 // The {context} portion of the resource name with the format: 1099 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`. 1100 // If not provided, the Context's ID will be a UUID generated by the service. 1101 // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`. 1102 // Must be unique across all Contexts in the parent MetadataStore. (Otherwise 1103 // the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the 1104 // caller can't view the preexisting Context.) 1105 ContextId string `protobuf:"bytes,3,opt,name=context_id,json=contextId,proto3" json:"context_id,omitempty"` 1106 } 1107 1108 func (x *CreateContextRequest) Reset() { 1109 *x = CreateContextRequest{} 1110 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[16] 1111 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1112 ms.StoreMessageInfo(mi) 1113 } 1114 1115 func (x *CreateContextRequest) String() string { 1116 return protoimpl.X.MessageStringOf(x) 1117 } 1118 1119 func (*CreateContextRequest) ProtoMessage() {} 1120 1121 func (x *CreateContextRequest) ProtoReflect() protoreflect.Message { 1122 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[16] 1123 if x != nil { 1124 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1125 if ms.LoadMessageInfo() == nil { 1126 ms.StoreMessageInfo(mi) 1127 } 1128 return ms 1129 } 1130 return mi.MessageOf(x) 1131 } 1132 1133 // Deprecated: Use CreateContextRequest.ProtoReflect.Descriptor instead. 1134 func (*CreateContextRequest) Descriptor() ([]byte, []int) { 1135 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{16} 1136 } 1137 1138 func (x *CreateContextRequest) GetParent() string { 1139 if x != nil { 1140 return x.Parent 1141 } 1142 return "" 1143 } 1144 1145 func (x *CreateContextRequest) GetContext() *Context { 1146 if x != nil { 1147 return x.Context 1148 } 1149 return nil 1150 } 1151 1152 func (x *CreateContextRequest) GetContextId() string { 1153 if x != nil { 1154 return x.ContextId 1155 } 1156 return "" 1157 } 1158 1159 // Request message for 1160 // [MetadataService.GetContext][google.cloud.aiplatform.v1beta1.MetadataService.GetContext]. 1161 type GetContextRequest struct { 1162 state protoimpl.MessageState 1163 sizeCache protoimpl.SizeCache 1164 unknownFields protoimpl.UnknownFields 1165 1166 // Required. The resource name of the Context to retrieve. 1167 // Format: 1168 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` 1169 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1170 } 1171 1172 func (x *GetContextRequest) Reset() { 1173 *x = GetContextRequest{} 1174 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[17] 1175 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1176 ms.StoreMessageInfo(mi) 1177 } 1178 1179 func (x *GetContextRequest) String() string { 1180 return protoimpl.X.MessageStringOf(x) 1181 } 1182 1183 func (*GetContextRequest) ProtoMessage() {} 1184 1185 func (x *GetContextRequest) ProtoReflect() protoreflect.Message { 1186 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[17] 1187 if x != nil { 1188 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1189 if ms.LoadMessageInfo() == nil { 1190 ms.StoreMessageInfo(mi) 1191 } 1192 return ms 1193 } 1194 return mi.MessageOf(x) 1195 } 1196 1197 // Deprecated: Use GetContextRequest.ProtoReflect.Descriptor instead. 1198 func (*GetContextRequest) Descriptor() ([]byte, []int) { 1199 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{17} 1200 } 1201 1202 func (x *GetContextRequest) GetName() string { 1203 if x != nil { 1204 return x.Name 1205 } 1206 return "" 1207 } 1208 1209 // Request message for 1210 // [MetadataService.ListContexts][google.cloud.aiplatform.v1beta1.MetadataService.ListContexts] 1211 type ListContextsRequest struct { 1212 state protoimpl.MessageState 1213 sizeCache protoimpl.SizeCache 1214 unknownFields protoimpl.UnknownFields 1215 1216 // Required. The MetadataStore whose Contexts should be listed. 1217 // Format: 1218 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` 1219 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1220 // The maximum number of Contexts to return. The service may return fewer. 1221 // Must be in range 1-1000, inclusive. Defaults to 100. 1222 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 1223 // A page token, received from a previous 1224 // [MetadataService.ListContexts][google.cloud.aiplatform.v1beta1.MetadataService.ListContexts] 1225 // call. Provide this to retrieve the subsequent page. 1226 // 1227 // When paginating, all other provided parameters must match the call that 1228 // provided the page token. (Otherwise the request will fail with 1229 // INVALID_ARGUMENT error.) 1230 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 1231 // Filter specifying the boolean condition for the Contexts to satisfy in 1232 // order to be part of the result set. 1233 // The syntax to define filter query is based on https://google.aip.dev/160. 1234 // Following are the supported set of filters: 1235 // 1236 // - **Attribute filtering**: 1237 // For example: `display_name = "test"`. 1238 // Supported fields include: `name`, `display_name`, `schema_title`, 1239 // `create_time`, and `update_time`. 1240 // Time fields, such as `create_time` and `update_time`, require values 1241 // specified in RFC-3339 format. 1242 // For example: `create_time = "2020-11-19T11:30:00-04:00"`. 1243 // 1244 // - **Metadata field**: 1245 // To filter on metadata fields use traversal operation as follows: 1246 // `metadata.<field_name>.<type_value>`. 1247 // For example: `metadata.field_1.number_value = 10.0`. 1248 // In case the field name contains special characters (such as colon), one 1249 // can embed it inside double quote. 1250 // For example: `metadata."field:1".number_value = 10.0` 1251 // 1252 // - **Parent Child filtering**: 1253 // To filter Contexts based on parent-child relationship use the HAS 1254 // operator as follows: 1255 // 1256 // ``` 1257 // parent_contexts: 1258 // "projects/<project_number>/locations/<location>/metadataStores/<metadatastore_name>/contexts/<context_id>" 1259 // child_contexts: 1260 // "projects/<project_number>/locations/<location>/metadataStores/<metadatastore_name>/contexts/<context_id>" 1261 // ``` 1262 // 1263 // Each of the above supported filters can be combined together using 1264 // logical operators (`AND` & `OR`). Maximum nested expression depth allowed 1265 // is 5. 1266 // 1267 // For example: `display_name = "test" AND metadata.field1.bool_value = true`. 1268 Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` 1269 // How the list of messages is ordered. Specify the values to order by and an 1270 // ordering operation. The default sorting order is ascending. To specify 1271 // descending order for a field, users append a " desc" suffix; for example: 1272 // "foo desc, bar". 1273 // Subfields are specified with a `.` character, such as foo.bar. 1274 // see https://google.aip.dev/132#ordering for more details. 1275 OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 1276 } 1277 1278 func (x *ListContextsRequest) Reset() { 1279 *x = ListContextsRequest{} 1280 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[18] 1281 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1282 ms.StoreMessageInfo(mi) 1283 } 1284 1285 func (x *ListContextsRequest) String() string { 1286 return protoimpl.X.MessageStringOf(x) 1287 } 1288 1289 func (*ListContextsRequest) ProtoMessage() {} 1290 1291 func (x *ListContextsRequest) ProtoReflect() protoreflect.Message { 1292 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[18] 1293 if x != nil { 1294 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1295 if ms.LoadMessageInfo() == nil { 1296 ms.StoreMessageInfo(mi) 1297 } 1298 return ms 1299 } 1300 return mi.MessageOf(x) 1301 } 1302 1303 // Deprecated: Use ListContextsRequest.ProtoReflect.Descriptor instead. 1304 func (*ListContextsRequest) Descriptor() ([]byte, []int) { 1305 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{18} 1306 } 1307 1308 func (x *ListContextsRequest) GetParent() string { 1309 if x != nil { 1310 return x.Parent 1311 } 1312 return "" 1313 } 1314 1315 func (x *ListContextsRequest) GetPageSize() int32 { 1316 if x != nil { 1317 return x.PageSize 1318 } 1319 return 0 1320 } 1321 1322 func (x *ListContextsRequest) GetPageToken() string { 1323 if x != nil { 1324 return x.PageToken 1325 } 1326 return "" 1327 } 1328 1329 func (x *ListContextsRequest) GetFilter() string { 1330 if x != nil { 1331 return x.Filter 1332 } 1333 return "" 1334 } 1335 1336 func (x *ListContextsRequest) GetOrderBy() string { 1337 if x != nil { 1338 return x.OrderBy 1339 } 1340 return "" 1341 } 1342 1343 // Response message for 1344 // [MetadataService.ListContexts][google.cloud.aiplatform.v1beta1.MetadataService.ListContexts]. 1345 type ListContextsResponse struct { 1346 state protoimpl.MessageState 1347 sizeCache protoimpl.SizeCache 1348 unknownFields protoimpl.UnknownFields 1349 1350 // The Contexts retrieved from the MetadataStore. 1351 Contexts []*Context `protobuf:"bytes,1,rep,name=contexts,proto3" json:"contexts,omitempty"` 1352 // A token, which can be sent as 1353 // [ListContextsRequest.page_token][google.cloud.aiplatform.v1beta1.ListContextsRequest.page_token] 1354 // to retrieve the next page. 1355 // If this field is not populated, there are no subsequent pages. 1356 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 1357 } 1358 1359 func (x *ListContextsResponse) Reset() { 1360 *x = ListContextsResponse{} 1361 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[19] 1362 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1363 ms.StoreMessageInfo(mi) 1364 } 1365 1366 func (x *ListContextsResponse) String() string { 1367 return protoimpl.X.MessageStringOf(x) 1368 } 1369 1370 func (*ListContextsResponse) ProtoMessage() {} 1371 1372 func (x *ListContextsResponse) ProtoReflect() protoreflect.Message { 1373 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[19] 1374 if x != nil { 1375 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1376 if ms.LoadMessageInfo() == nil { 1377 ms.StoreMessageInfo(mi) 1378 } 1379 return ms 1380 } 1381 return mi.MessageOf(x) 1382 } 1383 1384 // Deprecated: Use ListContextsResponse.ProtoReflect.Descriptor instead. 1385 func (*ListContextsResponse) Descriptor() ([]byte, []int) { 1386 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{19} 1387 } 1388 1389 func (x *ListContextsResponse) GetContexts() []*Context { 1390 if x != nil { 1391 return x.Contexts 1392 } 1393 return nil 1394 } 1395 1396 func (x *ListContextsResponse) GetNextPageToken() string { 1397 if x != nil { 1398 return x.NextPageToken 1399 } 1400 return "" 1401 } 1402 1403 // Request message for 1404 // [MetadataService.UpdateContext][google.cloud.aiplatform.v1beta1.MetadataService.UpdateContext]. 1405 type UpdateContextRequest struct { 1406 state protoimpl.MessageState 1407 sizeCache protoimpl.SizeCache 1408 unknownFields protoimpl.UnknownFields 1409 1410 // Required. The Context containing updates. 1411 // The Context's [Context.name][google.cloud.aiplatform.v1beta1.Context.name] 1412 // field is used to identify the Context to be updated. Format: 1413 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` 1414 Context *Context `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` 1415 // Optional. A FieldMask indicating which fields should be updated. 1416 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 1417 // If set to true, and the [Context][google.cloud.aiplatform.v1beta1.Context] 1418 // is not found, a new [Context][google.cloud.aiplatform.v1beta1.Context] is 1419 // created. 1420 AllowMissing bool `protobuf:"varint,3,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"` 1421 } 1422 1423 func (x *UpdateContextRequest) Reset() { 1424 *x = UpdateContextRequest{} 1425 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[20] 1426 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1427 ms.StoreMessageInfo(mi) 1428 } 1429 1430 func (x *UpdateContextRequest) String() string { 1431 return protoimpl.X.MessageStringOf(x) 1432 } 1433 1434 func (*UpdateContextRequest) ProtoMessage() {} 1435 1436 func (x *UpdateContextRequest) ProtoReflect() protoreflect.Message { 1437 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[20] 1438 if x != nil { 1439 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1440 if ms.LoadMessageInfo() == nil { 1441 ms.StoreMessageInfo(mi) 1442 } 1443 return ms 1444 } 1445 return mi.MessageOf(x) 1446 } 1447 1448 // Deprecated: Use UpdateContextRequest.ProtoReflect.Descriptor instead. 1449 func (*UpdateContextRequest) Descriptor() ([]byte, []int) { 1450 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{20} 1451 } 1452 1453 func (x *UpdateContextRequest) GetContext() *Context { 1454 if x != nil { 1455 return x.Context 1456 } 1457 return nil 1458 } 1459 1460 func (x *UpdateContextRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 1461 if x != nil { 1462 return x.UpdateMask 1463 } 1464 return nil 1465 } 1466 1467 func (x *UpdateContextRequest) GetAllowMissing() bool { 1468 if x != nil { 1469 return x.AllowMissing 1470 } 1471 return false 1472 } 1473 1474 // Request message for 1475 // [MetadataService.DeleteContext][google.cloud.aiplatform.v1beta1.MetadataService.DeleteContext]. 1476 type DeleteContextRequest struct { 1477 state protoimpl.MessageState 1478 sizeCache protoimpl.SizeCache 1479 unknownFields protoimpl.UnknownFields 1480 1481 // Required. The resource name of the Context to delete. 1482 // Format: 1483 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` 1484 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1485 // The force deletion semantics is still undefined. 1486 // Users should not use this field. 1487 Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` 1488 // Optional. The etag of the Context to delete. 1489 // If this is provided, it must match the server's etag. Otherwise, the 1490 // request will fail with a FAILED_PRECONDITION. 1491 Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` 1492 } 1493 1494 func (x *DeleteContextRequest) Reset() { 1495 *x = DeleteContextRequest{} 1496 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[21] 1497 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1498 ms.StoreMessageInfo(mi) 1499 } 1500 1501 func (x *DeleteContextRequest) String() string { 1502 return protoimpl.X.MessageStringOf(x) 1503 } 1504 1505 func (*DeleteContextRequest) ProtoMessage() {} 1506 1507 func (x *DeleteContextRequest) ProtoReflect() protoreflect.Message { 1508 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[21] 1509 if x != nil { 1510 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1511 if ms.LoadMessageInfo() == nil { 1512 ms.StoreMessageInfo(mi) 1513 } 1514 return ms 1515 } 1516 return mi.MessageOf(x) 1517 } 1518 1519 // Deprecated: Use DeleteContextRequest.ProtoReflect.Descriptor instead. 1520 func (*DeleteContextRequest) Descriptor() ([]byte, []int) { 1521 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{21} 1522 } 1523 1524 func (x *DeleteContextRequest) GetName() string { 1525 if x != nil { 1526 return x.Name 1527 } 1528 return "" 1529 } 1530 1531 func (x *DeleteContextRequest) GetForce() bool { 1532 if x != nil { 1533 return x.Force 1534 } 1535 return false 1536 } 1537 1538 func (x *DeleteContextRequest) GetEtag() string { 1539 if x != nil { 1540 return x.Etag 1541 } 1542 return "" 1543 } 1544 1545 // Request message for 1546 // [MetadataService.PurgeContexts][google.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts]. 1547 type PurgeContextsRequest struct { 1548 state protoimpl.MessageState 1549 sizeCache protoimpl.SizeCache 1550 unknownFields protoimpl.UnknownFields 1551 1552 // Required. The metadata store to purge Contexts from. 1553 // Format: 1554 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` 1555 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1556 // Required. A required filter matching the Contexts to be purged. 1557 // E.g., `update_time <= 2020-11-19T11:30:00-04:00`. 1558 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 1559 // Optional. Flag to indicate to actually perform the purge. 1560 // If `force` is set to false, the method will return a sample of 1561 // Context names that would be deleted. 1562 Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` 1563 } 1564 1565 func (x *PurgeContextsRequest) Reset() { 1566 *x = PurgeContextsRequest{} 1567 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[22] 1568 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1569 ms.StoreMessageInfo(mi) 1570 } 1571 1572 func (x *PurgeContextsRequest) String() string { 1573 return protoimpl.X.MessageStringOf(x) 1574 } 1575 1576 func (*PurgeContextsRequest) ProtoMessage() {} 1577 1578 func (x *PurgeContextsRequest) ProtoReflect() protoreflect.Message { 1579 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[22] 1580 if x != nil { 1581 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1582 if ms.LoadMessageInfo() == nil { 1583 ms.StoreMessageInfo(mi) 1584 } 1585 return ms 1586 } 1587 return mi.MessageOf(x) 1588 } 1589 1590 // Deprecated: Use PurgeContextsRequest.ProtoReflect.Descriptor instead. 1591 func (*PurgeContextsRequest) Descriptor() ([]byte, []int) { 1592 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{22} 1593 } 1594 1595 func (x *PurgeContextsRequest) GetParent() string { 1596 if x != nil { 1597 return x.Parent 1598 } 1599 return "" 1600 } 1601 1602 func (x *PurgeContextsRequest) GetFilter() string { 1603 if x != nil { 1604 return x.Filter 1605 } 1606 return "" 1607 } 1608 1609 func (x *PurgeContextsRequest) GetForce() bool { 1610 if x != nil { 1611 return x.Force 1612 } 1613 return false 1614 } 1615 1616 // Response message for 1617 // [MetadataService.PurgeContexts][google.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts]. 1618 type PurgeContextsResponse struct { 1619 state protoimpl.MessageState 1620 sizeCache protoimpl.SizeCache 1621 unknownFields protoimpl.UnknownFields 1622 1623 // The number of Contexts that this request deleted (or, if `force` is false, 1624 // the number of Contexts that will be deleted). This can be an estimate. 1625 PurgeCount int64 `protobuf:"varint,1,opt,name=purge_count,json=purgeCount,proto3" json:"purge_count,omitempty"` 1626 // A sample of the Context names that will be deleted. 1627 // Only populated if `force` is set to false. The maximum number of samples is 1628 // 100 (it is possible to return fewer). 1629 PurgeSample []string `protobuf:"bytes,2,rep,name=purge_sample,json=purgeSample,proto3" json:"purge_sample,omitempty"` 1630 } 1631 1632 func (x *PurgeContextsResponse) Reset() { 1633 *x = PurgeContextsResponse{} 1634 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[23] 1635 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1636 ms.StoreMessageInfo(mi) 1637 } 1638 1639 func (x *PurgeContextsResponse) String() string { 1640 return protoimpl.X.MessageStringOf(x) 1641 } 1642 1643 func (*PurgeContextsResponse) ProtoMessage() {} 1644 1645 func (x *PurgeContextsResponse) ProtoReflect() protoreflect.Message { 1646 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[23] 1647 if x != nil { 1648 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1649 if ms.LoadMessageInfo() == nil { 1650 ms.StoreMessageInfo(mi) 1651 } 1652 return ms 1653 } 1654 return mi.MessageOf(x) 1655 } 1656 1657 // Deprecated: Use PurgeContextsResponse.ProtoReflect.Descriptor instead. 1658 func (*PurgeContextsResponse) Descriptor() ([]byte, []int) { 1659 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{23} 1660 } 1661 1662 func (x *PurgeContextsResponse) GetPurgeCount() int64 { 1663 if x != nil { 1664 return x.PurgeCount 1665 } 1666 return 0 1667 } 1668 1669 func (x *PurgeContextsResponse) GetPurgeSample() []string { 1670 if x != nil { 1671 return x.PurgeSample 1672 } 1673 return nil 1674 } 1675 1676 // Details of operations that perform 1677 // [MetadataService.PurgeContexts][google.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts]. 1678 type PurgeContextsMetadata struct { 1679 state protoimpl.MessageState 1680 sizeCache protoimpl.SizeCache 1681 unknownFields protoimpl.UnknownFields 1682 1683 // Operation metadata for purging Contexts. 1684 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 1685 } 1686 1687 func (x *PurgeContextsMetadata) Reset() { 1688 *x = PurgeContextsMetadata{} 1689 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[24] 1690 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1691 ms.StoreMessageInfo(mi) 1692 } 1693 1694 func (x *PurgeContextsMetadata) String() string { 1695 return protoimpl.X.MessageStringOf(x) 1696 } 1697 1698 func (*PurgeContextsMetadata) ProtoMessage() {} 1699 1700 func (x *PurgeContextsMetadata) ProtoReflect() protoreflect.Message { 1701 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[24] 1702 if x != nil { 1703 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1704 if ms.LoadMessageInfo() == nil { 1705 ms.StoreMessageInfo(mi) 1706 } 1707 return ms 1708 } 1709 return mi.MessageOf(x) 1710 } 1711 1712 // Deprecated: Use PurgeContextsMetadata.ProtoReflect.Descriptor instead. 1713 func (*PurgeContextsMetadata) Descriptor() ([]byte, []int) { 1714 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{24} 1715 } 1716 1717 func (x *PurgeContextsMetadata) GetGenericMetadata() *GenericOperationMetadata { 1718 if x != nil { 1719 return x.GenericMetadata 1720 } 1721 return nil 1722 } 1723 1724 // Request message for 1725 // [MetadataService.AddContextArtifactsAndExecutions][google.cloud.aiplatform.v1beta1.MetadataService.AddContextArtifactsAndExecutions]. 1726 type AddContextArtifactsAndExecutionsRequest struct { 1727 state protoimpl.MessageState 1728 sizeCache protoimpl.SizeCache 1729 unknownFields protoimpl.UnknownFields 1730 1731 // Required. The resource name of the Context that the Artifacts and 1732 // Executions belong to. Format: 1733 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` 1734 Context string `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` 1735 // The resource names of the Artifacts to attribute to the Context. 1736 // 1737 // Format: 1738 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` 1739 Artifacts []string `protobuf:"bytes,2,rep,name=artifacts,proto3" json:"artifacts,omitempty"` 1740 // The resource names of the Executions to associate with the 1741 // Context. 1742 // 1743 // Format: 1744 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` 1745 Executions []string `protobuf:"bytes,3,rep,name=executions,proto3" json:"executions,omitempty"` 1746 } 1747 1748 func (x *AddContextArtifactsAndExecutionsRequest) Reset() { 1749 *x = AddContextArtifactsAndExecutionsRequest{} 1750 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[25] 1751 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1752 ms.StoreMessageInfo(mi) 1753 } 1754 1755 func (x *AddContextArtifactsAndExecutionsRequest) String() string { 1756 return protoimpl.X.MessageStringOf(x) 1757 } 1758 1759 func (*AddContextArtifactsAndExecutionsRequest) ProtoMessage() {} 1760 1761 func (x *AddContextArtifactsAndExecutionsRequest) ProtoReflect() protoreflect.Message { 1762 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[25] 1763 if x != nil { 1764 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1765 if ms.LoadMessageInfo() == nil { 1766 ms.StoreMessageInfo(mi) 1767 } 1768 return ms 1769 } 1770 return mi.MessageOf(x) 1771 } 1772 1773 // Deprecated: Use AddContextArtifactsAndExecutionsRequest.ProtoReflect.Descriptor instead. 1774 func (*AddContextArtifactsAndExecutionsRequest) Descriptor() ([]byte, []int) { 1775 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{25} 1776 } 1777 1778 func (x *AddContextArtifactsAndExecutionsRequest) GetContext() string { 1779 if x != nil { 1780 return x.Context 1781 } 1782 return "" 1783 } 1784 1785 func (x *AddContextArtifactsAndExecutionsRequest) GetArtifacts() []string { 1786 if x != nil { 1787 return x.Artifacts 1788 } 1789 return nil 1790 } 1791 1792 func (x *AddContextArtifactsAndExecutionsRequest) GetExecutions() []string { 1793 if x != nil { 1794 return x.Executions 1795 } 1796 return nil 1797 } 1798 1799 // Response message for 1800 // [MetadataService.AddContextArtifactsAndExecutions][google.cloud.aiplatform.v1beta1.MetadataService.AddContextArtifactsAndExecutions]. 1801 type AddContextArtifactsAndExecutionsResponse struct { 1802 state protoimpl.MessageState 1803 sizeCache protoimpl.SizeCache 1804 unknownFields protoimpl.UnknownFields 1805 } 1806 1807 func (x *AddContextArtifactsAndExecutionsResponse) Reset() { 1808 *x = AddContextArtifactsAndExecutionsResponse{} 1809 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[26] 1810 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1811 ms.StoreMessageInfo(mi) 1812 } 1813 1814 func (x *AddContextArtifactsAndExecutionsResponse) String() string { 1815 return protoimpl.X.MessageStringOf(x) 1816 } 1817 1818 func (*AddContextArtifactsAndExecutionsResponse) ProtoMessage() {} 1819 1820 func (x *AddContextArtifactsAndExecutionsResponse) ProtoReflect() protoreflect.Message { 1821 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[26] 1822 if x != nil { 1823 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1824 if ms.LoadMessageInfo() == nil { 1825 ms.StoreMessageInfo(mi) 1826 } 1827 return ms 1828 } 1829 return mi.MessageOf(x) 1830 } 1831 1832 // Deprecated: Use AddContextArtifactsAndExecutionsResponse.ProtoReflect.Descriptor instead. 1833 func (*AddContextArtifactsAndExecutionsResponse) Descriptor() ([]byte, []int) { 1834 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{26} 1835 } 1836 1837 // Request message for 1838 // [MetadataService.AddContextChildren][google.cloud.aiplatform.v1beta1.MetadataService.AddContextChildren]. 1839 type AddContextChildrenRequest struct { 1840 state protoimpl.MessageState 1841 sizeCache protoimpl.SizeCache 1842 unknownFields protoimpl.UnknownFields 1843 1844 // Required. The resource name of the parent Context. 1845 // 1846 // Format: 1847 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` 1848 Context string `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` 1849 // The resource names of the child Contexts. 1850 ChildContexts []string `protobuf:"bytes,2,rep,name=child_contexts,json=childContexts,proto3" json:"child_contexts,omitempty"` 1851 } 1852 1853 func (x *AddContextChildrenRequest) Reset() { 1854 *x = AddContextChildrenRequest{} 1855 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[27] 1856 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1857 ms.StoreMessageInfo(mi) 1858 } 1859 1860 func (x *AddContextChildrenRequest) String() string { 1861 return protoimpl.X.MessageStringOf(x) 1862 } 1863 1864 func (*AddContextChildrenRequest) ProtoMessage() {} 1865 1866 func (x *AddContextChildrenRequest) ProtoReflect() protoreflect.Message { 1867 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[27] 1868 if x != nil { 1869 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1870 if ms.LoadMessageInfo() == nil { 1871 ms.StoreMessageInfo(mi) 1872 } 1873 return ms 1874 } 1875 return mi.MessageOf(x) 1876 } 1877 1878 // Deprecated: Use AddContextChildrenRequest.ProtoReflect.Descriptor instead. 1879 func (*AddContextChildrenRequest) Descriptor() ([]byte, []int) { 1880 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{27} 1881 } 1882 1883 func (x *AddContextChildrenRequest) GetContext() string { 1884 if x != nil { 1885 return x.Context 1886 } 1887 return "" 1888 } 1889 1890 func (x *AddContextChildrenRequest) GetChildContexts() []string { 1891 if x != nil { 1892 return x.ChildContexts 1893 } 1894 return nil 1895 } 1896 1897 // Response message for 1898 // [MetadataService.AddContextChildren][google.cloud.aiplatform.v1beta1.MetadataService.AddContextChildren]. 1899 type AddContextChildrenResponse struct { 1900 state protoimpl.MessageState 1901 sizeCache protoimpl.SizeCache 1902 unknownFields protoimpl.UnknownFields 1903 } 1904 1905 func (x *AddContextChildrenResponse) Reset() { 1906 *x = AddContextChildrenResponse{} 1907 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[28] 1908 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1909 ms.StoreMessageInfo(mi) 1910 } 1911 1912 func (x *AddContextChildrenResponse) String() string { 1913 return protoimpl.X.MessageStringOf(x) 1914 } 1915 1916 func (*AddContextChildrenResponse) ProtoMessage() {} 1917 1918 func (x *AddContextChildrenResponse) ProtoReflect() protoreflect.Message { 1919 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[28] 1920 if x != nil { 1921 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1922 if ms.LoadMessageInfo() == nil { 1923 ms.StoreMessageInfo(mi) 1924 } 1925 return ms 1926 } 1927 return mi.MessageOf(x) 1928 } 1929 1930 // Deprecated: Use AddContextChildrenResponse.ProtoReflect.Descriptor instead. 1931 func (*AddContextChildrenResponse) Descriptor() ([]byte, []int) { 1932 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{28} 1933 } 1934 1935 // Request message for 1936 // [MetadataService.DeleteContextChildrenRequest][]. 1937 type RemoveContextChildrenRequest struct { 1938 state protoimpl.MessageState 1939 sizeCache protoimpl.SizeCache 1940 unknownFields protoimpl.UnknownFields 1941 1942 // Required. The resource name of the parent Context. 1943 // 1944 // Format: 1945 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` 1946 Context string `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` 1947 // The resource names of the child Contexts. 1948 ChildContexts []string `protobuf:"bytes,2,rep,name=child_contexts,json=childContexts,proto3" json:"child_contexts,omitempty"` 1949 } 1950 1951 func (x *RemoveContextChildrenRequest) Reset() { 1952 *x = RemoveContextChildrenRequest{} 1953 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[29] 1954 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1955 ms.StoreMessageInfo(mi) 1956 } 1957 1958 func (x *RemoveContextChildrenRequest) String() string { 1959 return protoimpl.X.MessageStringOf(x) 1960 } 1961 1962 func (*RemoveContextChildrenRequest) ProtoMessage() {} 1963 1964 func (x *RemoveContextChildrenRequest) ProtoReflect() protoreflect.Message { 1965 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[29] 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 RemoveContextChildrenRequest.ProtoReflect.Descriptor instead. 1977 func (*RemoveContextChildrenRequest) Descriptor() ([]byte, []int) { 1978 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{29} 1979 } 1980 1981 func (x *RemoveContextChildrenRequest) GetContext() string { 1982 if x != nil { 1983 return x.Context 1984 } 1985 return "" 1986 } 1987 1988 func (x *RemoveContextChildrenRequest) GetChildContexts() []string { 1989 if x != nil { 1990 return x.ChildContexts 1991 } 1992 return nil 1993 } 1994 1995 // Response message for 1996 // [MetadataService.RemoveContextChildren][google.cloud.aiplatform.v1beta1.MetadataService.RemoveContextChildren]. 1997 type RemoveContextChildrenResponse struct { 1998 state protoimpl.MessageState 1999 sizeCache protoimpl.SizeCache 2000 unknownFields protoimpl.UnknownFields 2001 } 2002 2003 func (x *RemoveContextChildrenResponse) Reset() { 2004 *x = RemoveContextChildrenResponse{} 2005 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[30] 2006 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2007 ms.StoreMessageInfo(mi) 2008 } 2009 2010 func (x *RemoveContextChildrenResponse) String() string { 2011 return protoimpl.X.MessageStringOf(x) 2012 } 2013 2014 func (*RemoveContextChildrenResponse) ProtoMessage() {} 2015 2016 func (x *RemoveContextChildrenResponse) ProtoReflect() protoreflect.Message { 2017 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[30] 2018 if x != nil { 2019 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2020 if ms.LoadMessageInfo() == nil { 2021 ms.StoreMessageInfo(mi) 2022 } 2023 return ms 2024 } 2025 return mi.MessageOf(x) 2026 } 2027 2028 // Deprecated: Use RemoveContextChildrenResponse.ProtoReflect.Descriptor instead. 2029 func (*RemoveContextChildrenResponse) Descriptor() ([]byte, []int) { 2030 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{30} 2031 } 2032 2033 // Request message for 2034 // [MetadataService.QueryContextLineageSubgraph][google.cloud.aiplatform.v1beta1.MetadataService.QueryContextLineageSubgraph]. 2035 type QueryContextLineageSubgraphRequest struct { 2036 state protoimpl.MessageState 2037 sizeCache protoimpl.SizeCache 2038 unknownFields protoimpl.UnknownFields 2039 2040 // Required. The resource name of the Context whose Artifacts and Executions 2041 // should be retrieved as a LineageSubgraph. 2042 // Format: 2043 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` 2044 // 2045 // The request may error with FAILED_PRECONDITION if the number of Artifacts, 2046 // the number of Executions, or the number of Events that would be returned 2047 // for the Context exceeds 1000. 2048 Context string `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` 2049 } 2050 2051 func (x *QueryContextLineageSubgraphRequest) Reset() { 2052 *x = QueryContextLineageSubgraphRequest{} 2053 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[31] 2054 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2055 ms.StoreMessageInfo(mi) 2056 } 2057 2058 func (x *QueryContextLineageSubgraphRequest) String() string { 2059 return protoimpl.X.MessageStringOf(x) 2060 } 2061 2062 func (*QueryContextLineageSubgraphRequest) ProtoMessage() {} 2063 2064 func (x *QueryContextLineageSubgraphRequest) ProtoReflect() protoreflect.Message { 2065 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[31] 2066 if x != nil { 2067 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2068 if ms.LoadMessageInfo() == nil { 2069 ms.StoreMessageInfo(mi) 2070 } 2071 return ms 2072 } 2073 return mi.MessageOf(x) 2074 } 2075 2076 // Deprecated: Use QueryContextLineageSubgraphRequest.ProtoReflect.Descriptor instead. 2077 func (*QueryContextLineageSubgraphRequest) Descriptor() ([]byte, []int) { 2078 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{31} 2079 } 2080 2081 func (x *QueryContextLineageSubgraphRequest) GetContext() string { 2082 if x != nil { 2083 return x.Context 2084 } 2085 return "" 2086 } 2087 2088 // Request message for 2089 // [MetadataService.CreateExecution][google.cloud.aiplatform.v1beta1.MetadataService.CreateExecution]. 2090 type CreateExecutionRequest struct { 2091 state protoimpl.MessageState 2092 sizeCache protoimpl.SizeCache 2093 unknownFields protoimpl.UnknownFields 2094 2095 // Required. The resource name of the MetadataStore where the Execution should 2096 // be created. 2097 // Format: 2098 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` 2099 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2100 // Required. The Execution to create. 2101 Execution *Execution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` 2102 // The {execution} portion of the resource name with the format: 2103 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` 2104 // If not provided, the Execution's ID will be a UUID generated by the 2105 // service. 2106 // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`. 2107 // Must be unique across all Executions in the parent MetadataStore. 2108 // (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED 2109 // if the caller can't view the preexisting Execution.) 2110 ExecutionId string `protobuf:"bytes,3,opt,name=execution_id,json=executionId,proto3" json:"execution_id,omitempty"` 2111 } 2112 2113 func (x *CreateExecutionRequest) Reset() { 2114 *x = CreateExecutionRequest{} 2115 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[32] 2116 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2117 ms.StoreMessageInfo(mi) 2118 } 2119 2120 func (x *CreateExecutionRequest) String() string { 2121 return protoimpl.X.MessageStringOf(x) 2122 } 2123 2124 func (*CreateExecutionRequest) ProtoMessage() {} 2125 2126 func (x *CreateExecutionRequest) ProtoReflect() protoreflect.Message { 2127 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[32] 2128 if x != nil { 2129 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2130 if ms.LoadMessageInfo() == nil { 2131 ms.StoreMessageInfo(mi) 2132 } 2133 return ms 2134 } 2135 return mi.MessageOf(x) 2136 } 2137 2138 // Deprecated: Use CreateExecutionRequest.ProtoReflect.Descriptor instead. 2139 func (*CreateExecutionRequest) Descriptor() ([]byte, []int) { 2140 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{32} 2141 } 2142 2143 func (x *CreateExecutionRequest) GetParent() string { 2144 if x != nil { 2145 return x.Parent 2146 } 2147 return "" 2148 } 2149 2150 func (x *CreateExecutionRequest) GetExecution() *Execution { 2151 if x != nil { 2152 return x.Execution 2153 } 2154 return nil 2155 } 2156 2157 func (x *CreateExecutionRequest) GetExecutionId() string { 2158 if x != nil { 2159 return x.ExecutionId 2160 } 2161 return "" 2162 } 2163 2164 // Request message for 2165 // [MetadataService.GetExecution][google.cloud.aiplatform.v1beta1.MetadataService.GetExecution]. 2166 type GetExecutionRequest struct { 2167 state protoimpl.MessageState 2168 sizeCache protoimpl.SizeCache 2169 unknownFields protoimpl.UnknownFields 2170 2171 // Required. The resource name of the Execution to retrieve. 2172 // Format: 2173 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` 2174 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2175 } 2176 2177 func (x *GetExecutionRequest) Reset() { 2178 *x = GetExecutionRequest{} 2179 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[33] 2180 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2181 ms.StoreMessageInfo(mi) 2182 } 2183 2184 func (x *GetExecutionRequest) String() string { 2185 return protoimpl.X.MessageStringOf(x) 2186 } 2187 2188 func (*GetExecutionRequest) ProtoMessage() {} 2189 2190 func (x *GetExecutionRequest) ProtoReflect() protoreflect.Message { 2191 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[33] 2192 if x != nil { 2193 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2194 if ms.LoadMessageInfo() == nil { 2195 ms.StoreMessageInfo(mi) 2196 } 2197 return ms 2198 } 2199 return mi.MessageOf(x) 2200 } 2201 2202 // Deprecated: Use GetExecutionRequest.ProtoReflect.Descriptor instead. 2203 func (*GetExecutionRequest) Descriptor() ([]byte, []int) { 2204 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{33} 2205 } 2206 2207 func (x *GetExecutionRequest) GetName() string { 2208 if x != nil { 2209 return x.Name 2210 } 2211 return "" 2212 } 2213 2214 // Request message for 2215 // [MetadataService.ListExecutions][google.cloud.aiplatform.v1beta1.MetadataService.ListExecutions]. 2216 type ListExecutionsRequest struct { 2217 state protoimpl.MessageState 2218 sizeCache protoimpl.SizeCache 2219 unknownFields protoimpl.UnknownFields 2220 2221 // Required. The MetadataStore whose Executions should be listed. 2222 // Format: 2223 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` 2224 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2225 // The maximum number of Executions to return. The service may return fewer. 2226 // Must be in range 1-1000, inclusive. Defaults to 100. 2227 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 2228 // A page token, received from a previous 2229 // [MetadataService.ListExecutions][google.cloud.aiplatform.v1beta1.MetadataService.ListExecutions] 2230 // call. Provide this to retrieve the subsequent page. 2231 // 2232 // When paginating, all other provided parameters must match the call that 2233 // provided the page token. (Otherwise the request will fail with an 2234 // INVALID_ARGUMENT error.) 2235 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 2236 // Filter specifying the boolean condition for the Executions to satisfy in 2237 // order to be part of the result set. 2238 // The syntax to define filter query is based on https://google.aip.dev/160. 2239 // Following are the supported set of filters: 2240 // 2241 // - **Attribute filtering**: 2242 // For example: `display_name = "test"`. 2243 // Supported fields include: `name`, `display_name`, `state`, 2244 // `schema_title`, `create_time`, and `update_time`. 2245 // Time fields, such as `create_time` and `update_time`, require values 2246 // specified in RFC-3339 format. 2247 // For example: `create_time = "2020-11-19T11:30:00-04:00"`. 2248 // - **Metadata field**: 2249 // To filter on metadata fields use traversal operation as follows: 2250 // `metadata.<field_name>.<type_value>` 2251 // For example: `metadata.field_1.number_value = 10.0` 2252 // In case the field name contains special characters (such as colon), one 2253 // can embed it inside double quote. 2254 // For example: `metadata."field:1".number_value = 10.0` 2255 // - **Context based filtering**: 2256 // To filter Executions based on the contexts to which they belong use 2257 // the function operator with the full resource name: 2258 // `in_context(<context-name>)`. 2259 // For example: 2260 // `in_context("projects/<project_number>/locations/<location>/metadataStores/<metadatastore_name>/contexts/<context-id>")` 2261 // 2262 // Each of the above supported filters can be combined together using 2263 // logical operators (`AND` & `OR`). Maximum nested expression depth allowed 2264 // is 5. 2265 // 2266 // For example: `display_name = "test" AND metadata.field1.bool_value = true`. 2267 Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` 2268 // How the list of messages is ordered. Specify the values to order by and an 2269 // ordering operation. The default sorting order is ascending. To specify 2270 // descending order for a field, users append a " desc" suffix; for example: 2271 // "foo desc, bar". 2272 // Subfields are specified with a `.` character, such as foo.bar. 2273 // see https://google.aip.dev/132#ordering for more details. 2274 OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 2275 } 2276 2277 func (x *ListExecutionsRequest) Reset() { 2278 *x = ListExecutionsRequest{} 2279 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[34] 2280 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2281 ms.StoreMessageInfo(mi) 2282 } 2283 2284 func (x *ListExecutionsRequest) String() string { 2285 return protoimpl.X.MessageStringOf(x) 2286 } 2287 2288 func (*ListExecutionsRequest) ProtoMessage() {} 2289 2290 func (x *ListExecutionsRequest) ProtoReflect() protoreflect.Message { 2291 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[34] 2292 if x != nil { 2293 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2294 if ms.LoadMessageInfo() == nil { 2295 ms.StoreMessageInfo(mi) 2296 } 2297 return ms 2298 } 2299 return mi.MessageOf(x) 2300 } 2301 2302 // Deprecated: Use ListExecutionsRequest.ProtoReflect.Descriptor instead. 2303 func (*ListExecutionsRequest) Descriptor() ([]byte, []int) { 2304 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{34} 2305 } 2306 2307 func (x *ListExecutionsRequest) GetParent() string { 2308 if x != nil { 2309 return x.Parent 2310 } 2311 return "" 2312 } 2313 2314 func (x *ListExecutionsRequest) GetPageSize() int32 { 2315 if x != nil { 2316 return x.PageSize 2317 } 2318 return 0 2319 } 2320 2321 func (x *ListExecutionsRequest) GetPageToken() string { 2322 if x != nil { 2323 return x.PageToken 2324 } 2325 return "" 2326 } 2327 2328 func (x *ListExecutionsRequest) GetFilter() string { 2329 if x != nil { 2330 return x.Filter 2331 } 2332 return "" 2333 } 2334 2335 func (x *ListExecutionsRequest) GetOrderBy() string { 2336 if x != nil { 2337 return x.OrderBy 2338 } 2339 return "" 2340 } 2341 2342 // Response message for 2343 // [MetadataService.ListExecutions][google.cloud.aiplatform.v1beta1.MetadataService.ListExecutions]. 2344 type ListExecutionsResponse struct { 2345 state protoimpl.MessageState 2346 sizeCache protoimpl.SizeCache 2347 unknownFields protoimpl.UnknownFields 2348 2349 // The Executions retrieved from the MetadataStore. 2350 Executions []*Execution `protobuf:"bytes,1,rep,name=executions,proto3" json:"executions,omitempty"` 2351 // A token, which can be sent as 2352 // [ListExecutionsRequest.page_token][google.cloud.aiplatform.v1beta1.ListExecutionsRequest.page_token] 2353 // to retrieve the next page. 2354 // If this field is not populated, there are no subsequent pages. 2355 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 2356 } 2357 2358 func (x *ListExecutionsResponse) Reset() { 2359 *x = ListExecutionsResponse{} 2360 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[35] 2361 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2362 ms.StoreMessageInfo(mi) 2363 } 2364 2365 func (x *ListExecutionsResponse) String() string { 2366 return protoimpl.X.MessageStringOf(x) 2367 } 2368 2369 func (*ListExecutionsResponse) ProtoMessage() {} 2370 2371 func (x *ListExecutionsResponse) ProtoReflect() protoreflect.Message { 2372 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[35] 2373 if x != nil { 2374 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2375 if ms.LoadMessageInfo() == nil { 2376 ms.StoreMessageInfo(mi) 2377 } 2378 return ms 2379 } 2380 return mi.MessageOf(x) 2381 } 2382 2383 // Deprecated: Use ListExecutionsResponse.ProtoReflect.Descriptor instead. 2384 func (*ListExecutionsResponse) Descriptor() ([]byte, []int) { 2385 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{35} 2386 } 2387 2388 func (x *ListExecutionsResponse) GetExecutions() []*Execution { 2389 if x != nil { 2390 return x.Executions 2391 } 2392 return nil 2393 } 2394 2395 func (x *ListExecutionsResponse) GetNextPageToken() string { 2396 if x != nil { 2397 return x.NextPageToken 2398 } 2399 return "" 2400 } 2401 2402 // Request message for 2403 // [MetadataService.UpdateExecution][google.cloud.aiplatform.v1beta1.MetadataService.UpdateExecution]. 2404 type UpdateExecutionRequest struct { 2405 state protoimpl.MessageState 2406 sizeCache protoimpl.SizeCache 2407 unknownFields protoimpl.UnknownFields 2408 2409 // Required. The Execution containing updates. 2410 // The Execution's 2411 // [Execution.name][google.cloud.aiplatform.v1beta1.Execution.name] field is 2412 // used to identify the Execution to be updated. Format: 2413 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` 2414 Execution *Execution `protobuf:"bytes,1,opt,name=execution,proto3" json:"execution,omitempty"` 2415 // Optional. A FieldMask indicating which fields should be updated. 2416 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 2417 // If set to true, and the 2418 // [Execution][google.cloud.aiplatform.v1beta1.Execution] is not found, a new 2419 // [Execution][google.cloud.aiplatform.v1beta1.Execution] is created. 2420 AllowMissing bool `protobuf:"varint,3,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"` 2421 } 2422 2423 func (x *UpdateExecutionRequest) Reset() { 2424 *x = UpdateExecutionRequest{} 2425 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[36] 2426 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2427 ms.StoreMessageInfo(mi) 2428 } 2429 2430 func (x *UpdateExecutionRequest) String() string { 2431 return protoimpl.X.MessageStringOf(x) 2432 } 2433 2434 func (*UpdateExecutionRequest) ProtoMessage() {} 2435 2436 func (x *UpdateExecutionRequest) ProtoReflect() protoreflect.Message { 2437 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[36] 2438 if x != nil { 2439 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2440 if ms.LoadMessageInfo() == nil { 2441 ms.StoreMessageInfo(mi) 2442 } 2443 return ms 2444 } 2445 return mi.MessageOf(x) 2446 } 2447 2448 // Deprecated: Use UpdateExecutionRequest.ProtoReflect.Descriptor instead. 2449 func (*UpdateExecutionRequest) Descriptor() ([]byte, []int) { 2450 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{36} 2451 } 2452 2453 func (x *UpdateExecutionRequest) GetExecution() *Execution { 2454 if x != nil { 2455 return x.Execution 2456 } 2457 return nil 2458 } 2459 2460 func (x *UpdateExecutionRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 2461 if x != nil { 2462 return x.UpdateMask 2463 } 2464 return nil 2465 } 2466 2467 func (x *UpdateExecutionRequest) GetAllowMissing() bool { 2468 if x != nil { 2469 return x.AllowMissing 2470 } 2471 return false 2472 } 2473 2474 // Request message for 2475 // [MetadataService.DeleteExecution][google.cloud.aiplatform.v1beta1.MetadataService.DeleteExecution]. 2476 type DeleteExecutionRequest struct { 2477 state protoimpl.MessageState 2478 sizeCache protoimpl.SizeCache 2479 unknownFields protoimpl.UnknownFields 2480 2481 // Required. The resource name of the Execution to delete. 2482 // Format: 2483 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` 2484 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2485 // Optional. The etag of the Execution to delete. 2486 // If this is provided, it must match the server's etag. Otherwise, the 2487 // request will fail with a FAILED_PRECONDITION. 2488 Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` 2489 } 2490 2491 func (x *DeleteExecutionRequest) Reset() { 2492 *x = DeleteExecutionRequest{} 2493 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[37] 2494 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2495 ms.StoreMessageInfo(mi) 2496 } 2497 2498 func (x *DeleteExecutionRequest) String() string { 2499 return protoimpl.X.MessageStringOf(x) 2500 } 2501 2502 func (*DeleteExecutionRequest) ProtoMessage() {} 2503 2504 func (x *DeleteExecutionRequest) ProtoReflect() protoreflect.Message { 2505 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[37] 2506 if x != nil { 2507 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2508 if ms.LoadMessageInfo() == nil { 2509 ms.StoreMessageInfo(mi) 2510 } 2511 return ms 2512 } 2513 return mi.MessageOf(x) 2514 } 2515 2516 // Deprecated: Use DeleteExecutionRequest.ProtoReflect.Descriptor instead. 2517 func (*DeleteExecutionRequest) Descriptor() ([]byte, []int) { 2518 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{37} 2519 } 2520 2521 func (x *DeleteExecutionRequest) GetName() string { 2522 if x != nil { 2523 return x.Name 2524 } 2525 return "" 2526 } 2527 2528 func (x *DeleteExecutionRequest) GetEtag() string { 2529 if x != nil { 2530 return x.Etag 2531 } 2532 return "" 2533 } 2534 2535 // Request message for 2536 // [MetadataService.PurgeExecutions][google.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions]. 2537 type PurgeExecutionsRequest struct { 2538 state protoimpl.MessageState 2539 sizeCache protoimpl.SizeCache 2540 unknownFields protoimpl.UnknownFields 2541 2542 // Required. The metadata store to purge Executions from. 2543 // Format: 2544 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` 2545 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2546 // Required. A required filter matching the Executions to be purged. 2547 // E.g., `update_time <= 2020-11-19T11:30:00-04:00`. 2548 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 2549 // Optional. Flag to indicate to actually perform the purge. 2550 // If `force` is set to false, the method will return a sample of 2551 // Execution names that would be deleted. 2552 Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` 2553 } 2554 2555 func (x *PurgeExecutionsRequest) Reset() { 2556 *x = PurgeExecutionsRequest{} 2557 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[38] 2558 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2559 ms.StoreMessageInfo(mi) 2560 } 2561 2562 func (x *PurgeExecutionsRequest) String() string { 2563 return protoimpl.X.MessageStringOf(x) 2564 } 2565 2566 func (*PurgeExecutionsRequest) ProtoMessage() {} 2567 2568 func (x *PurgeExecutionsRequest) ProtoReflect() protoreflect.Message { 2569 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[38] 2570 if x != nil { 2571 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2572 if ms.LoadMessageInfo() == nil { 2573 ms.StoreMessageInfo(mi) 2574 } 2575 return ms 2576 } 2577 return mi.MessageOf(x) 2578 } 2579 2580 // Deprecated: Use PurgeExecutionsRequest.ProtoReflect.Descriptor instead. 2581 func (*PurgeExecutionsRequest) Descriptor() ([]byte, []int) { 2582 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{38} 2583 } 2584 2585 func (x *PurgeExecutionsRequest) GetParent() string { 2586 if x != nil { 2587 return x.Parent 2588 } 2589 return "" 2590 } 2591 2592 func (x *PurgeExecutionsRequest) GetFilter() string { 2593 if x != nil { 2594 return x.Filter 2595 } 2596 return "" 2597 } 2598 2599 func (x *PurgeExecutionsRequest) GetForce() bool { 2600 if x != nil { 2601 return x.Force 2602 } 2603 return false 2604 } 2605 2606 // Response message for 2607 // [MetadataService.PurgeExecutions][google.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions]. 2608 type PurgeExecutionsResponse struct { 2609 state protoimpl.MessageState 2610 sizeCache protoimpl.SizeCache 2611 unknownFields protoimpl.UnknownFields 2612 2613 // The number of Executions that this request deleted (or, if `force` is 2614 // false, the number of Executions that will be deleted). This can be an 2615 // estimate. 2616 PurgeCount int64 `protobuf:"varint,1,opt,name=purge_count,json=purgeCount,proto3" json:"purge_count,omitempty"` 2617 // A sample of the Execution names that will be deleted. 2618 // Only populated if `force` is set to false. The maximum number of samples is 2619 // 100 (it is possible to return fewer). 2620 PurgeSample []string `protobuf:"bytes,2,rep,name=purge_sample,json=purgeSample,proto3" json:"purge_sample,omitempty"` 2621 } 2622 2623 func (x *PurgeExecutionsResponse) Reset() { 2624 *x = PurgeExecutionsResponse{} 2625 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[39] 2626 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2627 ms.StoreMessageInfo(mi) 2628 } 2629 2630 func (x *PurgeExecutionsResponse) String() string { 2631 return protoimpl.X.MessageStringOf(x) 2632 } 2633 2634 func (*PurgeExecutionsResponse) ProtoMessage() {} 2635 2636 func (x *PurgeExecutionsResponse) ProtoReflect() protoreflect.Message { 2637 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[39] 2638 if x != nil { 2639 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2640 if ms.LoadMessageInfo() == nil { 2641 ms.StoreMessageInfo(mi) 2642 } 2643 return ms 2644 } 2645 return mi.MessageOf(x) 2646 } 2647 2648 // Deprecated: Use PurgeExecutionsResponse.ProtoReflect.Descriptor instead. 2649 func (*PurgeExecutionsResponse) Descriptor() ([]byte, []int) { 2650 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{39} 2651 } 2652 2653 func (x *PurgeExecutionsResponse) GetPurgeCount() int64 { 2654 if x != nil { 2655 return x.PurgeCount 2656 } 2657 return 0 2658 } 2659 2660 func (x *PurgeExecutionsResponse) GetPurgeSample() []string { 2661 if x != nil { 2662 return x.PurgeSample 2663 } 2664 return nil 2665 } 2666 2667 // Details of operations that perform 2668 // [MetadataService.PurgeExecutions][google.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions]. 2669 type PurgeExecutionsMetadata struct { 2670 state protoimpl.MessageState 2671 sizeCache protoimpl.SizeCache 2672 unknownFields protoimpl.UnknownFields 2673 2674 // Operation metadata for purging Executions. 2675 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 2676 } 2677 2678 func (x *PurgeExecutionsMetadata) Reset() { 2679 *x = PurgeExecutionsMetadata{} 2680 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[40] 2681 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2682 ms.StoreMessageInfo(mi) 2683 } 2684 2685 func (x *PurgeExecutionsMetadata) String() string { 2686 return protoimpl.X.MessageStringOf(x) 2687 } 2688 2689 func (*PurgeExecutionsMetadata) ProtoMessage() {} 2690 2691 func (x *PurgeExecutionsMetadata) ProtoReflect() protoreflect.Message { 2692 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[40] 2693 if x != nil { 2694 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2695 if ms.LoadMessageInfo() == nil { 2696 ms.StoreMessageInfo(mi) 2697 } 2698 return ms 2699 } 2700 return mi.MessageOf(x) 2701 } 2702 2703 // Deprecated: Use PurgeExecutionsMetadata.ProtoReflect.Descriptor instead. 2704 func (*PurgeExecutionsMetadata) Descriptor() ([]byte, []int) { 2705 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{40} 2706 } 2707 2708 func (x *PurgeExecutionsMetadata) GetGenericMetadata() *GenericOperationMetadata { 2709 if x != nil { 2710 return x.GenericMetadata 2711 } 2712 return nil 2713 } 2714 2715 // Request message for 2716 // [MetadataService.AddExecutionEvents][google.cloud.aiplatform.v1beta1.MetadataService.AddExecutionEvents]. 2717 type AddExecutionEventsRequest struct { 2718 state protoimpl.MessageState 2719 sizeCache protoimpl.SizeCache 2720 unknownFields protoimpl.UnknownFields 2721 2722 // Required. The resource name of the Execution that the Events connect 2723 // Artifacts with. 2724 // Format: 2725 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` 2726 Execution string `protobuf:"bytes,1,opt,name=execution,proto3" json:"execution,omitempty"` 2727 // The Events to create and add. 2728 Events []*Event `protobuf:"bytes,2,rep,name=events,proto3" json:"events,omitempty"` 2729 } 2730 2731 func (x *AddExecutionEventsRequest) Reset() { 2732 *x = AddExecutionEventsRequest{} 2733 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[41] 2734 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2735 ms.StoreMessageInfo(mi) 2736 } 2737 2738 func (x *AddExecutionEventsRequest) String() string { 2739 return protoimpl.X.MessageStringOf(x) 2740 } 2741 2742 func (*AddExecutionEventsRequest) ProtoMessage() {} 2743 2744 func (x *AddExecutionEventsRequest) ProtoReflect() protoreflect.Message { 2745 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[41] 2746 if x != nil { 2747 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2748 if ms.LoadMessageInfo() == nil { 2749 ms.StoreMessageInfo(mi) 2750 } 2751 return ms 2752 } 2753 return mi.MessageOf(x) 2754 } 2755 2756 // Deprecated: Use AddExecutionEventsRequest.ProtoReflect.Descriptor instead. 2757 func (*AddExecutionEventsRequest) Descriptor() ([]byte, []int) { 2758 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{41} 2759 } 2760 2761 func (x *AddExecutionEventsRequest) GetExecution() string { 2762 if x != nil { 2763 return x.Execution 2764 } 2765 return "" 2766 } 2767 2768 func (x *AddExecutionEventsRequest) GetEvents() []*Event { 2769 if x != nil { 2770 return x.Events 2771 } 2772 return nil 2773 } 2774 2775 // Response message for 2776 // [MetadataService.AddExecutionEvents][google.cloud.aiplatform.v1beta1.MetadataService.AddExecutionEvents]. 2777 type AddExecutionEventsResponse struct { 2778 state protoimpl.MessageState 2779 sizeCache protoimpl.SizeCache 2780 unknownFields protoimpl.UnknownFields 2781 } 2782 2783 func (x *AddExecutionEventsResponse) Reset() { 2784 *x = AddExecutionEventsResponse{} 2785 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[42] 2786 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2787 ms.StoreMessageInfo(mi) 2788 } 2789 2790 func (x *AddExecutionEventsResponse) String() string { 2791 return protoimpl.X.MessageStringOf(x) 2792 } 2793 2794 func (*AddExecutionEventsResponse) ProtoMessage() {} 2795 2796 func (x *AddExecutionEventsResponse) ProtoReflect() protoreflect.Message { 2797 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[42] 2798 if x != nil { 2799 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2800 if ms.LoadMessageInfo() == nil { 2801 ms.StoreMessageInfo(mi) 2802 } 2803 return ms 2804 } 2805 return mi.MessageOf(x) 2806 } 2807 2808 // Deprecated: Use AddExecutionEventsResponse.ProtoReflect.Descriptor instead. 2809 func (*AddExecutionEventsResponse) Descriptor() ([]byte, []int) { 2810 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{42} 2811 } 2812 2813 // Request message for 2814 // [MetadataService.QueryExecutionInputsAndOutputs][google.cloud.aiplatform.v1beta1.MetadataService.QueryExecutionInputsAndOutputs]. 2815 type QueryExecutionInputsAndOutputsRequest struct { 2816 state protoimpl.MessageState 2817 sizeCache protoimpl.SizeCache 2818 unknownFields protoimpl.UnknownFields 2819 2820 // Required. The resource name of the Execution whose input and output 2821 // Artifacts should be retrieved as a LineageSubgraph. Format: 2822 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` 2823 Execution string `protobuf:"bytes,1,opt,name=execution,proto3" json:"execution,omitempty"` 2824 } 2825 2826 func (x *QueryExecutionInputsAndOutputsRequest) Reset() { 2827 *x = QueryExecutionInputsAndOutputsRequest{} 2828 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[43] 2829 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2830 ms.StoreMessageInfo(mi) 2831 } 2832 2833 func (x *QueryExecutionInputsAndOutputsRequest) String() string { 2834 return protoimpl.X.MessageStringOf(x) 2835 } 2836 2837 func (*QueryExecutionInputsAndOutputsRequest) ProtoMessage() {} 2838 2839 func (x *QueryExecutionInputsAndOutputsRequest) ProtoReflect() protoreflect.Message { 2840 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[43] 2841 if x != nil { 2842 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2843 if ms.LoadMessageInfo() == nil { 2844 ms.StoreMessageInfo(mi) 2845 } 2846 return ms 2847 } 2848 return mi.MessageOf(x) 2849 } 2850 2851 // Deprecated: Use QueryExecutionInputsAndOutputsRequest.ProtoReflect.Descriptor instead. 2852 func (*QueryExecutionInputsAndOutputsRequest) Descriptor() ([]byte, []int) { 2853 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{43} 2854 } 2855 2856 func (x *QueryExecutionInputsAndOutputsRequest) GetExecution() string { 2857 if x != nil { 2858 return x.Execution 2859 } 2860 return "" 2861 } 2862 2863 // Request message for 2864 // [MetadataService.CreateMetadataSchema][google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataSchema]. 2865 type CreateMetadataSchemaRequest struct { 2866 state protoimpl.MessageState 2867 sizeCache protoimpl.SizeCache 2868 unknownFields protoimpl.UnknownFields 2869 2870 // Required. The resource name of the MetadataStore where the MetadataSchema 2871 // should be created. Format: 2872 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` 2873 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2874 // Required. The MetadataSchema to create. 2875 MetadataSchema *MetadataSchema `protobuf:"bytes,2,opt,name=metadata_schema,json=metadataSchema,proto3" json:"metadata_schema,omitempty"` 2876 // The {metadata_schema} portion of the resource name with the format: 2877 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}` 2878 // If not provided, the MetadataStore's ID will be a UUID generated by the 2879 // service. 2880 // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`. 2881 // Must be unique across all MetadataSchemas in the parent Location. 2882 // (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED 2883 // if the caller can't view the preexisting MetadataSchema.) 2884 MetadataSchemaId string `protobuf:"bytes,3,opt,name=metadata_schema_id,json=metadataSchemaId,proto3" json:"metadata_schema_id,omitempty"` 2885 } 2886 2887 func (x *CreateMetadataSchemaRequest) Reset() { 2888 *x = CreateMetadataSchemaRequest{} 2889 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[44] 2890 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2891 ms.StoreMessageInfo(mi) 2892 } 2893 2894 func (x *CreateMetadataSchemaRequest) String() string { 2895 return protoimpl.X.MessageStringOf(x) 2896 } 2897 2898 func (*CreateMetadataSchemaRequest) ProtoMessage() {} 2899 2900 func (x *CreateMetadataSchemaRequest) ProtoReflect() protoreflect.Message { 2901 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[44] 2902 if x != nil { 2903 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2904 if ms.LoadMessageInfo() == nil { 2905 ms.StoreMessageInfo(mi) 2906 } 2907 return ms 2908 } 2909 return mi.MessageOf(x) 2910 } 2911 2912 // Deprecated: Use CreateMetadataSchemaRequest.ProtoReflect.Descriptor instead. 2913 func (*CreateMetadataSchemaRequest) Descriptor() ([]byte, []int) { 2914 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{44} 2915 } 2916 2917 func (x *CreateMetadataSchemaRequest) GetParent() string { 2918 if x != nil { 2919 return x.Parent 2920 } 2921 return "" 2922 } 2923 2924 func (x *CreateMetadataSchemaRequest) GetMetadataSchema() *MetadataSchema { 2925 if x != nil { 2926 return x.MetadataSchema 2927 } 2928 return nil 2929 } 2930 2931 func (x *CreateMetadataSchemaRequest) GetMetadataSchemaId() string { 2932 if x != nil { 2933 return x.MetadataSchemaId 2934 } 2935 return "" 2936 } 2937 2938 // Request message for 2939 // [MetadataService.GetMetadataSchema][google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataSchema]. 2940 type GetMetadataSchemaRequest struct { 2941 state protoimpl.MessageState 2942 sizeCache protoimpl.SizeCache 2943 unknownFields protoimpl.UnknownFields 2944 2945 // Required. The resource name of the MetadataSchema to retrieve. 2946 // Format: 2947 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}` 2948 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2949 } 2950 2951 func (x *GetMetadataSchemaRequest) Reset() { 2952 *x = GetMetadataSchemaRequest{} 2953 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[45] 2954 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2955 ms.StoreMessageInfo(mi) 2956 } 2957 2958 func (x *GetMetadataSchemaRequest) String() string { 2959 return protoimpl.X.MessageStringOf(x) 2960 } 2961 2962 func (*GetMetadataSchemaRequest) ProtoMessage() {} 2963 2964 func (x *GetMetadataSchemaRequest) ProtoReflect() protoreflect.Message { 2965 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[45] 2966 if x != nil { 2967 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2968 if ms.LoadMessageInfo() == nil { 2969 ms.StoreMessageInfo(mi) 2970 } 2971 return ms 2972 } 2973 return mi.MessageOf(x) 2974 } 2975 2976 // Deprecated: Use GetMetadataSchemaRequest.ProtoReflect.Descriptor instead. 2977 func (*GetMetadataSchemaRequest) Descriptor() ([]byte, []int) { 2978 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{45} 2979 } 2980 2981 func (x *GetMetadataSchemaRequest) GetName() string { 2982 if x != nil { 2983 return x.Name 2984 } 2985 return "" 2986 } 2987 2988 // Request message for 2989 // [MetadataService.ListMetadataSchemas][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas]. 2990 type ListMetadataSchemasRequest struct { 2991 state protoimpl.MessageState 2992 sizeCache protoimpl.SizeCache 2993 unknownFields protoimpl.UnknownFields 2994 2995 // Required. The MetadataStore whose MetadataSchemas should be listed. 2996 // Format: 2997 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` 2998 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2999 // The maximum number of MetadataSchemas to return. The service may return 3000 // fewer. 3001 // Must be in range 1-1000, inclusive. Defaults to 100. 3002 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 3003 // A page token, received from a previous 3004 // [MetadataService.ListMetadataSchemas][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas] 3005 // call. Provide this to retrieve the next page. 3006 // 3007 // When paginating, all other provided parameters must match the call that 3008 // provided the page token. (Otherwise the request will fail with 3009 // INVALID_ARGUMENT error.) 3010 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 3011 // A query to filter available MetadataSchemas for matching results. 3012 Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` 3013 } 3014 3015 func (x *ListMetadataSchemasRequest) Reset() { 3016 *x = ListMetadataSchemasRequest{} 3017 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[46] 3018 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3019 ms.StoreMessageInfo(mi) 3020 } 3021 3022 func (x *ListMetadataSchemasRequest) String() string { 3023 return protoimpl.X.MessageStringOf(x) 3024 } 3025 3026 func (*ListMetadataSchemasRequest) ProtoMessage() {} 3027 3028 func (x *ListMetadataSchemasRequest) ProtoReflect() protoreflect.Message { 3029 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[46] 3030 if x != nil { 3031 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3032 if ms.LoadMessageInfo() == nil { 3033 ms.StoreMessageInfo(mi) 3034 } 3035 return ms 3036 } 3037 return mi.MessageOf(x) 3038 } 3039 3040 // Deprecated: Use ListMetadataSchemasRequest.ProtoReflect.Descriptor instead. 3041 func (*ListMetadataSchemasRequest) Descriptor() ([]byte, []int) { 3042 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{46} 3043 } 3044 3045 func (x *ListMetadataSchemasRequest) GetParent() string { 3046 if x != nil { 3047 return x.Parent 3048 } 3049 return "" 3050 } 3051 3052 func (x *ListMetadataSchemasRequest) GetPageSize() int32 { 3053 if x != nil { 3054 return x.PageSize 3055 } 3056 return 0 3057 } 3058 3059 func (x *ListMetadataSchemasRequest) GetPageToken() string { 3060 if x != nil { 3061 return x.PageToken 3062 } 3063 return "" 3064 } 3065 3066 func (x *ListMetadataSchemasRequest) GetFilter() string { 3067 if x != nil { 3068 return x.Filter 3069 } 3070 return "" 3071 } 3072 3073 // Response message for 3074 // [MetadataService.ListMetadataSchemas][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas]. 3075 type ListMetadataSchemasResponse struct { 3076 state protoimpl.MessageState 3077 sizeCache protoimpl.SizeCache 3078 unknownFields protoimpl.UnknownFields 3079 3080 // The MetadataSchemas found for the MetadataStore. 3081 MetadataSchemas []*MetadataSchema `protobuf:"bytes,1,rep,name=metadata_schemas,json=metadataSchemas,proto3" json:"metadata_schemas,omitempty"` 3082 // A token, which can be sent as 3083 // [ListMetadataSchemasRequest.page_token][google.cloud.aiplatform.v1beta1.ListMetadataSchemasRequest.page_token] 3084 // to retrieve the next page. If this field is not populated, there are no 3085 // subsequent pages. 3086 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 3087 } 3088 3089 func (x *ListMetadataSchemasResponse) Reset() { 3090 *x = ListMetadataSchemasResponse{} 3091 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[47] 3092 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3093 ms.StoreMessageInfo(mi) 3094 } 3095 3096 func (x *ListMetadataSchemasResponse) String() string { 3097 return protoimpl.X.MessageStringOf(x) 3098 } 3099 3100 func (*ListMetadataSchemasResponse) ProtoMessage() {} 3101 3102 func (x *ListMetadataSchemasResponse) ProtoReflect() protoreflect.Message { 3103 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[47] 3104 if x != nil { 3105 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3106 if ms.LoadMessageInfo() == nil { 3107 ms.StoreMessageInfo(mi) 3108 } 3109 return ms 3110 } 3111 return mi.MessageOf(x) 3112 } 3113 3114 // Deprecated: Use ListMetadataSchemasResponse.ProtoReflect.Descriptor instead. 3115 func (*ListMetadataSchemasResponse) Descriptor() ([]byte, []int) { 3116 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{47} 3117 } 3118 3119 func (x *ListMetadataSchemasResponse) GetMetadataSchemas() []*MetadataSchema { 3120 if x != nil { 3121 return x.MetadataSchemas 3122 } 3123 return nil 3124 } 3125 3126 func (x *ListMetadataSchemasResponse) GetNextPageToken() string { 3127 if x != nil { 3128 return x.NextPageToken 3129 } 3130 return "" 3131 } 3132 3133 // Request message for 3134 // [MetadataService.QueryArtifactLineageSubgraph][google.cloud.aiplatform.v1beta1.MetadataService.QueryArtifactLineageSubgraph]. 3135 type QueryArtifactLineageSubgraphRequest struct { 3136 state protoimpl.MessageState 3137 sizeCache protoimpl.SizeCache 3138 unknownFields protoimpl.UnknownFields 3139 3140 // Required. The resource name of the Artifact whose Lineage needs to be 3141 // retrieved as a LineageSubgraph. Format: 3142 // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` 3143 // 3144 // The request may error with FAILED_PRECONDITION if the number of Artifacts, 3145 // the number of Executions, or the number of Events that would be returned 3146 // for the Context exceeds 1000. 3147 Artifact string `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"` 3148 // Specifies the size of the lineage graph in terms of number of hops from the 3149 // specified artifact. 3150 // Negative Value: INVALID_ARGUMENT error is returned 3151 // 0: Only input artifact is returned. 3152 // No value: Transitive closure is performed to return the complete graph. 3153 MaxHops int32 `protobuf:"varint,2,opt,name=max_hops,json=maxHops,proto3" json:"max_hops,omitempty"` 3154 // Filter specifying the boolean condition for the Artifacts to satisfy in 3155 // order to be part of the Lineage Subgraph. 3156 // The syntax to define filter query is based on https://google.aip.dev/160. 3157 // The supported set of filters include the following: 3158 // 3159 // - **Attribute filtering**: 3160 // For example: `display_name = "test"` 3161 // Supported fields include: `name`, `display_name`, `uri`, `state`, 3162 // `schema_title`, `create_time`, and `update_time`. 3163 // Time fields, such as `create_time` and `update_time`, require values 3164 // specified in RFC-3339 format. 3165 // For example: `create_time = "2020-11-19T11:30:00-04:00"` 3166 // - **Metadata field**: 3167 // To filter on metadata fields use traversal operation as follows: 3168 // `metadata.<field_name>.<type_value>`. 3169 // For example: `metadata.field_1.number_value = 10.0` 3170 // In case the field name contains special characters (such as colon), one 3171 // can embed it inside double quote. 3172 // For example: `metadata."field:1".number_value = 10.0` 3173 // 3174 // Each of the above supported filter types can be combined together using 3175 // logical operators (`AND` & `OR`). Maximum nested expression depth allowed 3176 // is 5. 3177 // 3178 // For example: `display_name = "test" AND metadata.field1.bool_value = true`. 3179 Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` 3180 } 3181 3182 func (x *QueryArtifactLineageSubgraphRequest) Reset() { 3183 *x = QueryArtifactLineageSubgraphRequest{} 3184 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[48] 3185 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3186 ms.StoreMessageInfo(mi) 3187 } 3188 3189 func (x *QueryArtifactLineageSubgraphRequest) String() string { 3190 return protoimpl.X.MessageStringOf(x) 3191 } 3192 3193 func (*QueryArtifactLineageSubgraphRequest) ProtoMessage() {} 3194 3195 func (x *QueryArtifactLineageSubgraphRequest) ProtoReflect() protoreflect.Message { 3196 mi := &file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[48] 3197 if x != nil { 3198 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3199 if ms.LoadMessageInfo() == nil { 3200 ms.StoreMessageInfo(mi) 3201 } 3202 return ms 3203 } 3204 return mi.MessageOf(x) 3205 } 3206 3207 // Deprecated: Use QueryArtifactLineageSubgraphRequest.ProtoReflect.Descriptor instead. 3208 func (*QueryArtifactLineageSubgraphRequest) Descriptor() ([]byte, []int) { 3209 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{48} 3210 } 3211 3212 func (x *QueryArtifactLineageSubgraphRequest) GetArtifact() string { 3213 if x != nil { 3214 return x.Artifact 3215 } 3216 return "" 3217 } 3218 3219 func (x *QueryArtifactLineageSubgraphRequest) GetMaxHops() int32 { 3220 if x != nil { 3221 return x.MaxHops 3222 } 3223 return 0 3224 } 3225 3226 func (x *QueryArtifactLineageSubgraphRequest) GetFilter() string { 3227 if x != nil { 3228 return x.Filter 3229 } 3230 return "" 3231 } 3232 3233 var File_google_cloud_aiplatform_v1beta1_metadata_service_proto protoreflect.FileDescriptor 3234 3235 var file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDesc = []byte{ 3236 0x0a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 3237 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 3238 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 3239 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3240 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3241 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3242 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3243 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 3244 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3245 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 3246 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3247 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 3248 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x6f, 3249 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 3250 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x72, 3251 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 3252 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 3253 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 3254 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 3255 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3256 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x76, 0x65, 3257 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3258 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3259 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 3260 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3261 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3262 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6c, 0x69, 0x6e, 0x65, 0x61, 3263 0x67, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3264 0x6f, 0x1a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 3265 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 3266 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 3267 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3268 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3269 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 3270 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 3271 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 3272 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 3273 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 3274 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 3275 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 3276 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 3277 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3278 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 3279 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 3280 0x6f, 0x74, 0x6f, 0x22, 0xe7, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 3281 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 3282 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 3283 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 3284 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 3285 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 3286 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5a, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 3287 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 3288 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 3289 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 3290 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x03, 0xe0, 3291 0x41, 0x02, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 3292 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 3293 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 3294 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x22, 0x8c, 0x01, 3295 0x0a, 0x24, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 3296 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 3297 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 3298 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 3299 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3300 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 3301 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 3302 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 3303 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5e, 0x0a, 0x17, 3304 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 3305 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 3306 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 3307 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3308 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 3309 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9a, 0x01, 0x0a, 3310 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 3311 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 3312 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 3313 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 3314 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 3315 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 3316 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 3317 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 3318 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 3319 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9d, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 3320 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 3321 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x61, 3322 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 3323 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3324 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 3325 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 3326 0x65, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 3327 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 3328 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 3329 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7b, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 3330 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 3331 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 3332 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 3333 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3334 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 3335 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x05, 3336 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 3337 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x24, 0x44, 0x65, 0x6c, 0x65, 0x74, 3338 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 3339 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 3340 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 3341 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3342 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3343 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 3344 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 3345 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 3346 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xcd, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 3347 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 3348 0x47, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 3349 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3350 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 3351 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 3352 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 3353 0x66, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 3354 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3355 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x72, 0x74, 3356 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 3357 0x66, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 3358 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 3359 0x61, 0x63, 0x74, 0x49, 0x64, 0x22, 0x54, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 3360 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 3361 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 3362 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 3363 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x72, 0x74, 3364 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x14, 3365 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 3366 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 3367 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x61, 0x69, 3368 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 3369 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 3370 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 3371 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 3372 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 3373 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 3374 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 3375 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 3376 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 3377 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x88, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 3378 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 3379 0x65, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, 3380 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 3381 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 3382 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 3383 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 3384 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 3385 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 3386 0x65, 0x6e, 0x22, 0xca, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 3387 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x08, 3388 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 3389 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 3390 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 3391 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 3392 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 3393 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 3394 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 3395 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 3396 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 3397 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 3398 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 3399 0x70, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 3400 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 3401 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 3402 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3403 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 3404 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 3405 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 3406 0x67, 0x22, 0x93, 0x01, 0x0a, 0x15, 0x50, 0x75, 0x72, 0x67, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 3407 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 3408 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 3409 0xfa, 0x41, 0x24, 0x12, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3410 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 3411 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 3412 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 3413 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 3414 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 3415 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x16, 0x50, 0x75, 0x72, 0x67, 3416 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 3417 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 3418 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 3419 0x75, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0c, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x61, 0x6d, 3420 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x27, 0xfa, 0x41, 0x24, 0x0a, 0x22, 3421 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3422 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 3423 0x63, 0x74, 0x52, 0x0b, 0x70, 0x75, 0x72, 0x67, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x22, 3424 0x7e, 0x0a, 0x16, 0x50, 0x75, 0x72, 0x67, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 3425 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 3426 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 3427 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3428 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3429 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 3430 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 3431 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 3432 0xc7, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 3433 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 3434 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 3435 0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 3436 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, 3437 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 3438 0x74, 0x12, 0x47, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 3439 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3440 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 3441 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x03, 0xe0, 0x41, 3442 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 3443 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 3444 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x64, 0x22, 0x52, 0x0a, 0x11, 0x47, 0x65, 0x74, 3445 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 3446 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 3447 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 3448 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 3449 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc7, 0x01, 3450 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 3451 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 3452 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x12, 0x21, 0x61, 3453 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3454 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 3455 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 3456 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 3457 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 3458 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 3459 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 3460 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 3461 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 3462 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x84, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 3463 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 3464 0x12, 0x44, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 3465 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3466 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 3467 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x08, 0x63, 0x6f, 3468 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 3469 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 3470 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xc6, 3471 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 3472 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 3473 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3474 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3475 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 3476 0x78, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 3477 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 3478 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 3479 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 3480 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 3481 0x73, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 3482 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 3483 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x84, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 3484 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 3485 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 3486 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3487 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 3488 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 3489 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 3490 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 3491 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x91, 3492 0x01, 0x0a, 0x14, 0x50, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 3493 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 3494 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x12, 3495 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3496 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 3497 0x78, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 3498 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 3499 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 3500 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x66, 0x6f, 0x72, 3501 0x63, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x15, 0x50, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 3502 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 3503 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 3504 0x03, 0x52, 0x0a, 0x70, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x49, 0x0a, 3505 0x0c, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 3506 0x03, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3507 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 3508 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0b, 0x70, 0x75, 0x72, 3509 0x67, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x22, 0x7d, 0x0a, 0x15, 0x50, 0x75, 0x72, 0x67, 3510 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 3511 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 3512 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 3513 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 3514 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 3515 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 3516 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 3517 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xff, 0x01, 0x0a, 0x27, 0x41, 0x64, 0x64, 0x43, 3518 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x41, 3519 0x6e, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 3520 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 3521 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 3522 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 3523 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 3524 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x45, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 3525 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x27, 0xfa, 0x41, 0x24, 3526 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 3527 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x72, 0x74, 0x69, 3528 0x66, 0x61, 0x63, 0x74, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 3529 0x48, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 3530 0x03, 0x28, 0x09, 0x42, 0x28, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3531 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 3532 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 3533 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2a, 0x0a, 0x28, 0x41, 0x64, 0x64, 3534 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 3535 0x41, 0x6e, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 3536 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaf, 0x01, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 3537 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 3538 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 3539 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 3540 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 3541 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 3542 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x4d, 0x0a, 0x0e, 0x63, 0x68, 0x69, 0x6c, 3543 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 3544 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3545 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 3546 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0d, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x43, 3547 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x22, 0x1c, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x43, 0x6f, 3548 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x65, 0x73, 3549 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 3550 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 3551 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 3552 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 3553 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3554 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 3555 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x4d, 0x0a, 0x0e, 0x63, 3556 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x02, 0x20, 3557 0x03, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3558 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 3559 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0d, 0x63, 0x68, 0x69, 3560 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x22, 0x1f, 0x0a, 0x1d, 0x52, 0x65, 3561 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 3562 0x72, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x22, 0x51, 3563 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x61, 3564 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 3565 0x74, 0x12, 0x43, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 3566 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 3567 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 3568 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 3569 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xd3, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 3570 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 3571 0x74, 0x12, 0x47, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 3572 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 3573 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 3574 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 3575 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a, 0x09, 0x65, 0x78, 3576 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 3577 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 3578 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 3579 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 3580 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x65, 3581 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 3582 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x13, 3583 0x47, 0x65, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 3584 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 3585 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 3586 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 3587 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 3588 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x65, 3589 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 3590 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 3591 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x12, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3592 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 3593 0x6d, 0x2f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 3594 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 3595 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 3596 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 3597 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 3598 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 3599 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 3600 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 3601 0x42, 0x79, 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 3602 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 3603 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 3604 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3605 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 3606 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 3607 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 3608 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 3609 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 3610 0x6e, 0x22, 0xce, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 3611 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x09, 3612 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 3613 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 3614 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 3615 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 3616 0x52, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 3617 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 3618 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 3619 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 3620 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x0a, 3621 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 3622 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 3623 0x6e, 0x67, 0x22, 0x72, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 3624 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 3625 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 3626 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 3627 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 3628 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 3629 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 3630 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x95, 0x01, 0x0a, 0x16, 0x50, 0x75, 0x72, 0x67, 0x65, 3631 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 3632 0x74, 0x12, 0x43, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 3633 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x12, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 3634 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 3635 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 3636 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 3637 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 3638 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 3639 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x87, 3640 0x01, 0x0a, 0x17, 0x50, 0x75, 0x72, 0x67, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 3641 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x75, 3642 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 3643 0x0a, 0x70, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x0c, 0x70, 3644 0x75, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 3645 0x09, 0x42, 0x28, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3646 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 3647 0x6d, 0x2f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x75, 0x72, 3648 0x67, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x22, 0x7f, 0x0a, 0x17, 0x50, 0x75, 0x72, 0x67, 3649 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 3650 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 3651 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 3652 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 3653 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 3654 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3655 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 3656 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa6, 0x01, 0x0a, 0x19, 0x41, 0x64, 3657 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 3658 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 3659 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 3660 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 3661 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 3662 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 3663 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 3664 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3665 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 3666 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 3667 0x74, 0x73, 0x22, 0x1c, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 3668 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 3669 0x22, 0x72, 0x0a, 0x25, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 3670 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 3671 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x65, 0x78, 0x65, 3672 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 3673 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 3674 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 3675 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 3676 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf3, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 3677 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 3678 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 3679 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 0x69, 3680 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 3681 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 3682 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5d, 0x0a, 3683 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 3684 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3685 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 3686 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 3687 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6d, 0x65, 3688 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x2c, 0x0a, 0x12, 3689 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 3690 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 3691 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x49, 0x64, 0x22, 0x60, 0x0a, 0x18, 0x47, 0x65, 3692 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 3693 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 3694 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x69, 3695 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 3696 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 3697 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xba, 0x01, 0x0a, 3698 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 3699 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 3700 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 3701 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3702 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 3703 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x70, 3704 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 3705 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 3706 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 3707 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 3708 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 3709 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa1, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 3710 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 3711 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x10, 0x6d, 0x65, 0x74, 3712 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 3713 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3714 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3715 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 3716 0x68, 0x65, 0x6d, 0x61, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 3717 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 3718 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 3719 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa0, 0x01, 3720 0x0a, 0x23, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4c, 3721 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 3722 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 3723 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 3724 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3725 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x72, 0x74, 0x69, 0x66, 3726 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x19, 0x0a, 3727 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x6f, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 3728 0x07, 0x6d, 0x61, 0x78, 0x48, 0x6f, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 3729 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 3730 0x32, 0xea, 0x3d, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 3731 0x76, 0x69, 0x63, 0x65, 0x12, 0xa5, 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 3732 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3b, 0x2e, 0x67, 3733 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3734 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 3735 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 3736 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3737 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 3738 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb1, 0x01, 0xca, 0x41, 0x35, 0x0a, 0x0d, 3739 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x43, 3740 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 3741 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 3742 0x61, 0x74, 0x61, 0xda, 0x41, 0x27, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x65, 0x74, 3743 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2c, 0x6d, 0x65, 0x74, 0x61, 3744 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 3745 0x93, 0x02, 0x49, 0x3a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 3746 0x6f, 0x72, 0x65, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 3747 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 3748 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x65, 3749 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x12, 0xc4, 0x01, 0x0a, 3750 0x10, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 3751 0x65, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3752 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 3753 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 3754 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 3755 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 3756 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 3757 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x46, 0xda, 0x41, 0x04, 3758 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x31, 0x62, 3759 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 3760 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 3761 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 3762 0x2f, 0x2a, 0x7d, 0x12, 0xd7, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 3763 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 3764 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3765 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 3766 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 3767 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3768 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 3769 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 3770 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 3771 0x6e, 0x73, 0x65, 0x22, 0x48, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 3772 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 3773 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 3774 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 3775 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x12, 0xfa, 0x01, 3776 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 3777 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3778 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3779 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 3780 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 3781 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 3782 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 3783 0x6e, 0x22, 0x86, 0x01, 0xca, 0x41, 0x3d, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3784 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x24, 3785 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 3786 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 3787 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 3788 0x39, 0x2a, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 3789 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 3790 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 3791 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe8, 0x01, 0x0a, 0x0e, 0x43, 3792 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x36, 0x2e, 3793 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 3794 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 3795 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 3796 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3797 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3798 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 3799 0x22, 0x73, 0xda, 0x41, 0x1b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x72, 0x74, 0x69, 3800 0x66, 0x61, 0x63, 0x74, 0x2c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 3801 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x3a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 3802 0x22, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 3803 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 3804 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 3805 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x72, 0x74, 0x69, 3806 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0xc1, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 3807 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3808 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3809 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 3810 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 3811 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3812 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x72, 0x74, 3813 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0x52, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 3814 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 3815 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 3816 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 3817 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 3818 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd4, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 3819 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x6f, 3820 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 3821 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 3822 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 3823 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3824 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 3825 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 3826 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0xda, 0x41, 0x06, 0x70, 3827 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x76, 0x31, 3828 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 3829 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3830 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 3831 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 3832 0x12, 0xea, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 3833 0x61, 0x63, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3834 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3835 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 3836 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 3837 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 3838 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x72, 3839 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0x75, 0xda, 0x41, 0x14, 0x61, 0x72, 0x74, 0x69, 0x66, 3840 0x61, 0x63, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 3841 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x3a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x32, 3842 0x4c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x61, 0x72, 0x74, 0x69, 0x66, 3843 0x61, 0x63, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 3844 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 3845 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 3846 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xef, 0x01, 3847 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 3848 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3849 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 3850 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 3851 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3852 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 3853 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 3854 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 3855 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 3856 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 3857 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x2a, 0x43, 0x2f, 0x76, 0x31, 0x62, 3858 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 3859 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 3860 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 3861 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 3862 0xfa, 0x01, 0x0a, 0x0e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 3863 0x74, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3864 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 3865 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 3866 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 3867 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 3868 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0xca, 0x41, 0x30, 0x0a, 3869 0x16, 0x50, 0x75, 0x72, 0x67, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 3870 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x50, 0x75, 0x72, 0x67, 0x65, 0x41, 0x72, 3871 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 3872 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x3a, 0x01, 3873 0x2a, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 3874 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 3875 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 3876 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x72, 0x74, 3877 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x3a, 0x70, 0x75, 0x72, 0x67, 0x65, 0x12, 0xe1, 0x01, 0x0a, 3878 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x35, 3879 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 3880 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 3881 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 3882 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3883 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3884 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 3885 0x6f, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 3886 0x78, 0x74, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 3887 0x93, 0x02, 0x4d, 0x3a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x42, 0x2f, 0x76, 3888 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 3889 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 3890 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 3891 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 3892 0x12, 0xbd, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 3893 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 3894 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 3895 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 3896 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3897 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3898 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x51, 0xda, 3899 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x12, 0x42, 0x2f, 0x76, 3900 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 3901 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3902 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 3903 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 3904 0x12, 0xd0, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 3905 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3906 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 3907 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 3908 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3909 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3910 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 3911 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 3912 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x12, 3913 0x42, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 3914 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 3915 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 3916 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 3917 0x78, 0x74, 0x73, 0x12, 0xe3, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 3918 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3919 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3920 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 3921 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 3922 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3923 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 3924 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x71, 0xda, 0x41, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x65, 3925 0x78, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 3926 0xe4, 0x93, 0x02, 0x55, 0x3a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x32, 0x4a, 0x2f, 3927 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 3928 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 3929 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 3930 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 3931 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xec, 0x01, 0x0a, 0x0d, 0x44, 0x65, 3932 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 3933 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 3934 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 3935 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 3936 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 3937 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 3938 0x6e, 0x22, 0x84, 0x01, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3939 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 3940 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 3941 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 3942 0xe4, 0x93, 0x02, 0x44, 0x2a, 0x42, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 3943 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 3944 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 3945 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 3946 0x74, 0x65, 0x78, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf5, 0x01, 0x0a, 0x0d, 0x50, 0x75, 0x72, 3947 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 3948 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3949 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x72, 3950 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 3951 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 3952 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3953 0x22, 0x8d, 0x01, 0xca, 0x41, 0x2e, 0x0a, 0x15, 0x50, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 3954 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x50, 3955 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 3956 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 3957 0x93, 0x02, 0x4d, 0x3a, 0x01, 0x2a, 0x22, 0x48, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 3958 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 3959 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 3960 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 3961 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x3a, 0x70, 0x75, 0x72, 0x67, 0x65, 3962 0x12, 0xca, 0x02, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x41, 3963 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 3964 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3965 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3966 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 3967 0x78, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x45, 0x78, 3968 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 3969 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 3970 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 3971 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x74, 0x69, 3972 0x66, 0x61, 0x63, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 3973 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x90, 0x01, 0xda, 0x41, 0x1c, 3974 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 3975 0x73, 0x2c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 3976 0x02, 0x6b, 0x3a, 0x01, 0x2a, 0x22, 0x66, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 3977 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 3978 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 3979 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 3980 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x64, 0x64, 3981 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 3982 0x41, 0x6e, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x8b, 0x02, 3983 0x0a, 0x12, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 3984 0x64, 0x72, 0x65, 0x6e, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 3985 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 3986 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 3987 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 3988 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3989 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 3990 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 3991 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0xda, 3992 0x41, 0x16, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 3993 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x3a, 0x01, 3994 0x2a, 0x22, 0x58, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 3995 0x74, 0x65, 0x78, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 3996 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 3997 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 3998 0x74, 0x65, 0x78, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 3999 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x97, 0x02, 0x0a, 0x15, 4000 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 4001 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4002 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 4003 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 4004 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x65, 0x71, 4005 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 4006 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 4007 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 4008 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 4009 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0xda, 0x41, 0x16, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 4010 0x2c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x82, 4011 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x3a, 0x01, 0x2a, 0x22, 0x5b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 4012 0x61, 0x31, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 4013 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 4014 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 4015 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 4016 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 4017 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x89, 0x02, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 4018 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 4019 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4020 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 4021 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 4022 0x74, 0x65, 0x78, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 4023 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 4024 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 4025 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 4026 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x22, 0x73, 0xda, 0x41, 4027 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x12, 0x61, 4028 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 4029 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 4030 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 4031 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 4032 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 4033 0x78, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 4034 0x68, 0x12, 0xef, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 4035 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4036 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 4037 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 4038 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 4039 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 4040 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 4041 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x77, 0xda, 0x41, 0x1d, 0x70, 4042 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 4043 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 4044 0x02, 0x51, 0x3a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0x2f, 4045 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 4046 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 4047 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 4048 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 4049 0x6f, 0x6e, 0x73, 0x12, 0xc5, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 4050 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 4051 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 4052 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 4053 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 4054 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 4055 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x65, 4056 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x53, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 4057 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 4058 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 4059 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 4060 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 4061 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd8, 0x01, 0x0a, 0x0e, 4062 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 4063 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 4064 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 4065 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 4066 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 4067 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 4068 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x65, 4069 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 4070 0x55, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 4071 0x12, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 4072 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 4073 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 4074 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x65, 0x63, 4075 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xf1, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 4076 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 4077 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 4078 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 4079 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 4080 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 4081 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 4082 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 4083 0x79, 0xda, 0x41, 0x15, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 4084 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x3a, 4085 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x4e, 0x2f, 0x76, 0x31, 0x62, 4086 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 4087 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 4088 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 4089 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x65, 4090 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf2, 0x01, 0x0a, 0x0f, 0x44, 4091 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 4092 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 4093 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 4094 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 4095 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 4096 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 4097 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x86, 0x01, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 4098 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 4099 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 4100 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 4101 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x2a, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 4102 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 4103 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 4104 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 4105 0x2a, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 4106 0xff, 0x01, 0x0a, 0x0f, 0x50, 0x75, 0x72, 0x67, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 4107 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 4108 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 4109 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 4110 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 4111 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 4112 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0xca, 0x41, 4113 0x32, 0x0a, 0x17, 0x50, 0x75, 0x72, 0x67, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 4114 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x50, 0x75, 0x72, 0x67, 4115 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 4116 0x61, 0x74, 0x61, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 4117 0x02, 0x4f, 0x3a, 0x01, 0x2a, 0x22, 0x4a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 4118 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 4119 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 4120 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 4121 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x70, 0x75, 0x72, 0x67, 4122 0x65, 0x12, 0x89, 0x02, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 4123 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 4124 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 4125 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x45, 0x78, 4126 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 4127 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 4128 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 4129 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 4130 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 4131 0x65, 0x22, 0x7a, 0xda, 0x41, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 4132 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x3a, 0x01, 0x2a, 0x22, 4133 0x5c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x78, 0x65, 0x63, 0x75, 4134 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 4135 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 4136 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x65, 4137 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x64, 0x64, 0x45, 0x78, 4138 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x98, 0x02, 4139 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 4140 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 4141 0x12, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 4142 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 4143 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 4144 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 4145 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 4146 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 4147 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x61, 4148 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x22, 0x7c, 0xda, 0x41, 0x09, 0x65, 4149 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x12, 0x68, 4150 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 4151 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 4152 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 4153 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x65, 0x63, 4154 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x45, 4155 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x41, 0x6e, 4156 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x96, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 4157 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 4158 0x61, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 4159 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 4160 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 4161 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 4162 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 4163 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 4164 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 4165 0x22, 0x8e, 0x01, 0xda, 0x41, 0x29, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x65, 0x74, 4166 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2c, 0x6d, 0x65, 0x74, 4167 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x69, 0x64, 0x82, 4168 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x3a, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 4169 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 4170 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 4171 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 4172 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 4173 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 4174 0x73, 0x12, 0xd9, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 4175 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 4176 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 4177 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 4178 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 4179 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 4180 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 4181 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 4182 0x65, 0x6d, 0x61, 0x22, 0x58, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 4183 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 4184 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 4185 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 4186 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 4187 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xec, 0x01, 4188 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 4189 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4190 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 4191 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 4192 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 4193 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 4194 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 4195 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 4196 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 4197 0x22, 0x5a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 4198 0x4b, 0x12, 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 4199 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 4200 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 4201 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 4202 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x8f, 0x02, 0x0a, 4203 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4c, 0x69, 4204 0x6e, 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x44, 0x2e, 4205 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 4206 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 4207 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x6e, 4208 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 4209 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 4210 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 4211 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 4212 0x67, 0x72, 0x61, 0x70, 0x68, 0x22, 0x77, 0xda, 0x41, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 4213 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x12, 0x64, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 4214 0x61, 0x31, 0x2f, 0x7b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x3d, 0x70, 0x72, 0x6f, 4215 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4216 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 4217 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 4218 0x7d, 0x3a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4c, 4219 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x1a, 0x4d, 4220 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 4221 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 4222 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 4223 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 4224 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xeb, 0x01, 4225 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 4226 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 4227 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x14, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 4228 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 4229 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 4230 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 4231 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 4232 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 4233 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 4234 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 4235 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 4236 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 4237 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 4238 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 4239 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 4240 0x74, 0x6f, 0x33, 4241 } 4242 4243 var ( 4244 file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescOnce sync.Once 4245 file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDesc 4246 ) 4247 4248 func file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP() []byte { 4249 file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescOnce.Do(func() { 4250 file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescData) 4251 }) 4252 return file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescData 4253 } 4254 4255 var file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes = make([]protoimpl.MessageInfo, 49) 4256 var file_google_cloud_aiplatform_v1beta1_metadata_service_proto_goTypes = []any{ 4257 (*CreateMetadataStoreRequest)(nil), // 0: google.cloud.aiplatform.v1beta1.CreateMetadataStoreRequest 4258 (*CreateMetadataStoreOperationMetadata)(nil), // 1: google.cloud.aiplatform.v1beta1.CreateMetadataStoreOperationMetadata 4259 (*GetMetadataStoreRequest)(nil), // 2: google.cloud.aiplatform.v1beta1.GetMetadataStoreRequest 4260 (*ListMetadataStoresRequest)(nil), // 3: google.cloud.aiplatform.v1beta1.ListMetadataStoresRequest 4261 (*ListMetadataStoresResponse)(nil), // 4: google.cloud.aiplatform.v1beta1.ListMetadataStoresResponse 4262 (*DeleteMetadataStoreRequest)(nil), // 5: google.cloud.aiplatform.v1beta1.DeleteMetadataStoreRequest 4263 (*DeleteMetadataStoreOperationMetadata)(nil), // 6: google.cloud.aiplatform.v1beta1.DeleteMetadataStoreOperationMetadata 4264 (*CreateArtifactRequest)(nil), // 7: google.cloud.aiplatform.v1beta1.CreateArtifactRequest 4265 (*GetArtifactRequest)(nil), // 8: google.cloud.aiplatform.v1beta1.GetArtifactRequest 4266 (*ListArtifactsRequest)(nil), // 9: google.cloud.aiplatform.v1beta1.ListArtifactsRequest 4267 (*ListArtifactsResponse)(nil), // 10: google.cloud.aiplatform.v1beta1.ListArtifactsResponse 4268 (*UpdateArtifactRequest)(nil), // 11: google.cloud.aiplatform.v1beta1.UpdateArtifactRequest 4269 (*DeleteArtifactRequest)(nil), // 12: google.cloud.aiplatform.v1beta1.DeleteArtifactRequest 4270 (*PurgeArtifactsRequest)(nil), // 13: google.cloud.aiplatform.v1beta1.PurgeArtifactsRequest 4271 (*PurgeArtifactsResponse)(nil), // 14: google.cloud.aiplatform.v1beta1.PurgeArtifactsResponse 4272 (*PurgeArtifactsMetadata)(nil), // 15: google.cloud.aiplatform.v1beta1.PurgeArtifactsMetadata 4273 (*CreateContextRequest)(nil), // 16: google.cloud.aiplatform.v1beta1.CreateContextRequest 4274 (*GetContextRequest)(nil), // 17: google.cloud.aiplatform.v1beta1.GetContextRequest 4275 (*ListContextsRequest)(nil), // 18: google.cloud.aiplatform.v1beta1.ListContextsRequest 4276 (*ListContextsResponse)(nil), // 19: google.cloud.aiplatform.v1beta1.ListContextsResponse 4277 (*UpdateContextRequest)(nil), // 20: google.cloud.aiplatform.v1beta1.UpdateContextRequest 4278 (*DeleteContextRequest)(nil), // 21: google.cloud.aiplatform.v1beta1.DeleteContextRequest 4279 (*PurgeContextsRequest)(nil), // 22: google.cloud.aiplatform.v1beta1.PurgeContextsRequest 4280 (*PurgeContextsResponse)(nil), // 23: google.cloud.aiplatform.v1beta1.PurgeContextsResponse 4281 (*PurgeContextsMetadata)(nil), // 24: google.cloud.aiplatform.v1beta1.PurgeContextsMetadata 4282 (*AddContextArtifactsAndExecutionsRequest)(nil), // 25: google.cloud.aiplatform.v1beta1.AddContextArtifactsAndExecutionsRequest 4283 (*AddContextArtifactsAndExecutionsResponse)(nil), // 26: google.cloud.aiplatform.v1beta1.AddContextArtifactsAndExecutionsResponse 4284 (*AddContextChildrenRequest)(nil), // 27: google.cloud.aiplatform.v1beta1.AddContextChildrenRequest 4285 (*AddContextChildrenResponse)(nil), // 28: google.cloud.aiplatform.v1beta1.AddContextChildrenResponse 4286 (*RemoveContextChildrenRequest)(nil), // 29: google.cloud.aiplatform.v1beta1.RemoveContextChildrenRequest 4287 (*RemoveContextChildrenResponse)(nil), // 30: google.cloud.aiplatform.v1beta1.RemoveContextChildrenResponse 4288 (*QueryContextLineageSubgraphRequest)(nil), // 31: google.cloud.aiplatform.v1beta1.QueryContextLineageSubgraphRequest 4289 (*CreateExecutionRequest)(nil), // 32: google.cloud.aiplatform.v1beta1.CreateExecutionRequest 4290 (*GetExecutionRequest)(nil), // 33: google.cloud.aiplatform.v1beta1.GetExecutionRequest 4291 (*ListExecutionsRequest)(nil), // 34: google.cloud.aiplatform.v1beta1.ListExecutionsRequest 4292 (*ListExecutionsResponse)(nil), // 35: google.cloud.aiplatform.v1beta1.ListExecutionsResponse 4293 (*UpdateExecutionRequest)(nil), // 36: google.cloud.aiplatform.v1beta1.UpdateExecutionRequest 4294 (*DeleteExecutionRequest)(nil), // 37: google.cloud.aiplatform.v1beta1.DeleteExecutionRequest 4295 (*PurgeExecutionsRequest)(nil), // 38: google.cloud.aiplatform.v1beta1.PurgeExecutionsRequest 4296 (*PurgeExecutionsResponse)(nil), // 39: google.cloud.aiplatform.v1beta1.PurgeExecutionsResponse 4297 (*PurgeExecutionsMetadata)(nil), // 40: google.cloud.aiplatform.v1beta1.PurgeExecutionsMetadata 4298 (*AddExecutionEventsRequest)(nil), // 41: google.cloud.aiplatform.v1beta1.AddExecutionEventsRequest 4299 (*AddExecutionEventsResponse)(nil), // 42: google.cloud.aiplatform.v1beta1.AddExecutionEventsResponse 4300 (*QueryExecutionInputsAndOutputsRequest)(nil), // 43: google.cloud.aiplatform.v1beta1.QueryExecutionInputsAndOutputsRequest 4301 (*CreateMetadataSchemaRequest)(nil), // 44: google.cloud.aiplatform.v1beta1.CreateMetadataSchemaRequest 4302 (*GetMetadataSchemaRequest)(nil), // 45: google.cloud.aiplatform.v1beta1.GetMetadataSchemaRequest 4303 (*ListMetadataSchemasRequest)(nil), // 46: google.cloud.aiplatform.v1beta1.ListMetadataSchemasRequest 4304 (*ListMetadataSchemasResponse)(nil), // 47: google.cloud.aiplatform.v1beta1.ListMetadataSchemasResponse 4305 (*QueryArtifactLineageSubgraphRequest)(nil), // 48: google.cloud.aiplatform.v1beta1.QueryArtifactLineageSubgraphRequest 4306 (*MetadataStore)(nil), // 49: google.cloud.aiplatform.v1beta1.MetadataStore 4307 (*GenericOperationMetadata)(nil), // 50: google.cloud.aiplatform.v1beta1.GenericOperationMetadata 4308 (*Artifact)(nil), // 51: google.cloud.aiplatform.v1beta1.Artifact 4309 (*fieldmaskpb.FieldMask)(nil), // 52: google.protobuf.FieldMask 4310 (*Context)(nil), // 53: google.cloud.aiplatform.v1beta1.Context 4311 (*Execution)(nil), // 54: google.cloud.aiplatform.v1beta1.Execution 4312 (*Event)(nil), // 55: google.cloud.aiplatform.v1beta1.Event 4313 (*MetadataSchema)(nil), // 56: google.cloud.aiplatform.v1beta1.MetadataSchema 4314 (*longrunningpb.Operation)(nil), // 57: google.longrunning.Operation 4315 (*LineageSubgraph)(nil), // 58: google.cloud.aiplatform.v1beta1.LineageSubgraph 4316 } 4317 var file_google_cloud_aiplatform_v1beta1_metadata_service_proto_depIdxs = []int32{ 4318 49, // 0: google.cloud.aiplatform.v1beta1.CreateMetadataStoreRequest.metadata_store:type_name -> google.cloud.aiplatform.v1beta1.MetadataStore 4319 50, // 1: google.cloud.aiplatform.v1beta1.CreateMetadataStoreOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata 4320 49, // 2: google.cloud.aiplatform.v1beta1.ListMetadataStoresResponse.metadata_stores:type_name -> google.cloud.aiplatform.v1beta1.MetadataStore 4321 50, // 3: google.cloud.aiplatform.v1beta1.DeleteMetadataStoreOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata 4322 51, // 4: google.cloud.aiplatform.v1beta1.CreateArtifactRequest.artifact:type_name -> google.cloud.aiplatform.v1beta1.Artifact 4323 51, // 5: google.cloud.aiplatform.v1beta1.ListArtifactsResponse.artifacts:type_name -> google.cloud.aiplatform.v1beta1.Artifact 4324 51, // 6: google.cloud.aiplatform.v1beta1.UpdateArtifactRequest.artifact:type_name -> google.cloud.aiplatform.v1beta1.Artifact 4325 52, // 7: google.cloud.aiplatform.v1beta1.UpdateArtifactRequest.update_mask:type_name -> google.protobuf.FieldMask 4326 50, // 8: google.cloud.aiplatform.v1beta1.PurgeArtifactsMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata 4327 53, // 9: google.cloud.aiplatform.v1beta1.CreateContextRequest.context:type_name -> google.cloud.aiplatform.v1beta1.Context 4328 53, // 10: google.cloud.aiplatform.v1beta1.ListContextsResponse.contexts:type_name -> google.cloud.aiplatform.v1beta1.Context 4329 53, // 11: google.cloud.aiplatform.v1beta1.UpdateContextRequest.context:type_name -> google.cloud.aiplatform.v1beta1.Context 4330 52, // 12: google.cloud.aiplatform.v1beta1.UpdateContextRequest.update_mask:type_name -> google.protobuf.FieldMask 4331 50, // 13: google.cloud.aiplatform.v1beta1.PurgeContextsMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata 4332 54, // 14: google.cloud.aiplatform.v1beta1.CreateExecutionRequest.execution:type_name -> google.cloud.aiplatform.v1beta1.Execution 4333 54, // 15: google.cloud.aiplatform.v1beta1.ListExecutionsResponse.executions:type_name -> google.cloud.aiplatform.v1beta1.Execution 4334 54, // 16: google.cloud.aiplatform.v1beta1.UpdateExecutionRequest.execution:type_name -> google.cloud.aiplatform.v1beta1.Execution 4335 52, // 17: google.cloud.aiplatform.v1beta1.UpdateExecutionRequest.update_mask:type_name -> google.protobuf.FieldMask 4336 50, // 18: google.cloud.aiplatform.v1beta1.PurgeExecutionsMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata 4337 55, // 19: google.cloud.aiplatform.v1beta1.AddExecutionEventsRequest.events:type_name -> google.cloud.aiplatform.v1beta1.Event 4338 56, // 20: google.cloud.aiplatform.v1beta1.CreateMetadataSchemaRequest.metadata_schema:type_name -> google.cloud.aiplatform.v1beta1.MetadataSchema 4339 56, // 21: google.cloud.aiplatform.v1beta1.ListMetadataSchemasResponse.metadata_schemas:type_name -> google.cloud.aiplatform.v1beta1.MetadataSchema 4340 0, // 22: google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataStore:input_type -> google.cloud.aiplatform.v1beta1.CreateMetadataStoreRequest 4341 2, // 23: google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataStore:input_type -> google.cloud.aiplatform.v1beta1.GetMetadataStoreRequest 4342 3, // 24: google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores:input_type -> google.cloud.aiplatform.v1beta1.ListMetadataStoresRequest 4343 5, // 25: google.cloud.aiplatform.v1beta1.MetadataService.DeleteMetadataStore:input_type -> google.cloud.aiplatform.v1beta1.DeleteMetadataStoreRequest 4344 7, // 26: google.cloud.aiplatform.v1beta1.MetadataService.CreateArtifact:input_type -> google.cloud.aiplatform.v1beta1.CreateArtifactRequest 4345 8, // 27: google.cloud.aiplatform.v1beta1.MetadataService.GetArtifact:input_type -> google.cloud.aiplatform.v1beta1.GetArtifactRequest 4346 9, // 28: google.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts:input_type -> google.cloud.aiplatform.v1beta1.ListArtifactsRequest 4347 11, // 29: google.cloud.aiplatform.v1beta1.MetadataService.UpdateArtifact:input_type -> google.cloud.aiplatform.v1beta1.UpdateArtifactRequest 4348 12, // 30: google.cloud.aiplatform.v1beta1.MetadataService.DeleteArtifact:input_type -> google.cloud.aiplatform.v1beta1.DeleteArtifactRequest 4349 13, // 31: google.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts:input_type -> google.cloud.aiplatform.v1beta1.PurgeArtifactsRequest 4350 16, // 32: google.cloud.aiplatform.v1beta1.MetadataService.CreateContext:input_type -> google.cloud.aiplatform.v1beta1.CreateContextRequest 4351 17, // 33: google.cloud.aiplatform.v1beta1.MetadataService.GetContext:input_type -> google.cloud.aiplatform.v1beta1.GetContextRequest 4352 18, // 34: google.cloud.aiplatform.v1beta1.MetadataService.ListContexts:input_type -> google.cloud.aiplatform.v1beta1.ListContextsRequest 4353 20, // 35: google.cloud.aiplatform.v1beta1.MetadataService.UpdateContext:input_type -> google.cloud.aiplatform.v1beta1.UpdateContextRequest 4354 21, // 36: google.cloud.aiplatform.v1beta1.MetadataService.DeleteContext:input_type -> google.cloud.aiplatform.v1beta1.DeleteContextRequest 4355 22, // 37: google.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts:input_type -> google.cloud.aiplatform.v1beta1.PurgeContextsRequest 4356 25, // 38: google.cloud.aiplatform.v1beta1.MetadataService.AddContextArtifactsAndExecutions:input_type -> google.cloud.aiplatform.v1beta1.AddContextArtifactsAndExecutionsRequest 4357 27, // 39: google.cloud.aiplatform.v1beta1.MetadataService.AddContextChildren:input_type -> google.cloud.aiplatform.v1beta1.AddContextChildrenRequest 4358 29, // 40: google.cloud.aiplatform.v1beta1.MetadataService.RemoveContextChildren:input_type -> google.cloud.aiplatform.v1beta1.RemoveContextChildrenRequest 4359 31, // 41: google.cloud.aiplatform.v1beta1.MetadataService.QueryContextLineageSubgraph:input_type -> google.cloud.aiplatform.v1beta1.QueryContextLineageSubgraphRequest 4360 32, // 42: google.cloud.aiplatform.v1beta1.MetadataService.CreateExecution:input_type -> google.cloud.aiplatform.v1beta1.CreateExecutionRequest 4361 33, // 43: google.cloud.aiplatform.v1beta1.MetadataService.GetExecution:input_type -> google.cloud.aiplatform.v1beta1.GetExecutionRequest 4362 34, // 44: google.cloud.aiplatform.v1beta1.MetadataService.ListExecutions:input_type -> google.cloud.aiplatform.v1beta1.ListExecutionsRequest 4363 36, // 45: google.cloud.aiplatform.v1beta1.MetadataService.UpdateExecution:input_type -> google.cloud.aiplatform.v1beta1.UpdateExecutionRequest 4364 37, // 46: google.cloud.aiplatform.v1beta1.MetadataService.DeleteExecution:input_type -> google.cloud.aiplatform.v1beta1.DeleteExecutionRequest 4365 38, // 47: google.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions:input_type -> google.cloud.aiplatform.v1beta1.PurgeExecutionsRequest 4366 41, // 48: google.cloud.aiplatform.v1beta1.MetadataService.AddExecutionEvents:input_type -> google.cloud.aiplatform.v1beta1.AddExecutionEventsRequest 4367 43, // 49: google.cloud.aiplatform.v1beta1.MetadataService.QueryExecutionInputsAndOutputs:input_type -> google.cloud.aiplatform.v1beta1.QueryExecutionInputsAndOutputsRequest 4368 44, // 50: google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataSchema:input_type -> google.cloud.aiplatform.v1beta1.CreateMetadataSchemaRequest 4369 45, // 51: google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataSchema:input_type -> google.cloud.aiplatform.v1beta1.GetMetadataSchemaRequest 4370 46, // 52: google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas:input_type -> google.cloud.aiplatform.v1beta1.ListMetadataSchemasRequest 4371 48, // 53: google.cloud.aiplatform.v1beta1.MetadataService.QueryArtifactLineageSubgraph:input_type -> google.cloud.aiplatform.v1beta1.QueryArtifactLineageSubgraphRequest 4372 57, // 54: google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataStore:output_type -> google.longrunning.Operation 4373 49, // 55: google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataStore:output_type -> google.cloud.aiplatform.v1beta1.MetadataStore 4374 4, // 56: google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores:output_type -> google.cloud.aiplatform.v1beta1.ListMetadataStoresResponse 4375 57, // 57: google.cloud.aiplatform.v1beta1.MetadataService.DeleteMetadataStore:output_type -> google.longrunning.Operation 4376 51, // 58: google.cloud.aiplatform.v1beta1.MetadataService.CreateArtifact:output_type -> google.cloud.aiplatform.v1beta1.Artifact 4377 51, // 59: google.cloud.aiplatform.v1beta1.MetadataService.GetArtifact:output_type -> google.cloud.aiplatform.v1beta1.Artifact 4378 10, // 60: google.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts:output_type -> google.cloud.aiplatform.v1beta1.ListArtifactsResponse 4379 51, // 61: google.cloud.aiplatform.v1beta1.MetadataService.UpdateArtifact:output_type -> google.cloud.aiplatform.v1beta1.Artifact 4380 57, // 62: google.cloud.aiplatform.v1beta1.MetadataService.DeleteArtifact:output_type -> google.longrunning.Operation 4381 57, // 63: google.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts:output_type -> google.longrunning.Operation 4382 53, // 64: google.cloud.aiplatform.v1beta1.MetadataService.CreateContext:output_type -> google.cloud.aiplatform.v1beta1.Context 4383 53, // 65: google.cloud.aiplatform.v1beta1.MetadataService.GetContext:output_type -> google.cloud.aiplatform.v1beta1.Context 4384 19, // 66: google.cloud.aiplatform.v1beta1.MetadataService.ListContexts:output_type -> google.cloud.aiplatform.v1beta1.ListContextsResponse 4385 53, // 67: google.cloud.aiplatform.v1beta1.MetadataService.UpdateContext:output_type -> google.cloud.aiplatform.v1beta1.Context 4386 57, // 68: google.cloud.aiplatform.v1beta1.MetadataService.DeleteContext:output_type -> google.longrunning.Operation 4387 57, // 69: google.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts:output_type -> google.longrunning.Operation 4388 26, // 70: google.cloud.aiplatform.v1beta1.MetadataService.AddContextArtifactsAndExecutions:output_type -> google.cloud.aiplatform.v1beta1.AddContextArtifactsAndExecutionsResponse 4389 28, // 71: google.cloud.aiplatform.v1beta1.MetadataService.AddContextChildren:output_type -> google.cloud.aiplatform.v1beta1.AddContextChildrenResponse 4390 30, // 72: google.cloud.aiplatform.v1beta1.MetadataService.RemoveContextChildren:output_type -> google.cloud.aiplatform.v1beta1.RemoveContextChildrenResponse 4391 58, // 73: google.cloud.aiplatform.v1beta1.MetadataService.QueryContextLineageSubgraph:output_type -> google.cloud.aiplatform.v1beta1.LineageSubgraph 4392 54, // 74: google.cloud.aiplatform.v1beta1.MetadataService.CreateExecution:output_type -> google.cloud.aiplatform.v1beta1.Execution 4393 54, // 75: google.cloud.aiplatform.v1beta1.MetadataService.GetExecution:output_type -> google.cloud.aiplatform.v1beta1.Execution 4394 35, // 76: google.cloud.aiplatform.v1beta1.MetadataService.ListExecutions:output_type -> google.cloud.aiplatform.v1beta1.ListExecutionsResponse 4395 54, // 77: google.cloud.aiplatform.v1beta1.MetadataService.UpdateExecution:output_type -> google.cloud.aiplatform.v1beta1.Execution 4396 57, // 78: google.cloud.aiplatform.v1beta1.MetadataService.DeleteExecution:output_type -> google.longrunning.Operation 4397 57, // 79: google.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions:output_type -> google.longrunning.Operation 4398 42, // 80: google.cloud.aiplatform.v1beta1.MetadataService.AddExecutionEvents:output_type -> google.cloud.aiplatform.v1beta1.AddExecutionEventsResponse 4399 58, // 81: google.cloud.aiplatform.v1beta1.MetadataService.QueryExecutionInputsAndOutputs:output_type -> google.cloud.aiplatform.v1beta1.LineageSubgraph 4400 56, // 82: google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataSchema:output_type -> google.cloud.aiplatform.v1beta1.MetadataSchema 4401 56, // 83: google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataSchema:output_type -> google.cloud.aiplatform.v1beta1.MetadataSchema 4402 47, // 84: google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas:output_type -> google.cloud.aiplatform.v1beta1.ListMetadataSchemasResponse 4403 58, // 85: google.cloud.aiplatform.v1beta1.MetadataService.QueryArtifactLineageSubgraph:output_type -> google.cloud.aiplatform.v1beta1.LineageSubgraph 4404 54, // [54:86] is the sub-list for method output_type 4405 22, // [22:54] is the sub-list for method input_type 4406 22, // [22:22] is the sub-list for extension type_name 4407 22, // [22:22] is the sub-list for extension extendee 4408 0, // [0:22] is the sub-list for field type_name 4409 } 4410 4411 func init() { file_google_cloud_aiplatform_v1beta1_metadata_service_proto_init() } 4412 func file_google_cloud_aiplatform_v1beta1_metadata_service_proto_init() { 4413 if File_google_cloud_aiplatform_v1beta1_metadata_service_proto != nil { 4414 return 4415 } 4416 file_google_cloud_aiplatform_v1beta1_artifact_proto_init() 4417 file_google_cloud_aiplatform_v1beta1_context_proto_init() 4418 file_google_cloud_aiplatform_v1beta1_event_proto_init() 4419 file_google_cloud_aiplatform_v1beta1_execution_proto_init() 4420 file_google_cloud_aiplatform_v1beta1_lineage_subgraph_proto_init() 4421 file_google_cloud_aiplatform_v1beta1_metadata_schema_proto_init() 4422 file_google_cloud_aiplatform_v1beta1_metadata_store_proto_init() 4423 file_google_cloud_aiplatform_v1beta1_operation_proto_init() 4424 type x struct{} 4425 out := protoimpl.TypeBuilder{ 4426 File: protoimpl.DescBuilder{ 4427 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 4428 RawDescriptor: file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDesc, 4429 NumEnums: 0, 4430 NumMessages: 49, 4431 NumExtensions: 0, 4432 NumServices: 1, 4433 }, 4434 GoTypes: file_google_cloud_aiplatform_v1beta1_metadata_service_proto_goTypes, 4435 DependencyIndexes: file_google_cloud_aiplatform_v1beta1_metadata_service_proto_depIdxs, 4436 MessageInfos: file_google_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes, 4437 }.Build() 4438 File_google_cloud_aiplatform_v1beta1_metadata_service_proto = out.File 4439 file_google_cloud_aiplatform_v1beta1_metadata_service_proto_rawDesc = nil 4440 file_google_cloud_aiplatform_v1beta1_metadata_service_proto_goTypes = nil 4441 file_google_cloud_aiplatform_v1beta1_metadata_service_proto_depIdxs = nil 4442 }