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