1// Copyright 2020 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.25.0 18// protoc v3.13.0 19// source: google/logging/v2/logging_config.proto 20 21package logging 22 23import ( 24 context "context" 25 reflect "reflect" 26 sync "sync" 27 28 proto "github.com/golang/protobuf/proto" 29 _ "google.golang.org/genproto/googleapis/api/annotations" 30 grpc "google.golang.org/grpc" 31 codes "google.golang.org/grpc/codes" 32 status "google.golang.org/grpc/status" 33 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 34 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 35 _ "google.golang.org/protobuf/types/known/durationpb" 36 emptypb "google.golang.org/protobuf/types/known/emptypb" 37 fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 38 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 39) 40 41const ( 42 // Verify that this generated code is sufficiently up-to-date. 43 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 44 // Verify that runtime/protoimpl is sufficiently up-to-date. 45 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 46) 47 48// This is a compile-time assertion that a sufficiently up-to-date version 49// of the legacy proto package is being used. 50const _ = proto.ProtoPackageIsVersion4 51 52// LogBucket lifecycle states. 53type LifecycleState int32 54 55const ( 56 // Unspecified state. This is only used/useful for distinguishing 57 // unset values. 58 LifecycleState_LIFECYCLE_STATE_UNSPECIFIED LifecycleState = 0 59 // The normal and active state. 60 LifecycleState_ACTIVE LifecycleState = 1 61 // The bucket has been marked for deletion by the user. 62 LifecycleState_DELETE_REQUESTED LifecycleState = 2 63) 64 65// Enum value maps for LifecycleState. 66var ( 67 LifecycleState_name = map[int32]string{ 68 0: "LIFECYCLE_STATE_UNSPECIFIED", 69 1: "ACTIVE", 70 2: "DELETE_REQUESTED", 71 } 72 LifecycleState_value = map[string]int32{ 73 "LIFECYCLE_STATE_UNSPECIFIED": 0, 74 "ACTIVE": 1, 75 "DELETE_REQUESTED": 2, 76 } 77) 78 79func (x LifecycleState) Enum() *LifecycleState { 80 p := new(LifecycleState) 81 *p = x 82 return p 83} 84 85func (x LifecycleState) String() string { 86 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 87} 88 89func (LifecycleState) Descriptor() protoreflect.EnumDescriptor { 90 return file_google_logging_v2_logging_config_proto_enumTypes[0].Descriptor() 91} 92 93func (LifecycleState) Type() protoreflect.EnumType { 94 return &file_google_logging_v2_logging_config_proto_enumTypes[0] 95} 96 97func (x LifecycleState) Number() protoreflect.EnumNumber { 98 return protoreflect.EnumNumber(x) 99} 100 101// Deprecated: Use LifecycleState.Descriptor instead. 102func (LifecycleState) EnumDescriptor() ([]byte, []int) { 103 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{0} 104} 105 106// Deprecated. This is unused. 107type LogSink_VersionFormat int32 108 109const ( 110 // An unspecified format version that will default to V2. 111 LogSink_VERSION_FORMAT_UNSPECIFIED LogSink_VersionFormat = 0 112 // `LogEntry` version 2 format. 113 LogSink_V2 LogSink_VersionFormat = 1 114 // `LogEntry` version 1 format. 115 LogSink_V1 LogSink_VersionFormat = 2 116) 117 118// Enum value maps for LogSink_VersionFormat. 119var ( 120 LogSink_VersionFormat_name = map[int32]string{ 121 0: "VERSION_FORMAT_UNSPECIFIED", 122 1: "V2", 123 2: "V1", 124 } 125 LogSink_VersionFormat_value = map[string]int32{ 126 "VERSION_FORMAT_UNSPECIFIED": 0, 127 "V2": 1, 128 "V1": 2, 129 } 130) 131 132func (x LogSink_VersionFormat) Enum() *LogSink_VersionFormat { 133 p := new(LogSink_VersionFormat) 134 *p = x 135 return p 136} 137 138func (x LogSink_VersionFormat) String() string { 139 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 140} 141 142func (LogSink_VersionFormat) Descriptor() protoreflect.EnumDescriptor { 143 return file_google_logging_v2_logging_config_proto_enumTypes[1].Descriptor() 144} 145 146func (LogSink_VersionFormat) Type() protoreflect.EnumType { 147 return &file_google_logging_v2_logging_config_proto_enumTypes[1] 148} 149 150func (x LogSink_VersionFormat) Number() protoreflect.EnumNumber { 151 return protoreflect.EnumNumber(x) 152} 153 154// Deprecated: Use LogSink_VersionFormat.Descriptor instead. 155func (LogSink_VersionFormat) EnumDescriptor() ([]byte, []int) { 156 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{2, 0} 157} 158 159// Describes a repository of logs. 160type LogBucket struct { 161 state protoimpl.MessageState 162 sizeCache protoimpl.SizeCache 163 unknownFields protoimpl.UnknownFields 164 165 // The resource name of the bucket. 166 // For example: 167 // "projects/my-project-id/locations/my-location/buckets/my-bucket-id The 168 // supported locations are: 169 // "global" 170 // 171 // For the location of `global` it is unspecified where logs are actually 172 // stored. 173 // Once a bucket has been created, the location can not be changed. 174 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 175 // Describes this bucket. 176 Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` 177 // Output only. The creation timestamp of the bucket. This is not set for any of the 178 // default buckets. 179 CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 180 // Output only. The last update timestamp of the bucket. 181 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 182 // Logs will be retained by default for this amount of time, after which they 183 // will automatically be deleted. The minimum retention period is 1 day. 184 // If this value is set to zero at bucket creation time, the default time of 185 // 30 days will be used. 186 RetentionDays int32 `protobuf:"varint,11,opt,name=retention_days,json=retentionDays,proto3" json:"retention_days,omitempty"` 187 // Whether the bucket has been locked. 188 // The retention period on a locked bucket may not be changed. 189 // Locked buckets may only be deleted if they are empty. 190 Locked bool `protobuf:"varint,9,opt,name=locked,proto3" json:"locked,omitempty"` 191 // Output only. The bucket lifecycle state. 192 LifecycleState LifecycleState `protobuf:"varint,12,opt,name=lifecycle_state,json=lifecycleState,proto3,enum=google.logging.v2.LifecycleState" json:"lifecycle_state,omitempty"` 193} 194 195func (x *LogBucket) Reset() { 196 *x = LogBucket{} 197 if protoimpl.UnsafeEnabled { 198 mi := &file_google_logging_v2_logging_config_proto_msgTypes[0] 199 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 200 ms.StoreMessageInfo(mi) 201 } 202} 203 204func (x *LogBucket) String() string { 205 return protoimpl.X.MessageStringOf(x) 206} 207 208func (*LogBucket) ProtoMessage() {} 209 210func (x *LogBucket) ProtoReflect() protoreflect.Message { 211 mi := &file_google_logging_v2_logging_config_proto_msgTypes[0] 212 if protoimpl.UnsafeEnabled && x != nil { 213 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 214 if ms.LoadMessageInfo() == nil { 215 ms.StoreMessageInfo(mi) 216 } 217 return ms 218 } 219 return mi.MessageOf(x) 220} 221 222// Deprecated: Use LogBucket.ProtoReflect.Descriptor instead. 223func (*LogBucket) Descriptor() ([]byte, []int) { 224 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{0} 225} 226 227func (x *LogBucket) GetName() string { 228 if x != nil { 229 return x.Name 230 } 231 return "" 232} 233 234func (x *LogBucket) GetDescription() string { 235 if x != nil { 236 return x.Description 237 } 238 return "" 239} 240 241func (x *LogBucket) GetCreateTime() *timestamppb.Timestamp { 242 if x != nil { 243 return x.CreateTime 244 } 245 return nil 246} 247 248func (x *LogBucket) GetUpdateTime() *timestamppb.Timestamp { 249 if x != nil { 250 return x.UpdateTime 251 } 252 return nil 253} 254 255func (x *LogBucket) GetRetentionDays() int32 { 256 if x != nil { 257 return x.RetentionDays 258 } 259 return 0 260} 261 262func (x *LogBucket) GetLocked() bool { 263 if x != nil { 264 return x.Locked 265 } 266 return false 267} 268 269func (x *LogBucket) GetLifecycleState() LifecycleState { 270 if x != nil { 271 return x.LifecycleState 272 } 273 return LifecycleState_LIFECYCLE_STATE_UNSPECIFIED 274} 275 276// Describes a view over logs in a bucket. 277type LogView struct { 278 state protoimpl.MessageState 279 sizeCache protoimpl.SizeCache 280 unknownFields protoimpl.UnknownFields 281 282 // The resource name of the view. 283 // For example 284 // "projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view 285 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 286 // Describes this view. 287 Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` 288 // Output only. The creation timestamp of the view. 289 CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 290 // Output only. The last update timestamp of the view. 291 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 292 // Filter that restricts which log entries in a bucket are visible in this 293 // view. Filters are restricted to be a logical AND of ==/!= of any of the 294 // following: 295 // originating project/folder/organization/billing account. 296 // resource type 297 // log id 298 // Example: SOURCE("projects/myproject") AND resource.type = "gce_instance" 299 // AND LOG_ID("stdout") 300 Filter string `protobuf:"bytes,7,opt,name=filter,proto3" json:"filter,omitempty"` 301} 302 303func (x *LogView) Reset() { 304 *x = LogView{} 305 if protoimpl.UnsafeEnabled { 306 mi := &file_google_logging_v2_logging_config_proto_msgTypes[1] 307 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 308 ms.StoreMessageInfo(mi) 309 } 310} 311 312func (x *LogView) String() string { 313 return protoimpl.X.MessageStringOf(x) 314} 315 316func (*LogView) ProtoMessage() {} 317 318func (x *LogView) ProtoReflect() protoreflect.Message { 319 mi := &file_google_logging_v2_logging_config_proto_msgTypes[1] 320 if protoimpl.UnsafeEnabled && x != nil { 321 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 322 if ms.LoadMessageInfo() == nil { 323 ms.StoreMessageInfo(mi) 324 } 325 return ms 326 } 327 return mi.MessageOf(x) 328} 329 330// Deprecated: Use LogView.ProtoReflect.Descriptor instead. 331func (*LogView) Descriptor() ([]byte, []int) { 332 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{1} 333} 334 335func (x *LogView) GetName() string { 336 if x != nil { 337 return x.Name 338 } 339 return "" 340} 341 342func (x *LogView) GetDescription() string { 343 if x != nil { 344 return x.Description 345 } 346 return "" 347} 348 349func (x *LogView) GetCreateTime() *timestamppb.Timestamp { 350 if x != nil { 351 return x.CreateTime 352 } 353 return nil 354} 355 356func (x *LogView) GetUpdateTime() *timestamppb.Timestamp { 357 if x != nil { 358 return x.UpdateTime 359 } 360 return nil 361} 362 363func (x *LogView) GetFilter() string { 364 if x != nil { 365 return x.Filter 366 } 367 return "" 368} 369 370// Describes a sink used to export log entries to one of the following 371// destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a 372// Cloud Pub/Sub topic. A logs filter controls which log entries are exported. 373// The sink must be created within a project, organization, billing account, or 374// folder. 375type LogSink struct { 376 state protoimpl.MessageState 377 sizeCache protoimpl.SizeCache 378 unknownFields protoimpl.UnknownFields 379 380 // Required. The client-assigned sink identifier, unique within the project. Example: 381 // `"my-syslog-errors-to-pubsub"`. Sink identifiers are limited to 100 382 // characters and can include only the following characters: upper and 383 // lower-case alphanumeric characters, underscores, hyphens, and periods. 384 // First character has to be alphanumeric. 385 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 386 // Required. The export destination: 387 // 388 // "storage.googleapis.com/[GCS_BUCKET]" 389 // "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" 390 // "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" 391 // 392 // The sink's `writer_identity`, set when the sink is created, must 393 // have permission to write to the destination or else the log 394 // entries are not exported. For more information, see 395 // [Exporting Logs with 396 // Sinks](https://cloud.google.com/logging/docs/api/tasks/exporting-logs). 397 Destination string `protobuf:"bytes,3,opt,name=destination,proto3" json:"destination,omitempty"` 398 // Optional. An [advanced logs 399 // filter](https://cloud.google.com/logging/docs/view/advanced-queries). The 400 // only exported log entries are those that are in the resource owning the 401 // sink and that match the filter. For example: 402 // 403 // logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR 404 Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"` 405 // Optional. A description of this sink. 406 // The maximum length of the description is 8000 characters. 407 Description string `protobuf:"bytes,18,opt,name=description,proto3" json:"description,omitempty"` 408 // Optional. If set to True, then this sink is disabled and it does not 409 // export any log entries. 410 Disabled bool `protobuf:"varint,19,opt,name=disabled,proto3" json:"disabled,omitempty"` 411 // Optional. Log entries that match any of the exclusion filters will not be exported. 412 // If a log entry is matched by both `filter` and one of `exclusion_filters` 413 // it will not be exported. 414 Exclusions []*LogExclusion `protobuf:"bytes,16,rep,name=exclusions,proto3" json:"exclusions,omitempty"` 415 // Deprecated. This field is unused. 416 // 417 // Deprecated: Do not use. 418 OutputVersionFormat LogSink_VersionFormat `protobuf:"varint,6,opt,name=output_version_format,json=outputVersionFormat,proto3,enum=google.logging.v2.LogSink_VersionFormat" json:"output_version_format,omitempty"` 419 // Output only. An IAM identity—a service account or group—under which Logging 420 // writes the exported log entries to the sink's destination. This field is 421 // set by [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink] and 422 // [sinks.update][google.logging.v2.ConfigServiceV2.UpdateSink] based on the 423 // value of `unique_writer_identity` in those methods. 424 // 425 // Until you grant this identity write-access to the destination, log entry 426 // exports from this sink will fail. For more information, 427 // see [Granting Access for a 428 // Resource](https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). 429 // Consult the destination service's documentation to determine the 430 // appropriate IAM roles to assign to the identity. 431 WriterIdentity string `protobuf:"bytes,8,opt,name=writer_identity,json=writerIdentity,proto3" json:"writer_identity,omitempty"` 432 // Optional. This field applies only to sinks owned by organizations and 433 // folders. If the field is false, the default, only the logs owned by the 434 // sink's parent resource are available for export. If the field is true, then 435 // logs from all the projects, folders, and billing accounts contained in the 436 // sink's parent resource are also available for export. Whether a particular 437 // log entry from the children is exported depends on the sink's filter 438 // expression. For example, if this field is true, then the filter 439 // `resource.type=gce_instance` would export all Compute Engine VM instance 440 // log entries from all projects in the sink's parent. To only export entries 441 // from certain child projects, filter on the project part of the log name: 442 // 443 // logName:("projects/test-project1/" OR "projects/test-project2/") AND 444 // resource.type=gce_instance 445 IncludeChildren bool `protobuf:"varint,9,opt,name=include_children,json=includeChildren,proto3" json:"include_children,omitempty"` 446 // Destination dependent options. 447 // 448 // Types that are assignable to Options: 449 // *LogSink_BigqueryOptions 450 Options isLogSink_Options `protobuf_oneof:"options"` 451 // Output only. The creation timestamp of the sink. 452 // 453 // This field may not be present for older sinks. 454 CreateTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 455 // Output only. The last update timestamp of the sink. 456 // 457 // This field may not be present for older sinks. 458 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 459} 460 461func (x *LogSink) Reset() { 462 *x = LogSink{} 463 if protoimpl.UnsafeEnabled { 464 mi := &file_google_logging_v2_logging_config_proto_msgTypes[2] 465 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 466 ms.StoreMessageInfo(mi) 467 } 468} 469 470func (x *LogSink) String() string { 471 return protoimpl.X.MessageStringOf(x) 472} 473 474func (*LogSink) ProtoMessage() {} 475 476func (x *LogSink) ProtoReflect() protoreflect.Message { 477 mi := &file_google_logging_v2_logging_config_proto_msgTypes[2] 478 if protoimpl.UnsafeEnabled && x != nil { 479 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 480 if ms.LoadMessageInfo() == nil { 481 ms.StoreMessageInfo(mi) 482 } 483 return ms 484 } 485 return mi.MessageOf(x) 486} 487 488// Deprecated: Use LogSink.ProtoReflect.Descriptor instead. 489func (*LogSink) Descriptor() ([]byte, []int) { 490 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{2} 491} 492 493func (x *LogSink) GetName() string { 494 if x != nil { 495 return x.Name 496 } 497 return "" 498} 499 500func (x *LogSink) GetDestination() string { 501 if x != nil { 502 return x.Destination 503 } 504 return "" 505} 506 507func (x *LogSink) GetFilter() string { 508 if x != nil { 509 return x.Filter 510 } 511 return "" 512} 513 514func (x *LogSink) GetDescription() string { 515 if x != nil { 516 return x.Description 517 } 518 return "" 519} 520 521func (x *LogSink) GetDisabled() bool { 522 if x != nil { 523 return x.Disabled 524 } 525 return false 526} 527 528func (x *LogSink) GetExclusions() []*LogExclusion { 529 if x != nil { 530 return x.Exclusions 531 } 532 return nil 533} 534 535// Deprecated: Do not use. 536func (x *LogSink) GetOutputVersionFormat() LogSink_VersionFormat { 537 if x != nil { 538 return x.OutputVersionFormat 539 } 540 return LogSink_VERSION_FORMAT_UNSPECIFIED 541} 542 543func (x *LogSink) GetWriterIdentity() string { 544 if x != nil { 545 return x.WriterIdentity 546 } 547 return "" 548} 549 550func (x *LogSink) GetIncludeChildren() bool { 551 if x != nil { 552 return x.IncludeChildren 553 } 554 return false 555} 556 557func (m *LogSink) GetOptions() isLogSink_Options { 558 if m != nil { 559 return m.Options 560 } 561 return nil 562} 563 564func (x *LogSink) GetBigqueryOptions() *BigQueryOptions { 565 if x, ok := x.GetOptions().(*LogSink_BigqueryOptions); ok { 566 return x.BigqueryOptions 567 } 568 return nil 569} 570 571func (x *LogSink) GetCreateTime() *timestamppb.Timestamp { 572 if x != nil { 573 return x.CreateTime 574 } 575 return nil 576} 577 578func (x *LogSink) GetUpdateTime() *timestamppb.Timestamp { 579 if x != nil { 580 return x.UpdateTime 581 } 582 return nil 583} 584 585type isLogSink_Options interface { 586 isLogSink_Options() 587} 588 589type LogSink_BigqueryOptions struct { 590 // Optional. Options that affect sinks exporting data to BigQuery. 591 BigqueryOptions *BigQueryOptions `protobuf:"bytes,12,opt,name=bigquery_options,json=bigqueryOptions,proto3,oneof"` 592} 593 594func (*LogSink_BigqueryOptions) isLogSink_Options() {} 595 596// Options that change functionality of a sink exporting data to BigQuery. 597type BigQueryOptions struct { 598 state protoimpl.MessageState 599 sizeCache protoimpl.SizeCache 600 unknownFields protoimpl.UnknownFields 601 602 // Optional. Whether to use [BigQuery's partition 603 // tables](https://cloud.google.com/bigquery/docs/partitioned-tables). By 604 // default, Logging creates dated tables based on the log entries' timestamps, 605 // e.g. syslog_20170523. With partitioned tables the date suffix is no longer 606 // present and [special query 607 // syntax](https://cloud.google.com/bigquery/docs/querying-partitioned-tables) 608 // has to be used instead. In both cases, tables are sharded based on UTC 609 // timezone. 610 UsePartitionedTables bool `protobuf:"varint,1,opt,name=use_partitioned_tables,json=usePartitionedTables,proto3" json:"use_partitioned_tables,omitempty"` 611 // Output only. True if new timestamp column based partitioning is in use, 612 // false if legacy ingestion-time partitioning is in use. 613 // All new sinks will have this field set true and will use timestamp column 614 // based partitioning. If use_partitioned_tables is false, this value has no 615 // meaning and will be false. Legacy sinks using partitioned tables will have 616 // this field set to false. 617 UsesTimestampColumnPartitioning bool `protobuf:"varint,3,opt,name=uses_timestamp_column_partitioning,json=usesTimestampColumnPartitioning,proto3" json:"uses_timestamp_column_partitioning,omitempty"` 618} 619 620func (x *BigQueryOptions) Reset() { 621 *x = BigQueryOptions{} 622 if protoimpl.UnsafeEnabled { 623 mi := &file_google_logging_v2_logging_config_proto_msgTypes[3] 624 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 625 ms.StoreMessageInfo(mi) 626 } 627} 628 629func (x *BigQueryOptions) String() string { 630 return protoimpl.X.MessageStringOf(x) 631} 632 633func (*BigQueryOptions) ProtoMessage() {} 634 635func (x *BigQueryOptions) ProtoReflect() protoreflect.Message { 636 mi := &file_google_logging_v2_logging_config_proto_msgTypes[3] 637 if protoimpl.UnsafeEnabled && x != nil { 638 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 639 if ms.LoadMessageInfo() == nil { 640 ms.StoreMessageInfo(mi) 641 } 642 return ms 643 } 644 return mi.MessageOf(x) 645} 646 647// Deprecated: Use BigQueryOptions.ProtoReflect.Descriptor instead. 648func (*BigQueryOptions) Descriptor() ([]byte, []int) { 649 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{3} 650} 651 652func (x *BigQueryOptions) GetUsePartitionedTables() bool { 653 if x != nil { 654 return x.UsePartitionedTables 655 } 656 return false 657} 658 659func (x *BigQueryOptions) GetUsesTimestampColumnPartitioning() bool { 660 if x != nil { 661 return x.UsesTimestampColumnPartitioning 662 } 663 return false 664} 665 666// The parameters to `ListBuckets`. 667type ListBucketsRequest struct { 668 state protoimpl.MessageState 669 sizeCache protoimpl.SizeCache 670 unknownFields protoimpl.UnknownFields 671 672 // Required. The parent resource whose buckets are to be listed: 673 // 674 // "projects/[PROJECT_ID]/locations/[LOCATION_ID]" 675 // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]" 676 // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]" 677 // "folders/[FOLDER_ID]/locations/[LOCATION_ID]" 678 // 679 // Note: The locations portion of the resource must be specified, but 680 // supplying the character `-` in place of [LOCATION_ID] will return all 681 // buckets. 682 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 683 // Optional. If present, then retrieve the next batch of results from the 684 // preceding call to this method. `pageToken` must be the value of 685 // `nextPageToken` from the previous response. The values of other method 686 // parameters should be identical to those in the previous call. 687 PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 688 // Optional. The maximum number of results to return from this request. 689 // Non-positive values are ignored. The presence of `nextPageToken` in the 690 // response indicates that more results might be available. 691 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 692} 693 694func (x *ListBucketsRequest) Reset() { 695 *x = ListBucketsRequest{} 696 if protoimpl.UnsafeEnabled { 697 mi := &file_google_logging_v2_logging_config_proto_msgTypes[4] 698 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 699 ms.StoreMessageInfo(mi) 700 } 701} 702 703func (x *ListBucketsRequest) String() string { 704 return protoimpl.X.MessageStringOf(x) 705} 706 707func (*ListBucketsRequest) ProtoMessage() {} 708 709func (x *ListBucketsRequest) ProtoReflect() protoreflect.Message { 710 mi := &file_google_logging_v2_logging_config_proto_msgTypes[4] 711 if protoimpl.UnsafeEnabled && x != nil { 712 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 713 if ms.LoadMessageInfo() == nil { 714 ms.StoreMessageInfo(mi) 715 } 716 return ms 717 } 718 return mi.MessageOf(x) 719} 720 721// Deprecated: Use ListBucketsRequest.ProtoReflect.Descriptor instead. 722func (*ListBucketsRequest) Descriptor() ([]byte, []int) { 723 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{4} 724} 725 726func (x *ListBucketsRequest) GetParent() string { 727 if x != nil { 728 return x.Parent 729 } 730 return "" 731} 732 733func (x *ListBucketsRequest) GetPageToken() string { 734 if x != nil { 735 return x.PageToken 736 } 737 return "" 738} 739 740func (x *ListBucketsRequest) GetPageSize() int32 { 741 if x != nil { 742 return x.PageSize 743 } 744 return 0 745} 746 747// The response from ListBuckets. 748type ListBucketsResponse struct { 749 state protoimpl.MessageState 750 sizeCache protoimpl.SizeCache 751 unknownFields protoimpl.UnknownFields 752 753 // A list of buckets. 754 Buckets []*LogBucket `protobuf:"bytes,1,rep,name=buckets,proto3" json:"buckets,omitempty"` 755 // If there might be more results than appear in this response, then 756 // `nextPageToken` is included. To get the next set of results, call the same 757 // method again using the value of `nextPageToken` as `pageToken`. 758 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 759} 760 761func (x *ListBucketsResponse) Reset() { 762 *x = ListBucketsResponse{} 763 if protoimpl.UnsafeEnabled { 764 mi := &file_google_logging_v2_logging_config_proto_msgTypes[5] 765 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 766 ms.StoreMessageInfo(mi) 767 } 768} 769 770func (x *ListBucketsResponse) String() string { 771 return protoimpl.X.MessageStringOf(x) 772} 773 774func (*ListBucketsResponse) ProtoMessage() {} 775 776func (x *ListBucketsResponse) ProtoReflect() protoreflect.Message { 777 mi := &file_google_logging_v2_logging_config_proto_msgTypes[5] 778 if protoimpl.UnsafeEnabled && x != nil { 779 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 780 if ms.LoadMessageInfo() == nil { 781 ms.StoreMessageInfo(mi) 782 } 783 return ms 784 } 785 return mi.MessageOf(x) 786} 787 788// Deprecated: Use ListBucketsResponse.ProtoReflect.Descriptor instead. 789func (*ListBucketsResponse) Descriptor() ([]byte, []int) { 790 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{5} 791} 792 793func (x *ListBucketsResponse) GetBuckets() []*LogBucket { 794 if x != nil { 795 return x.Buckets 796 } 797 return nil 798} 799 800func (x *ListBucketsResponse) GetNextPageToken() string { 801 if x != nil { 802 return x.NextPageToken 803 } 804 return "" 805} 806 807// The parameters to `CreateBucket`. 808type CreateBucketRequest struct { 809 state protoimpl.MessageState 810 sizeCache protoimpl.SizeCache 811 unknownFields protoimpl.UnknownFields 812 813 // Required. The resource in which to create the bucket: 814 // 815 // "projects/[PROJECT_ID]/locations/[LOCATION_ID]" 816 // 817 // Example: `"projects/my-logging-project/locations/global"` 818 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 819 // Required. A client-assigned identifier such as `"my-bucket"`. Identifiers are 820 // limited to 100 characters and can include only letters, digits, 821 // underscores, hyphens, and periods. 822 BucketId string `protobuf:"bytes,2,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"` 823 // Required. The new bucket. The region specified in the new bucket must be compliant 824 // with any Location Restriction Org Policy. The name field in the bucket is 825 // ignored. 826 Bucket *LogBucket `protobuf:"bytes,3,opt,name=bucket,proto3" json:"bucket,omitempty"` 827} 828 829func (x *CreateBucketRequest) Reset() { 830 *x = CreateBucketRequest{} 831 if protoimpl.UnsafeEnabled { 832 mi := &file_google_logging_v2_logging_config_proto_msgTypes[6] 833 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 834 ms.StoreMessageInfo(mi) 835 } 836} 837 838func (x *CreateBucketRequest) String() string { 839 return protoimpl.X.MessageStringOf(x) 840} 841 842func (*CreateBucketRequest) ProtoMessage() {} 843 844func (x *CreateBucketRequest) ProtoReflect() protoreflect.Message { 845 mi := &file_google_logging_v2_logging_config_proto_msgTypes[6] 846 if protoimpl.UnsafeEnabled && x != nil { 847 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 848 if ms.LoadMessageInfo() == nil { 849 ms.StoreMessageInfo(mi) 850 } 851 return ms 852 } 853 return mi.MessageOf(x) 854} 855 856// Deprecated: Use CreateBucketRequest.ProtoReflect.Descriptor instead. 857func (*CreateBucketRequest) Descriptor() ([]byte, []int) { 858 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{6} 859} 860 861func (x *CreateBucketRequest) GetParent() string { 862 if x != nil { 863 return x.Parent 864 } 865 return "" 866} 867 868func (x *CreateBucketRequest) GetBucketId() string { 869 if x != nil { 870 return x.BucketId 871 } 872 return "" 873} 874 875func (x *CreateBucketRequest) GetBucket() *LogBucket { 876 if x != nil { 877 return x.Bucket 878 } 879 return nil 880} 881 882// The parameters to `UpdateBucket`. 883type UpdateBucketRequest struct { 884 state protoimpl.MessageState 885 sizeCache protoimpl.SizeCache 886 unknownFields protoimpl.UnknownFields 887 888 // Required. The full resource name of the bucket to update. 889 // 890 // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 891 // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 892 // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 893 // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 894 // 895 // Example: 896 // `"projects/my-project-id/locations/my-location/buckets/my-bucket-id"`. Also 897 // requires permission "resourcemanager.projects.updateLiens" to set the 898 // locked property 899 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 900 // Required. The updated bucket. 901 Bucket *LogBucket `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"` 902 // Required. Field mask that specifies the fields in `bucket` that need an update. A 903 // bucket field will be overwritten if, and only if, it is in the update 904 // mask. `name` and output only fields cannot be updated. 905 // 906 // For a detailed `FieldMask` definition, see 907 // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask 908 // 909 // Example: `updateMask=retention_days`. 910 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 911} 912 913func (x *UpdateBucketRequest) Reset() { 914 *x = UpdateBucketRequest{} 915 if protoimpl.UnsafeEnabled { 916 mi := &file_google_logging_v2_logging_config_proto_msgTypes[7] 917 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 918 ms.StoreMessageInfo(mi) 919 } 920} 921 922func (x *UpdateBucketRequest) String() string { 923 return protoimpl.X.MessageStringOf(x) 924} 925 926func (*UpdateBucketRequest) ProtoMessage() {} 927 928func (x *UpdateBucketRequest) ProtoReflect() protoreflect.Message { 929 mi := &file_google_logging_v2_logging_config_proto_msgTypes[7] 930 if protoimpl.UnsafeEnabled && x != nil { 931 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 932 if ms.LoadMessageInfo() == nil { 933 ms.StoreMessageInfo(mi) 934 } 935 return ms 936 } 937 return mi.MessageOf(x) 938} 939 940// Deprecated: Use UpdateBucketRequest.ProtoReflect.Descriptor instead. 941func (*UpdateBucketRequest) Descriptor() ([]byte, []int) { 942 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{7} 943} 944 945func (x *UpdateBucketRequest) GetName() string { 946 if x != nil { 947 return x.Name 948 } 949 return "" 950} 951 952func (x *UpdateBucketRequest) GetBucket() *LogBucket { 953 if x != nil { 954 return x.Bucket 955 } 956 return nil 957} 958 959func (x *UpdateBucketRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 960 if x != nil { 961 return x.UpdateMask 962 } 963 return nil 964} 965 966// The parameters to `GetBucket`. 967type GetBucketRequest struct { 968 state protoimpl.MessageState 969 sizeCache protoimpl.SizeCache 970 unknownFields protoimpl.UnknownFields 971 972 // Required. The resource name of the bucket: 973 // 974 // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 975 // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 976 // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 977 // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 978 // 979 // Example: 980 // `"projects/my-project-id/locations/my-location/buckets/my-bucket-id"`. 981 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 982} 983 984func (x *GetBucketRequest) Reset() { 985 *x = GetBucketRequest{} 986 if protoimpl.UnsafeEnabled { 987 mi := &file_google_logging_v2_logging_config_proto_msgTypes[8] 988 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 989 ms.StoreMessageInfo(mi) 990 } 991} 992 993func (x *GetBucketRequest) String() string { 994 return protoimpl.X.MessageStringOf(x) 995} 996 997func (*GetBucketRequest) ProtoMessage() {} 998 999func (x *GetBucketRequest) ProtoReflect() protoreflect.Message { 1000 mi := &file_google_logging_v2_logging_config_proto_msgTypes[8] 1001 if protoimpl.UnsafeEnabled && x != nil { 1002 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1003 if ms.LoadMessageInfo() == nil { 1004 ms.StoreMessageInfo(mi) 1005 } 1006 return ms 1007 } 1008 return mi.MessageOf(x) 1009} 1010 1011// Deprecated: Use GetBucketRequest.ProtoReflect.Descriptor instead. 1012func (*GetBucketRequest) Descriptor() ([]byte, []int) { 1013 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{8} 1014} 1015 1016func (x *GetBucketRequest) GetName() string { 1017 if x != nil { 1018 return x.Name 1019 } 1020 return "" 1021} 1022 1023// The parameters to `DeleteBucket`. 1024type DeleteBucketRequest struct { 1025 state protoimpl.MessageState 1026 sizeCache protoimpl.SizeCache 1027 unknownFields protoimpl.UnknownFields 1028 1029 // Required. The full resource name of the bucket to delete. 1030 // 1031 // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 1032 // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 1033 // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 1034 // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 1035 // 1036 // Example: 1037 // `"projects/my-project-id/locations/my-location/buckets/my-bucket-id"`. 1038 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1039} 1040 1041func (x *DeleteBucketRequest) Reset() { 1042 *x = DeleteBucketRequest{} 1043 if protoimpl.UnsafeEnabled { 1044 mi := &file_google_logging_v2_logging_config_proto_msgTypes[9] 1045 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1046 ms.StoreMessageInfo(mi) 1047 } 1048} 1049 1050func (x *DeleteBucketRequest) String() string { 1051 return protoimpl.X.MessageStringOf(x) 1052} 1053 1054func (*DeleteBucketRequest) ProtoMessage() {} 1055 1056func (x *DeleteBucketRequest) ProtoReflect() protoreflect.Message { 1057 mi := &file_google_logging_v2_logging_config_proto_msgTypes[9] 1058 if protoimpl.UnsafeEnabled && x != nil { 1059 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1060 if ms.LoadMessageInfo() == nil { 1061 ms.StoreMessageInfo(mi) 1062 } 1063 return ms 1064 } 1065 return mi.MessageOf(x) 1066} 1067 1068// Deprecated: Use DeleteBucketRequest.ProtoReflect.Descriptor instead. 1069func (*DeleteBucketRequest) Descriptor() ([]byte, []int) { 1070 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{9} 1071} 1072 1073func (x *DeleteBucketRequest) GetName() string { 1074 if x != nil { 1075 return x.Name 1076 } 1077 return "" 1078} 1079 1080// The parameters to `UndeleteBucket`. 1081type UndeleteBucketRequest struct { 1082 state protoimpl.MessageState 1083 sizeCache protoimpl.SizeCache 1084 unknownFields protoimpl.UnknownFields 1085 1086 // Required. The full resource name of the bucket to undelete. 1087 // 1088 // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 1089 // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 1090 // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 1091 // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 1092 // 1093 // Example: 1094 // `"projects/my-project-id/locations/my-location/buckets/my-bucket-id"`. 1095 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1096} 1097 1098func (x *UndeleteBucketRequest) Reset() { 1099 *x = UndeleteBucketRequest{} 1100 if protoimpl.UnsafeEnabled { 1101 mi := &file_google_logging_v2_logging_config_proto_msgTypes[10] 1102 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1103 ms.StoreMessageInfo(mi) 1104 } 1105} 1106 1107func (x *UndeleteBucketRequest) String() string { 1108 return protoimpl.X.MessageStringOf(x) 1109} 1110 1111func (*UndeleteBucketRequest) ProtoMessage() {} 1112 1113func (x *UndeleteBucketRequest) ProtoReflect() protoreflect.Message { 1114 mi := &file_google_logging_v2_logging_config_proto_msgTypes[10] 1115 if protoimpl.UnsafeEnabled && x != nil { 1116 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1117 if ms.LoadMessageInfo() == nil { 1118 ms.StoreMessageInfo(mi) 1119 } 1120 return ms 1121 } 1122 return mi.MessageOf(x) 1123} 1124 1125// Deprecated: Use UndeleteBucketRequest.ProtoReflect.Descriptor instead. 1126func (*UndeleteBucketRequest) Descriptor() ([]byte, []int) { 1127 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{10} 1128} 1129 1130func (x *UndeleteBucketRequest) GetName() string { 1131 if x != nil { 1132 return x.Name 1133 } 1134 return "" 1135} 1136 1137// The parameters to `ListViews`. 1138type ListViewsRequest struct { 1139 state protoimpl.MessageState 1140 sizeCache protoimpl.SizeCache 1141 unknownFields protoimpl.UnknownFields 1142 1143 // Required. The bucket whose views are to be listed: 1144 // 1145 // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 1146 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1147 // Optional. If present, then retrieve the next batch of results from the 1148 // preceding call to this method. `pageToken` must be the value of 1149 // `nextPageToken` from the previous response. The values of other method 1150 // parameters should be identical to those in the previous call. 1151 PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 1152 // Optional. The maximum number of results to return from this request. 1153 // Non-positive values are ignored. The presence of `nextPageToken` in the 1154 // response indicates that more results might be available. 1155 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 1156} 1157 1158func (x *ListViewsRequest) Reset() { 1159 *x = ListViewsRequest{} 1160 if protoimpl.UnsafeEnabled { 1161 mi := &file_google_logging_v2_logging_config_proto_msgTypes[11] 1162 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1163 ms.StoreMessageInfo(mi) 1164 } 1165} 1166 1167func (x *ListViewsRequest) String() string { 1168 return protoimpl.X.MessageStringOf(x) 1169} 1170 1171func (*ListViewsRequest) ProtoMessage() {} 1172 1173func (x *ListViewsRequest) ProtoReflect() protoreflect.Message { 1174 mi := &file_google_logging_v2_logging_config_proto_msgTypes[11] 1175 if protoimpl.UnsafeEnabled && x != nil { 1176 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1177 if ms.LoadMessageInfo() == nil { 1178 ms.StoreMessageInfo(mi) 1179 } 1180 return ms 1181 } 1182 return mi.MessageOf(x) 1183} 1184 1185// Deprecated: Use ListViewsRequest.ProtoReflect.Descriptor instead. 1186func (*ListViewsRequest) Descriptor() ([]byte, []int) { 1187 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{11} 1188} 1189 1190func (x *ListViewsRequest) GetParent() string { 1191 if x != nil { 1192 return x.Parent 1193 } 1194 return "" 1195} 1196 1197func (x *ListViewsRequest) GetPageToken() string { 1198 if x != nil { 1199 return x.PageToken 1200 } 1201 return "" 1202} 1203 1204func (x *ListViewsRequest) GetPageSize() int32 { 1205 if x != nil { 1206 return x.PageSize 1207 } 1208 return 0 1209} 1210 1211// The response from ListViews. 1212type ListViewsResponse struct { 1213 state protoimpl.MessageState 1214 sizeCache protoimpl.SizeCache 1215 unknownFields protoimpl.UnknownFields 1216 1217 // A list of views. 1218 Views []*LogView `protobuf:"bytes,1,rep,name=views,proto3" json:"views,omitempty"` 1219 // If there might be more results than appear in this response, then 1220 // `nextPageToken` is included. To get the next set of results, call the same 1221 // method again using the value of `nextPageToken` as `pageToken`. 1222 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 1223} 1224 1225func (x *ListViewsResponse) Reset() { 1226 *x = ListViewsResponse{} 1227 if protoimpl.UnsafeEnabled { 1228 mi := &file_google_logging_v2_logging_config_proto_msgTypes[12] 1229 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1230 ms.StoreMessageInfo(mi) 1231 } 1232} 1233 1234func (x *ListViewsResponse) String() string { 1235 return protoimpl.X.MessageStringOf(x) 1236} 1237 1238func (*ListViewsResponse) ProtoMessage() {} 1239 1240func (x *ListViewsResponse) ProtoReflect() protoreflect.Message { 1241 mi := &file_google_logging_v2_logging_config_proto_msgTypes[12] 1242 if protoimpl.UnsafeEnabled && x != nil { 1243 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1244 if ms.LoadMessageInfo() == nil { 1245 ms.StoreMessageInfo(mi) 1246 } 1247 return ms 1248 } 1249 return mi.MessageOf(x) 1250} 1251 1252// Deprecated: Use ListViewsResponse.ProtoReflect.Descriptor instead. 1253func (*ListViewsResponse) Descriptor() ([]byte, []int) { 1254 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{12} 1255} 1256 1257func (x *ListViewsResponse) GetViews() []*LogView { 1258 if x != nil { 1259 return x.Views 1260 } 1261 return nil 1262} 1263 1264func (x *ListViewsResponse) GetNextPageToken() string { 1265 if x != nil { 1266 return x.NextPageToken 1267 } 1268 return "" 1269} 1270 1271// The parameters to `CreateView`. 1272type CreateViewRequest struct { 1273 state protoimpl.MessageState 1274 sizeCache protoimpl.SizeCache 1275 unknownFields protoimpl.UnknownFields 1276 1277 // Required. The bucket in which to create the view 1278 // 1279 // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 1280 // 1281 // Example: 1282 // `"projects/my-logging-project/locations/my-location/buckets/my-bucket"` 1283 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1284 // Required. The id to use for this view. 1285 ViewId string `protobuf:"bytes,2,opt,name=view_id,json=viewId,proto3" json:"view_id,omitempty"` 1286 // Required. The new view. 1287 View *LogView `protobuf:"bytes,3,opt,name=view,proto3" json:"view,omitempty"` 1288} 1289 1290func (x *CreateViewRequest) Reset() { 1291 *x = CreateViewRequest{} 1292 if protoimpl.UnsafeEnabled { 1293 mi := &file_google_logging_v2_logging_config_proto_msgTypes[13] 1294 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1295 ms.StoreMessageInfo(mi) 1296 } 1297} 1298 1299func (x *CreateViewRequest) String() string { 1300 return protoimpl.X.MessageStringOf(x) 1301} 1302 1303func (*CreateViewRequest) ProtoMessage() {} 1304 1305func (x *CreateViewRequest) ProtoReflect() protoreflect.Message { 1306 mi := &file_google_logging_v2_logging_config_proto_msgTypes[13] 1307 if protoimpl.UnsafeEnabled && x != nil { 1308 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1309 if ms.LoadMessageInfo() == nil { 1310 ms.StoreMessageInfo(mi) 1311 } 1312 return ms 1313 } 1314 return mi.MessageOf(x) 1315} 1316 1317// Deprecated: Use CreateViewRequest.ProtoReflect.Descriptor instead. 1318func (*CreateViewRequest) Descriptor() ([]byte, []int) { 1319 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{13} 1320} 1321 1322func (x *CreateViewRequest) GetParent() string { 1323 if x != nil { 1324 return x.Parent 1325 } 1326 return "" 1327} 1328 1329func (x *CreateViewRequest) GetViewId() string { 1330 if x != nil { 1331 return x.ViewId 1332 } 1333 return "" 1334} 1335 1336func (x *CreateViewRequest) GetView() *LogView { 1337 if x != nil { 1338 return x.View 1339 } 1340 return nil 1341} 1342 1343// The parameters to `UpdateView`. 1344type UpdateViewRequest struct { 1345 state protoimpl.MessageState 1346 sizeCache protoimpl.SizeCache 1347 unknownFields protoimpl.UnknownFields 1348 1349 // Required. The full resource name of the view to update 1350 // 1351 // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" 1352 // 1353 // Example: 1354 // `"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id"`. 1355 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1356 // Required. The updated view. 1357 View *LogView `protobuf:"bytes,2,opt,name=view,proto3" json:"view,omitempty"` 1358 // Optional. Field mask that specifies the fields in `view` that need 1359 // an update. A field will be overwritten if, and only if, it is 1360 // in the update mask. `name` and output only fields cannot be updated. 1361 // 1362 // For a detailed `FieldMask` definition, see 1363 // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask 1364 // 1365 // Example: `updateMask=filter`. 1366 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 1367} 1368 1369func (x *UpdateViewRequest) Reset() { 1370 *x = UpdateViewRequest{} 1371 if protoimpl.UnsafeEnabled { 1372 mi := &file_google_logging_v2_logging_config_proto_msgTypes[14] 1373 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1374 ms.StoreMessageInfo(mi) 1375 } 1376} 1377 1378func (x *UpdateViewRequest) String() string { 1379 return protoimpl.X.MessageStringOf(x) 1380} 1381 1382func (*UpdateViewRequest) ProtoMessage() {} 1383 1384func (x *UpdateViewRequest) ProtoReflect() protoreflect.Message { 1385 mi := &file_google_logging_v2_logging_config_proto_msgTypes[14] 1386 if protoimpl.UnsafeEnabled && x != nil { 1387 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1388 if ms.LoadMessageInfo() == nil { 1389 ms.StoreMessageInfo(mi) 1390 } 1391 return ms 1392 } 1393 return mi.MessageOf(x) 1394} 1395 1396// Deprecated: Use UpdateViewRequest.ProtoReflect.Descriptor instead. 1397func (*UpdateViewRequest) Descriptor() ([]byte, []int) { 1398 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{14} 1399} 1400 1401func (x *UpdateViewRequest) GetName() string { 1402 if x != nil { 1403 return x.Name 1404 } 1405 return "" 1406} 1407 1408func (x *UpdateViewRequest) GetView() *LogView { 1409 if x != nil { 1410 return x.View 1411 } 1412 return nil 1413} 1414 1415func (x *UpdateViewRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 1416 if x != nil { 1417 return x.UpdateMask 1418 } 1419 return nil 1420} 1421 1422// The parameters to `GetView`. 1423type GetViewRequest struct { 1424 state protoimpl.MessageState 1425 sizeCache protoimpl.SizeCache 1426 unknownFields protoimpl.UnknownFields 1427 1428 // Required. The resource name of the policy: 1429 // 1430 // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" 1431 // 1432 // Example: 1433 // `"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id"`. 1434 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1435} 1436 1437func (x *GetViewRequest) Reset() { 1438 *x = GetViewRequest{} 1439 if protoimpl.UnsafeEnabled { 1440 mi := &file_google_logging_v2_logging_config_proto_msgTypes[15] 1441 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1442 ms.StoreMessageInfo(mi) 1443 } 1444} 1445 1446func (x *GetViewRequest) String() string { 1447 return protoimpl.X.MessageStringOf(x) 1448} 1449 1450func (*GetViewRequest) ProtoMessage() {} 1451 1452func (x *GetViewRequest) ProtoReflect() protoreflect.Message { 1453 mi := &file_google_logging_v2_logging_config_proto_msgTypes[15] 1454 if protoimpl.UnsafeEnabled && x != nil { 1455 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1456 if ms.LoadMessageInfo() == nil { 1457 ms.StoreMessageInfo(mi) 1458 } 1459 return ms 1460 } 1461 return mi.MessageOf(x) 1462} 1463 1464// Deprecated: Use GetViewRequest.ProtoReflect.Descriptor instead. 1465func (*GetViewRequest) Descriptor() ([]byte, []int) { 1466 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{15} 1467} 1468 1469func (x *GetViewRequest) GetName() string { 1470 if x != nil { 1471 return x.Name 1472 } 1473 return "" 1474} 1475 1476// The parameters to `DeleteView`. 1477type DeleteViewRequest struct { 1478 state protoimpl.MessageState 1479 sizeCache protoimpl.SizeCache 1480 unknownFields protoimpl.UnknownFields 1481 1482 // Required. The full resource name of the view to delete: 1483 // 1484 // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" 1485 // 1486 // Example: 1487 // `"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id"`. 1488 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1489} 1490 1491func (x *DeleteViewRequest) Reset() { 1492 *x = DeleteViewRequest{} 1493 if protoimpl.UnsafeEnabled { 1494 mi := &file_google_logging_v2_logging_config_proto_msgTypes[16] 1495 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1496 ms.StoreMessageInfo(mi) 1497 } 1498} 1499 1500func (x *DeleteViewRequest) String() string { 1501 return protoimpl.X.MessageStringOf(x) 1502} 1503 1504func (*DeleteViewRequest) ProtoMessage() {} 1505 1506func (x *DeleteViewRequest) ProtoReflect() protoreflect.Message { 1507 mi := &file_google_logging_v2_logging_config_proto_msgTypes[16] 1508 if protoimpl.UnsafeEnabled && x != nil { 1509 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1510 if ms.LoadMessageInfo() == nil { 1511 ms.StoreMessageInfo(mi) 1512 } 1513 return ms 1514 } 1515 return mi.MessageOf(x) 1516} 1517 1518// Deprecated: Use DeleteViewRequest.ProtoReflect.Descriptor instead. 1519func (*DeleteViewRequest) Descriptor() ([]byte, []int) { 1520 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{16} 1521} 1522 1523func (x *DeleteViewRequest) GetName() string { 1524 if x != nil { 1525 return x.Name 1526 } 1527 return "" 1528} 1529 1530// The parameters to `ListSinks`. 1531type ListSinksRequest struct { 1532 state protoimpl.MessageState 1533 sizeCache protoimpl.SizeCache 1534 unknownFields protoimpl.UnknownFields 1535 1536 // Required. The parent resource whose sinks are to be listed: 1537 // 1538 // "projects/[PROJECT_ID]" 1539 // "organizations/[ORGANIZATION_ID]" 1540 // "billingAccounts/[BILLING_ACCOUNT_ID]" 1541 // "folders/[FOLDER_ID]" 1542 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1543 // Optional. If present, then retrieve the next batch of results from the 1544 // preceding call to this method. `pageToken` must be the value of 1545 // `nextPageToken` from the previous response. The values of other method 1546 // parameters should be identical to those in the previous call. 1547 PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 1548 // Optional. The maximum number of results to return from this request. 1549 // Non-positive values are ignored. The presence of `nextPageToken` in the 1550 // response indicates that more results might be available. 1551 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 1552} 1553 1554func (x *ListSinksRequest) Reset() { 1555 *x = ListSinksRequest{} 1556 if protoimpl.UnsafeEnabled { 1557 mi := &file_google_logging_v2_logging_config_proto_msgTypes[17] 1558 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1559 ms.StoreMessageInfo(mi) 1560 } 1561} 1562 1563func (x *ListSinksRequest) String() string { 1564 return protoimpl.X.MessageStringOf(x) 1565} 1566 1567func (*ListSinksRequest) ProtoMessage() {} 1568 1569func (x *ListSinksRequest) ProtoReflect() protoreflect.Message { 1570 mi := &file_google_logging_v2_logging_config_proto_msgTypes[17] 1571 if protoimpl.UnsafeEnabled && x != nil { 1572 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1573 if ms.LoadMessageInfo() == nil { 1574 ms.StoreMessageInfo(mi) 1575 } 1576 return ms 1577 } 1578 return mi.MessageOf(x) 1579} 1580 1581// Deprecated: Use ListSinksRequest.ProtoReflect.Descriptor instead. 1582func (*ListSinksRequest) Descriptor() ([]byte, []int) { 1583 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{17} 1584} 1585 1586func (x *ListSinksRequest) GetParent() string { 1587 if x != nil { 1588 return x.Parent 1589 } 1590 return "" 1591} 1592 1593func (x *ListSinksRequest) GetPageToken() string { 1594 if x != nil { 1595 return x.PageToken 1596 } 1597 return "" 1598} 1599 1600func (x *ListSinksRequest) GetPageSize() int32 { 1601 if x != nil { 1602 return x.PageSize 1603 } 1604 return 0 1605} 1606 1607// Result returned from `ListSinks`. 1608type ListSinksResponse struct { 1609 state protoimpl.MessageState 1610 sizeCache protoimpl.SizeCache 1611 unknownFields protoimpl.UnknownFields 1612 1613 // A list of sinks. 1614 Sinks []*LogSink `protobuf:"bytes,1,rep,name=sinks,proto3" json:"sinks,omitempty"` 1615 // If there might be more results than appear in this response, then 1616 // `nextPageToken` is included. To get the next set of results, call the same 1617 // method again using the value of `nextPageToken` as `pageToken`. 1618 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 1619} 1620 1621func (x *ListSinksResponse) Reset() { 1622 *x = ListSinksResponse{} 1623 if protoimpl.UnsafeEnabled { 1624 mi := &file_google_logging_v2_logging_config_proto_msgTypes[18] 1625 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1626 ms.StoreMessageInfo(mi) 1627 } 1628} 1629 1630func (x *ListSinksResponse) String() string { 1631 return protoimpl.X.MessageStringOf(x) 1632} 1633 1634func (*ListSinksResponse) ProtoMessage() {} 1635 1636func (x *ListSinksResponse) ProtoReflect() protoreflect.Message { 1637 mi := &file_google_logging_v2_logging_config_proto_msgTypes[18] 1638 if protoimpl.UnsafeEnabled && x != nil { 1639 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1640 if ms.LoadMessageInfo() == nil { 1641 ms.StoreMessageInfo(mi) 1642 } 1643 return ms 1644 } 1645 return mi.MessageOf(x) 1646} 1647 1648// Deprecated: Use ListSinksResponse.ProtoReflect.Descriptor instead. 1649func (*ListSinksResponse) Descriptor() ([]byte, []int) { 1650 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{18} 1651} 1652 1653func (x *ListSinksResponse) GetSinks() []*LogSink { 1654 if x != nil { 1655 return x.Sinks 1656 } 1657 return nil 1658} 1659 1660func (x *ListSinksResponse) GetNextPageToken() string { 1661 if x != nil { 1662 return x.NextPageToken 1663 } 1664 return "" 1665} 1666 1667// The parameters to `GetSink`. 1668type GetSinkRequest struct { 1669 state protoimpl.MessageState 1670 sizeCache protoimpl.SizeCache 1671 unknownFields protoimpl.UnknownFields 1672 1673 // Required. The resource name of the sink: 1674 // 1675 // "projects/[PROJECT_ID]/sinks/[SINK_ID]" 1676 // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" 1677 // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" 1678 // "folders/[FOLDER_ID]/sinks/[SINK_ID]" 1679 // 1680 // Example: `"projects/my-project-id/sinks/my-sink-id"`. 1681 SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName,proto3" json:"sink_name,omitempty"` 1682} 1683 1684func (x *GetSinkRequest) Reset() { 1685 *x = GetSinkRequest{} 1686 if protoimpl.UnsafeEnabled { 1687 mi := &file_google_logging_v2_logging_config_proto_msgTypes[19] 1688 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1689 ms.StoreMessageInfo(mi) 1690 } 1691} 1692 1693func (x *GetSinkRequest) String() string { 1694 return protoimpl.X.MessageStringOf(x) 1695} 1696 1697func (*GetSinkRequest) ProtoMessage() {} 1698 1699func (x *GetSinkRequest) ProtoReflect() protoreflect.Message { 1700 mi := &file_google_logging_v2_logging_config_proto_msgTypes[19] 1701 if protoimpl.UnsafeEnabled && x != nil { 1702 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1703 if ms.LoadMessageInfo() == nil { 1704 ms.StoreMessageInfo(mi) 1705 } 1706 return ms 1707 } 1708 return mi.MessageOf(x) 1709} 1710 1711// Deprecated: Use GetSinkRequest.ProtoReflect.Descriptor instead. 1712func (*GetSinkRequest) Descriptor() ([]byte, []int) { 1713 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{19} 1714} 1715 1716func (x *GetSinkRequest) GetSinkName() string { 1717 if x != nil { 1718 return x.SinkName 1719 } 1720 return "" 1721} 1722 1723// The parameters to `CreateSink`. 1724type CreateSinkRequest struct { 1725 state protoimpl.MessageState 1726 sizeCache protoimpl.SizeCache 1727 unknownFields protoimpl.UnknownFields 1728 1729 // Required. The resource in which to create the sink: 1730 // 1731 // "projects/[PROJECT_ID]" 1732 // "organizations/[ORGANIZATION_ID]" 1733 // "billingAccounts/[BILLING_ACCOUNT_ID]" 1734 // "folders/[FOLDER_ID]" 1735 // 1736 // Examples: `"projects/my-logging-project"`, `"organizations/123456789"`. 1737 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1738 // Required. The new sink, whose `name` parameter is a sink identifier that 1739 // is not already in use. 1740 Sink *LogSink `protobuf:"bytes,2,opt,name=sink,proto3" json:"sink,omitempty"` 1741 // Optional. Determines the kind of IAM identity returned as `writer_identity` 1742 // in the new sink. If this value is omitted or set to false, and if the 1743 // sink's parent is a project, then the value returned as `writer_identity` is 1744 // the same group or service account used by Logging before the addition of 1745 // writer identities to this API. The sink's destination must be in the same 1746 // project as the sink itself. 1747 // 1748 // If this field is set to true, or if the sink is owned by a non-project 1749 // resource such as an organization, then the value of `writer_identity` will 1750 // be a unique service account used only for exports from the new sink. For 1751 // more information, see `writer_identity` in [LogSink][google.logging.v2.LogSink]. 1752 UniqueWriterIdentity bool `protobuf:"varint,3,opt,name=unique_writer_identity,json=uniqueWriterIdentity,proto3" json:"unique_writer_identity,omitempty"` 1753} 1754 1755func (x *CreateSinkRequest) Reset() { 1756 *x = CreateSinkRequest{} 1757 if protoimpl.UnsafeEnabled { 1758 mi := &file_google_logging_v2_logging_config_proto_msgTypes[20] 1759 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1760 ms.StoreMessageInfo(mi) 1761 } 1762} 1763 1764func (x *CreateSinkRequest) String() string { 1765 return protoimpl.X.MessageStringOf(x) 1766} 1767 1768func (*CreateSinkRequest) ProtoMessage() {} 1769 1770func (x *CreateSinkRequest) ProtoReflect() protoreflect.Message { 1771 mi := &file_google_logging_v2_logging_config_proto_msgTypes[20] 1772 if protoimpl.UnsafeEnabled && x != nil { 1773 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1774 if ms.LoadMessageInfo() == nil { 1775 ms.StoreMessageInfo(mi) 1776 } 1777 return ms 1778 } 1779 return mi.MessageOf(x) 1780} 1781 1782// Deprecated: Use CreateSinkRequest.ProtoReflect.Descriptor instead. 1783func (*CreateSinkRequest) Descriptor() ([]byte, []int) { 1784 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{20} 1785} 1786 1787func (x *CreateSinkRequest) GetParent() string { 1788 if x != nil { 1789 return x.Parent 1790 } 1791 return "" 1792} 1793 1794func (x *CreateSinkRequest) GetSink() *LogSink { 1795 if x != nil { 1796 return x.Sink 1797 } 1798 return nil 1799} 1800 1801func (x *CreateSinkRequest) GetUniqueWriterIdentity() bool { 1802 if x != nil { 1803 return x.UniqueWriterIdentity 1804 } 1805 return false 1806} 1807 1808// The parameters to `UpdateSink`. 1809type UpdateSinkRequest struct { 1810 state protoimpl.MessageState 1811 sizeCache protoimpl.SizeCache 1812 unknownFields protoimpl.UnknownFields 1813 1814 // Required. The full resource name of the sink to update, including the parent 1815 // resource and the sink identifier: 1816 // 1817 // "projects/[PROJECT_ID]/sinks/[SINK_ID]" 1818 // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" 1819 // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" 1820 // "folders/[FOLDER_ID]/sinks/[SINK_ID]" 1821 // 1822 // Example: `"projects/my-project-id/sinks/my-sink-id"`. 1823 SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName,proto3" json:"sink_name,omitempty"` 1824 // Required. The updated sink, whose name is the same identifier that appears as part 1825 // of `sink_name`. 1826 Sink *LogSink `protobuf:"bytes,2,opt,name=sink,proto3" json:"sink,omitempty"` 1827 // Optional. See [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink] 1828 // for a description of this field. When updating a sink, the effect of this 1829 // field on the value of `writer_identity` in the updated sink depends on both 1830 // the old and new values of this field: 1831 // 1832 // + If the old and new values of this field are both false or both true, 1833 // then there is no change to the sink's `writer_identity`. 1834 // + If the old value is false and the new value is true, then 1835 // `writer_identity` is changed to a unique service account. 1836 // + It is an error if the old value is true and the new value is 1837 // set to false or defaulted to false. 1838 UniqueWriterIdentity bool `protobuf:"varint,3,opt,name=unique_writer_identity,json=uniqueWriterIdentity,proto3" json:"unique_writer_identity,omitempty"` 1839 // Optional. Field mask that specifies the fields in `sink` that need 1840 // an update. A sink field will be overwritten if, and only if, it is 1841 // in the update mask. `name` and output only fields cannot be updated. 1842 // 1843 // An empty updateMask is temporarily treated as using the following mask 1844 // for backwards compatibility purposes: 1845 // destination,filter,includeChildren 1846 // At some point in the future, behavior will be removed and specifying an 1847 // empty updateMask will be an error. 1848 // 1849 // For a detailed `FieldMask` definition, see 1850 // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask 1851 // 1852 // Example: `updateMask=filter`. 1853 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 1854} 1855 1856func (x *UpdateSinkRequest) Reset() { 1857 *x = UpdateSinkRequest{} 1858 if protoimpl.UnsafeEnabled { 1859 mi := &file_google_logging_v2_logging_config_proto_msgTypes[21] 1860 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1861 ms.StoreMessageInfo(mi) 1862 } 1863} 1864 1865func (x *UpdateSinkRequest) String() string { 1866 return protoimpl.X.MessageStringOf(x) 1867} 1868 1869func (*UpdateSinkRequest) ProtoMessage() {} 1870 1871func (x *UpdateSinkRequest) ProtoReflect() protoreflect.Message { 1872 mi := &file_google_logging_v2_logging_config_proto_msgTypes[21] 1873 if protoimpl.UnsafeEnabled && x != nil { 1874 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1875 if ms.LoadMessageInfo() == nil { 1876 ms.StoreMessageInfo(mi) 1877 } 1878 return ms 1879 } 1880 return mi.MessageOf(x) 1881} 1882 1883// Deprecated: Use UpdateSinkRequest.ProtoReflect.Descriptor instead. 1884func (*UpdateSinkRequest) Descriptor() ([]byte, []int) { 1885 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{21} 1886} 1887 1888func (x *UpdateSinkRequest) GetSinkName() string { 1889 if x != nil { 1890 return x.SinkName 1891 } 1892 return "" 1893} 1894 1895func (x *UpdateSinkRequest) GetSink() *LogSink { 1896 if x != nil { 1897 return x.Sink 1898 } 1899 return nil 1900} 1901 1902func (x *UpdateSinkRequest) GetUniqueWriterIdentity() bool { 1903 if x != nil { 1904 return x.UniqueWriterIdentity 1905 } 1906 return false 1907} 1908 1909func (x *UpdateSinkRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 1910 if x != nil { 1911 return x.UpdateMask 1912 } 1913 return nil 1914} 1915 1916// The parameters to `DeleteSink`. 1917type DeleteSinkRequest struct { 1918 state protoimpl.MessageState 1919 sizeCache protoimpl.SizeCache 1920 unknownFields protoimpl.UnknownFields 1921 1922 // Required. The full resource name of the sink to delete, including the parent 1923 // resource and the sink identifier: 1924 // 1925 // "projects/[PROJECT_ID]/sinks/[SINK_ID]" 1926 // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" 1927 // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" 1928 // "folders/[FOLDER_ID]/sinks/[SINK_ID]" 1929 // 1930 // Example: `"projects/my-project-id/sinks/my-sink-id"`. 1931 SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName,proto3" json:"sink_name,omitempty"` 1932} 1933 1934func (x *DeleteSinkRequest) Reset() { 1935 *x = DeleteSinkRequest{} 1936 if protoimpl.UnsafeEnabled { 1937 mi := &file_google_logging_v2_logging_config_proto_msgTypes[22] 1938 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1939 ms.StoreMessageInfo(mi) 1940 } 1941} 1942 1943func (x *DeleteSinkRequest) String() string { 1944 return protoimpl.X.MessageStringOf(x) 1945} 1946 1947func (*DeleteSinkRequest) ProtoMessage() {} 1948 1949func (x *DeleteSinkRequest) ProtoReflect() protoreflect.Message { 1950 mi := &file_google_logging_v2_logging_config_proto_msgTypes[22] 1951 if protoimpl.UnsafeEnabled && x != nil { 1952 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1953 if ms.LoadMessageInfo() == nil { 1954 ms.StoreMessageInfo(mi) 1955 } 1956 return ms 1957 } 1958 return mi.MessageOf(x) 1959} 1960 1961// Deprecated: Use DeleteSinkRequest.ProtoReflect.Descriptor instead. 1962func (*DeleteSinkRequest) Descriptor() ([]byte, []int) { 1963 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{22} 1964} 1965 1966func (x *DeleteSinkRequest) GetSinkName() string { 1967 if x != nil { 1968 return x.SinkName 1969 } 1970 return "" 1971} 1972 1973// Specifies a set of log entries that are not to be stored in 1974// Logging. If your GCP resource receives a large volume of logs, you can 1975// use exclusions to reduce your chargeable logs. Exclusions are 1976// processed after log sinks, so you can export log entries before they are 1977// excluded. Note that organization-level and folder-level exclusions don't 1978// apply to child resources, and that you can't exclude audit log entries. 1979type LogExclusion struct { 1980 state protoimpl.MessageState 1981 sizeCache protoimpl.SizeCache 1982 unknownFields protoimpl.UnknownFields 1983 1984 // Required. A client-assigned identifier, such as `"load-balancer-exclusion"`. 1985 // Identifiers are limited to 100 characters and can include only letters, 1986 // digits, underscores, hyphens, and periods. First character has to be 1987 // alphanumeric. 1988 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1989 // Optional. A description of this exclusion. 1990 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 1991 // Required. An [advanced logs 1992 // filter](https://cloud.google.com/logging/docs/view/advanced-queries) that 1993 // matches the log entries to be excluded. By using the [sample 1994 // function](https://cloud.google.com/logging/docs/view/advanced-queries#sample), 1995 // you can exclude less than 100% of the matching log entries. 1996 // For example, the following query matches 99% of low-severity log 1997 // entries from Google Cloud Storage buckets: 1998 // 1999 // `"resource.type=gcs_bucket severity<ERROR sample(insertId, 0.99)"` 2000 Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` 2001 // Optional. If set to True, then this exclusion is disabled and it does not 2002 // exclude any log entries. You can [update an 2003 // exclusion][google.logging.v2.ConfigServiceV2.UpdateExclusion] to change the 2004 // value of this field. 2005 Disabled bool `protobuf:"varint,4,opt,name=disabled,proto3" json:"disabled,omitempty"` 2006 // Output only. The creation timestamp of the exclusion. 2007 // 2008 // This field may not be present for older exclusions. 2009 CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 2010 // Output only. The last update timestamp of the exclusion. 2011 // 2012 // This field may not be present for older exclusions. 2013 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 2014} 2015 2016func (x *LogExclusion) Reset() { 2017 *x = LogExclusion{} 2018 if protoimpl.UnsafeEnabled { 2019 mi := &file_google_logging_v2_logging_config_proto_msgTypes[23] 2020 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2021 ms.StoreMessageInfo(mi) 2022 } 2023} 2024 2025func (x *LogExclusion) String() string { 2026 return protoimpl.X.MessageStringOf(x) 2027} 2028 2029func (*LogExclusion) ProtoMessage() {} 2030 2031func (x *LogExclusion) ProtoReflect() protoreflect.Message { 2032 mi := &file_google_logging_v2_logging_config_proto_msgTypes[23] 2033 if protoimpl.UnsafeEnabled && x != nil { 2034 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2035 if ms.LoadMessageInfo() == nil { 2036 ms.StoreMessageInfo(mi) 2037 } 2038 return ms 2039 } 2040 return mi.MessageOf(x) 2041} 2042 2043// Deprecated: Use LogExclusion.ProtoReflect.Descriptor instead. 2044func (*LogExclusion) Descriptor() ([]byte, []int) { 2045 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{23} 2046} 2047 2048func (x *LogExclusion) GetName() string { 2049 if x != nil { 2050 return x.Name 2051 } 2052 return "" 2053} 2054 2055func (x *LogExclusion) GetDescription() string { 2056 if x != nil { 2057 return x.Description 2058 } 2059 return "" 2060} 2061 2062func (x *LogExclusion) GetFilter() string { 2063 if x != nil { 2064 return x.Filter 2065 } 2066 return "" 2067} 2068 2069func (x *LogExclusion) GetDisabled() bool { 2070 if x != nil { 2071 return x.Disabled 2072 } 2073 return false 2074} 2075 2076func (x *LogExclusion) GetCreateTime() *timestamppb.Timestamp { 2077 if x != nil { 2078 return x.CreateTime 2079 } 2080 return nil 2081} 2082 2083func (x *LogExclusion) GetUpdateTime() *timestamppb.Timestamp { 2084 if x != nil { 2085 return x.UpdateTime 2086 } 2087 return nil 2088} 2089 2090// The parameters to `ListExclusions`. 2091type ListExclusionsRequest struct { 2092 state protoimpl.MessageState 2093 sizeCache protoimpl.SizeCache 2094 unknownFields protoimpl.UnknownFields 2095 2096 // Required. The parent resource whose exclusions are to be listed. 2097 // 2098 // "projects/[PROJECT_ID]" 2099 // "organizations/[ORGANIZATION_ID]" 2100 // "billingAccounts/[BILLING_ACCOUNT_ID]" 2101 // "folders/[FOLDER_ID]" 2102 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2103 // Optional. If present, then retrieve the next batch of results from the 2104 // preceding call to this method. `pageToken` must be the value of 2105 // `nextPageToken` from the previous response. The values of other method 2106 // parameters should be identical to those in the previous call. 2107 PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 2108 // Optional. The maximum number of results to return from this request. 2109 // Non-positive values are ignored. The presence of `nextPageToken` in the 2110 // response indicates that more results might be available. 2111 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 2112} 2113 2114func (x *ListExclusionsRequest) Reset() { 2115 *x = ListExclusionsRequest{} 2116 if protoimpl.UnsafeEnabled { 2117 mi := &file_google_logging_v2_logging_config_proto_msgTypes[24] 2118 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2119 ms.StoreMessageInfo(mi) 2120 } 2121} 2122 2123func (x *ListExclusionsRequest) String() string { 2124 return protoimpl.X.MessageStringOf(x) 2125} 2126 2127func (*ListExclusionsRequest) ProtoMessage() {} 2128 2129func (x *ListExclusionsRequest) ProtoReflect() protoreflect.Message { 2130 mi := &file_google_logging_v2_logging_config_proto_msgTypes[24] 2131 if protoimpl.UnsafeEnabled && x != nil { 2132 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2133 if ms.LoadMessageInfo() == nil { 2134 ms.StoreMessageInfo(mi) 2135 } 2136 return ms 2137 } 2138 return mi.MessageOf(x) 2139} 2140 2141// Deprecated: Use ListExclusionsRequest.ProtoReflect.Descriptor instead. 2142func (*ListExclusionsRequest) Descriptor() ([]byte, []int) { 2143 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{24} 2144} 2145 2146func (x *ListExclusionsRequest) GetParent() string { 2147 if x != nil { 2148 return x.Parent 2149 } 2150 return "" 2151} 2152 2153func (x *ListExclusionsRequest) GetPageToken() string { 2154 if x != nil { 2155 return x.PageToken 2156 } 2157 return "" 2158} 2159 2160func (x *ListExclusionsRequest) GetPageSize() int32 { 2161 if x != nil { 2162 return x.PageSize 2163 } 2164 return 0 2165} 2166 2167// Result returned from `ListExclusions`. 2168type ListExclusionsResponse struct { 2169 state protoimpl.MessageState 2170 sizeCache protoimpl.SizeCache 2171 unknownFields protoimpl.UnknownFields 2172 2173 // A list of exclusions. 2174 Exclusions []*LogExclusion `protobuf:"bytes,1,rep,name=exclusions,proto3" json:"exclusions,omitempty"` 2175 // If there might be more results than appear in this response, then 2176 // `nextPageToken` is included. To get the next set of results, call the same 2177 // method again using the value of `nextPageToken` as `pageToken`. 2178 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 2179} 2180 2181func (x *ListExclusionsResponse) Reset() { 2182 *x = ListExclusionsResponse{} 2183 if protoimpl.UnsafeEnabled { 2184 mi := &file_google_logging_v2_logging_config_proto_msgTypes[25] 2185 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2186 ms.StoreMessageInfo(mi) 2187 } 2188} 2189 2190func (x *ListExclusionsResponse) String() string { 2191 return protoimpl.X.MessageStringOf(x) 2192} 2193 2194func (*ListExclusionsResponse) ProtoMessage() {} 2195 2196func (x *ListExclusionsResponse) ProtoReflect() protoreflect.Message { 2197 mi := &file_google_logging_v2_logging_config_proto_msgTypes[25] 2198 if protoimpl.UnsafeEnabled && x != nil { 2199 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2200 if ms.LoadMessageInfo() == nil { 2201 ms.StoreMessageInfo(mi) 2202 } 2203 return ms 2204 } 2205 return mi.MessageOf(x) 2206} 2207 2208// Deprecated: Use ListExclusionsResponse.ProtoReflect.Descriptor instead. 2209func (*ListExclusionsResponse) Descriptor() ([]byte, []int) { 2210 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{25} 2211} 2212 2213func (x *ListExclusionsResponse) GetExclusions() []*LogExclusion { 2214 if x != nil { 2215 return x.Exclusions 2216 } 2217 return nil 2218} 2219 2220func (x *ListExclusionsResponse) GetNextPageToken() string { 2221 if x != nil { 2222 return x.NextPageToken 2223 } 2224 return "" 2225} 2226 2227// The parameters to `GetExclusion`. 2228type GetExclusionRequest struct { 2229 state protoimpl.MessageState 2230 sizeCache protoimpl.SizeCache 2231 unknownFields protoimpl.UnknownFields 2232 2233 // Required. The resource name of an existing exclusion: 2234 // 2235 // "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" 2236 // "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" 2237 // "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" 2238 // "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" 2239 // 2240 // Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. 2241 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2242} 2243 2244func (x *GetExclusionRequest) Reset() { 2245 *x = GetExclusionRequest{} 2246 if protoimpl.UnsafeEnabled { 2247 mi := &file_google_logging_v2_logging_config_proto_msgTypes[26] 2248 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2249 ms.StoreMessageInfo(mi) 2250 } 2251} 2252 2253func (x *GetExclusionRequest) String() string { 2254 return protoimpl.X.MessageStringOf(x) 2255} 2256 2257func (*GetExclusionRequest) ProtoMessage() {} 2258 2259func (x *GetExclusionRequest) ProtoReflect() protoreflect.Message { 2260 mi := &file_google_logging_v2_logging_config_proto_msgTypes[26] 2261 if protoimpl.UnsafeEnabled && x != nil { 2262 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2263 if ms.LoadMessageInfo() == nil { 2264 ms.StoreMessageInfo(mi) 2265 } 2266 return ms 2267 } 2268 return mi.MessageOf(x) 2269} 2270 2271// Deprecated: Use GetExclusionRequest.ProtoReflect.Descriptor instead. 2272func (*GetExclusionRequest) Descriptor() ([]byte, []int) { 2273 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{26} 2274} 2275 2276func (x *GetExclusionRequest) GetName() string { 2277 if x != nil { 2278 return x.Name 2279 } 2280 return "" 2281} 2282 2283// The parameters to `CreateExclusion`. 2284type CreateExclusionRequest struct { 2285 state protoimpl.MessageState 2286 sizeCache protoimpl.SizeCache 2287 unknownFields protoimpl.UnknownFields 2288 2289 // Required. The parent resource in which to create the exclusion: 2290 // 2291 // "projects/[PROJECT_ID]" 2292 // "organizations/[ORGANIZATION_ID]" 2293 // "billingAccounts/[BILLING_ACCOUNT_ID]" 2294 // "folders/[FOLDER_ID]" 2295 // 2296 // Examples: `"projects/my-logging-project"`, `"organizations/123456789"`. 2297 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2298 // Required. The new exclusion, whose `name` parameter is an exclusion name 2299 // that is not already used in the parent resource. 2300 Exclusion *LogExclusion `protobuf:"bytes,2,opt,name=exclusion,proto3" json:"exclusion,omitempty"` 2301} 2302 2303func (x *CreateExclusionRequest) Reset() { 2304 *x = CreateExclusionRequest{} 2305 if protoimpl.UnsafeEnabled { 2306 mi := &file_google_logging_v2_logging_config_proto_msgTypes[27] 2307 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2308 ms.StoreMessageInfo(mi) 2309 } 2310} 2311 2312func (x *CreateExclusionRequest) String() string { 2313 return protoimpl.X.MessageStringOf(x) 2314} 2315 2316func (*CreateExclusionRequest) ProtoMessage() {} 2317 2318func (x *CreateExclusionRequest) ProtoReflect() protoreflect.Message { 2319 mi := &file_google_logging_v2_logging_config_proto_msgTypes[27] 2320 if protoimpl.UnsafeEnabled && x != nil { 2321 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2322 if ms.LoadMessageInfo() == nil { 2323 ms.StoreMessageInfo(mi) 2324 } 2325 return ms 2326 } 2327 return mi.MessageOf(x) 2328} 2329 2330// Deprecated: Use CreateExclusionRequest.ProtoReflect.Descriptor instead. 2331func (*CreateExclusionRequest) Descriptor() ([]byte, []int) { 2332 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{27} 2333} 2334 2335func (x *CreateExclusionRequest) GetParent() string { 2336 if x != nil { 2337 return x.Parent 2338 } 2339 return "" 2340} 2341 2342func (x *CreateExclusionRequest) GetExclusion() *LogExclusion { 2343 if x != nil { 2344 return x.Exclusion 2345 } 2346 return nil 2347} 2348 2349// The parameters to `UpdateExclusion`. 2350type UpdateExclusionRequest struct { 2351 state protoimpl.MessageState 2352 sizeCache protoimpl.SizeCache 2353 unknownFields protoimpl.UnknownFields 2354 2355 // Required. The resource name of the exclusion to update: 2356 // 2357 // "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" 2358 // "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" 2359 // "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" 2360 // "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" 2361 // 2362 // Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. 2363 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2364 // Required. New values for the existing exclusion. Only the fields specified in 2365 // `update_mask` are relevant. 2366 Exclusion *LogExclusion `protobuf:"bytes,2,opt,name=exclusion,proto3" json:"exclusion,omitempty"` 2367 // Required. A non-empty list of fields to change in the existing exclusion. New values 2368 // for the fields are taken from the corresponding fields in the 2369 // [LogExclusion][google.logging.v2.LogExclusion] included in this request. Fields not mentioned in 2370 // `update_mask` are not changed and are ignored in the request. 2371 // 2372 // For example, to change the filter and description of an exclusion, 2373 // specify an `update_mask` of `"filter,description"`. 2374 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 2375} 2376 2377func (x *UpdateExclusionRequest) Reset() { 2378 *x = UpdateExclusionRequest{} 2379 if protoimpl.UnsafeEnabled { 2380 mi := &file_google_logging_v2_logging_config_proto_msgTypes[28] 2381 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2382 ms.StoreMessageInfo(mi) 2383 } 2384} 2385 2386func (x *UpdateExclusionRequest) String() string { 2387 return protoimpl.X.MessageStringOf(x) 2388} 2389 2390func (*UpdateExclusionRequest) ProtoMessage() {} 2391 2392func (x *UpdateExclusionRequest) ProtoReflect() protoreflect.Message { 2393 mi := &file_google_logging_v2_logging_config_proto_msgTypes[28] 2394 if protoimpl.UnsafeEnabled && x != nil { 2395 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2396 if ms.LoadMessageInfo() == nil { 2397 ms.StoreMessageInfo(mi) 2398 } 2399 return ms 2400 } 2401 return mi.MessageOf(x) 2402} 2403 2404// Deprecated: Use UpdateExclusionRequest.ProtoReflect.Descriptor instead. 2405func (*UpdateExclusionRequest) Descriptor() ([]byte, []int) { 2406 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{28} 2407} 2408 2409func (x *UpdateExclusionRequest) GetName() string { 2410 if x != nil { 2411 return x.Name 2412 } 2413 return "" 2414} 2415 2416func (x *UpdateExclusionRequest) GetExclusion() *LogExclusion { 2417 if x != nil { 2418 return x.Exclusion 2419 } 2420 return nil 2421} 2422 2423func (x *UpdateExclusionRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 2424 if x != nil { 2425 return x.UpdateMask 2426 } 2427 return nil 2428} 2429 2430// The parameters to `DeleteExclusion`. 2431type DeleteExclusionRequest struct { 2432 state protoimpl.MessageState 2433 sizeCache protoimpl.SizeCache 2434 unknownFields protoimpl.UnknownFields 2435 2436 // Required. The resource name of an existing exclusion to delete: 2437 // 2438 // "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" 2439 // "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" 2440 // "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" 2441 // "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" 2442 // 2443 // Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. 2444 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2445} 2446 2447func (x *DeleteExclusionRequest) Reset() { 2448 *x = DeleteExclusionRequest{} 2449 if protoimpl.UnsafeEnabled { 2450 mi := &file_google_logging_v2_logging_config_proto_msgTypes[29] 2451 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2452 ms.StoreMessageInfo(mi) 2453 } 2454} 2455 2456func (x *DeleteExclusionRequest) String() string { 2457 return protoimpl.X.MessageStringOf(x) 2458} 2459 2460func (*DeleteExclusionRequest) ProtoMessage() {} 2461 2462func (x *DeleteExclusionRequest) ProtoReflect() protoreflect.Message { 2463 mi := &file_google_logging_v2_logging_config_proto_msgTypes[29] 2464 if protoimpl.UnsafeEnabled && x != nil { 2465 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2466 if ms.LoadMessageInfo() == nil { 2467 ms.StoreMessageInfo(mi) 2468 } 2469 return ms 2470 } 2471 return mi.MessageOf(x) 2472} 2473 2474// Deprecated: Use DeleteExclusionRequest.ProtoReflect.Descriptor instead. 2475func (*DeleteExclusionRequest) Descriptor() ([]byte, []int) { 2476 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{29} 2477} 2478 2479func (x *DeleteExclusionRequest) GetName() string { 2480 if x != nil { 2481 return x.Name 2482 } 2483 return "" 2484} 2485 2486// The parameters to 2487// [GetCmekSettings][google.logging.v2.ConfigServiceV2.GetCmekSettings]. 2488// 2489// See [Enabling CMEK for Logs 2490// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for 2491// more information. 2492type GetCmekSettingsRequest struct { 2493 state protoimpl.MessageState 2494 sizeCache protoimpl.SizeCache 2495 unknownFields protoimpl.UnknownFields 2496 2497 // Required. The resource for which to retrieve CMEK settings. 2498 // 2499 // "projects/[PROJECT_ID]/cmekSettings" 2500 // "organizations/[ORGANIZATION_ID]/cmekSettings" 2501 // "billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings" 2502 // "folders/[FOLDER_ID]/cmekSettings" 2503 // 2504 // Example: `"organizations/12345/cmekSettings"`. 2505 // 2506 // Note: CMEK for the Logs Router can currently only be configured for GCP 2507 // organizations. Once configured, it applies to all projects and folders in 2508 // the GCP organization. 2509 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2510} 2511 2512func (x *GetCmekSettingsRequest) Reset() { 2513 *x = GetCmekSettingsRequest{} 2514 if protoimpl.UnsafeEnabled { 2515 mi := &file_google_logging_v2_logging_config_proto_msgTypes[30] 2516 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2517 ms.StoreMessageInfo(mi) 2518 } 2519} 2520 2521func (x *GetCmekSettingsRequest) String() string { 2522 return protoimpl.X.MessageStringOf(x) 2523} 2524 2525func (*GetCmekSettingsRequest) ProtoMessage() {} 2526 2527func (x *GetCmekSettingsRequest) ProtoReflect() protoreflect.Message { 2528 mi := &file_google_logging_v2_logging_config_proto_msgTypes[30] 2529 if protoimpl.UnsafeEnabled && x != nil { 2530 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2531 if ms.LoadMessageInfo() == nil { 2532 ms.StoreMessageInfo(mi) 2533 } 2534 return ms 2535 } 2536 return mi.MessageOf(x) 2537} 2538 2539// Deprecated: Use GetCmekSettingsRequest.ProtoReflect.Descriptor instead. 2540func (*GetCmekSettingsRequest) Descriptor() ([]byte, []int) { 2541 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{30} 2542} 2543 2544func (x *GetCmekSettingsRequest) GetName() string { 2545 if x != nil { 2546 return x.Name 2547 } 2548 return "" 2549} 2550 2551// The parameters to 2552// [UpdateCmekSettings][google.logging.v2.ConfigServiceV2.UpdateCmekSettings]. 2553// 2554// See [Enabling CMEK for Logs 2555// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for 2556// more information. 2557type UpdateCmekSettingsRequest struct { 2558 state protoimpl.MessageState 2559 sizeCache protoimpl.SizeCache 2560 unknownFields protoimpl.UnknownFields 2561 2562 // Required. The resource name for the CMEK settings to update. 2563 // 2564 // "projects/[PROJECT_ID]/cmekSettings" 2565 // "organizations/[ORGANIZATION_ID]/cmekSettings" 2566 // "billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings" 2567 // "folders/[FOLDER_ID]/cmekSettings" 2568 // 2569 // Example: `"organizations/12345/cmekSettings"`. 2570 // 2571 // Note: CMEK for the Logs Router can currently only be configured for GCP 2572 // organizations. Once configured, it applies to all projects and folders in 2573 // the GCP organization. 2574 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2575 // Required. The CMEK settings to update. 2576 // 2577 // See [Enabling CMEK for Logs 2578 // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) 2579 // for more information. 2580 CmekSettings *CmekSettings `protobuf:"bytes,2,opt,name=cmek_settings,json=cmekSettings,proto3" json:"cmek_settings,omitempty"` 2581 // Optional. Field mask identifying which fields from `cmek_settings` should 2582 // be updated. A field will be overwritten if and only if it is in the update 2583 // mask. Output only fields cannot be updated. 2584 // 2585 // See [FieldMask][google.protobuf.FieldMask] for more information. 2586 // 2587 // Example: `"updateMask=kmsKeyName"` 2588 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 2589} 2590 2591func (x *UpdateCmekSettingsRequest) Reset() { 2592 *x = UpdateCmekSettingsRequest{} 2593 if protoimpl.UnsafeEnabled { 2594 mi := &file_google_logging_v2_logging_config_proto_msgTypes[31] 2595 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2596 ms.StoreMessageInfo(mi) 2597 } 2598} 2599 2600func (x *UpdateCmekSettingsRequest) String() string { 2601 return protoimpl.X.MessageStringOf(x) 2602} 2603 2604func (*UpdateCmekSettingsRequest) ProtoMessage() {} 2605 2606func (x *UpdateCmekSettingsRequest) ProtoReflect() protoreflect.Message { 2607 mi := &file_google_logging_v2_logging_config_proto_msgTypes[31] 2608 if protoimpl.UnsafeEnabled && x != nil { 2609 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2610 if ms.LoadMessageInfo() == nil { 2611 ms.StoreMessageInfo(mi) 2612 } 2613 return ms 2614 } 2615 return mi.MessageOf(x) 2616} 2617 2618// Deprecated: Use UpdateCmekSettingsRequest.ProtoReflect.Descriptor instead. 2619func (*UpdateCmekSettingsRequest) Descriptor() ([]byte, []int) { 2620 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{31} 2621} 2622 2623func (x *UpdateCmekSettingsRequest) GetName() string { 2624 if x != nil { 2625 return x.Name 2626 } 2627 return "" 2628} 2629 2630func (x *UpdateCmekSettingsRequest) GetCmekSettings() *CmekSettings { 2631 if x != nil { 2632 return x.CmekSettings 2633 } 2634 return nil 2635} 2636 2637func (x *UpdateCmekSettingsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 2638 if x != nil { 2639 return x.UpdateMask 2640 } 2641 return nil 2642} 2643 2644// Describes the customer-managed encryption key (CMEK) settings associated with 2645// a project, folder, organization, billing account, or flexible resource. 2646// 2647// Note: CMEK for the Logs Router can currently only be configured for GCP 2648// organizations. Once configured, it applies to all projects and folders in the 2649// GCP organization. 2650// 2651// See [Enabling CMEK for Logs 2652// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for 2653// more information. 2654type CmekSettings struct { 2655 state protoimpl.MessageState 2656 sizeCache protoimpl.SizeCache 2657 unknownFields protoimpl.UnknownFields 2658 2659 // Output only. The resource name of the CMEK settings. 2660 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2661 // The resource name for the configured Cloud KMS key. 2662 // 2663 // KMS key name format: 2664 // "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]" 2665 // 2666 // For example: 2667 // `"projects/my-project-id/locations/my-region/keyRings/key-ring-name/cryptoKeys/key-name"` 2668 // 2669 // 2670 // 2671 // To enable CMEK for the Logs Router, set this field to a valid 2672 // `kms_key_name` for which the associated service account has the required 2673 // `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key. 2674 // 2675 // The Cloud KMS key used by the Log Router can be updated by changing the 2676 // `kms_key_name` to a new valid key name. Encryption operations that are in 2677 // progress will be completed with the key that was in use when they started. 2678 // Decryption operations will be completed using the key that was used at the 2679 // time of encryption unless access to that key has been revoked. 2680 // 2681 // To disable CMEK for the Logs Router, set this field to an empty string. 2682 // 2683 // See [Enabling CMEK for Logs 2684 // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) 2685 // for more information. 2686 KmsKeyName string `protobuf:"bytes,2,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"` 2687 // Output only. The service account that will be used by the Logs Router to access your 2688 // Cloud KMS key. 2689 // 2690 // Before enabling CMEK for Logs Router, you must first assign the role 2691 // `roles/cloudkms.cryptoKeyEncrypterDecrypter` to the service account that 2692 // the Logs Router will use to access your Cloud KMS key. Use 2693 // [GetCmekSettings][google.logging.v2.ConfigServiceV2.GetCmekSettings] to 2694 // obtain the service account ID. 2695 // 2696 // See [Enabling CMEK for Logs 2697 // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) 2698 // for more information. 2699 ServiceAccountId string `protobuf:"bytes,3,opt,name=service_account_id,json=serviceAccountId,proto3" json:"service_account_id,omitempty"` 2700} 2701 2702func (x *CmekSettings) Reset() { 2703 *x = CmekSettings{} 2704 if protoimpl.UnsafeEnabled { 2705 mi := &file_google_logging_v2_logging_config_proto_msgTypes[32] 2706 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2707 ms.StoreMessageInfo(mi) 2708 } 2709} 2710 2711func (x *CmekSettings) String() string { 2712 return protoimpl.X.MessageStringOf(x) 2713} 2714 2715func (*CmekSettings) ProtoMessage() {} 2716 2717func (x *CmekSettings) ProtoReflect() protoreflect.Message { 2718 mi := &file_google_logging_v2_logging_config_proto_msgTypes[32] 2719 if protoimpl.UnsafeEnabled && x != nil { 2720 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2721 if ms.LoadMessageInfo() == nil { 2722 ms.StoreMessageInfo(mi) 2723 } 2724 return ms 2725 } 2726 return mi.MessageOf(x) 2727} 2728 2729// Deprecated: Use CmekSettings.ProtoReflect.Descriptor instead. 2730func (*CmekSettings) Descriptor() ([]byte, []int) { 2731 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{32} 2732} 2733 2734func (x *CmekSettings) GetName() string { 2735 if x != nil { 2736 return x.Name 2737 } 2738 return "" 2739} 2740 2741func (x *CmekSettings) GetKmsKeyName() string { 2742 if x != nil { 2743 return x.KmsKeyName 2744 } 2745 return "" 2746} 2747 2748func (x *CmekSettings) GetServiceAccountId() string { 2749 if x != nil { 2750 return x.ServiceAccountId 2751 } 2752 return "" 2753} 2754 2755var File_google_logging_v2_logging_config_proto protoreflect.FileDescriptor 2756 2757var file_google_logging_v2_logging_config_proto_rawDesc = []byte{ 2758 0x0a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 2759 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 2760 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2761 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 2762 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 2763 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 2764 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 2765 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 2766 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2767 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 2768 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2769 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 2770 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 2771 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 2772 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 2773 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 2774 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2775 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 2776 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 2777 0x04, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 2778 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 2779 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 2780 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 2781 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 2782 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2783 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 2784 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 2785 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 2786 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2787 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 2788 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 2789 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 2790 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 2791 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x12, 0x16, 0x0a, 2792 0x06, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6c, 2793 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x4f, 0x0a, 0x0f, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 2794 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 2795 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 2796 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 2797 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 2798 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x3a, 0xa5, 0x02, 0xea, 0x41, 0xa1, 0x02, 0x0a, 0x20, 0x6c, 2799 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 2800 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 2801 0x38, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 2802 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 2803 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 2804 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x12, 0x42, 0x6f, 0x72, 0x67, 0x61, 0x6e, 2805 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 2806 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2807 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x75, 0x63, 2808 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x12, 0x36, 0x66, 2809 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x7d, 0x2f, 2810 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 2811 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 2812 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x12, 0x47, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 2813 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 2814 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 2815 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x75, 2816 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x22, 0xb5, 2817 0x04, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x56, 0x69, 0x65, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 2818 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 2819 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 2820 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 2821 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 2822 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 2823 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 2824 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 2825 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 2826 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2827 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 2828 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 2829 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x07, 2830 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0xd7, 0x02, 0xea, 2831 0x41, 0xd3, 0x02, 0x0a, 0x1e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 2832 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x56, 2833 0x69, 0x65, 0x77, 0x12, 0x45, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 2834 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2835 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x75, 0x63, 2836 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x2f, 0x76, 0x69, 2837 0x65, 0x77, 0x73, 0x2f, 0x7b, 0x76, 0x69, 0x65, 0x77, 0x7d, 0x12, 0x4f, 0x6f, 0x72, 0x67, 0x61, 2838 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 2839 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 2840 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x75, 2841 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x2f, 0x76, 2842 0x69, 0x65, 0x77, 0x73, 0x2f, 0x7b, 0x76, 0x69, 0x65, 0x77, 0x7d, 0x12, 0x43, 0x66, 0x6f, 0x6c, 2843 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x6f, 2844 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 2845 0x6e, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 2846 0x65, 0x74, 0x7d, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x7b, 0x76, 0x69, 0x65, 0x77, 0x7d, 2847 0x12, 0x54, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 2848 0x73, 0x2f, 0x7b, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 2849 0x6e, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 2850 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 2851 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x2f, 2852 0x7b, 0x76, 0x69, 0x65, 0x77, 0x7d, 0x22, 0xa2, 0x07, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x53, 0x69, 2853 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 2854 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x0b, 0x64, 2855 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 2856 0x42, 0x09, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x0b, 0x64, 0x65, 0x73, 2857 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 2858 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 2859 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 2860 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 2861 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, 2862 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 2863 0xe0, 0x41, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x44, 0x0a, 2864 0x0a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 2865 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 2866 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 2867 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 2868 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x15, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x65, 2869 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 2870 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 2871 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x2e, 0x56, 2872 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x02, 0x18, 0x01, 2873 0x52, 0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 2874 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x5f, 2875 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 2876 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 2877 0x69, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 2878 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 2879 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 2880 0x72, 0x65, 0x6e, 0x12, 0x54, 0x0a, 0x10, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 2881 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 2882 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 2883 0x32, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 2884 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 2885 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 2886 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 2887 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 2888 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 2889 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 2890 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 2891 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 2892 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 2893 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x3f, 0x0a, 2894 0x0d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1e, 2895 0x0a, 0x1a, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 2896 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x06, 2897 0x0a, 0x02, 0x56, 0x32, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x31, 0x10, 0x02, 0x3a, 0xbf, 2898 0x01, 0xea, 0x41, 0xbb, 0x01, 0x0a, 0x1e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 2899 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 2900 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x1f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 2901 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 2902 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x7d, 0x12, 0x29, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 2903 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 2904 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 2905 0x7d, 0x12, 0x1d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, 2906 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x7d, 2907 0x12, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 2908 0x73, 0x2f, 0x7b, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 2909 0x6e, 0x74, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x7d, 2910 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x0f, 2911 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 2912 0x39, 0x0a, 0x16, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 2913 0x65, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 2914 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x75, 0x73, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 2915 0x6f, 0x6e, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x22, 0x75, 0x73, 2916 0x65, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x63, 0x6f, 0x6c, 2917 0x75, 0x6d, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 2918 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1f, 0x75, 0x73, 0x65, 2919 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 2920 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x9c, 0x01, 0x0a, 2921 0x12, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 2922 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 2923 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x12, 0x20, 0x6c, 0x6f, 0x67, 2924 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 2925 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70, 2926 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 2927 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 2928 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 2929 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 2930 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x75, 0x0a, 0x13, 0x4c, 2931 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 2932 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 2933 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 2934 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 2935 0x74, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 2936 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 2937 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 2938 0x65, 0x6e, 0x22, 0xb4, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 2939 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x70, 0x61, 2940 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 2941 0x41, 0x22, 0x12, 0x20, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2942 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x42, 0x75, 2943 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 2944 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 2945 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x39, 2946 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 2947 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 2948 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 2949 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0xd0, 0x01, 0x0a, 0x13, 0x55, 0x70, 2950 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2951 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 2952 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 2953 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 2954 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 2955 0x39, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 2956 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 2957 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x03, 0xe0, 2958 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 2959 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 2960 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 2961 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 2962 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x50, 0x0a, 0x10, 2963 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2964 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 2965 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 2966 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 2967 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x53, 2968 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 2969 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 2970 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x6c, 0x6f, 0x67, 2971 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 2972 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x6e, 2973 0x61, 0x6d, 0x65, 0x22, 0x55, 0x0a, 0x15, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 2974 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 2975 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 2976 0x41, 0x22, 0x0a, 0x20, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2977 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x42, 0x75, 2978 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x75, 0x0a, 0x10, 0x4c, 0x69, 2979 0x73, 0x74, 0x56, 0x69, 0x65, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 2980 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 2981 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 2982 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 2983 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 2984 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 2985 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 2986 0x65, 0x22, 0x6d, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x69, 0x65, 0x77, 0x73, 0x52, 0x65, 2987 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 2988 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 2989 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x56, 0x69, 0x65, 2990 0x77, 0x52, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 2991 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 2992 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 2993 0x22, 0x83, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 2994 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 2995 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 2996 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x69, 0x64, 0x18, 0x02, 2997 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x69, 0x65, 0x77, 0x49, 2998 0x64, 0x12, 0x33, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 2999 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 3000 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x56, 0x69, 0x65, 0x77, 0x42, 0x03, 0xe0, 0x41, 0x02, 3001 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0xa3, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 3002 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 3003 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 3004 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x02, 0x20, 3005 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 3006 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x56, 0x69, 0x65, 0x77, 0x42, 3007 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 3008 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 3009 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3010 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 3011 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x4c, 0x0a, 0x0e, 3012 0x47, 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 3013 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 3014 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 3015 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 3016 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4f, 0x0a, 0x11, 0x44, 0x65, 3017 0x6c, 0x65, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 3018 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 3019 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 3020 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 3021 0x67, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x98, 0x01, 0x0a, 0x10, 3022 0x4c, 0x69, 0x73, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 3023 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 3024 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x12, 0x1e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 3025 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 3026 0x2f, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 3027 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 3028 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 3029 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 3030 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 3031 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x6d, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x69, 3032 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x73, 3033 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 3034 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 3035 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x05, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x26, 0x0a, 3036 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 3037 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 3038 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x55, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x6b, 3039 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 3040 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 3041 0x41, 0x20, 0x0a, 0x1e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3042 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x53, 0x69, 3043 0x6e, 0x6b, 0x52, 0x08, 0x73, 0x69, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xc3, 0x01, 0x0a, 3044 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 3045 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 3046 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x12, 0x1e, 0x6c, 0x6f, 0x67, 0x67, 3047 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 3048 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 3049 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 3050 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 3051 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x42, 0x03, 0xe0, 0x41, 3052 0x02, 0x52, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x12, 0x39, 0x0a, 0x16, 0x75, 0x6e, 0x69, 0x71, 0x75, 3053 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 3054 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x75, 0x6e, 3055 0x69, 0x71, 0x75, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 3056 0x74, 0x79, 0x22, 0x8a, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x69, 0x6e, 3057 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x6b, 3058 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 3059 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 3060 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x53, 3061 0x69, 0x6e, 0x6b, 0x52, 0x08, 0x73, 0x69, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 3062 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 3063 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 3064 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x73, 0x69, 3065 0x6e, 0x6b, 0x12, 0x39, 0x0a, 0x16, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x77, 0x72, 0x69, 3066 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 3067 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x57, 3068 0x72, 0x69, 0x74, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x40, 0x0a, 3069 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 3070 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3071 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 3072 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 3073 0x58, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 3074 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 3075 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 3076 0x1e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 3077 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x52, 3078 0x08, 0x73, 0x69, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xff, 0x03, 0x0a, 0x0c, 0x4c, 0x6f, 3079 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 3080 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 3081 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 3082 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 3083 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 3084 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 3085 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 3086 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 3087 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 3088 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 3089 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 3090 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 3091 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 3092 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 3093 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3094 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 3095 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x3a, 0xec, 0x01, 0xea, 3096 0x41, 0xe8, 0x01, 0x0a, 0x23, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 3097 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x45, 3098 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 3099 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x65, 0x78, 0x63, 3100 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 3101 0x6f, 0x6e, 0x7d, 0x12, 0x33, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 3102 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3103 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x65, 0x78, 3104 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x27, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 3105 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 3106 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 3107 0x7d, 0x12, 0x38, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 3108 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, 0x6f, 3109 0x75, 0x6e, 0x74, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 3110 0x7b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x22, 0xa2, 0x01, 0x0a, 0x15, 3111 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 3112 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 3113 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x12, 0x23, 0x6c, 3114 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 3115 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 3116 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 3117 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 3118 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 3119 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 3120 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 3121 0x22, 0x81, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 3122 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x65, 3123 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 3124 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 3125 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 3126 0x52, 0x0a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 3127 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 3128 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 3129 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x56, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 3130 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 3131 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 3132 0x25, 0x0a, 0x23, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3133 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 3134 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa1, 0x01, 0x0a, 3135 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 3136 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 3137 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x12, 3138 0x23, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 3139 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 3140 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x09, 3141 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 3142 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 3143 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 3144 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 3145 0x22, 0xdf, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 3146 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 3147 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 3148 0x25, 0x0a, 0x23, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3149 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 3150 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x09, 3151 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 3152 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 3153 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 3154 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 3155 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 3156 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 3157 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 3158 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 3159 0x73, 0x6b, 0x22, 0x59, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x63, 0x6c, 3160 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 3161 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 3162 0x41, 0x25, 0x0a, 0x23, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3163 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x45, 0x78, 3164 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x59, 0x0a, 3165 0x16, 0x47, 0x65, 0x74, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 3166 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 3167 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x6c, 3168 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 3169 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 3170 0x67, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 3171 0x61, 0x74, 0x65, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 3172 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 3173 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 3174 0x49, 0x0a, 0x0d, 0x63, 0x6d, 0x65, 0x6b, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 3175 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3176 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6d, 0x65, 0x6b, 0x53, 3177 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6d, 3178 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 3179 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 3180 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3181 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 3182 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xc3, 0x02, 0x0a, 3183 0x0c, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x17, 0x0a, 3184 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 3185 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 3186 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x6d, 3187 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 3188 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 3189 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 3190 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0xc4, 0x01, 0xea, 0x41, 3191 0xc0, 0x01, 0x0a, 0x23, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3192 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6d, 0x65, 0x6b, 0x53, 3193 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 3194 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x63, 0x6d, 0x65, 0x6b, 3195 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x29, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 3196 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 3197 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 3198 0x6e, 0x67, 0x73, 0x12, 0x1d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 3199 0x6c, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x63, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 3200 0x67, 0x73, 0x12, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 3201 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, 3202 0x6f, 0x75, 0x6e, 0x74, 0x7d, 0x2f, 0x63, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 3203 0x67, 0x73, 0x2a, 0x53, 0x0a, 0x0e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 3204 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x49, 0x46, 0x45, 0x43, 0x59, 0x43, 0x4c, 3205 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 3206 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 3207 0x01, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 3208 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x32, 0xdc, 0x3e, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x66, 3209 0x69, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x32, 0x12, 0xdc, 0x02, 0x0a, 0x0b, 3210 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 3211 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 3212 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 3213 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 3214 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 3215 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfd, 0x01, 0x82, 0xd3, 0xe4, 3216 0x93, 0x02, 0xed, 0x01, 0x12, 0x24, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 3217 0x74, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 3218 0x2a, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 3219 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 3220 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 3221 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x32, 3222 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 3223 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3224 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5a, 0x2c, 0x12, 3225 0x2a, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x66, 0x6f, 0x6c, 3226 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3227 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5a, 0x34, 0x12, 0x32, 0x2f, 3228 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 3229 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 3230 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 3231 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb9, 0x02, 0x0a, 0x09, 0x47, 3232 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3233 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 3234 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 3235 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 3236 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0xe8, 0x01, 0x82, 0xd3, 3237 0xe4, 0x93, 0x02, 0xe1, 0x01, 0x12, 0x24, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 3238 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 3239 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 3240 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 3241 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 3242 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x76, 3243 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 3244 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3245 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2c, 3246 0x12, 0x2a, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 3247 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 3248 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x28, 0x12, 0x26, 3249 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 3250 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 3251 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf3, 0x02, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 3252 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3253 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 3254 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 3255 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 3256 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x9c, 0x02, 3257 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x95, 0x02, 0x22, 0x24, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 3258 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3259 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x3a, 0x06, 0x62, 3260 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5a, 0x35, 0x22, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 3261 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 3262 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x75, 0x63, 3263 0x6b, 0x65, 0x74, 0x73, 0x3a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5a, 0x3a, 0x22, 0x30, 3264 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 3265 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 3266 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 3267 0x3a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5a, 0x34, 0x22, 0x2a, 0x2f, 0x76, 0x32, 0x2f, 3268 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 3269 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 3270 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x3a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5a, 0x3c, 3271 0x22, 0x32, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x62, 0x69, 3272 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 3273 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x75, 0x63, 3274 0x6b, 0x65, 0x74, 0x73, 0x3a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0xf3, 0x02, 0x0a, 3275 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 3276 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 3277 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 3278 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 3279 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 3280 0x6b, 0x65, 0x74, 0x22, 0x9c, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x95, 0x02, 0x32, 0x24, 0x2f, 3281 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 3282 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 3283 0x2f, 0x2a, 0x7d, 0x3a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5a, 0x35, 0x32, 0x2b, 0x2f, 3284 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 3285 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 3286 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x06, 0x62, 0x75, 0x63, 0x6b, 3287 0x65, 0x74, 0x5a, 0x3a, 0x32, 0x30, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 3288 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 3289 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 3290 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5a, 0x34, 3291 0x32, 0x2a, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 3292 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 3293 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x06, 0x62, 0x75, 3294 0x63, 0x6b, 0x65, 0x74, 0x5a, 0x3c, 0x32, 0x32, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 3295 0x65, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 3296 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 3297 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x06, 0x62, 0x75, 0x63, 0x6b, 3298 0x65, 0x74, 0x12, 0xc5, 0x02, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x63, 3299 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 3300 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 3301 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 3302 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 3303 0x70, 0x74, 0x79, 0x22, 0xf4, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xed, 0x01, 0x2a, 0x24, 0x2f, 3304 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 3305 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 3306 0x2f, 0x2a, 0x7d, 0x5a, 0x2d, 0x2a, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 3307 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 3308 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 3309 0x2a, 0x7d, 0x5a, 0x32, 0x2a, 0x30, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 3310 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 3311 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 3312 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2c, 0x2a, 0x2a, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 3313 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 3314 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 3315 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x34, 0x2a, 0x32, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 3316 0x65, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 3317 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 3318 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x85, 0x03, 0x0a, 0x0e, 0x55, 3319 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x28, 0x2e, 3320 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 3321 0x32, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 3322 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3323 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 3324 0xb0, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa9, 0x02, 0x22, 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 3325 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3326 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 3327 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x39, 0x22, 0x34, 0x2f, 3328 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 3329 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 3330 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x6e, 0x64, 0x65, 0x6c, 3331 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x3e, 0x22, 0x39, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 3332 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3333 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 3334 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x6e, 0x64, 0x65, 0x6c, 3335 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x38, 0x22, 0x33, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 3336 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 3337 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 3338 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 3339 0x5a, 0x40, 0x22, 0x3b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x62, 0x69, 3340 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 3341 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 3342 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 3343 0x01, 0x2a, 0x12, 0xfe, 0x02, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x69, 0x65, 0x77, 0x73, 3344 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 3345 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x69, 0x65, 0x77, 0x73, 0x52, 0x65, 3346 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 3347 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x69, 3348 0x65, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa5, 0x02, 0x82, 0xd3, 3349 0xe4, 0x93, 0x02, 0x95, 0x02, 0x12, 0x2c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 3350 0x6e, 0x74, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3351 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x76, 0x69, 3352 0x65, 0x77, 0x73, 0x5a, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 3353 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 3354 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 3355 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x5a, 0x3a, 0x12, 0x38, 0x2f, 0x76, 3356 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 3357 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 3358 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 3359 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x5a, 0x34, 0x12, 0x32, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 3360 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 3361 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 3362 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x5a, 0x3c, 0x12, 0x3a, 3363 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 3364 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 3365 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 3366 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 3367 0x65, 0x6e, 0x74, 0x12, 0xdb, 0x02, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, 3368 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 3369 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 3370 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 3371 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x56, 0x69, 0x65, 0x77, 0x22, 0x90, 3372 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x89, 0x02, 0x12, 0x2c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 3373 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3374 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x69, 3375 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 3376 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 3377 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 3378 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x3a, 0x12, 3379 0x38, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 3380 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 3381 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 3382 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x34, 0x12, 0x32, 0x2f, 0x76, 0x32, 3383 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 3384 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 3385 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 3386 0x30, 0x12, 0x2e, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x62, 0x69, 0x6c, 3387 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 3388 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 3389 0x7d, 0x12, 0x8b, 0x03, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 3390 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 3391 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 3392 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3393 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x56, 0x69, 3394 0x65, 0x77, 0x22, 0xba, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb3, 0x02, 0x22, 0x2c, 0x2f, 0x76, 3395 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 3396 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 3397 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x3a, 0x04, 0x76, 0x69, 0x65, 0x77, 3398 0x5a, 0x3b, 0x22, 0x33, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 3399 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 3400 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 3401 0x7d, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x3a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x5a, 0x40, 0x22, 3402 0x38, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 3403 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 3404 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 3405 0x2f, 0x2a, 0x7d, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x3a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x5a, 3406 0x3a, 0x22, 0x32, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x66, 3407 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3408 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 3409 0x76, 0x69, 0x65, 0x77, 0x73, 0x3a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x5a, 0x42, 0x22, 0x3a, 0x2f, 3410 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 3411 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 3412 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 3413 0x2f, 0x2a, 0x7d, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x3a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 3414 0x8b, 0x03, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x24, 3415 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 3416 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 3417 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 3418 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x56, 0x69, 0x65, 0x77, 3419 0x22, 0xba, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb3, 0x02, 0x32, 0x2c, 0x2f, 0x76, 0x32, 0x2f, 3420 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 3421 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 3422 0x76, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x5a, 0x3b, 3423 0x32, 0x33, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 3424 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3425 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x69, 0x65, 3426 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x5a, 0x40, 0x32, 0x38, 0x2f, 3427 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 3428 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3429 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 3430 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x5a, 0x3a, 0x32, 3431 0x32, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 3432 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 3433 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 3434 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x5a, 0x42, 0x32, 0x3a, 0x2f, 0x76, 0x32, 3435 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 3436 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3437 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 3438 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0xe9, 0x02, 3439 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x24, 0x2e, 0x67, 3440 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 3441 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 3442 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3443 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x9c, 0x02, 0x82, 0xd3, 0xe4, 3444 0x93, 0x02, 0x95, 0x02, 0x2a, 0x2c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 3445 0x2a, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 3446 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x2f, 3447 0x2a, 0x7d, 0x5a, 0x35, 0x2a, 0x33, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 3448 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 3449 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 3450 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x3a, 0x2a, 0x38, 0x2f, 0x76, 0x32, 3451 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 3452 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3453 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x69, 0x65, 3454 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x34, 0x2a, 0x32, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 3455 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 3456 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 3457 0x2f, 0x2a, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x3c, 0x2a, 0x3a, 0x2f, 3458 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 3459 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 3460 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 3461 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x90, 0x02, 0x0a, 0x09, 0x4c, 0x69, 3462 0x73, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3463 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 3464 0x53, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 3465 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 3466 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 3467 0x73, 0x65, 0x22, 0xb7, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa7, 0x01, 0x12, 0x16, 0x2f, 0x76, 3468 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 3469 0x69, 0x6e, 0x6b, 0x73, 0x5a, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 3470 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 3471 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x5a, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 3472 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 3473 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x5a, 0x1e, 0x12, 0x1c, 0x2f, 3474 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 3475 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x5a, 0x26, 0x12, 0x24, 0x2f, 3476 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 3477 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x69, 3478 0x6e, 0x6b, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x9e, 0x02, 0x0a, 3479 0x07, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3480 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 3481 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 3482 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 3483 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x22, 0xd3, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xc0, 3484 0x01, 0x12, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 3485 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x24, 3486 0x12, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 3487 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 3488 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 3489 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 3490 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 3491 0x23, 0x12, 0x21, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 3492 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 3493 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 3494 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 3495 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 3496 0x7d, 0xda, 0x41, 0x09, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xab, 0x02, 3497 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x24, 0x2e, 0x67, 3498 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 3499 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 3500 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 3501 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x22, 0xda, 3502 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xc5, 0x01, 0x22, 0x16, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 3503 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 3504 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x25, 0x22, 0x1d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 3505 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 3506 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x2a, 0x22, 3507 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 3508 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x69, 3509 0x6e, 0x6b, 0x73, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x24, 0x22, 0x1c, 0x2f, 0x76, 0x32, 3510 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 3511 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 3512 0x2c, 0x22, 0x24, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x62, 3513 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 3514 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0xda, 0x41, 0x0b, 3515 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x73, 0x69, 0x6e, 0x6b, 0x12, 0x9f, 0x04, 0x0a, 0x0a, 3516 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 3517 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x55, 3518 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 3519 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 3520 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x22, 0xce, 0x03, 0x82, 3521 0xd3, 0xe4, 0x93, 0x02, 0x99, 0x03, 0x1a, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 3522 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 3523 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x2a, 0x1a, 0x22, 0x2f, 0x76, 0x32, 3524 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 3525 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 3526 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x2f, 0x1a, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 3527 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 3528 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 3529 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x29, 0x1a, 0x21, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 3530 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 3531 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x73, 0x69, 0x6e, 3532 0x6b, 0x5a, 0x31, 0x1a, 0x29, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 3533 0x61, 0x6d, 0x65, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 3534 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 3535 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x2a, 0x32, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 3536 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 3537 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 3538 0x5a, 0x2f, 0x32, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 3539 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3540 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x73, 0x69, 0x6e, 3541 0x6b, 0x5a, 0x29, 0x32, 0x21, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 3542 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 3543 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x31, 0x32, 0x29, 3544 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x62, 3545 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 3546 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0xda, 3547 0x41, 0x1a, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x73, 0x69, 0x6e, 0x6b, 3548 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xda, 0x41, 0x0e, 0x73, 3549 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x73, 0x69, 0x6e, 0x6b, 0x12, 0xa0, 0x02, 3550 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x24, 0x2e, 0x67, 3551 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 3552 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 3553 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3554 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xd3, 0x01, 0x82, 0xd3, 0xe4, 3555 0x93, 0x02, 0xc0, 0x01, 0x2a, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 3556 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 3557 0x7d, 0x5a, 0x24, 0x2a, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 3558 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 3559 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x29, 0x2a, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 3560 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 3561 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 3562 0x2a, 0x7d, 0x5a, 0x23, 0x2a, 0x21, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 3563 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 3564 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2b, 0x2a, 0x29, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 3565 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 3566 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 3567 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x09, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 3568 0x12, 0xb8, 0x02, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 3569 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 3570 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 3571 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 3572 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 3573 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 3574 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd0, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 3575 0xc0, 0x01, 0x12, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 3576 0x2a, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5a, 3577 0x24, 0x12, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 3578 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 3579 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5a, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 3580 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 3581 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 3582 0x5a, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 3583 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 3584 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 3585 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 3586 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 3587 0x6e, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xa8, 0x02, 0x0a, 0x0c, 3588 0x47, 0x65, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x67, 3589 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 3590 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 3591 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 3592 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 3593 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xce, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xc0, 0x01, 0x12, 3594 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x65, 3595 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x24, 0x12, 0x22, 3596 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 3597 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 3598 0x2a, 0x7d, 0x5a, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 3599 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 3600 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x23, 0x12, 3601 0x21, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 3602 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 3603 0x2a, 0x7d, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 3604 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 3605 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 3606 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xf1, 0x02, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 3607 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 3608 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 3609 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 3610 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 3611 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 3612 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xf7, 0x01, 3613 0x22, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x2f, 3614 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x09, 0x65, 3615 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5a, 0x2f, 0x22, 0x22, 0x2f, 0x76, 0x32, 0x2f, 3616 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 3617 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x09, 3618 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5a, 0x34, 0x22, 0x27, 0x2f, 0x76, 0x32, 3619 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 3620 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 3621 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5a, 3622 0x2e, 0x22, 0x21, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x66, 3623 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 3624 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5a, 3625 0x36, 0x22, 0x29, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x62, 3626 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 3627 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x09, 0x65, 0x78, 3628 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0xda, 0x41, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 3629 0x2c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xfb, 0x02, 0x0a, 0x0f, 0x55, 3630 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 3631 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 3632 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 3633 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3634 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 3635 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x02, 0x82, 0xd3, 0xe4, 3636 0x93, 0x02, 0xf7, 0x01, 0x32, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 3637 0x2a, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 3638 0x7d, 0x3a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5a, 0x2f, 0x32, 0x22, 3639 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 3640 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 3641 0x2a, 0x7d, 0x3a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5a, 0x34, 0x32, 3642 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 3643 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 3644 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 3645 0x69, 0x6f, 0x6e, 0x5a, 0x2e, 0x32, 0x21, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 3646 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 3647 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 3648 0x69, 0x6f, 0x6e, 0x5a, 0x36, 0x32, 0x29, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 3649 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 3650 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 3651 0x3a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0xda, 0x41, 0x1a, 0x6e, 0x61, 3652 0x6d, 0x65, 0x2c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 3653 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xa5, 0x02, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 3654 0x65, 0x74, 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x67, 3655 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 3656 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 3657 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3658 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 3659 0xce, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xc0, 0x01, 0x2a, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 3660 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 3661 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x24, 0x2a, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 3662 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 3663 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x29, 0x2a, 0x27, 3664 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 3665 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 3666 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x23, 0x2a, 0x21, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 3667 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 3668 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2b, 0x2a, 0x29, 3669 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 3670 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 3671 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 3672 0x12, 0xad, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 3673 0x69, 0x6e, 0x67, 0x73, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 3674 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6d, 0x65, 0x6b, 3675 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 3676 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 3677 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 3678 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 3679 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 3680 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5a, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 3681 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3682 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 3683 0x12, 0xd1, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6d, 0x65, 0x6b, 0x53, 3684 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3685 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 3686 0x74, 0x65, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 3687 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 3688 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 3689 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x32, 0x1b, 3690 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 3691 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x0d, 0x63, 0x6d, 0x65, 3692 0x6b, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5a, 0x38, 0x32, 0x27, 0x2f, 0x76, 3693 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 3694 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 3695 0x74, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x0d, 0x63, 0x6d, 0x65, 0x6b, 0x5f, 0x73, 0x65, 0x74, 0x74, 3696 0x69, 0x6e, 0x67, 0x73, 0x1a, 0xdf, 0x01, 0xca, 0x41, 0x16, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 3697 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 3698 0xd2, 0x41, 0xc2, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 3699 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 3700 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3701 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 3702 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 3703 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3704 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 3705 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 3706 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 3707 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 3708 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 3709 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 3710 0x67, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x42, 0xd9, 0x03, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 3711 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 3712 0x42, 0x12, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 3713 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 3714 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 3715 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6c, 0x6f, 3716 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 3717 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 3718 0x75, 0x64, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x17, 3719 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x4c, 0x6f, 0x67, 3720 0x67, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3721 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 3722 0x3a, 0x3a, 0x56, 0x32, 0xea, 0x41, 0x60, 0x0a, 0x2b, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 3723 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 3724 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 3725 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 3726 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 3727 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 3728 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0xea, 0x41, 0x4e, 0x0a, 0x25, 0x6c, 0x6f, 0x67, 0x67, 3729 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 3730 0x6f, 0x6d, 0x2f, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3731 0x6e, 0x12, 0x25, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, 3732 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 3733 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0xea, 0x41, 0x67, 0x0a, 0x2d, 0x6c, 0x6f, 0x67, 3734 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 3735 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 3736 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x62, 0x69, 0x6c, 0x6c, 3737 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x69, 0x6c, 3738 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 3739 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3740 0x6e, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 3741} 3742 3743var ( 3744 file_google_logging_v2_logging_config_proto_rawDescOnce sync.Once 3745 file_google_logging_v2_logging_config_proto_rawDescData = file_google_logging_v2_logging_config_proto_rawDesc 3746) 3747 3748func file_google_logging_v2_logging_config_proto_rawDescGZIP() []byte { 3749 file_google_logging_v2_logging_config_proto_rawDescOnce.Do(func() { 3750 file_google_logging_v2_logging_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_logging_v2_logging_config_proto_rawDescData) 3751 }) 3752 return file_google_logging_v2_logging_config_proto_rawDescData 3753} 3754 3755var file_google_logging_v2_logging_config_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 3756var file_google_logging_v2_logging_config_proto_msgTypes = make([]protoimpl.MessageInfo, 33) 3757var file_google_logging_v2_logging_config_proto_goTypes = []interface{}{ 3758 (LifecycleState)(0), // 0: google.logging.v2.LifecycleState 3759 (LogSink_VersionFormat)(0), // 1: google.logging.v2.LogSink.VersionFormat 3760 (*LogBucket)(nil), // 2: google.logging.v2.LogBucket 3761 (*LogView)(nil), // 3: google.logging.v2.LogView 3762 (*LogSink)(nil), // 4: google.logging.v2.LogSink 3763 (*BigQueryOptions)(nil), // 5: google.logging.v2.BigQueryOptions 3764 (*ListBucketsRequest)(nil), // 6: google.logging.v2.ListBucketsRequest 3765 (*ListBucketsResponse)(nil), // 7: google.logging.v2.ListBucketsResponse 3766 (*CreateBucketRequest)(nil), // 8: google.logging.v2.CreateBucketRequest 3767 (*UpdateBucketRequest)(nil), // 9: google.logging.v2.UpdateBucketRequest 3768 (*GetBucketRequest)(nil), // 10: google.logging.v2.GetBucketRequest 3769 (*DeleteBucketRequest)(nil), // 11: google.logging.v2.DeleteBucketRequest 3770 (*UndeleteBucketRequest)(nil), // 12: google.logging.v2.UndeleteBucketRequest 3771 (*ListViewsRequest)(nil), // 13: google.logging.v2.ListViewsRequest 3772 (*ListViewsResponse)(nil), // 14: google.logging.v2.ListViewsResponse 3773 (*CreateViewRequest)(nil), // 15: google.logging.v2.CreateViewRequest 3774 (*UpdateViewRequest)(nil), // 16: google.logging.v2.UpdateViewRequest 3775 (*GetViewRequest)(nil), // 17: google.logging.v2.GetViewRequest 3776 (*DeleteViewRequest)(nil), // 18: google.logging.v2.DeleteViewRequest 3777 (*ListSinksRequest)(nil), // 19: google.logging.v2.ListSinksRequest 3778 (*ListSinksResponse)(nil), // 20: google.logging.v2.ListSinksResponse 3779 (*GetSinkRequest)(nil), // 21: google.logging.v2.GetSinkRequest 3780 (*CreateSinkRequest)(nil), // 22: google.logging.v2.CreateSinkRequest 3781 (*UpdateSinkRequest)(nil), // 23: google.logging.v2.UpdateSinkRequest 3782 (*DeleteSinkRequest)(nil), // 24: google.logging.v2.DeleteSinkRequest 3783 (*LogExclusion)(nil), // 25: google.logging.v2.LogExclusion 3784 (*ListExclusionsRequest)(nil), // 26: google.logging.v2.ListExclusionsRequest 3785 (*ListExclusionsResponse)(nil), // 27: google.logging.v2.ListExclusionsResponse 3786 (*GetExclusionRequest)(nil), // 28: google.logging.v2.GetExclusionRequest 3787 (*CreateExclusionRequest)(nil), // 29: google.logging.v2.CreateExclusionRequest 3788 (*UpdateExclusionRequest)(nil), // 30: google.logging.v2.UpdateExclusionRequest 3789 (*DeleteExclusionRequest)(nil), // 31: google.logging.v2.DeleteExclusionRequest 3790 (*GetCmekSettingsRequest)(nil), // 32: google.logging.v2.GetCmekSettingsRequest 3791 (*UpdateCmekSettingsRequest)(nil), // 33: google.logging.v2.UpdateCmekSettingsRequest 3792 (*CmekSettings)(nil), // 34: google.logging.v2.CmekSettings 3793 (*timestamppb.Timestamp)(nil), // 35: google.protobuf.Timestamp 3794 (*fieldmaskpb.FieldMask)(nil), // 36: google.protobuf.FieldMask 3795 (*emptypb.Empty)(nil), // 37: google.protobuf.Empty 3796} 3797var file_google_logging_v2_logging_config_proto_depIdxs = []int32{ 3798 35, // 0: google.logging.v2.LogBucket.create_time:type_name -> google.protobuf.Timestamp 3799 35, // 1: google.logging.v2.LogBucket.update_time:type_name -> google.protobuf.Timestamp 3800 0, // 2: google.logging.v2.LogBucket.lifecycle_state:type_name -> google.logging.v2.LifecycleState 3801 35, // 3: google.logging.v2.LogView.create_time:type_name -> google.protobuf.Timestamp 3802 35, // 4: google.logging.v2.LogView.update_time:type_name -> google.protobuf.Timestamp 3803 25, // 5: google.logging.v2.LogSink.exclusions:type_name -> google.logging.v2.LogExclusion 3804 1, // 6: google.logging.v2.LogSink.output_version_format:type_name -> google.logging.v2.LogSink.VersionFormat 3805 5, // 7: google.logging.v2.LogSink.bigquery_options:type_name -> google.logging.v2.BigQueryOptions 3806 35, // 8: google.logging.v2.LogSink.create_time:type_name -> google.protobuf.Timestamp 3807 35, // 9: google.logging.v2.LogSink.update_time:type_name -> google.protobuf.Timestamp 3808 2, // 10: google.logging.v2.ListBucketsResponse.buckets:type_name -> google.logging.v2.LogBucket 3809 2, // 11: google.logging.v2.CreateBucketRequest.bucket:type_name -> google.logging.v2.LogBucket 3810 2, // 12: google.logging.v2.UpdateBucketRequest.bucket:type_name -> google.logging.v2.LogBucket 3811 36, // 13: google.logging.v2.UpdateBucketRequest.update_mask:type_name -> google.protobuf.FieldMask 3812 3, // 14: google.logging.v2.ListViewsResponse.views:type_name -> google.logging.v2.LogView 3813 3, // 15: google.logging.v2.CreateViewRequest.view:type_name -> google.logging.v2.LogView 3814 3, // 16: google.logging.v2.UpdateViewRequest.view:type_name -> google.logging.v2.LogView 3815 36, // 17: google.logging.v2.UpdateViewRequest.update_mask:type_name -> google.protobuf.FieldMask 3816 4, // 18: google.logging.v2.ListSinksResponse.sinks:type_name -> google.logging.v2.LogSink 3817 4, // 19: google.logging.v2.CreateSinkRequest.sink:type_name -> google.logging.v2.LogSink 3818 4, // 20: google.logging.v2.UpdateSinkRequest.sink:type_name -> google.logging.v2.LogSink 3819 36, // 21: google.logging.v2.UpdateSinkRequest.update_mask:type_name -> google.protobuf.FieldMask 3820 35, // 22: google.logging.v2.LogExclusion.create_time:type_name -> google.protobuf.Timestamp 3821 35, // 23: google.logging.v2.LogExclusion.update_time:type_name -> google.protobuf.Timestamp 3822 25, // 24: google.logging.v2.ListExclusionsResponse.exclusions:type_name -> google.logging.v2.LogExclusion 3823 25, // 25: google.logging.v2.CreateExclusionRequest.exclusion:type_name -> google.logging.v2.LogExclusion 3824 25, // 26: google.logging.v2.UpdateExclusionRequest.exclusion:type_name -> google.logging.v2.LogExclusion 3825 36, // 27: google.logging.v2.UpdateExclusionRequest.update_mask:type_name -> google.protobuf.FieldMask 3826 34, // 28: google.logging.v2.UpdateCmekSettingsRequest.cmek_settings:type_name -> google.logging.v2.CmekSettings 3827 36, // 29: google.logging.v2.UpdateCmekSettingsRequest.update_mask:type_name -> google.protobuf.FieldMask 3828 6, // 30: google.logging.v2.ConfigServiceV2.ListBuckets:input_type -> google.logging.v2.ListBucketsRequest 3829 10, // 31: google.logging.v2.ConfigServiceV2.GetBucket:input_type -> google.logging.v2.GetBucketRequest 3830 8, // 32: google.logging.v2.ConfigServiceV2.CreateBucket:input_type -> google.logging.v2.CreateBucketRequest 3831 9, // 33: google.logging.v2.ConfigServiceV2.UpdateBucket:input_type -> google.logging.v2.UpdateBucketRequest 3832 11, // 34: google.logging.v2.ConfigServiceV2.DeleteBucket:input_type -> google.logging.v2.DeleteBucketRequest 3833 12, // 35: google.logging.v2.ConfigServiceV2.UndeleteBucket:input_type -> google.logging.v2.UndeleteBucketRequest 3834 13, // 36: google.logging.v2.ConfigServiceV2.ListViews:input_type -> google.logging.v2.ListViewsRequest 3835 17, // 37: google.logging.v2.ConfigServiceV2.GetView:input_type -> google.logging.v2.GetViewRequest 3836 15, // 38: google.logging.v2.ConfigServiceV2.CreateView:input_type -> google.logging.v2.CreateViewRequest 3837 16, // 39: google.logging.v2.ConfigServiceV2.UpdateView:input_type -> google.logging.v2.UpdateViewRequest 3838 18, // 40: google.logging.v2.ConfigServiceV2.DeleteView:input_type -> google.logging.v2.DeleteViewRequest 3839 19, // 41: google.logging.v2.ConfigServiceV2.ListSinks:input_type -> google.logging.v2.ListSinksRequest 3840 21, // 42: google.logging.v2.ConfigServiceV2.GetSink:input_type -> google.logging.v2.GetSinkRequest 3841 22, // 43: google.logging.v2.ConfigServiceV2.CreateSink:input_type -> google.logging.v2.CreateSinkRequest 3842 23, // 44: google.logging.v2.ConfigServiceV2.UpdateSink:input_type -> google.logging.v2.UpdateSinkRequest 3843 24, // 45: google.logging.v2.ConfigServiceV2.DeleteSink:input_type -> google.logging.v2.DeleteSinkRequest 3844 26, // 46: google.logging.v2.ConfigServiceV2.ListExclusions:input_type -> google.logging.v2.ListExclusionsRequest 3845 28, // 47: google.logging.v2.ConfigServiceV2.GetExclusion:input_type -> google.logging.v2.GetExclusionRequest 3846 29, // 48: google.logging.v2.ConfigServiceV2.CreateExclusion:input_type -> google.logging.v2.CreateExclusionRequest 3847 30, // 49: google.logging.v2.ConfigServiceV2.UpdateExclusion:input_type -> google.logging.v2.UpdateExclusionRequest 3848 31, // 50: google.logging.v2.ConfigServiceV2.DeleteExclusion:input_type -> google.logging.v2.DeleteExclusionRequest 3849 32, // 51: google.logging.v2.ConfigServiceV2.GetCmekSettings:input_type -> google.logging.v2.GetCmekSettingsRequest 3850 33, // 52: google.logging.v2.ConfigServiceV2.UpdateCmekSettings:input_type -> google.logging.v2.UpdateCmekSettingsRequest 3851 7, // 53: google.logging.v2.ConfigServiceV2.ListBuckets:output_type -> google.logging.v2.ListBucketsResponse 3852 2, // 54: google.logging.v2.ConfigServiceV2.GetBucket:output_type -> google.logging.v2.LogBucket 3853 2, // 55: google.logging.v2.ConfigServiceV2.CreateBucket:output_type -> google.logging.v2.LogBucket 3854 2, // 56: google.logging.v2.ConfigServiceV2.UpdateBucket:output_type -> google.logging.v2.LogBucket 3855 37, // 57: google.logging.v2.ConfigServiceV2.DeleteBucket:output_type -> google.protobuf.Empty 3856 37, // 58: google.logging.v2.ConfigServiceV2.UndeleteBucket:output_type -> google.protobuf.Empty 3857 14, // 59: google.logging.v2.ConfigServiceV2.ListViews:output_type -> google.logging.v2.ListViewsResponse 3858 3, // 60: google.logging.v2.ConfigServiceV2.GetView:output_type -> google.logging.v2.LogView 3859 3, // 61: google.logging.v2.ConfigServiceV2.CreateView:output_type -> google.logging.v2.LogView 3860 3, // 62: google.logging.v2.ConfigServiceV2.UpdateView:output_type -> google.logging.v2.LogView 3861 37, // 63: google.logging.v2.ConfigServiceV2.DeleteView:output_type -> google.protobuf.Empty 3862 20, // 64: google.logging.v2.ConfigServiceV2.ListSinks:output_type -> google.logging.v2.ListSinksResponse 3863 4, // 65: google.logging.v2.ConfigServiceV2.GetSink:output_type -> google.logging.v2.LogSink 3864 4, // 66: google.logging.v2.ConfigServiceV2.CreateSink:output_type -> google.logging.v2.LogSink 3865 4, // 67: google.logging.v2.ConfigServiceV2.UpdateSink:output_type -> google.logging.v2.LogSink 3866 37, // 68: google.logging.v2.ConfigServiceV2.DeleteSink:output_type -> google.protobuf.Empty 3867 27, // 69: google.logging.v2.ConfigServiceV2.ListExclusions:output_type -> google.logging.v2.ListExclusionsResponse 3868 25, // 70: google.logging.v2.ConfigServiceV2.GetExclusion:output_type -> google.logging.v2.LogExclusion 3869 25, // 71: google.logging.v2.ConfigServiceV2.CreateExclusion:output_type -> google.logging.v2.LogExclusion 3870 25, // 72: google.logging.v2.ConfigServiceV2.UpdateExclusion:output_type -> google.logging.v2.LogExclusion 3871 37, // 73: google.logging.v2.ConfigServiceV2.DeleteExclusion:output_type -> google.protobuf.Empty 3872 34, // 74: google.logging.v2.ConfigServiceV2.GetCmekSettings:output_type -> google.logging.v2.CmekSettings 3873 34, // 75: google.logging.v2.ConfigServiceV2.UpdateCmekSettings:output_type -> google.logging.v2.CmekSettings 3874 53, // [53:76] is the sub-list for method output_type 3875 30, // [30:53] is the sub-list for method input_type 3876 30, // [30:30] is the sub-list for extension type_name 3877 30, // [30:30] is the sub-list for extension extendee 3878 0, // [0:30] is the sub-list for field type_name 3879} 3880 3881func init() { file_google_logging_v2_logging_config_proto_init() } 3882func file_google_logging_v2_logging_config_proto_init() { 3883 if File_google_logging_v2_logging_config_proto != nil { 3884 return 3885 } 3886 if !protoimpl.UnsafeEnabled { 3887 file_google_logging_v2_logging_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 3888 switch v := v.(*LogBucket); i { 3889 case 0: 3890 return &v.state 3891 case 1: 3892 return &v.sizeCache 3893 case 2: 3894 return &v.unknownFields 3895 default: 3896 return nil 3897 } 3898 } 3899 file_google_logging_v2_logging_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 3900 switch v := v.(*LogView); i { 3901 case 0: 3902 return &v.state 3903 case 1: 3904 return &v.sizeCache 3905 case 2: 3906 return &v.unknownFields 3907 default: 3908 return nil 3909 } 3910 } 3911 file_google_logging_v2_logging_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 3912 switch v := v.(*LogSink); i { 3913 case 0: 3914 return &v.state 3915 case 1: 3916 return &v.sizeCache 3917 case 2: 3918 return &v.unknownFields 3919 default: 3920 return nil 3921 } 3922 } 3923 file_google_logging_v2_logging_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 3924 switch v := v.(*BigQueryOptions); i { 3925 case 0: 3926 return &v.state 3927 case 1: 3928 return &v.sizeCache 3929 case 2: 3930 return &v.unknownFields 3931 default: 3932 return nil 3933 } 3934 } 3935 file_google_logging_v2_logging_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 3936 switch v := v.(*ListBucketsRequest); i { 3937 case 0: 3938 return &v.state 3939 case 1: 3940 return &v.sizeCache 3941 case 2: 3942 return &v.unknownFields 3943 default: 3944 return nil 3945 } 3946 } 3947 file_google_logging_v2_logging_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 3948 switch v := v.(*ListBucketsResponse); i { 3949 case 0: 3950 return &v.state 3951 case 1: 3952 return &v.sizeCache 3953 case 2: 3954 return &v.unknownFields 3955 default: 3956 return nil 3957 } 3958 } 3959 file_google_logging_v2_logging_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 3960 switch v := v.(*CreateBucketRequest); i { 3961 case 0: 3962 return &v.state 3963 case 1: 3964 return &v.sizeCache 3965 case 2: 3966 return &v.unknownFields 3967 default: 3968 return nil 3969 } 3970 } 3971 file_google_logging_v2_logging_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 3972 switch v := v.(*UpdateBucketRequest); i { 3973 case 0: 3974 return &v.state 3975 case 1: 3976 return &v.sizeCache 3977 case 2: 3978 return &v.unknownFields 3979 default: 3980 return nil 3981 } 3982 } 3983 file_google_logging_v2_logging_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 3984 switch v := v.(*GetBucketRequest); i { 3985 case 0: 3986 return &v.state 3987 case 1: 3988 return &v.sizeCache 3989 case 2: 3990 return &v.unknownFields 3991 default: 3992 return nil 3993 } 3994 } 3995 file_google_logging_v2_logging_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3996 switch v := v.(*DeleteBucketRequest); i { 3997 case 0: 3998 return &v.state 3999 case 1: 4000 return &v.sizeCache 4001 case 2: 4002 return &v.unknownFields 4003 default: 4004 return nil 4005 } 4006 } 4007 file_google_logging_v2_logging_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 4008 switch v := v.(*UndeleteBucketRequest); i { 4009 case 0: 4010 return &v.state 4011 case 1: 4012 return &v.sizeCache 4013 case 2: 4014 return &v.unknownFields 4015 default: 4016 return nil 4017 } 4018 } 4019 file_google_logging_v2_logging_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 4020 switch v := v.(*ListViewsRequest); i { 4021 case 0: 4022 return &v.state 4023 case 1: 4024 return &v.sizeCache 4025 case 2: 4026 return &v.unknownFields 4027 default: 4028 return nil 4029 } 4030 } 4031 file_google_logging_v2_logging_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 4032 switch v := v.(*ListViewsResponse); i { 4033 case 0: 4034 return &v.state 4035 case 1: 4036 return &v.sizeCache 4037 case 2: 4038 return &v.unknownFields 4039 default: 4040 return nil 4041 } 4042 } 4043 file_google_logging_v2_logging_config_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 4044 switch v := v.(*CreateViewRequest); i { 4045 case 0: 4046 return &v.state 4047 case 1: 4048 return &v.sizeCache 4049 case 2: 4050 return &v.unknownFields 4051 default: 4052 return nil 4053 } 4054 } 4055 file_google_logging_v2_logging_config_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 4056 switch v := v.(*UpdateViewRequest); i { 4057 case 0: 4058 return &v.state 4059 case 1: 4060 return &v.sizeCache 4061 case 2: 4062 return &v.unknownFields 4063 default: 4064 return nil 4065 } 4066 } 4067 file_google_logging_v2_logging_config_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 4068 switch v := v.(*GetViewRequest); i { 4069 case 0: 4070 return &v.state 4071 case 1: 4072 return &v.sizeCache 4073 case 2: 4074 return &v.unknownFields 4075 default: 4076 return nil 4077 } 4078 } 4079 file_google_logging_v2_logging_config_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 4080 switch v := v.(*DeleteViewRequest); i { 4081 case 0: 4082 return &v.state 4083 case 1: 4084 return &v.sizeCache 4085 case 2: 4086 return &v.unknownFields 4087 default: 4088 return nil 4089 } 4090 } 4091 file_google_logging_v2_logging_config_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 4092 switch v := v.(*ListSinksRequest); i { 4093 case 0: 4094 return &v.state 4095 case 1: 4096 return &v.sizeCache 4097 case 2: 4098 return &v.unknownFields 4099 default: 4100 return nil 4101 } 4102 } 4103 file_google_logging_v2_logging_config_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 4104 switch v := v.(*ListSinksResponse); i { 4105 case 0: 4106 return &v.state 4107 case 1: 4108 return &v.sizeCache 4109 case 2: 4110 return &v.unknownFields 4111 default: 4112 return nil 4113 } 4114 } 4115 file_google_logging_v2_logging_config_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 4116 switch v := v.(*GetSinkRequest); i { 4117 case 0: 4118 return &v.state 4119 case 1: 4120 return &v.sizeCache 4121 case 2: 4122 return &v.unknownFields 4123 default: 4124 return nil 4125 } 4126 } 4127 file_google_logging_v2_logging_config_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 4128 switch v := v.(*CreateSinkRequest); i { 4129 case 0: 4130 return &v.state 4131 case 1: 4132 return &v.sizeCache 4133 case 2: 4134 return &v.unknownFields 4135 default: 4136 return nil 4137 } 4138 } 4139 file_google_logging_v2_logging_config_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 4140 switch v := v.(*UpdateSinkRequest); i { 4141 case 0: 4142 return &v.state 4143 case 1: 4144 return &v.sizeCache 4145 case 2: 4146 return &v.unknownFields 4147 default: 4148 return nil 4149 } 4150 } 4151 file_google_logging_v2_logging_config_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 4152 switch v := v.(*DeleteSinkRequest); i { 4153 case 0: 4154 return &v.state 4155 case 1: 4156 return &v.sizeCache 4157 case 2: 4158 return &v.unknownFields 4159 default: 4160 return nil 4161 } 4162 } 4163 file_google_logging_v2_logging_config_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 4164 switch v := v.(*LogExclusion); i { 4165 case 0: 4166 return &v.state 4167 case 1: 4168 return &v.sizeCache 4169 case 2: 4170 return &v.unknownFields 4171 default: 4172 return nil 4173 } 4174 } 4175 file_google_logging_v2_logging_config_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 4176 switch v := v.(*ListExclusionsRequest); i { 4177 case 0: 4178 return &v.state 4179 case 1: 4180 return &v.sizeCache 4181 case 2: 4182 return &v.unknownFields 4183 default: 4184 return nil 4185 } 4186 } 4187 file_google_logging_v2_logging_config_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 4188 switch v := v.(*ListExclusionsResponse); i { 4189 case 0: 4190 return &v.state 4191 case 1: 4192 return &v.sizeCache 4193 case 2: 4194 return &v.unknownFields 4195 default: 4196 return nil 4197 } 4198 } 4199 file_google_logging_v2_logging_config_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 4200 switch v := v.(*GetExclusionRequest); i { 4201 case 0: 4202 return &v.state 4203 case 1: 4204 return &v.sizeCache 4205 case 2: 4206 return &v.unknownFields 4207 default: 4208 return nil 4209 } 4210 } 4211 file_google_logging_v2_logging_config_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 4212 switch v := v.(*CreateExclusionRequest); i { 4213 case 0: 4214 return &v.state 4215 case 1: 4216 return &v.sizeCache 4217 case 2: 4218 return &v.unknownFields 4219 default: 4220 return nil 4221 } 4222 } 4223 file_google_logging_v2_logging_config_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 4224 switch v := v.(*UpdateExclusionRequest); i { 4225 case 0: 4226 return &v.state 4227 case 1: 4228 return &v.sizeCache 4229 case 2: 4230 return &v.unknownFields 4231 default: 4232 return nil 4233 } 4234 } 4235 file_google_logging_v2_logging_config_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 4236 switch v := v.(*DeleteExclusionRequest); i { 4237 case 0: 4238 return &v.state 4239 case 1: 4240 return &v.sizeCache 4241 case 2: 4242 return &v.unknownFields 4243 default: 4244 return nil 4245 } 4246 } 4247 file_google_logging_v2_logging_config_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 4248 switch v := v.(*GetCmekSettingsRequest); i { 4249 case 0: 4250 return &v.state 4251 case 1: 4252 return &v.sizeCache 4253 case 2: 4254 return &v.unknownFields 4255 default: 4256 return nil 4257 } 4258 } 4259 file_google_logging_v2_logging_config_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { 4260 switch v := v.(*UpdateCmekSettingsRequest); i { 4261 case 0: 4262 return &v.state 4263 case 1: 4264 return &v.sizeCache 4265 case 2: 4266 return &v.unknownFields 4267 default: 4268 return nil 4269 } 4270 } 4271 file_google_logging_v2_logging_config_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { 4272 switch v := v.(*CmekSettings); i { 4273 case 0: 4274 return &v.state 4275 case 1: 4276 return &v.sizeCache 4277 case 2: 4278 return &v.unknownFields 4279 default: 4280 return nil 4281 } 4282 } 4283 } 4284 file_google_logging_v2_logging_config_proto_msgTypes[2].OneofWrappers = []interface{}{ 4285 (*LogSink_BigqueryOptions)(nil), 4286 } 4287 type x struct{} 4288 out := protoimpl.TypeBuilder{ 4289 File: protoimpl.DescBuilder{ 4290 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 4291 RawDescriptor: file_google_logging_v2_logging_config_proto_rawDesc, 4292 NumEnums: 2, 4293 NumMessages: 33, 4294 NumExtensions: 0, 4295 NumServices: 1, 4296 }, 4297 GoTypes: file_google_logging_v2_logging_config_proto_goTypes, 4298 DependencyIndexes: file_google_logging_v2_logging_config_proto_depIdxs, 4299 EnumInfos: file_google_logging_v2_logging_config_proto_enumTypes, 4300 MessageInfos: file_google_logging_v2_logging_config_proto_msgTypes, 4301 }.Build() 4302 File_google_logging_v2_logging_config_proto = out.File 4303 file_google_logging_v2_logging_config_proto_rawDesc = nil 4304 file_google_logging_v2_logging_config_proto_goTypes = nil 4305 file_google_logging_v2_logging_config_proto_depIdxs = nil 4306} 4307 4308// Reference imports to suppress errors if they are not otherwise used. 4309var _ context.Context 4310var _ grpc.ClientConnInterface 4311 4312// This is a compile-time assertion to ensure that this generated file 4313// is compatible with the grpc package it is being compiled against. 4314const _ = grpc.SupportPackageIsVersion6 4315 4316// ConfigServiceV2Client is the client API for ConfigServiceV2 service. 4317// 4318// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 4319type ConfigServiceV2Client interface { 4320 // Lists buckets. 4321 ListBuckets(ctx context.Context, in *ListBucketsRequest, opts ...grpc.CallOption) (*ListBucketsResponse, error) 4322 // Gets a bucket. 4323 GetBucket(ctx context.Context, in *GetBucketRequest, opts ...grpc.CallOption) (*LogBucket, error) 4324 // Creates a bucket that can be used to store log entries. Once a bucket has 4325 // been created, the region cannot be changed. 4326 CreateBucket(ctx context.Context, in *CreateBucketRequest, opts ...grpc.CallOption) (*LogBucket, error) 4327 // Updates a bucket. This method replaces the following fields in the 4328 // existing bucket with values from the new bucket: `retention_period` 4329 // 4330 // If the retention period is decreased and the bucket is locked, 4331 // FAILED_PRECONDITION will be returned. 4332 // 4333 // If the bucket has a LifecycleState of DELETE_REQUESTED, FAILED_PRECONDITION 4334 // will be returned. 4335 // 4336 // A buckets region may not be modified after it is created. 4337 UpdateBucket(ctx context.Context, in *UpdateBucketRequest, opts ...grpc.CallOption) (*LogBucket, error) 4338 // Deletes a bucket. 4339 // Moves the bucket to the DELETE_REQUESTED state. After 7 days, the 4340 // bucket will be purged and all logs in the bucket will be permanently 4341 // deleted. 4342 DeleteBucket(ctx context.Context, in *DeleteBucketRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 4343 // Undeletes a bucket. A bucket that has been deleted may be undeleted within 4344 // the grace period of 7 days. 4345 UndeleteBucket(ctx context.Context, in *UndeleteBucketRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 4346 // Lists views on a bucket. 4347 ListViews(ctx context.Context, in *ListViewsRequest, opts ...grpc.CallOption) (*ListViewsResponse, error) 4348 // Gets a view. 4349 GetView(ctx context.Context, in *GetViewRequest, opts ...grpc.CallOption) (*LogView, error) 4350 // Creates a view over logs in a bucket. A bucket may contain a maximum of 4351 // 50 views. 4352 CreateView(ctx context.Context, in *CreateViewRequest, opts ...grpc.CallOption) (*LogView, error) 4353 // Updates a view. This method replaces the following fields in the existing 4354 // view with values from the new view: `filter`. 4355 UpdateView(ctx context.Context, in *UpdateViewRequest, opts ...grpc.CallOption) (*LogView, error) 4356 // Deletes a view from a bucket. 4357 DeleteView(ctx context.Context, in *DeleteViewRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 4358 // Lists sinks. 4359 ListSinks(ctx context.Context, in *ListSinksRequest, opts ...grpc.CallOption) (*ListSinksResponse, error) 4360 // Gets a sink. 4361 GetSink(ctx context.Context, in *GetSinkRequest, opts ...grpc.CallOption) (*LogSink, error) 4362 // Creates a sink that exports specified log entries to a destination. The 4363 // export of newly-ingested log entries begins immediately, unless the sink's 4364 // `writer_identity` is not permitted to write to the destination. A sink can 4365 // export log entries only from the resource owning the sink. 4366 CreateSink(ctx context.Context, in *CreateSinkRequest, opts ...grpc.CallOption) (*LogSink, error) 4367 // Updates a sink. This method replaces the following fields in the existing 4368 // sink with values from the new sink: `destination`, and `filter`. 4369 // 4370 // The updated sink might also have a new `writer_identity`; see the 4371 // `unique_writer_identity` field. 4372 UpdateSink(ctx context.Context, in *UpdateSinkRequest, opts ...grpc.CallOption) (*LogSink, error) 4373 // Deletes a sink. If the sink has a unique `writer_identity`, then that 4374 // service account is also deleted. 4375 DeleteSink(ctx context.Context, in *DeleteSinkRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 4376 // Lists all the exclusions in a parent resource. 4377 ListExclusions(ctx context.Context, in *ListExclusionsRequest, opts ...grpc.CallOption) (*ListExclusionsResponse, error) 4378 // Gets the description of an exclusion. 4379 GetExclusion(ctx context.Context, in *GetExclusionRequest, opts ...grpc.CallOption) (*LogExclusion, error) 4380 // Creates a new exclusion in a specified parent resource. 4381 // Only log entries belonging to that resource can be excluded. 4382 // You can have up to 10 exclusions in a resource. 4383 CreateExclusion(ctx context.Context, in *CreateExclusionRequest, opts ...grpc.CallOption) (*LogExclusion, error) 4384 // Changes one or more properties of an existing exclusion. 4385 UpdateExclusion(ctx context.Context, in *UpdateExclusionRequest, opts ...grpc.CallOption) (*LogExclusion, error) 4386 // Deletes an exclusion. 4387 DeleteExclusion(ctx context.Context, in *DeleteExclusionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 4388 // Gets the Logs Router CMEK settings for the given resource. 4389 // 4390 // Note: CMEK for the Logs Router can currently only be configured for GCP 4391 // organizations. Once configured, it applies to all projects and folders in 4392 // the GCP organization. 4393 // 4394 // See [Enabling CMEK for Logs 4395 // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) 4396 // for more information. 4397 GetCmekSettings(ctx context.Context, in *GetCmekSettingsRequest, opts ...grpc.CallOption) (*CmekSettings, error) 4398 // Updates the Logs Router CMEK settings for the given resource. 4399 // 4400 // Note: CMEK for the Logs Router can currently only be configured for GCP 4401 // organizations. Once configured, it applies to all projects and folders in 4402 // the GCP organization. 4403 // 4404 // [UpdateCmekSettings][google.logging.v2.ConfigServiceV2.UpdateCmekSettings] 4405 // will fail if 1) `kms_key_name` is invalid, or 2) the associated service 4406 // account does not have the required 4407 // `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key, or 4408 // 3) access to the key is disabled. 4409 // 4410 // See [Enabling CMEK for Logs 4411 // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) 4412 // for more information. 4413 UpdateCmekSettings(ctx context.Context, in *UpdateCmekSettingsRequest, opts ...grpc.CallOption) (*CmekSettings, error) 4414} 4415 4416type configServiceV2Client struct { 4417 cc grpc.ClientConnInterface 4418} 4419 4420func NewConfigServiceV2Client(cc grpc.ClientConnInterface) ConfigServiceV2Client { 4421 return &configServiceV2Client{cc} 4422} 4423 4424func (c *configServiceV2Client) ListBuckets(ctx context.Context, in *ListBucketsRequest, opts ...grpc.CallOption) (*ListBucketsResponse, error) { 4425 out := new(ListBucketsResponse) 4426 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/ListBuckets", in, out, opts...) 4427 if err != nil { 4428 return nil, err 4429 } 4430 return out, nil 4431} 4432 4433func (c *configServiceV2Client) GetBucket(ctx context.Context, in *GetBucketRequest, opts ...grpc.CallOption) (*LogBucket, error) { 4434 out := new(LogBucket) 4435 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/GetBucket", in, out, opts...) 4436 if err != nil { 4437 return nil, err 4438 } 4439 return out, nil 4440} 4441 4442func (c *configServiceV2Client) CreateBucket(ctx context.Context, in *CreateBucketRequest, opts ...grpc.CallOption) (*LogBucket, error) { 4443 out := new(LogBucket) 4444 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/CreateBucket", in, out, opts...) 4445 if err != nil { 4446 return nil, err 4447 } 4448 return out, nil 4449} 4450 4451func (c *configServiceV2Client) UpdateBucket(ctx context.Context, in *UpdateBucketRequest, opts ...grpc.CallOption) (*LogBucket, error) { 4452 out := new(LogBucket) 4453 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/UpdateBucket", in, out, opts...) 4454 if err != nil { 4455 return nil, err 4456 } 4457 return out, nil 4458} 4459 4460func (c *configServiceV2Client) DeleteBucket(ctx context.Context, in *DeleteBucketRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 4461 out := new(emptypb.Empty) 4462 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/DeleteBucket", in, out, opts...) 4463 if err != nil { 4464 return nil, err 4465 } 4466 return out, nil 4467} 4468 4469func (c *configServiceV2Client) UndeleteBucket(ctx context.Context, in *UndeleteBucketRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 4470 out := new(emptypb.Empty) 4471 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/UndeleteBucket", in, out, opts...) 4472 if err != nil { 4473 return nil, err 4474 } 4475 return out, nil 4476} 4477 4478func (c *configServiceV2Client) ListViews(ctx context.Context, in *ListViewsRequest, opts ...grpc.CallOption) (*ListViewsResponse, error) { 4479 out := new(ListViewsResponse) 4480 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/ListViews", in, out, opts...) 4481 if err != nil { 4482 return nil, err 4483 } 4484 return out, nil 4485} 4486 4487func (c *configServiceV2Client) GetView(ctx context.Context, in *GetViewRequest, opts ...grpc.CallOption) (*LogView, error) { 4488 out := new(LogView) 4489 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/GetView", in, out, opts...) 4490 if err != nil { 4491 return nil, err 4492 } 4493 return out, nil 4494} 4495 4496func (c *configServiceV2Client) CreateView(ctx context.Context, in *CreateViewRequest, opts ...grpc.CallOption) (*LogView, error) { 4497 out := new(LogView) 4498 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/CreateView", in, out, opts...) 4499 if err != nil { 4500 return nil, err 4501 } 4502 return out, nil 4503} 4504 4505func (c *configServiceV2Client) UpdateView(ctx context.Context, in *UpdateViewRequest, opts ...grpc.CallOption) (*LogView, error) { 4506 out := new(LogView) 4507 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/UpdateView", in, out, opts...) 4508 if err != nil { 4509 return nil, err 4510 } 4511 return out, nil 4512} 4513 4514func (c *configServiceV2Client) DeleteView(ctx context.Context, in *DeleteViewRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 4515 out := new(emptypb.Empty) 4516 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/DeleteView", in, out, opts...) 4517 if err != nil { 4518 return nil, err 4519 } 4520 return out, nil 4521} 4522 4523func (c *configServiceV2Client) ListSinks(ctx context.Context, in *ListSinksRequest, opts ...grpc.CallOption) (*ListSinksResponse, error) { 4524 out := new(ListSinksResponse) 4525 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/ListSinks", in, out, opts...) 4526 if err != nil { 4527 return nil, err 4528 } 4529 return out, nil 4530} 4531 4532func (c *configServiceV2Client) GetSink(ctx context.Context, in *GetSinkRequest, opts ...grpc.CallOption) (*LogSink, error) { 4533 out := new(LogSink) 4534 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/GetSink", in, out, opts...) 4535 if err != nil { 4536 return nil, err 4537 } 4538 return out, nil 4539} 4540 4541func (c *configServiceV2Client) CreateSink(ctx context.Context, in *CreateSinkRequest, opts ...grpc.CallOption) (*LogSink, error) { 4542 out := new(LogSink) 4543 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/CreateSink", in, out, opts...) 4544 if err != nil { 4545 return nil, err 4546 } 4547 return out, nil 4548} 4549 4550func (c *configServiceV2Client) UpdateSink(ctx context.Context, in *UpdateSinkRequest, opts ...grpc.CallOption) (*LogSink, error) { 4551 out := new(LogSink) 4552 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/UpdateSink", in, out, opts...) 4553 if err != nil { 4554 return nil, err 4555 } 4556 return out, nil 4557} 4558 4559func (c *configServiceV2Client) DeleteSink(ctx context.Context, in *DeleteSinkRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 4560 out := new(emptypb.Empty) 4561 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/DeleteSink", in, out, opts...) 4562 if err != nil { 4563 return nil, err 4564 } 4565 return out, nil 4566} 4567 4568func (c *configServiceV2Client) ListExclusions(ctx context.Context, in *ListExclusionsRequest, opts ...grpc.CallOption) (*ListExclusionsResponse, error) { 4569 out := new(ListExclusionsResponse) 4570 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/ListExclusions", in, out, opts...) 4571 if err != nil { 4572 return nil, err 4573 } 4574 return out, nil 4575} 4576 4577func (c *configServiceV2Client) GetExclusion(ctx context.Context, in *GetExclusionRequest, opts ...grpc.CallOption) (*LogExclusion, error) { 4578 out := new(LogExclusion) 4579 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/GetExclusion", in, out, opts...) 4580 if err != nil { 4581 return nil, err 4582 } 4583 return out, nil 4584} 4585 4586func (c *configServiceV2Client) CreateExclusion(ctx context.Context, in *CreateExclusionRequest, opts ...grpc.CallOption) (*LogExclusion, error) { 4587 out := new(LogExclusion) 4588 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/CreateExclusion", in, out, opts...) 4589 if err != nil { 4590 return nil, err 4591 } 4592 return out, nil 4593} 4594 4595func (c *configServiceV2Client) UpdateExclusion(ctx context.Context, in *UpdateExclusionRequest, opts ...grpc.CallOption) (*LogExclusion, error) { 4596 out := new(LogExclusion) 4597 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/UpdateExclusion", in, out, opts...) 4598 if err != nil { 4599 return nil, err 4600 } 4601 return out, nil 4602} 4603 4604func (c *configServiceV2Client) DeleteExclusion(ctx context.Context, in *DeleteExclusionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 4605 out := new(emptypb.Empty) 4606 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/DeleteExclusion", in, out, opts...) 4607 if err != nil { 4608 return nil, err 4609 } 4610 return out, nil 4611} 4612 4613func (c *configServiceV2Client) GetCmekSettings(ctx context.Context, in *GetCmekSettingsRequest, opts ...grpc.CallOption) (*CmekSettings, error) { 4614 out := new(CmekSettings) 4615 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/GetCmekSettings", in, out, opts...) 4616 if err != nil { 4617 return nil, err 4618 } 4619 return out, nil 4620} 4621 4622func (c *configServiceV2Client) UpdateCmekSettings(ctx context.Context, in *UpdateCmekSettingsRequest, opts ...grpc.CallOption) (*CmekSettings, error) { 4623 out := new(CmekSettings) 4624 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/UpdateCmekSettings", in, out, opts...) 4625 if err != nil { 4626 return nil, err 4627 } 4628 return out, nil 4629} 4630 4631// ConfigServiceV2Server is the server API for ConfigServiceV2 service. 4632type ConfigServiceV2Server interface { 4633 // Lists buckets. 4634 ListBuckets(context.Context, *ListBucketsRequest) (*ListBucketsResponse, error) 4635 // Gets a bucket. 4636 GetBucket(context.Context, *GetBucketRequest) (*LogBucket, error) 4637 // Creates a bucket that can be used to store log entries. Once a bucket has 4638 // been created, the region cannot be changed. 4639 CreateBucket(context.Context, *CreateBucketRequest) (*LogBucket, error) 4640 // Updates a bucket. This method replaces the following fields in the 4641 // existing bucket with values from the new bucket: `retention_period` 4642 // 4643 // If the retention period is decreased and the bucket is locked, 4644 // FAILED_PRECONDITION will be returned. 4645 // 4646 // If the bucket has a LifecycleState of DELETE_REQUESTED, FAILED_PRECONDITION 4647 // will be returned. 4648 // 4649 // A buckets region may not be modified after it is created. 4650 UpdateBucket(context.Context, *UpdateBucketRequest) (*LogBucket, error) 4651 // Deletes a bucket. 4652 // Moves the bucket to the DELETE_REQUESTED state. After 7 days, the 4653 // bucket will be purged and all logs in the bucket will be permanently 4654 // deleted. 4655 DeleteBucket(context.Context, *DeleteBucketRequest) (*emptypb.Empty, error) 4656 // Undeletes a bucket. A bucket that has been deleted may be undeleted within 4657 // the grace period of 7 days. 4658 UndeleteBucket(context.Context, *UndeleteBucketRequest) (*emptypb.Empty, error) 4659 // Lists views on a bucket. 4660 ListViews(context.Context, *ListViewsRequest) (*ListViewsResponse, error) 4661 // Gets a view. 4662 GetView(context.Context, *GetViewRequest) (*LogView, error) 4663 // Creates a view over logs in a bucket. A bucket may contain a maximum of 4664 // 50 views. 4665 CreateView(context.Context, *CreateViewRequest) (*LogView, error) 4666 // Updates a view. This method replaces the following fields in the existing 4667 // view with values from the new view: `filter`. 4668 UpdateView(context.Context, *UpdateViewRequest) (*LogView, error) 4669 // Deletes a view from a bucket. 4670 DeleteView(context.Context, *DeleteViewRequest) (*emptypb.Empty, error) 4671 // Lists sinks. 4672 ListSinks(context.Context, *ListSinksRequest) (*ListSinksResponse, error) 4673 // Gets a sink. 4674 GetSink(context.Context, *GetSinkRequest) (*LogSink, error) 4675 // Creates a sink that exports specified log entries to a destination. The 4676 // export of newly-ingested log entries begins immediately, unless the sink's 4677 // `writer_identity` is not permitted to write to the destination. A sink can 4678 // export log entries only from the resource owning the sink. 4679 CreateSink(context.Context, *CreateSinkRequest) (*LogSink, error) 4680 // Updates a sink. This method replaces the following fields in the existing 4681 // sink with values from the new sink: `destination`, and `filter`. 4682 // 4683 // The updated sink might also have a new `writer_identity`; see the 4684 // `unique_writer_identity` field. 4685 UpdateSink(context.Context, *UpdateSinkRequest) (*LogSink, error) 4686 // Deletes a sink. If the sink has a unique `writer_identity`, then that 4687 // service account is also deleted. 4688 DeleteSink(context.Context, *DeleteSinkRequest) (*emptypb.Empty, error) 4689 // Lists all the exclusions in a parent resource. 4690 ListExclusions(context.Context, *ListExclusionsRequest) (*ListExclusionsResponse, error) 4691 // Gets the description of an exclusion. 4692 GetExclusion(context.Context, *GetExclusionRequest) (*LogExclusion, error) 4693 // Creates a new exclusion in a specified parent resource. 4694 // Only log entries belonging to that resource can be excluded. 4695 // You can have up to 10 exclusions in a resource. 4696 CreateExclusion(context.Context, *CreateExclusionRequest) (*LogExclusion, error) 4697 // Changes one or more properties of an existing exclusion. 4698 UpdateExclusion(context.Context, *UpdateExclusionRequest) (*LogExclusion, error) 4699 // Deletes an exclusion. 4700 DeleteExclusion(context.Context, *DeleteExclusionRequest) (*emptypb.Empty, error) 4701 // Gets the Logs Router CMEK settings for the given resource. 4702 // 4703 // Note: CMEK for the Logs Router can currently only be configured for GCP 4704 // organizations. Once configured, it applies to all projects and folders in 4705 // the GCP organization. 4706 // 4707 // See [Enabling CMEK for Logs 4708 // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) 4709 // for more information. 4710 GetCmekSettings(context.Context, *GetCmekSettingsRequest) (*CmekSettings, error) 4711 // Updates the Logs Router CMEK settings for the given resource. 4712 // 4713 // Note: CMEK for the Logs Router can currently only be configured for GCP 4714 // organizations. Once configured, it applies to all projects and folders in 4715 // the GCP organization. 4716 // 4717 // [UpdateCmekSettings][google.logging.v2.ConfigServiceV2.UpdateCmekSettings] 4718 // will fail if 1) `kms_key_name` is invalid, or 2) the associated service 4719 // account does not have the required 4720 // `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key, or 4721 // 3) access to the key is disabled. 4722 // 4723 // See [Enabling CMEK for Logs 4724 // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) 4725 // for more information. 4726 UpdateCmekSettings(context.Context, *UpdateCmekSettingsRequest) (*CmekSettings, error) 4727} 4728 4729// UnimplementedConfigServiceV2Server can be embedded to have forward compatible implementations. 4730type UnimplementedConfigServiceV2Server struct { 4731} 4732 4733func (*UnimplementedConfigServiceV2Server) ListBuckets(context.Context, *ListBucketsRequest) (*ListBucketsResponse, error) { 4734 return nil, status.Errorf(codes.Unimplemented, "method ListBuckets not implemented") 4735} 4736func (*UnimplementedConfigServiceV2Server) GetBucket(context.Context, *GetBucketRequest) (*LogBucket, error) { 4737 return nil, status.Errorf(codes.Unimplemented, "method GetBucket not implemented") 4738} 4739func (*UnimplementedConfigServiceV2Server) CreateBucket(context.Context, *CreateBucketRequest) (*LogBucket, error) { 4740 return nil, status.Errorf(codes.Unimplemented, "method CreateBucket not implemented") 4741} 4742func (*UnimplementedConfigServiceV2Server) UpdateBucket(context.Context, *UpdateBucketRequest) (*LogBucket, error) { 4743 return nil, status.Errorf(codes.Unimplemented, "method UpdateBucket not implemented") 4744} 4745func (*UnimplementedConfigServiceV2Server) DeleteBucket(context.Context, *DeleteBucketRequest) (*emptypb.Empty, error) { 4746 return nil, status.Errorf(codes.Unimplemented, "method DeleteBucket not implemented") 4747} 4748func (*UnimplementedConfigServiceV2Server) UndeleteBucket(context.Context, *UndeleteBucketRequest) (*emptypb.Empty, error) { 4749 return nil, status.Errorf(codes.Unimplemented, "method UndeleteBucket not implemented") 4750} 4751func (*UnimplementedConfigServiceV2Server) ListViews(context.Context, *ListViewsRequest) (*ListViewsResponse, error) { 4752 return nil, status.Errorf(codes.Unimplemented, "method ListViews not implemented") 4753} 4754func (*UnimplementedConfigServiceV2Server) GetView(context.Context, *GetViewRequest) (*LogView, error) { 4755 return nil, status.Errorf(codes.Unimplemented, "method GetView not implemented") 4756} 4757func (*UnimplementedConfigServiceV2Server) CreateView(context.Context, *CreateViewRequest) (*LogView, error) { 4758 return nil, status.Errorf(codes.Unimplemented, "method CreateView not implemented") 4759} 4760func (*UnimplementedConfigServiceV2Server) UpdateView(context.Context, *UpdateViewRequest) (*LogView, error) { 4761 return nil, status.Errorf(codes.Unimplemented, "method UpdateView not implemented") 4762} 4763func (*UnimplementedConfigServiceV2Server) DeleteView(context.Context, *DeleteViewRequest) (*emptypb.Empty, error) { 4764 return nil, status.Errorf(codes.Unimplemented, "method DeleteView not implemented") 4765} 4766func (*UnimplementedConfigServiceV2Server) ListSinks(context.Context, *ListSinksRequest) (*ListSinksResponse, error) { 4767 return nil, status.Errorf(codes.Unimplemented, "method ListSinks not implemented") 4768} 4769func (*UnimplementedConfigServiceV2Server) GetSink(context.Context, *GetSinkRequest) (*LogSink, error) { 4770 return nil, status.Errorf(codes.Unimplemented, "method GetSink not implemented") 4771} 4772func (*UnimplementedConfigServiceV2Server) CreateSink(context.Context, *CreateSinkRequest) (*LogSink, error) { 4773 return nil, status.Errorf(codes.Unimplemented, "method CreateSink not implemented") 4774} 4775func (*UnimplementedConfigServiceV2Server) UpdateSink(context.Context, *UpdateSinkRequest) (*LogSink, error) { 4776 return nil, status.Errorf(codes.Unimplemented, "method UpdateSink not implemented") 4777} 4778func (*UnimplementedConfigServiceV2Server) DeleteSink(context.Context, *DeleteSinkRequest) (*emptypb.Empty, error) { 4779 return nil, status.Errorf(codes.Unimplemented, "method DeleteSink not implemented") 4780} 4781func (*UnimplementedConfigServiceV2Server) ListExclusions(context.Context, *ListExclusionsRequest) (*ListExclusionsResponse, error) { 4782 return nil, status.Errorf(codes.Unimplemented, "method ListExclusions not implemented") 4783} 4784func (*UnimplementedConfigServiceV2Server) GetExclusion(context.Context, *GetExclusionRequest) (*LogExclusion, error) { 4785 return nil, status.Errorf(codes.Unimplemented, "method GetExclusion not implemented") 4786} 4787func (*UnimplementedConfigServiceV2Server) CreateExclusion(context.Context, *CreateExclusionRequest) (*LogExclusion, error) { 4788 return nil, status.Errorf(codes.Unimplemented, "method CreateExclusion not implemented") 4789} 4790func (*UnimplementedConfigServiceV2Server) UpdateExclusion(context.Context, *UpdateExclusionRequest) (*LogExclusion, error) { 4791 return nil, status.Errorf(codes.Unimplemented, "method UpdateExclusion not implemented") 4792} 4793func (*UnimplementedConfigServiceV2Server) DeleteExclusion(context.Context, *DeleteExclusionRequest) (*emptypb.Empty, error) { 4794 return nil, status.Errorf(codes.Unimplemented, "method DeleteExclusion not implemented") 4795} 4796func (*UnimplementedConfigServiceV2Server) GetCmekSettings(context.Context, *GetCmekSettingsRequest) (*CmekSettings, error) { 4797 return nil, status.Errorf(codes.Unimplemented, "method GetCmekSettings not implemented") 4798} 4799func (*UnimplementedConfigServiceV2Server) UpdateCmekSettings(context.Context, *UpdateCmekSettingsRequest) (*CmekSettings, error) { 4800 return nil, status.Errorf(codes.Unimplemented, "method UpdateCmekSettings not implemented") 4801} 4802 4803func RegisterConfigServiceV2Server(s *grpc.Server, srv ConfigServiceV2Server) { 4804 s.RegisterService(&_ConfigServiceV2_serviceDesc, srv) 4805} 4806 4807func _ConfigServiceV2_ListBuckets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4808 in := new(ListBucketsRequest) 4809 if err := dec(in); err != nil { 4810 return nil, err 4811 } 4812 if interceptor == nil { 4813 return srv.(ConfigServiceV2Server).ListBuckets(ctx, in) 4814 } 4815 info := &grpc.UnaryServerInfo{ 4816 Server: srv, 4817 FullMethod: "/google.logging.v2.ConfigServiceV2/ListBuckets", 4818 } 4819 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4820 return srv.(ConfigServiceV2Server).ListBuckets(ctx, req.(*ListBucketsRequest)) 4821 } 4822 return interceptor(ctx, in, info, handler) 4823} 4824 4825func _ConfigServiceV2_GetBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4826 in := new(GetBucketRequest) 4827 if err := dec(in); err != nil { 4828 return nil, err 4829 } 4830 if interceptor == nil { 4831 return srv.(ConfigServiceV2Server).GetBucket(ctx, in) 4832 } 4833 info := &grpc.UnaryServerInfo{ 4834 Server: srv, 4835 FullMethod: "/google.logging.v2.ConfigServiceV2/GetBucket", 4836 } 4837 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4838 return srv.(ConfigServiceV2Server).GetBucket(ctx, req.(*GetBucketRequest)) 4839 } 4840 return interceptor(ctx, in, info, handler) 4841} 4842 4843func _ConfigServiceV2_CreateBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4844 in := new(CreateBucketRequest) 4845 if err := dec(in); err != nil { 4846 return nil, err 4847 } 4848 if interceptor == nil { 4849 return srv.(ConfigServiceV2Server).CreateBucket(ctx, in) 4850 } 4851 info := &grpc.UnaryServerInfo{ 4852 Server: srv, 4853 FullMethod: "/google.logging.v2.ConfigServiceV2/CreateBucket", 4854 } 4855 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4856 return srv.(ConfigServiceV2Server).CreateBucket(ctx, req.(*CreateBucketRequest)) 4857 } 4858 return interceptor(ctx, in, info, handler) 4859} 4860 4861func _ConfigServiceV2_UpdateBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4862 in := new(UpdateBucketRequest) 4863 if err := dec(in); err != nil { 4864 return nil, err 4865 } 4866 if interceptor == nil { 4867 return srv.(ConfigServiceV2Server).UpdateBucket(ctx, in) 4868 } 4869 info := &grpc.UnaryServerInfo{ 4870 Server: srv, 4871 FullMethod: "/google.logging.v2.ConfigServiceV2/UpdateBucket", 4872 } 4873 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4874 return srv.(ConfigServiceV2Server).UpdateBucket(ctx, req.(*UpdateBucketRequest)) 4875 } 4876 return interceptor(ctx, in, info, handler) 4877} 4878 4879func _ConfigServiceV2_DeleteBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4880 in := new(DeleteBucketRequest) 4881 if err := dec(in); err != nil { 4882 return nil, err 4883 } 4884 if interceptor == nil { 4885 return srv.(ConfigServiceV2Server).DeleteBucket(ctx, in) 4886 } 4887 info := &grpc.UnaryServerInfo{ 4888 Server: srv, 4889 FullMethod: "/google.logging.v2.ConfigServiceV2/DeleteBucket", 4890 } 4891 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4892 return srv.(ConfigServiceV2Server).DeleteBucket(ctx, req.(*DeleteBucketRequest)) 4893 } 4894 return interceptor(ctx, in, info, handler) 4895} 4896 4897func _ConfigServiceV2_UndeleteBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4898 in := new(UndeleteBucketRequest) 4899 if err := dec(in); err != nil { 4900 return nil, err 4901 } 4902 if interceptor == nil { 4903 return srv.(ConfigServiceV2Server).UndeleteBucket(ctx, in) 4904 } 4905 info := &grpc.UnaryServerInfo{ 4906 Server: srv, 4907 FullMethod: "/google.logging.v2.ConfigServiceV2/UndeleteBucket", 4908 } 4909 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4910 return srv.(ConfigServiceV2Server).UndeleteBucket(ctx, req.(*UndeleteBucketRequest)) 4911 } 4912 return interceptor(ctx, in, info, handler) 4913} 4914 4915func _ConfigServiceV2_ListViews_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4916 in := new(ListViewsRequest) 4917 if err := dec(in); err != nil { 4918 return nil, err 4919 } 4920 if interceptor == nil { 4921 return srv.(ConfigServiceV2Server).ListViews(ctx, in) 4922 } 4923 info := &grpc.UnaryServerInfo{ 4924 Server: srv, 4925 FullMethod: "/google.logging.v2.ConfigServiceV2/ListViews", 4926 } 4927 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4928 return srv.(ConfigServiceV2Server).ListViews(ctx, req.(*ListViewsRequest)) 4929 } 4930 return interceptor(ctx, in, info, handler) 4931} 4932 4933func _ConfigServiceV2_GetView_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4934 in := new(GetViewRequest) 4935 if err := dec(in); err != nil { 4936 return nil, err 4937 } 4938 if interceptor == nil { 4939 return srv.(ConfigServiceV2Server).GetView(ctx, in) 4940 } 4941 info := &grpc.UnaryServerInfo{ 4942 Server: srv, 4943 FullMethod: "/google.logging.v2.ConfigServiceV2/GetView", 4944 } 4945 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4946 return srv.(ConfigServiceV2Server).GetView(ctx, req.(*GetViewRequest)) 4947 } 4948 return interceptor(ctx, in, info, handler) 4949} 4950 4951func _ConfigServiceV2_CreateView_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4952 in := new(CreateViewRequest) 4953 if err := dec(in); err != nil { 4954 return nil, err 4955 } 4956 if interceptor == nil { 4957 return srv.(ConfigServiceV2Server).CreateView(ctx, in) 4958 } 4959 info := &grpc.UnaryServerInfo{ 4960 Server: srv, 4961 FullMethod: "/google.logging.v2.ConfigServiceV2/CreateView", 4962 } 4963 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4964 return srv.(ConfigServiceV2Server).CreateView(ctx, req.(*CreateViewRequest)) 4965 } 4966 return interceptor(ctx, in, info, handler) 4967} 4968 4969func _ConfigServiceV2_UpdateView_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4970 in := new(UpdateViewRequest) 4971 if err := dec(in); err != nil { 4972 return nil, err 4973 } 4974 if interceptor == nil { 4975 return srv.(ConfigServiceV2Server).UpdateView(ctx, in) 4976 } 4977 info := &grpc.UnaryServerInfo{ 4978 Server: srv, 4979 FullMethod: "/google.logging.v2.ConfigServiceV2/UpdateView", 4980 } 4981 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4982 return srv.(ConfigServiceV2Server).UpdateView(ctx, req.(*UpdateViewRequest)) 4983 } 4984 return interceptor(ctx, in, info, handler) 4985} 4986 4987func _ConfigServiceV2_DeleteView_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4988 in := new(DeleteViewRequest) 4989 if err := dec(in); err != nil { 4990 return nil, err 4991 } 4992 if interceptor == nil { 4993 return srv.(ConfigServiceV2Server).DeleteView(ctx, in) 4994 } 4995 info := &grpc.UnaryServerInfo{ 4996 Server: srv, 4997 FullMethod: "/google.logging.v2.ConfigServiceV2/DeleteView", 4998 } 4999 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5000 return srv.(ConfigServiceV2Server).DeleteView(ctx, req.(*DeleteViewRequest)) 5001 } 5002 return interceptor(ctx, in, info, handler) 5003} 5004 5005func _ConfigServiceV2_ListSinks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5006 in := new(ListSinksRequest) 5007 if err := dec(in); err != nil { 5008 return nil, err 5009 } 5010 if interceptor == nil { 5011 return srv.(ConfigServiceV2Server).ListSinks(ctx, in) 5012 } 5013 info := &grpc.UnaryServerInfo{ 5014 Server: srv, 5015 FullMethod: "/google.logging.v2.ConfigServiceV2/ListSinks", 5016 } 5017 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5018 return srv.(ConfigServiceV2Server).ListSinks(ctx, req.(*ListSinksRequest)) 5019 } 5020 return interceptor(ctx, in, info, handler) 5021} 5022 5023func _ConfigServiceV2_GetSink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5024 in := new(GetSinkRequest) 5025 if err := dec(in); err != nil { 5026 return nil, err 5027 } 5028 if interceptor == nil { 5029 return srv.(ConfigServiceV2Server).GetSink(ctx, in) 5030 } 5031 info := &grpc.UnaryServerInfo{ 5032 Server: srv, 5033 FullMethod: "/google.logging.v2.ConfigServiceV2/GetSink", 5034 } 5035 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5036 return srv.(ConfigServiceV2Server).GetSink(ctx, req.(*GetSinkRequest)) 5037 } 5038 return interceptor(ctx, in, info, handler) 5039} 5040 5041func _ConfigServiceV2_CreateSink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5042 in := new(CreateSinkRequest) 5043 if err := dec(in); err != nil { 5044 return nil, err 5045 } 5046 if interceptor == nil { 5047 return srv.(ConfigServiceV2Server).CreateSink(ctx, in) 5048 } 5049 info := &grpc.UnaryServerInfo{ 5050 Server: srv, 5051 FullMethod: "/google.logging.v2.ConfigServiceV2/CreateSink", 5052 } 5053 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5054 return srv.(ConfigServiceV2Server).CreateSink(ctx, req.(*CreateSinkRequest)) 5055 } 5056 return interceptor(ctx, in, info, handler) 5057} 5058 5059func _ConfigServiceV2_UpdateSink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5060 in := new(UpdateSinkRequest) 5061 if err := dec(in); err != nil { 5062 return nil, err 5063 } 5064 if interceptor == nil { 5065 return srv.(ConfigServiceV2Server).UpdateSink(ctx, in) 5066 } 5067 info := &grpc.UnaryServerInfo{ 5068 Server: srv, 5069 FullMethod: "/google.logging.v2.ConfigServiceV2/UpdateSink", 5070 } 5071 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5072 return srv.(ConfigServiceV2Server).UpdateSink(ctx, req.(*UpdateSinkRequest)) 5073 } 5074 return interceptor(ctx, in, info, handler) 5075} 5076 5077func _ConfigServiceV2_DeleteSink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5078 in := new(DeleteSinkRequest) 5079 if err := dec(in); err != nil { 5080 return nil, err 5081 } 5082 if interceptor == nil { 5083 return srv.(ConfigServiceV2Server).DeleteSink(ctx, in) 5084 } 5085 info := &grpc.UnaryServerInfo{ 5086 Server: srv, 5087 FullMethod: "/google.logging.v2.ConfigServiceV2/DeleteSink", 5088 } 5089 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5090 return srv.(ConfigServiceV2Server).DeleteSink(ctx, req.(*DeleteSinkRequest)) 5091 } 5092 return interceptor(ctx, in, info, handler) 5093} 5094 5095func _ConfigServiceV2_ListExclusions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5096 in := new(ListExclusionsRequest) 5097 if err := dec(in); err != nil { 5098 return nil, err 5099 } 5100 if interceptor == nil { 5101 return srv.(ConfigServiceV2Server).ListExclusions(ctx, in) 5102 } 5103 info := &grpc.UnaryServerInfo{ 5104 Server: srv, 5105 FullMethod: "/google.logging.v2.ConfigServiceV2/ListExclusions", 5106 } 5107 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5108 return srv.(ConfigServiceV2Server).ListExclusions(ctx, req.(*ListExclusionsRequest)) 5109 } 5110 return interceptor(ctx, in, info, handler) 5111} 5112 5113func _ConfigServiceV2_GetExclusion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5114 in := new(GetExclusionRequest) 5115 if err := dec(in); err != nil { 5116 return nil, err 5117 } 5118 if interceptor == nil { 5119 return srv.(ConfigServiceV2Server).GetExclusion(ctx, in) 5120 } 5121 info := &grpc.UnaryServerInfo{ 5122 Server: srv, 5123 FullMethod: "/google.logging.v2.ConfigServiceV2/GetExclusion", 5124 } 5125 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5126 return srv.(ConfigServiceV2Server).GetExclusion(ctx, req.(*GetExclusionRequest)) 5127 } 5128 return interceptor(ctx, in, info, handler) 5129} 5130 5131func _ConfigServiceV2_CreateExclusion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5132 in := new(CreateExclusionRequest) 5133 if err := dec(in); err != nil { 5134 return nil, err 5135 } 5136 if interceptor == nil { 5137 return srv.(ConfigServiceV2Server).CreateExclusion(ctx, in) 5138 } 5139 info := &grpc.UnaryServerInfo{ 5140 Server: srv, 5141 FullMethod: "/google.logging.v2.ConfigServiceV2/CreateExclusion", 5142 } 5143 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5144 return srv.(ConfigServiceV2Server).CreateExclusion(ctx, req.(*CreateExclusionRequest)) 5145 } 5146 return interceptor(ctx, in, info, handler) 5147} 5148 5149func _ConfigServiceV2_UpdateExclusion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5150 in := new(UpdateExclusionRequest) 5151 if err := dec(in); err != nil { 5152 return nil, err 5153 } 5154 if interceptor == nil { 5155 return srv.(ConfigServiceV2Server).UpdateExclusion(ctx, in) 5156 } 5157 info := &grpc.UnaryServerInfo{ 5158 Server: srv, 5159 FullMethod: "/google.logging.v2.ConfigServiceV2/UpdateExclusion", 5160 } 5161 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5162 return srv.(ConfigServiceV2Server).UpdateExclusion(ctx, req.(*UpdateExclusionRequest)) 5163 } 5164 return interceptor(ctx, in, info, handler) 5165} 5166 5167func _ConfigServiceV2_DeleteExclusion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5168 in := new(DeleteExclusionRequest) 5169 if err := dec(in); err != nil { 5170 return nil, err 5171 } 5172 if interceptor == nil { 5173 return srv.(ConfigServiceV2Server).DeleteExclusion(ctx, in) 5174 } 5175 info := &grpc.UnaryServerInfo{ 5176 Server: srv, 5177 FullMethod: "/google.logging.v2.ConfigServiceV2/DeleteExclusion", 5178 } 5179 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5180 return srv.(ConfigServiceV2Server).DeleteExclusion(ctx, req.(*DeleteExclusionRequest)) 5181 } 5182 return interceptor(ctx, in, info, handler) 5183} 5184 5185func _ConfigServiceV2_GetCmekSettings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5186 in := new(GetCmekSettingsRequest) 5187 if err := dec(in); err != nil { 5188 return nil, err 5189 } 5190 if interceptor == nil { 5191 return srv.(ConfigServiceV2Server).GetCmekSettings(ctx, in) 5192 } 5193 info := &grpc.UnaryServerInfo{ 5194 Server: srv, 5195 FullMethod: "/google.logging.v2.ConfigServiceV2/GetCmekSettings", 5196 } 5197 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5198 return srv.(ConfigServiceV2Server).GetCmekSettings(ctx, req.(*GetCmekSettingsRequest)) 5199 } 5200 return interceptor(ctx, in, info, handler) 5201} 5202 5203func _ConfigServiceV2_UpdateCmekSettings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5204 in := new(UpdateCmekSettingsRequest) 5205 if err := dec(in); err != nil { 5206 return nil, err 5207 } 5208 if interceptor == nil { 5209 return srv.(ConfigServiceV2Server).UpdateCmekSettings(ctx, in) 5210 } 5211 info := &grpc.UnaryServerInfo{ 5212 Server: srv, 5213 FullMethod: "/google.logging.v2.ConfigServiceV2/UpdateCmekSettings", 5214 } 5215 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5216 return srv.(ConfigServiceV2Server).UpdateCmekSettings(ctx, req.(*UpdateCmekSettingsRequest)) 5217 } 5218 return interceptor(ctx, in, info, handler) 5219} 5220 5221var _ConfigServiceV2_serviceDesc = grpc.ServiceDesc{ 5222 ServiceName: "google.logging.v2.ConfigServiceV2", 5223 HandlerType: (*ConfigServiceV2Server)(nil), 5224 Methods: []grpc.MethodDesc{ 5225 { 5226 MethodName: "ListBuckets", 5227 Handler: _ConfigServiceV2_ListBuckets_Handler, 5228 }, 5229 { 5230 MethodName: "GetBucket", 5231 Handler: _ConfigServiceV2_GetBucket_Handler, 5232 }, 5233 { 5234 MethodName: "CreateBucket", 5235 Handler: _ConfigServiceV2_CreateBucket_Handler, 5236 }, 5237 { 5238 MethodName: "UpdateBucket", 5239 Handler: _ConfigServiceV2_UpdateBucket_Handler, 5240 }, 5241 { 5242 MethodName: "DeleteBucket", 5243 Handler: _ConfigServiceV2_DeleteBucket_Handler, 5244 }, 5245 { 5246 MethodName: "UndeleteBucket", 5247 Handler: _ConfigServiceV2_UndeleteBucket_Handler, 5248 }, 5249 { 5250 MethodName: "ListViews", 5251 Handler: _ConfigServiceV2_ListViews_Handler, 5252 }, 5253 { 5254 MethodName: "GetView", 5255 Handler: _ConfigServiceV2_GetView_Handler, 5256 }, 5257 { 5258 MethodName: "CreateView", 5259 Handler: _ConfigServiceV2_CreateView_Handler, 5260 }, 5261 { 5262 MethodName: "UpdateView", 5263 Handler: _ConfigServiceV2_UpdateView_Handler, 5264 }, 5265 { 5266 MethodName: "DeleteView", 5267 Handler: _ConfigServiceV2_DeleteView_Handler, 5268 }, 5269 { 5270 MethodName: "ListSinks", 5271 Handler: _ConfigServiceV2_ListSinks_Handler, 5272 }, 5273 { 5274 MethodName: "GetSink", 5275 Handler: _ConfigServiceV2_GetSink_Handler, 5276 }, 5277 { 5278 MethodName: "CreateSink", 5279 Handler: _ConfigServiceV2_CreateSink_Handler, 5280 }, 5281 { 5282 MethodName: "UpdateSink", 5283 Handler: _ConfigServiceV2_UpdateSink_Handler, 5284 }, 5285 { 5286 MethodName: "DeleteSink", 5287 Handler: _ConfigServiceV2_DeleteSink_Handler, 5288 }, 5289 { 5290 MethodName: "ListExclusions", 5291 Handler: _ConfigServiceV2_ListExclusions_Handler, 5292 }, 5293 { 5294 MethodName: "GetExclusion", 5295 Handler: _ConfigServiceV2_GetExclusion_Handler, 5296 }, 5297 { 5298 MethodName: "CreateExclusion", 5299 Handler: _ConfigServiceV2_CreateExclusion_Handler, 5300 }, 5301 { 5302 MethodName: "UpdateExclusion", 5303 Handler: _ConfigServiceV2_UpdateExclusion_Handler, 5304 }, 5305 { 5306 MethodName: "DeleteExclusion", 5307 Handler: _ConfigServiceV2_DeleteExclusion_Handler, 5308 }, 5309 { 5310 MethodName: "GetCmekSettings", 5311 Handler: _ConfigServiceV2_GetCmekSettings_Handler, 5312 }, 5313 { 5314 MethodName: "UpdateCmekSettings", 5315 Handler: _ConfigServiceV2_UpdateCmekSettings_Handler, 5316 }, 5317 }, 5318 Streams: []grpc.StreamDesc{}, 5319 Metadata: "google/logging/v2/logging_config.proto", 5320} 5321